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

Commit a19ef741 authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Notify transition ready for player before taking snapshot" into main

parents 374910ad e8f37591
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -1614,13 +1614,6 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
            }
        }

        // Take task snapshots before the animation so that we can capture IME before it gets
        // transferred. If transition is transient, IME won't be moved during the transition and
        // the tasks are still live, so we take the snapshot at the end of the transition instead.
        if (mTransientLaunches == null) {
            mController.mSnapshotController.onTransactionReady(mType, mTargets);
        }

        // This is non-null only if display has changes. It handles the visible windows that don't
        // need to be participated in the transition.
        for (int i = 0; i < mTargetDisplays.size(); ++i) {
@@ -1671,6 +1664,16 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {

        reportStartReasonsToLogger();

        // Take snapshots for closing tasks/activities before the animation finished but after
        // dispatching onTransitionReady, so IME (if there is) can be captured together and the
        // time spent on snapshot won't delay the start of animation. Note that if this transition
        // is transient (mTransientLaunches != null), the snapshot will be captured at the end of
        // the transition, because IME won't move be moved during the transition and the tasks are
        // still live.
        if (mTransientLaunches == null) {
            mController.mSnapshotController.onTransactionReady(mType, mTargets);
        }

        // Since we created root-leash but no longer reference it from core, release it now
        info.releaseAnimSurfaces();