diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 0d4c2d631b2ce..9f0c78f4b40d5 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -2470,6 +2470,11 @@ class WindowState extends WindowContainer implements WindowManagerP if (allowExitAnimation && mWinAnimator.applyAnimationLocked(transit, false)) { ProtoLog.v(WM_DEBUG_ANIM, "Set animatingExit: reason=remove/applyAnimation win=%s", this); + if (startingWindow && mSurfaceAnimator.hasLeash()) { + // Keep starting window on top during fade-out animation. + getPendingTransaction().setLayer(mSurfaceAnimator.mLeash, + Integer.MAX_VALUE); + } mAnimatingExit = true; // mAnimatingExit affects canAffectSystemUiFlags(). Run layout such that