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

Commit 180f7038 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Properly abort queued transitions during clean-up" into main

parents 64d87a18 40cd4d19
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -194,6 +194,11 @@ class TransitionController {
            mOnStartCollect = onStartCollect;
            mLegacySync = legacySync;
        }

        boolean isAborted(BLASTSyncEngine syncEngine) {
            return mTransition == null ? syncEngine.getSyncSet(mLegacySync.mSyncId) == null
                    : mTransition.isAborted();
        }
    }

    private final ArrayList<QueuedTransition> mQueuedTransitions = new ArrayList<>();
@@ -1232,6 +1237,8 @@ class TransitionController {
            // Post this so that the now-playing transition logic isn't interrupted.
            mAtm.mH.post(() -> {
                synchronized (mAtm.mGlobalLock) {
                    // The transition/sync may be aborted if the transition player died.
                    if (queued.isAborted(mSyncEngine)) return;
                    queued.mOnStartCollect.onCollectStarted(true /* deferred */);
                }
            });