diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java index 9cf45b3151..bde6f9af19 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java @@ -21,6 +21,7 @@ import static com.android.launcher3.LauncherState.NORMAL; import static com.android.launcher3.anim.Interpolators.ACCEL_DEACCEL; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.states.StateAnimationConfig.ANIM_ALL_COMPONENTS; +import static com.android.launcher3.states.StateAnimationConfig.SKIP_DEPTH_CONTROLLER; import static com.android.launcher3.states.StateAnimationConfig.SKIP_OVERVIEW; import android.animation.Animator; @@ -146,7 +147,7 @@ public class StaggeredWorkspaceAnim { */ private void prepareToAnimate(Launcher launcher) { StateAnimationConfig config = new StateAnimationConfig(); - config.animFlags = ANIM_ALL_COMPONENTS | SKIP_OVERVIEW; + config.animFlags = ANIM_ALL_COMPONENTS | SKIP_OVERVIEW | SKIP_DEPTH_CONTROLLER; config.duration = 0; // setRecentsAttachedToAppWindow() will animate recents out. launcher.getStateManager().createAtomicAnimation(BACKGROUND_APP, NORMAL, config).start(); diff --git a/quickstep/src/com/android/launcher3/statehandlers/DepthController.java b/quickstep/src/com/android/launcher3/statehandlers/DepthController.java index 24ba89a0d3..f83737ef9f 100644 --- a/quickstep/src/com/android/launcher3/statehandlers/DepthController.java +++ b/quickstep/src/com/android/launcher3/statehandlers/DepthController.java @@ -17,6 +17,7 @@ package com.android.launcher3.statehandlers; import static com.android.launcher3.anim.Interpolators.LINEAR; +import static com.android.launcher3.states.StateAnimationConfig.SKIP_DEPTH_CONTROLLER; import android.os.IBinder; import android.util.FloatProperty; @@ -163,7 +164,9 @@ public class DepthController implements LauncherStateManager.StateHandler { @Override public void setStateWithAnimation(LauncherState toState, StateAnimationConfig config, PendingAnimation animation) { - if (mSurface == null || config.onlyPlayAtomicComponent()) { + if (mSurface == null + || config.onlyPlayAtomicComponent() + || config.hasAnimationFlag(SKIP_DEPTH_CONTROLLER)) { return; } diff --git a/src/com/android/launcher3/states/StateAnimationConfig.java b/src/com/android/launcher3/states/StateAnimationConfig.java index 82cde642fa..8dccbd3207 100644 --- a/src/com/android/launcher3/states/StateAnimationConfig.java +++ b/src/com/android/launcher3/states/StateAnimationConfig.java @@ -37,6 +37,7 @@ public class StateAnimationConfig { PLAY_ATOMIC_OVERVIEW_SCALE, PLAY_ATOMIC_OVERVIEW_PEEK, SKIP_OVERVIEW, + SKIP_DEPTH_CONTROLLER }) @Retention(RetentionPolicy.SOURCE) public @interface AnimationFlags {} @@ -44,6 +45,7 @@ public class StateAnimationConfig { public static final int PLAY_ATOMIC_OVERVIEW_SCALE = 1 << 1; public static final int PLAY_ATOMIC_OVERVIEW_PEEK = 1 << 2; public static final int SKIP_OVERVIEW = 1 << 3; + public static final int SKIP_DEPTH_CONTROLLER = 1 << 4; public long duration; public boolean userControlled;