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

Commit 1bdd3265 authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Fix swipe up show-when-locked activity

The change of mFlags after calculateTransitionInfo won't
be assigned to TransitionInfo.

Bug: 261418859
Test: Swipe up a show-when-locked activity on keyguard.
Change-Id: I0fd851c3c80d12528eee0bf1d5bb89dc2bc2f55a
parent 0177c5f2
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -1106,12 +1106,13 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
        // needs to be updated for STATE_ABORT.
        commitVisibleActivities(transaction);

        if (mState == STATE_ABORT) {
            mController.abort(this);
        // Fall-back to the default display if there isn't one participating.
            final DisplayContent dc = !mTargetDisplays.isEmpty() ? mTargetDisplays.get(0)
        final DisplayContent primaryDisplay = !mTargetDisplays.isEmpty() ? mTargetDisplays.get(0)
                : mController.mAtm.mRootWindowContainer.getDefaultDisplay();
            dc.getPendingTransaction().merge(transaction);

        if (mState == STATE_ABORT) {
            mController.abort(this);
            primaryDisplay.getPendingTransaction().merge(transaction);
            mSyncId = -1;
            mOverrideOptions = null;
            cleanUpInternal();
@@ -1123,6 +1124,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
        mFinishTransaction = mController.mAtm.mWindowManager.mTransactionFactory.get();
        mController.moveToPlaying(this);

        // Flags must be assigned before calculateTransitionInfo. Otherwise it won't take effect.
        if (primaryDisplay.isKeyguardLocked()) {
            mFlags |= TRANSIT_FLAG_KEYGUARD_LOCKED;
        }
        // Check whether the participants were animated from back navigation.
        final boolean markBackAnimated = mController.mAtm.mBackNavigationController
                .containsBackAnimationTargets(this);
@@ -1136,9 +1141,6 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
            final DisplayContent dc = mController.mAtm.mRootWindowContainer.getDisplayContent(
                    info.getRoot(i).getDisplayId());
            mTargetDisplays.add(dc);
            if (dc.isKeyguardLocked()) {
                mFlags |= TRANSIT_FLAG_KEYGUARD_LOCKED;
            }
        }

        if (markBackAnimated) {