diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/DockedStackDividerController.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/DockedStackDividerController.java b/services/core/java/com/android/server/wm/DockedStackDividerController.java index fc377973221b..85eae0212373 100644 --- a/services/core/java/com/android/server/wm/DockedStackDividerController.java +++ b/services/core/java/com/android/server/wm/DockedStackDividerController.java @@ -540,12 +540,14 @@ public class DockedStackDividerController implements DimLayerUser { checkMinimizeChanged(true /* animate */); // We were minimized, and now we are still minimized, but somebody is trying to launch an - // app in docked stack, better show recent apps so we actually get unminimized! This catches + // app in docked stack, better show recent apps so we actually get unminimized! However do + // not do this if keyguard is dismissed such as when the device is unlocking. This catches // 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) - && appTransition != TRANSIT_NONE) { + && appTransition != TRANSIT_NONE && + !AppTransition.isKeyguardGoingAwayTransit(appTransition)) { mService.showRecentApps(true /* fromHome */); } } @@ -579,6 +581,12 @@ public class DockedStackDividerController implements DimLayerUser { if (homeTask == null || !isWithinDisplay(homeTask)) { return; } + + // Do not minimize when dock is already minimized while keyguard is showing and not + // occluded such as unlocking the screen + if (mMinimizedDock && mService.mPolicy.isKeyguardShowingAndNotOccluded()) { + return; + } final TaskStack fullscreenStack = mDisplayContent.getStackById(FULLSCREEN_WORKSPACE_STACK_ID); final boolean homeVisible = homeTask.getTopVisibleAppToken() != null; |