diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 06c8e01562493..65f0caa0ef243 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1946,7 +1946,7 @@ public final class ViewRootImpl implements ViewParent, mSurfaceHolder.setSurfaceFrameSize(mWidth, mHeight); mSurfaceHolder.mSurfaceLock.unlock(); if (mSurface.isValid()) { - if (!hadSurface || surfaceGenerationId != mSurface.getGenerationId()) { + if (!hadSurface) { mSurfaceHolder.ungetCallbacks(); mIsCreating = true; @@ -1959,7 +1959,7 @@ public final class ViewRootImpl implements ViewParent, } surfaceChanged = true; } - if (surfaceChanged) { + if (surfaceChanged || surfaceGenerationId != mSurface.getGenerationId()) { mSurfaceHolderCallback.surfaceChanged(mSurfaceHolder, lp.format, mWidth, mHeight); SurfaceHolder.Callback callbacks[] = mSurfaceHolder.getCallbacks();