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

Commit eb0a38c5 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Defer cleaning up screenshot until after we actually switch to screenshot" into sc-dev

parents 048a8585 a7d7f78c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -384,10 +384,10 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
        // Set up a entire animation lifecycle callback to notify the current recents view when
        // the animation is canceled
        mGestureState.runOnceAtState(STATE_RECENTS_ANIMATION_CANCELED, () -> {
                ThumbnailData snapshot = mGestureState.getRecentsAnimationCanceledSnapshot();
                ThumbnailData snapshot = mGestureState.consumeRecentsAnimationCanceledSnapshot();
                if (snapshot != null) {
                    RecentsModel.INSTANCE.get(mContext).onTaskSnapshotChanged(
                            mRecentsView.getRunningTaskId(), snapshot);
                    mRecentsView.switchToScreenshot(snapshot,
                            () -> mRecentsAnimationController.cleanupScreenshot());
                    mRecentsView.onRecentsAnimationComplete();
                }
            });
+7 −4
Original line number Diff line number Diff line
@@ -376,11 +376,14 @@ public class GestureState implements RecentsAnimationCallbacks.RecentsAnimationL
    }

    /**
     * Returns the canceled animation thumbnail data. This call only returns a value while
     * STATE_RECENTS_ANIMATION_CANCELED state is being set.
     * Returns and clears the canceled animation thumbnail data. This call only returns a value
     * while STATE_RECENTS_ANIMATION_CANCELED state is being set, and the caller is responsible for
     * calling {@link RecentsAnimationController#cleanupScreenshot()}.
     */
    ThumbnailData getRecentsAnimationCanceledSnapshot() {
        return mRecentsAnimationCanceledSnapshot;
    ThumbnailData consumeRecentsAnimationCanceledSnapshot() {
        ThumbnailData data = mRecentsAnimationCanceledSnapshot;
        mRecentsAnimationCanceledSnapshot = null;
        return data;
    }

    void setSwipeUpStartTimeMs(long uptimeMs) {