Merge "Abort queued-sleep transition if display shouldn't sleep anymore" into udc-dev am: 9961274383 am: 7c2e560e20

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23605786

Change-Id: I2cc5c15a234b7a8c9eeb5045923470636be7b2f4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Evan Rosky
2023-06-08 16:59:04 +00:00
committed by Automerger Merge Worker

View File

@@ -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