diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/RootWindowContainer.java | 13 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/TransitionController.java | 2 |
2 files changed, 9 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index d66005f8fd99..9dba8c6b90c4 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -31,6 +31,7 @@ import static android.view.Display.INVALID_DISPLAY; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE; import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG; import static android.view.WindowManager.LayoutParams.TYPE_NOTIFICATION_SHADE; +import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_OCCLUDING; import static android.view.WindowManager.TRANSIT_NONE; import static android.view.WindowManager.TRANSIT_PIP; import static android.view.WindowManager.TRANSIT_SLEEP; @@ -2496,15 +2497,17 @@ class RootWindowContainer extends WindowContainer<DisplayContent> // Use NONE if keyguard is not showing. int transit = TRANSIT_NONE; Task startTask = null; + int flags = 0; + if (display.isKeyguardOccluded()) { + startTask = display.getTaskOccludingKeyguard(); + flags = TRANSIT_FLAG_KEYGUARD_OCCLUDING; + transit = WindowManager.TRANSIT_KEYGUARD_OCCLUDE; + } if (wasSleeping) { transit = TRANSIT_WAKE; - } else if (display.isKeyguardOccluded()) { - // The display was awake so this is resuming activity for occluding keyguard. - transit = WindowManager.TRANSIT_KEYGUARD_OCCLUDE; - startTask = display.getTaskOccludingKeyguard(); } display.mTransitionController.requestStartTransition( - display.mTransitionController.createTransition(transit), + display.mTransitionController.createTransition(transit, flags), startTask, null /* remoteTransition */, null /* displayChange */); } // Set the sleeping state of the root tasks on the display. diff --git a/services/core/java/com/android/server/wm/TransitionController.java b/services/core/java/com/android/server/wm/TransitionController.java index ac03a1bbf590..222abc35ee0b 100644 --- a/services/core/java/com/android/server/wm/TransitionController.java +++ b/services/core/java/com/android/server/wm/TransitionController.java @@ -300,7 +300,7 @@ class TransitionController { * Creates a transition. It can immediately collect participants. */ @NonNull - private Transition createTransition(@WindowManager.TransitionType int type, + Transition createTransition(@WindowManager.TransitionType int type, @WindowManager.TransitionFlags int flags) { if (mTransitionPlayer == null) { throw new IllegalStateException("Shell Transitions not enabled"); |