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

Commit daff5ea4 authored by wilsonshih's avatar wilsonshih
Browse files

Reset mAnimatingExit flag while relayout visible window.

The timing issue happen when a closing dialog activity request to
launch itself again before the task move to background. By default
system will play an exit animation for the dialog style window, when
the activity being move to foreground again, core will cancel previous
exit animation so the window can be visible. But the window surface
shouldn't be hide and/or destroy in onExitAnimationDone, since the
window is request to be visible again.

Bug: 342644763
Test: repeatly closeing the sample activity, verify the window surface
of app window won't be hide after the relayout request.

Change-Id: Id2718b438ef9f21b0bc4182e50b59de07c445372
parent 85ae83ec
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4913,11 +4913,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
            Slog.d(TAG, "relayoutVisibleWindow: " + this + " mAnimatingExit=true, mRemoveOnExit="
                    + mRemoveOnExit + ", mDestroying=" + mDestroying);

            mAnimatingExit = false;
            // Cancel the existing exit animation for the next enter animation.
            if (isAnimating()) {
                cancelAnimation();
            }
            mAnimatingExit = false;
            ProtoLog.d(WM_DEBUG_ANIM, "Clear animatingExit: reason=relayoutVisibleWindow win=%s",
                    this);
        }