diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index dd88bea0597b..4050a37dc1b7 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1986,12 +1986,17 @@ final class WindowState implements WindowManagerPolicy.WindowState { return mAppToken.shouldSaveSurface(); } + static final Region sEmptyRegion = new Region(); + void destroyOrSaveSurface() { mSurfaceSaved = shouldSaveSurface(); if (mSurfaceSaved) { if (DEBUG_APP_TRANSITIONS || DEBUG_ANIM) { Slog.v(TAG, "Saving surface: " + this); } + // Previous user of the surface may have set a transparent region signaling a portion + // doesn't need to be composited, so reset to default empty state. + mSession.setTransparentRegion(mClient, sEmptyRegion); mWinAnimator.hide("saved surface"); mWinAnimator.mDrawState = WindowStateAnimator.NO_SURFACE; |