Merge "Abort queued-sleep transition if display shouldn't sleep anymore" into udc-dev
This commit is contained in:
@@ -2357,10 +2357,14 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
|
|||||||
final Transition transition = new Transition(TRANSIT_SLEEP, 0 /* flags */,
|
final Transition transition = new Transition(TRANSIT_SLEEP, 0 /* flags */,
|
||||||
display.mTransitionController, mWmService.mSyncEngine);
|
display.mTransitionController, mWmService.mSyncEngine);
|
||||||
final TransitionController.OnStartCollect sendSleepTransition = (deferred) -> {
|
final TransitionController.OnStartCollect sendSleepTransition = (deferred) -> {
|
||||||
display.mTransitionController.requestStartTransition(transition,
|
if (deferred && !display.shouldSleep()) {
|
||||||
null /* trigger */, null /* remote */, null /* display */);
|
transition.abort();
|
||||||
// Force playing immediately so that unrelated ops can't be collected.
|
} else {
|
||||||
transition.playNow();
|
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()) {
|
if (!display.mTransitionController.isCollecting()) {
|
||||||
// Since this bypasses sync, submit directly ignoring whether sync-engine
|
// Since this bypasses sync, submit directly ignoring whether sync-engine
|
||||||
|
|||||||
Reference in New Issue
Block a user