Merge "Defer remove splash screen window if it is inTransition." into udc-dev

This commit is contained in:
Wei Sheng Shih
2023-04-13 03:48:53 +00:00
committed by Android (Google) Code Review

View File

@@ -2865,11 +2865,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
return;
}
if (animate && mTransitionController.inCollectingTransition(startingWindow)
&& startingWindow.cancelAndRedraw()) {
if (animate && mTransitionController.inCollectingTransition(startingWindow)) {
// Defer remove starting window after transition start.
// If splash screen window was in collecting, the client side is unable to draw because
// of Session#cancelDraw, which will blocking the remove animation.
// The surface of app window could really show after the transition finish.
startingWindow.mSyncTransaction.addTransactionCommittedListener(Runnable::run, () -> {
synchronized (mAtmService.mGlobalLock) {
surface.remove(true);