diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java index e4ec295fa34e5..cd46165b56b3c 100644 --- a/services/core/java/com/android/server/wm/AppTransition.java +++ b/services/core/java/com/android/server/wm/AppTransition.java @@ -374,6 +374,7 @@ public class AppTransition implements Dump { void goodToGo(AppWindowAnimator topOpeningAppAnimator, AppWindowAnimator topClosingAppAnimator, ArraySet openingApps, ArraySet closingApps) { + int appTransition = mNextAppTransition; mNextAppTransition = TRANSIT_UNSET; mAppTransitionState = APP_STATE_RUNNING; notifyAppTransitionStartingLocked( @@ -382,7 +383,7 @@ public class AppTransition implements Dump { topOpeningAppAnimator != null ? topOpeningAppAnimator.animation : null, topClosingAppAnimator != null ? topClosingAppAnimator.animation : null); mService.getDefaultDisplayContentLocked().getDockedDividerController() - .notifyAppTransitionStarting(openingApps); + .notifyAppTransitionStarting(openingApps, appTransition); // Prolong the start for the transition when docking a task from recents, unless recents // ended it already then we don't need to wait. diff --git a/services/core/java/com/android/server/wm/DockedStackDividerController.java b/services/core/java/com/android/server/wm/DockedStackDividerController.java index f8d2ee931d047..6f0a43a20e8ac 100644 --- a/services/core/java/com/android/server/wm/DockedStackDividerController.java +++ b/services/core/java/com/android/server/wm/DockedStackDividerController.java @@ -29,6 +29,7 @@ import static android.view.WindowManager.DOCKED_RIGHT; import static android.view.WindowManager.DOCKED_TOP; import static com.android.server.wm.AppTransition.DEFAULT_APP_TRANSITION_DURATION; import static com.android.server.wm.AppTransition.TOUCH_RESPONSE_INTERPOLATOR; +import static com.android.server.wm.AppTransition.TRANSIT_NONE; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import static com.android.server.wm.WindowManagerService.H.NOTIFY_DOCKED_STACK_MINIMIZED_CHANGED; @@ -493,7 +494,7 @@ public class DockedStackDividerController implements DimLayerUser { checkMinimizeChanged(false /* animate */); } - void notifyAppTransitionStarting(ArraySet openingApps) { + void notifyAppTransitionStarting(ArraySet openingApps, int appTransition) { final boolean wasMinimized = mMinimizedDock; checkMinimizeChanged(true /* animate */); @@ -502,7 +503,8 @@ public class DockedStackDividerController implements DimLayerUser { // any case that was missed in ActivityStarter.postStartActivityUncheckedProcessing because // we couldn't retrace the launch of the app in the docked stack to the launch from // homescreen. - if (wasMinimized && mMinimizedDock && containsAppInDockedStack(openingApps)) { + if (wasMinimized && mMinimizedDock && containsAppInDockedStack(openingApps) + && appTransition != TRANSIT_NONE) { mService.showRecentApps(true /* fromHome */); } }