diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index f7c1324391ac1..a89b4aadafa61 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1586,11 +1586,12 @@ final class WindowState implements WindowManagerPolicy.WindowState { win.transferDimToReplacement(); } win.mWillReplaceWindow = false; + final boolean animateReplacingWindow = win.mAnimateReplacingWindow; win.mAnimateReplacingWindow = false; win.mReplacingRemoveRequested = false; win.mReplacingWindow = null; mSkipEnterAnimationForSeamlessReplacement = false; - if (win.mAnimatingExit) { + if (win.mAnimatingExit || !animateReplacingWindow) { mService.removeWindowInnerLocked(win); } }