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

Commit 93f595fd authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Set new scrimMultiplier instead of scrimProgress for overview -> home"...

Merge "Set new scrimMultiplier instead of scrimProgress for overview -> home" into ub-launcher3-rvc-qpr-dev
parents 96186aff 375c602f
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -66,8 +66,8 @@ public class NavBarToHomeTouchController implements TouchController,
        SingleAxisSwipeDetector.Listener {

    private static final Interpolator PULLBACK_INTERPOLATOR = DEACCEL_3;
    // How much of the overview scrim we can remove during the transition.
    private static final float OVERVIEW_TO_HOME_SCRIM_PROGRESS = 0.5f;
    // The min amount of overview scrim we keep during the transition.
    private static final float OVERVIEW_TO_HOME_SCRIM_MULTIPLIER = 0.5f;

    private final Launcher mLauncher;
    private final SingleAxisSwipeDetector mSwipeDetector;
@@ -163,11 +163,11 @@ public class NavBarToHomeTouchController implements TouchController,
            RecentsView recentsView = mLauncher.getOverviewPanel();
            AnimatorControllerWithResistance.createRecentsResistanceFromOverviewAnim(mLauncher,
                    builder);
            float endScrimAlpha = Utilities.mapRange(OVERVIEW_TO_HOME_SCRIM_PROGRESS,
                    mStartState.getOverviewScrimAlpha(mLauncher),
                    mEndState.getOverviewScrimAlpha(mLauncher));

            builder.setFloat(mLauncher.getDragLayer().getOverviewScrim(),
                    OverviewScrim.SCRIM_PROGRESS, endScrimAlpha, PULLBACK_INTERPOLATOR);
                    OverviewScrim.SCRIM_MULTIPLIER, OVERVIEW_TO_HOME_SCRIM_MULTIPLIER,
                    PULLBACK_INTERPOLATOR);

            if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
                builder.addOnFrameCallback(
                        () -> recentsView.redrawLiveTile(false /* mightNeedToRefill */));
+4 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.launcher3.uioverrides;

import static com.android.launcher3.anim.Interpolators.AGGRESSIVE_EASE_IN_OUT;
import static com.android.launcher3.anim.Interpolators.LINEAR;
import static com.android.launcher3.graphics.OverviewScrim.SCRIM_MULTIPLIER;
import static com.android.launcher3.graphics.Scrim.SCRIM_PROGRESS;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_OVERVIEW_FADE;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_OVERVIEW_MODAL;
@@ -70,6 +71,7 @@ public abstract class BaseRecentsViewStateController<T extends RecentsView>
        getContentAlphaProperty().set(mRecentsView, state.overviewUi ? 1f : 0);
        OverviewScrim scrim = mLauncher.getDragLayer().getOverviewScrim();
        SCRIM_PROGRESS.set(scrim, state.getOverviewScrimAlpha(mLauncher));
        SCRIM_MULTIPLIER.set(scrim, 1f);
        getTaskModalnessProperty().set(mRecentsView, state.getOverviewModalness());
    }

@@ -108,6 +110,8 @@ public abstract class BaseRecentsViewStateController<T extends RecentsView>
        OverviewScrim scrim = mLauncher.getDragLayer().getOverviewScrim();
        setter.setFloat(scrim, SCRIM_PROGRESS, toState.getOverviewScrimAlpha(mLauncher),
                config.getInterpolator(ANIM_OVERVIEW_SCRIM_FADE, LINEAR));
        setter.setFloat(scrim, SCRIM_MULTIPLIER, 1f,
                config.getInterpolator(ANIM_OVERVIEW_SCRIM_FADE, LINEAR));

        setter.setFloat(
                mRecentsView, getTaskModalnessProperty(),
+28 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static com.android.launcher3.LauncherState.HOTSEAT_ICONS;
import static com.android.launcher3.LauncherState.OVERVIEW;

import android.graphics.Rect;
import android.util.FloatProperty;
import android.view.View;
import android.view.ViewGroup;

@@ -33,10 +34,25 @@ import androidx.annotation.Nullable;
 */
public class OverviewScrim extends Scrim {

    public static final FloatProperty<OverviewScrim> SCRIM_MULTIPLIER =
            new FloatProperty<OverviewScrim>("scrimMultiplier") {
                @Override
                public Float get(OverviewScrim scrim) {
                    return scrim.mScrimMultiplier;
                }

                @Override
                public void setValue(OverviewScrim scrim, float v) {
                    scrim.setScrimMultiplier(v);
                }
            };

    private @NonNull View mStableScrimmedView;
    // Might be higher up if mStableScrimmedView is invisible.
    private @Nullable View mCurrentScrimmedView;

    private float mScrimMultiplier = 1f;

    public OverviewScrim(View view) {
        super(view);
        mStableScrimmedView = mCurrentScrimmedView = mLauncher.getOverviewPanel();
@@ -68,4 +84,16 @@ public class OverviewScrim extends Scrim {
    public @Nullable View getScrimmedView() {
        return mCurrentScrimmedView;
    }

    private void setScrimMultiplier(float scrimMultiplier) {
        if (Float.compare(mScrimMultiplier, scrimMultiplier) != 0) {
            mScrimMultiplier = scrimMultiplier;
            invalidate();
        }
    }

    @Override
    protected int getScrimAlpha() {
        return Math.round(super.getScrimAlpha() * mScrimMultiplier);
    }
}
+5 −1
Original line number Diff line number Diff line
@@ -61,7 +61,11 @@ public class Scrim implements View.OnAttachStateChangeListener,
    }

    public void draw(Canvas canvas) {
        canvas.drawColor(setColorAlphaBound(mScrimColor, mScrimAlpha));
        canvas.drawColor(setColorAlphaBound(mScrimColor, getScrimAlpha()));
    }

    protected int getScrimAlpha() {
        return mScrimAlpha;
    }

    private void setScrimProgress(float progress) {