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

Commit 10c2b4f9 authored by Tony Wickham's avatar Tony Wickham
Browse files

Update home to overview depth interpolator to match other motion

Overview comes in and workspace goes out at overshoot(1.2), so
the wallpaper depth/blur should match that speed.

Test: go to overview from home in 3 button or 0 button mode,
ensure wallpaper scales down at the same rate as other elements

Bug: 154637581
Change-Id: I03254fa3fdf19f468852bed8aab7ba21203c429a
parent 625bd51f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import static com.android.launcher3.anim.Interpolators.OVERSHOOT_1_7;
import static com.android.launcher3.anim.Interpolators.clampToProgress;
import static com.android.launcher3.config.FeatureFlags.ENABLE_OVERVIEW_ACTIONS;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_ALL_APPS_FADE;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_DEPTH;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_HOTSEAT_SCALE;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_HOTSEAT_TRANSLATE;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_OVERVIEW_FADE;
@@ -209,6 +210,7 @@ public class QuickstepAtomicAnimationFactory extends
            }
            config.setInterpolator(ANIM_WORKSPACE_FADE, OVERSHOOT_1_2);
            config.setInterpolator(ANIM_OVERVIEW_SCALE, OVERSHOOT_1_2);
            config.setInterpolator(ANIM_DEPTH, OVERSHOOT_1_2);
            Interpolator translationInterpolator = ENABLE_OVERVIEW_ACTIONS.get()
                    && removeShelfFromOverview(mActivity)
                    ? OVERSHOOT_1_2
+3 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.launcher3.statehandlers;

import static com.android.launcher3.anim.Interpolators.LINEAR;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_DEPTH;
import static com.android.launcher3.states.StateAnimationConfig.SKIP_DEPTH_CONTROLLER;

import android.os.IBinder;
@@ -172,11 +173,12 @@ public class DepthController implements StateHandler<LauncherState> {

        float toDepth = toState.getDepth(mLauncher);
        if (Float.compare(mDepth, toDepth) != 0) {
            animation.setFloat(this, DEPTH, toDepth, LINEAR);
            animation.setFloat(this, DEPTH, toDepth, config.getInterpolator(ANIM_DEPTH, LINEAR));
        }
    }

    private void setDepth(float depth) {
        depth = Utilities.boundToRange(depth, 0, 1);
        // Round out the depth to dedupe frequent, non-perceptable updates
        int depthI = (int) (depth * 256);
        float depthF = depthI / 256f;
+4 −2
Original line number Diff line number Diff line
@@ -69,7 +69,8 @@ public class StateAnimationConfig {
            ANIM_ALL_APPS_FADE,
            ANIM_OVERVIEW_SCRIM_FADE,
            ANIM_ALL_APPS_HEADER_FADE,
            ANIM_OVERVIEW_MODAL
            ANIM_OVERVIEW_MODAL,
            ANIM_DEPTH,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface AnimType {}
@@ -87,8 +88,9 @@ public class StateAnimationConfig {
    public static final int ANIM_OVERVIEW_SCRIM_FADE = 11;
    public static final int ANIM_ALL_APPS_HEADER_FADE = 12; // e.g. predictions
    public static final int ANIM_OVERVIEW_MODAL = 13;
    public static final int ANIM_DEPTH = 14;

    private static final int ANIM_TYPES_COUNT = 14;
    private static final int ANIM_TYPES_COUNT = 15;

    private final Interpolator[] mInterpolators = new Interpolator[ANIM_TYPES_COUNT];