diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 43b555c914bcc..4f3c6d5b6b5f6 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -8111,9 +8111,8 @@ public class WindowManagerService extends IWindowManager.Stub boolean animateStarting = false; while (timeoutRemaining > 0) { // Waiting until all starting windows has finished animating. - animateStarting = mRoot.forAllActivities(a -> { - return a.hasStartingWindow(); - }); + animateStarting = !mAtmService.getTransitionController().isShellTransitionsEnabled() + && mRoot.forAllActivities(ActivityRecord::hasStartingWindow); boolean isAnimating = mAnimator.isAnimationScheduled() || mRoot.isAnimating(TRANSITION | CHILDREN, ANIMATION_TYPE_ALL) || animateStarting;