Merge "Fix regression where StaggeredWorkspaceAnim didn't respect animateScrim" into sc-dev am: c874ccc163
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/14189989
Change-Id: I336a75b6419d75470e1899771ec9bad5d626c46f
diff --git a/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java b/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java
index c12bd9b..1df459e 100644
--- a/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java
+++ b/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java
@@ -22,6 +22,7 @@
import static com.android.launcher3.anim.PropertySetter.NO_ANIM_PROPERTY_SETTER;
import static com.android.launcher3.states.StateAnimationConfig.SKIP_DEPTH_CONTROLLER;
import static com.android.launcher3.states.StateAnimationConfig.SKIP_OVERVIEW;
+import static com.android.launcher3.states.StateAnimationConfig.SKIP_SCRIM;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
@@ -181,7 +182,7 @@
*/
private void prepareToAnimate(Launcher launcher, boolean animateOverviewScrim) {
StateAnimationConfig config = new StateAnimationConfig();
- config.animFlags = SKIP_OVERVIEW | SKIP_DEPTH_CONTROLLER;
+ config.animFlags = SKIP_OVERVIEW | SKIP_DEPTH_CONTROLLER | SKIP_SCRIM;
config.duration = 0;
// setRecentsAttachedToAppWindow() will animate recents out.
launcher.getStateManager().createAtomicAnimation(BACKGROUND_APP, NORMAL, config).start();
diff --git a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
index 24de19f..2956d07 100644
--- a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
+++ b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
@@ -40,6 +40,7 @@
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;
import android.animation.ValueAnimator;
import android.view.View;
@@ -151,7 +152,9 @@
propertySetter.setFloat(mWorkspace.getPageIndicator(), VIEW_TRANSLATE_Y,
hotseatScaleAndTranslation.translationY, hotseatTranslationInterpolator);
- setScrim(propertySetter, state, config);
+ if (!config.hasAnimationFlag(SKIP_SCRIM)) {
+ setScrim(propertySetter, state, config);
+ }
}
/**
diff --git a/src/com/android/launcher3/states/StateAnimationConfig.java b/src/com/android/launcher3/states/StateAnimationConfig.java
index 0dbfb0b..2f26b4f 100644
--- a/src/com/android/launcher3/states/StateAnimationConfig.java
+++ b/src/com/android/launcher3/states/StateAnimationConfig.java
@@ -31,12 +31,14 @@
SKIP_ALL_ANIMATIONS,
SKIP_OVERVIEW,
SKIP_DEPTH_CONTROLLER,
+ SKIP_SCRIM,
})
@Retention(RetentionPolicy.SOURCE)
public @interface AnimationFlags {}
public static final int SKIP_ALL_ANIMATIONS = 1 << 0;
public static final int SKIP_OVERVIEW = 1 << 1;
public static final int SKIP_DEPTH_CONTROLLER = 1 << 2;
+ public static final int SKIP_SCRIM = 1 << 3;
public long duration;
public boolean userControlled;