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

Commit d713ab6a authored by Wei Sheng Shih's avatar Wei Sheng Shih Committed by Android (Google) Code Review
Browse files

Merge "Do not start RecentsMixedTransition if keyguard transition is playing" into main

parents 0837dbde 5733105a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -173,6 +173,10 @@ public class KeyguardTransitionHandler
        return mKeyguardShowing;
    }

    public boolean isKeyguardAnimating() {
        return !mStartedTransitions.isEmpty();
    }

    @Override
    public void onTaskMovedToFront(ActivityManager.RunningTaskInfo taskInfo) {
        mDreamToken = taskInfo.getActivityType() == ACTIVITY_TYPE_DREAM ? taskInfo.token : null;
+2 −1
Original line number Diff line number Diff line
@@ -370,7 +370,8 @@ public class DefaultMixedHandler implements MixedTransitionHandler,
        if (mRecentsHandler != null) {
            if (mSplitHandler.isSplitScreenVisible()) {
                return this::setRecentsTransitionDuringSplit;
            } else if (mKeyguardHandler.isKeyguardShowing()) {
            } else if (mKeyguardHandler.isKeyguardShowing()
                    && !mKeyguardHandler.isKeyguardAnimating()) {
                return this::setRecentsTransitionDuringKeyguard;
            } else if (mDesktopTasksController != null
                    // Check on the default display. Recents/gesture nav is only available there
+5 −0
Original line number Diff line number Diff line
@@ -117,6 +117,11 @@ class RecentsMixedTransition extends DefaultMixedHandler.MixedTransition {
        ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, "Mixed transition for Recents during"
                + " Keyguard #%d", info.getDebugId());

        if (!mKeyguardHandler.isKeyguardShowing() || mKeyguardHandler.isKeyguardAnimating()) {
            ProtoLog.w(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, "Cancel mixed transition because "
                    + "keyguard state was changed #%d", info.getDebugId());
            return false;
        }
        if (mInfo == null) {
            mInfo = info;
            mFinishT = finishTransaction;