From 079003b44d582bd1962061edcac02f58e711da30 Mon Sep 17 00:00:00 2001 From: Zak Cohen Date: Mon, 26 Apr 2021 23:59:07 +0000 Subject: [PATCH] Revert "[Search][Motion] Separate AllApps scrim and content interpolation" This reverts commit 8c383f97e4537c24affd0cd01631047509da2908. Reason for revert: ScrimView is used in multiple places, Overview is broken by this change. Change-Id: Ie395e2d94feaca4c9365bb5da68e9dc219990e03 --- src/com/android/launcher3/Launcher.java | 2 +- .../WorkspaceStateTransitionAnimation.java | 5 +++ .../allapps/AllAppsTransitionController.java | 12 ++----- .../android/launcher3/views/ScrimView.java | 32 +++---------------- 4 files changed, 13 insertions(+), 38 deletions(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 36d3625299..a54c791aff 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1197,7 +1197,7 @@ public class Launcher extends StatefulActivity 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); } /** diff --git a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java index 41962a4104..ed854dcd0e 100644 --- a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java +++ b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java @@ -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) { diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java index 5c1bffb2d1..c61c0d6d53 100644 --- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java +++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java @@ -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 diff --git a/src/com/android/launcher3/views/ScrimView.java b/src/com/android/launcher3/views/ScrimView.java index 9b809ae486..c9424de152 100644 --- a/src/com/android/launcher3/views/ScrimView.java +++ b/src/com/android/launcher3/views/ScrimView.java @@ -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