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

Commit d3cc6643 authored by randypfohl's avatar randypfohl
Browse files

switching animation to screenshot to avoid visual jank

Test: built locally, recorded, and slow replayed it to verify no jank/visual anomalies visible.

Bug: 245750127
Change-Id: If7e72512d3303222f4d006a9e2a1639b2f86b1af
parent 372de4f5
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -94,8 +94,12 @@ public class QuickstepAtomicAnimationFactory extends
    @Override
    public void prepareForAtomicAnimation(LauncherState fromState, LauncherState toState,
            StateAnimationConfig config) {

        RecentsView overview = mActivity.getOverviewPanel();
        if ((fromState == OVERVIEW || fromState == OVERVIEW_SPLIT_SELECT) && toState == NORMAL) {
            overview.switchToScreenshot(() ->
                    overview.finishRecentsAnimation(true /* toRecents */, null));

            if (fromState == OVERVIEW_SPLIT_SELECT) {
                config.setInterpolator(ANIM_OVERVIEW_SPLIT_SELECT_FLOATING_TASK_TRANSLATE_OFFSCREEN,
                        clampToProgress(EMPHASIZED_ACCELERATE, 0, 0.4f));
+0 −8
Original line number Diff line number Diff line
@@ -4100,14 +4100,6 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
        alpha = Utilities.boundToRange(alpha, 0, 1);
        mContentAlpha = alpha;

        runActionOnRemoteHandles(remoteTargetHandle -> {
            TransformParams params = remoteTargetHandle.getTransformParams();
            params.setTargetAlpha(mContentAlpha);
            if (params.getTargetSet() != null) {
                remoteTargetHandle.getTaskViewSimulator().apply(params);
            }
        });

        int runningTaskId = getTaskIdsForRunningTaskView()[0];
        for (int i = getTaskViewCount() - 1; i >= 0; i--) {
            TaskView child = requireTaskViewAt(i);