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

Commit 079003b4 authored by Zak Cohen's avatar Zak Cohen
Browse files

Revert "[Search][Motion] Separate AllApps scrim and content interpolation"

This reverts commit 8c383f97.

Reason for revert: ScrimView is used in multiple places, Overview is broken by this change.

Change-Id: Ie395e2d94feaca4c9365bb5da68e9dc219990e03
parent 8c383f97
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1197,7 +1197,7 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche

        // Setup the drag controller (drop targets have to be added in reverse order in priority)
        mDropTargetBar.setup(mDragController);
        mAllAppsController.setupViews(mAppsView, mScrimView);
        mAllAppsController.setupViews(mAppsView);
    }

    /**
+5 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import static com.android.launcher3.states.StateAnimationConfig.ANIM_HOTSEAT_SCA
import static com.android.launcher3.states.StateAnimationConfig.ANIM_HOTSEAT_TRANSLATE;
import static com.android.launcher3.states.StateAnimationConfig.ANIM_WORKSPACE_FADE;
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;

@@ -164,6 +165,10 @@ public class WorkspaceStateTransitionAnimation {
        SysUiScrim sysUiScrim = mLauncher.getDragLayer().getSysUiScrim();
        propertySetter.setFloat(sysUiScrim, SYSUI_PROGRESS,
                state.hasFlag(FLAG_HAS_SYS_UI_SCRIM) ? 1 : 0, LINEAR);

        propertySetter.setViewAlpha(mLauncher.getScrimView(),
                state.getWorkspaceScrimAlpha(mLauncher),
                config.getInterpolator(ANIM_WORKSPACE_SCRIM_FADE, LINEAR));
    }

    public void applyChildState(LauncherState state, CellLayout cl, int childIndex) {
+2 −10
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@ import com.android.launcher3.anim.PropertySetter;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.statemanager.StateManager.StateHandler;
import com.android.launcher3.states.StateAnimationConfig;
import com.android.launcher3.views.ScrimView;

/**
 * Handles AllApps view transition.
@@ -71,11 +70,10 @@ public class AllAppsTransitionController
                    controller.setProgress(progress);
                }
            };
    private final Launcher mLauncher;

    private AllAppsContainerView mAppsView;
    private ScrimView mScrimView;

    private final Launcher mLauncher;
    private boolean mIsVerticalLayout;

    // Animation in this class is controlled by a single variable {@link mProgress}.
@@ -123,8 +121,6 @@ public class AllAppsTransitionController
     */
    public void setProgress(float progress) {
        mProgress = progress;
        //Note: Take inverted progress so progress=0 maps to a transparent scrim
        mScrimView.setProgress(1 - progress);
        mAppsView.setTranslationY(mProgress * mShiftRange);
    }

@@ -189,12 +185,8 @@ public class AllAppsTransitionController
        return AnimationSuccessListener.forRunnable(this::onProgressAnimationEnd);
    }

    /**
     * Setup views
     */
    public void setupViews(AllAppsContainerView appsView, ScrimView scrimView) {
    public void setupViews(AllAppsContainerView appsView) {
        mAppsView = appsView;
        mScrimView = scrimView;
        if (FeatureFlags.ENABLE_DEVICE_SEARCH.get() && Utilities.ATLEAST_R) {
            mLauncher.getSystemUiController().updateUiState(UI_STATE_ALLAPPS,
                    View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+5 −27
Original line number Diff line number Diff line
@@ -15,21 +15,18 @@
 */
package com.android.launcher3.views;

import static com.android.launcher3.anim.Interpolators.ACCEL;
import static com.android.launcher3.util.SystemUiController.UI_STATE_SCRIM_VIEW;

import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.View;
import android.view.animation.Interpolator;

import androidx.core.graphics.ColorUtils;

import com.android.launcher3.Insettable;
import com.android.launcher3.Launcher;
import com.android.launcher3.R;
import com.android.launcher3.anim.Interpolators;
import com.android.launcher3.util.SystemUiController;
import com.android.launcher3.util.Themes;

@@ -39,22 +36,9 @@ import com.android.launcher3.util.Themes;
public class ScrimView extends View implements Insettable {
    private static final float STATUS_BAR_COLOR_FORCE_UPDATE_THRESHOLD = 0.9f;


    private static final float TINT_DECAY_MULTIPLIER = .5f;

    //min progress for scrim to become visible
    private static final float SCRIM_VISIBLE_THRESHOLD = .1f;
    //max progress where scrim alpha animates.
    private static final float SCRIM_SOLID_THRESHOLD = .5f;
    private final Interpolator mScrimInterpolator = Interpolators.clampToProgress(ACCEL,
            SCRIM_VISIBLE_THRESHOLD,
            SCRIM_SOLID_THRESHOLD);

    private final boolean mIsScrimDark;
    private SystemUiController mSystemUiController;

    private float mProgress;

    public ScrimView(Context context, AttributeSet attrs) {
        super(context, attrs);
        mIsScrimDark = ColorUtils.calculateLuminance(
@@ -63,23 +47,17 @@ public class ScrimView extends View implements Insettable {
    }

    @Override
    public void setInsets(Rect insets) {
    }
    public void setInsets(Rect insets) { }

    @Override
    public boolean hasOverlappingRendering() {
        return false;
    }

    /**
     * Set progress of scrim animation.
     * Note: progress should range from 0 for transparent to 1 for solid
     */
    public void setProgress(float progress) {
        if (mProgress != progress) {
            mProgress = progress;
            setAlpha(mScrimInterpolator.getInterpolation(progress));
        }
    @Override
    protected boolean onSetAlpha(int alpha) {
        updateSysUiColors();
        return super.onSetAlpha(alpha);
    }

    @Override