summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/RootWindowContainer.java13
-rw-r--r--services/core/java/com/android/server/wm/TransitionController.java2
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");