Continue deferring removal of activities in a transition

Otherwise its possible for transitions to become ready early
and trigger bad behavior (such as promoting up to displayarea).

Basically, this fixes a bug where isExitAnimationRunning was
returning false for windows in shell-transitions

Bug: 239887306
Test: full wipe, complete set-up wizard until homescreen
      or atest DigitsKeyListenerTest
Change-Id: Iba0454a27e65c976de00adb7ae94b1e0bfe9affc
This commit is contained in:
Evan Rosky
2022-07-22 02:37:09 +00:00
parent aa3a5a36bd
commit 3a52aee4df

View File

@@ -137,7 +137,6 @@ import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITIO
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_RECENTS;
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_STARTING_REVEAL;
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_WINDOW_ANIMATION;
import static com.android.server.wm.WindowContainer.AnimationFlags.CHILDREN;
import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
import static com.android.server.wm.WindowContainerChildProto.WINDOW;
@@ -4971,10 +4970,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|| isAnimating(0 /* flags */, ANIMATION_TYPE_WINDOW_ANIMATION);
}
boolean isExitAnimationRunningSelfOrChild() {
return isAnimating(CHILDREN, ANIMATION_TYPE_WINDOW_ANIMATION);
}
private boolean shouldFinishAnimatingExit() {
// Exit animation might be applied soon.
if (inTransition()) {