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

Commit 01320be9 authored by Tony Wickham's avatar Tony Wickham
Browse files

Fix regression where StaggeredWorkspaceAnim didn't respect animateScrim

Before, this happened to work because we skipped setting the scrim when
doing an atomic animation, but the atomic animation code has been
removed. Add an explicit SKIP_SCRIM config flag instead.

Test: swipe up from overview to home, ensure scrim animates nicely

Bug: 185411781
Change-Id: I7bc14a11d9d416cc7336ea29d21107dcdbdbf782
parent 63365cf0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static com.android.launcher3.anim.Interpolators.LINEAR;
import static com.android.launcher3.anim.PropertySetter.NO_ANIM_PROPERTY_SETTER;
import static com.android.launcher3.states.StateAnimationConfig.SKIP_DEPTH_CONTROLLER;
import static com.android.launcher3.states.StateAnimationConfig.SKIP_OVERVIEW;
import static com.android.launcher3.states.StateAnimationConfig.SKIP_SCRIM;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
@@ -181,7 +182,7 @@ public class StaggeredWorkspaceAnim {
     */
    private void prepareToAnimate(Launcher launcher, boolean animateOverviewScrim) {
        StateAnimationConfig config = new StateAnimationConfig();
        config.animFlags = SKIP_OVERVIEW | SKIP_DEPTH_CONTROLLER;
        config.animFlags = SKIP_OVERVIEW | SKIP_DEPTH_CONTROLLER | SKIP_SCRIM;
        config.duration = 0;
        // setRecentsAttachedToAppWindow() will animate recents out.
        launcher.getStateManager().createAtomicAnimation(BACKGROUND_APP, NORMAL, config).start();
+4 −1
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import static com.android.launcher3.states.StateAnimationConfig.ANIM_WORKSPACE_F
import static com.android.launcher3.states.StateAnimationConfig.ANIM_WORKSPACE_SCALE;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_WORKSPACE_SCRIM_FADE;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_WORKSPACE_TRANSLATE;
import static com.android.launcher3.states.StateAnimationConfig.SKIP_SCRIM;

import android.animation.ValueAnimator;
import android.view.View;
@@ -151,8 +152,10 @@ public class WorkspaceStateTransitionAnimation {
        propertySetter.setFloat(mWorkspace.getPageIndicator(), VIEW_TRANSLATE_Y,
                hotseatScaleAndTranslation.translationY, hotseatTranslationInterpolator);

        if (!config.hasAnimationFlag(SKIP_SCRIM)) {
            setScrim(propertySetter, state, config);
        }
    }

    /**
     * Set the given view's pivot point to match the workspace's, so that it scales together. Since
+2 −0
Original line number Diff line number Diff line
@@ -31,12 +31,14 @@ public class StateAnimationConfig {
            SKIP_ALL_ANIMATIONS,
            SKIP_OVERVIEW,
            SKIP_DEPTH_CONTROLLER,
            SKIP_SCRIM,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface AnimationFlags {}
    public static final int SKIP_ALL_ANIMATIONS = 1 << 0;
    public static final int SKIP_OVERVIEW = 1 << 1;
    public static final int SKIP_DEPTH_CONTROLLER = 1 << 2;
    public static final int SKIP_SCRIM = 1 << 3;

    public long duration;
    public boolean userControlled;