diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index ce496f47be54f..8ed2a15b2b98c 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -2107,7 +2107,7 @@ public class WindowManagerService extends IWindowManager.Stub if (shouldRelayout) { Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "relayoutWindow: viewVisibility_1"); - result = win.relayoutVisibleWindow(result, attrChanges, oldVisibility); + result = win.relayoutVisibleWindow(result, attrChanges); try { result = createSurfaceControl(outSurfaceControl, result, win, winAnimator); diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 08ade37c995ca..d990e6c6c24b2 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -4446,7 +4446,7 @@ class WindowState extends WindowContainer implements WindowManagerP return !mLastSurfaceInsets.equals(mAttrs.surfaceInsets); } - int relayoutVisibleWindow(int result, int attrChanges, int oldVisibility) { + int relayoutVisibleWindow(int result, int attrChanges) { final boolean wasVisible = isVisibleLw(); result |= (!wasVisible || !isDrawnLw()) ? RELAYOUT_RES_FIRST_TIME : 0; @@ -4466,7 +4466,7 @@ class WindowState extends WindowContainer implements WindowManagerP mDestroying = false; mWmService.mDestroySurface.remove(this); } - if (oldVisibility == View.GONE) { + if (!wasVisible) { mWinAnimator.mEnterAnimationPending = true; }