From 208c47cfb0b1aaec7a3f8478b672da3c9c75306d Mon Sep 17 00:00:00 2001 From: John Reck Date: Thu, 9 Jun 2016 16:26:21 -0700 Subject: [PATCH] Don't call surfaceCreated for just changed surfaces Fixes: 29223302 If the surface only changed we want to just call onSurfaceChanged, not onSurfaceCreated. Change-Id: I65c8b210a7e34eaa2862020335ee7f6ef56eeac2 --- core/java/android/view/ViewRootImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 4742818d4be05..19b1cf3c86ba9 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1938,7 +1938,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; @@ -1951,7 +1951,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();