diff options
author | 2023-06-08 15:48:24 +0000 | |
---|---|---|
committer | 2023-06-08 15:48:24 +0000 | |
commit | 99612743839c4be86e2a3e06e408bdda727511f3 (patch) | |
tree | 494153de1ae98a4788de8b0076cbaec12b7fb672 | |
parent | c0fdac3dc7a6a09e675620a22a8e07819013782d (diff) | |
parent | f3306171de61aac1ccfabf1c58ee41ed972b206f (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.java | 12 |
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 |