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
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 36d3625..a54c791 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1197,7 +1197,7 @@
// 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 41962a4..ed854dc 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_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 @@
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 5c1bffb..c61c0d6 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.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 @@
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 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 @@
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 9b809ae..c9424de 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 @@
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 @@
}
@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