Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a52aee4 authored by Evan Rosky's avatar Evan Rosky
Browse files

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
parent aa3a5a36
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -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_RECENTS;
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_STARTING_REVEAL;
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.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.PARENTS;
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
import static com.android.server.wm.WindowContainerChildProto.WINDOW;
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);
                || isAnimating(0 /* flags */, ANIMATION_TYPE_WINDOW_ANIMATION);
    }
    }


    boolean isExitAnimationRunningSelfOrChild() {
        return isAnimating(CHILDREN, ANIMATION_TYPE_WINDOW_ANIMATION);
    }

    private boolean shouldFinishAnimatingExit() {
    private boolean shouldFinishAnimatingExit() {
        // Exit animation might be applied soon.
        // Exit animation might be applied soon.
        if (inTransition()) {
        if (inTransition()) {