summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Evan Rosky <erosky@google.com> 2023-06-08 15:48:24 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-06-08 15:48:24 +0000
commit99612743839c4be86e2a3e06e408bdda727511f3 (patch)
tree494153de1ae98a4788de8b0076cbaec12b7fb672
parentc0fdac3dc7a6a09e675620a22a8e07819013782d (diff)
parentf3306171de61aac1ccfabf1c58ee41ed972b206f (diff)
Merge "Abort queued-sleep transition if display shouldn't sleep anymore" into udc-dev
-rw-r--r--services/core/java/com/android/server/wm/RootWindowContainer.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index 4995236da1be..bc7fa31125f9 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -2357,10 +2357,14 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
final Transition transition = new Transition(TRANSIT_SLEEP, 0 /* flags */,
display.mTransitionController, mWmService.mSyncEngine);
final TransitionController.OnStartCollect sendSleepTransition = (deferred) -> {
- display.mTransitionController.requestStartTransition(transition,
- null /* trigger */, null /* remote */, null /* display */);
- // Force playing immediately so that unrelated ops can't be collected.
- transition.playNow();
+ if (deferred && !display.shouldSleep()) {
+ transition.abort();
+ } else {
+ display.mTransitionController.requestStartTransition(transition,
+ null /* trigger */, null /* remote */, null /* display */);
+ // Force playing immediately so that unrelated ops can't be collected.
+ transition.playNow();
+ }
};
if (!display.mTransitionController.isCollecting()) {
// Since this bypasses sync, submit directly ignoring whether sync-engine