Merge "Unminimizing after toggle screen on/off shows docked app correctly (1/2)"
diff --git a/services/core/java/com/android/server/wm/DockedStackDividerController.java b/services/core/java/com/android/server/wm/DockedStackDividerController.java
index fc37797..85eae02 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 @@
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 @@
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;