diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java index 9375b297be2bb0e933f23e45f83bd41fb956446e..ecdf09f698d120c1d2a3a7387ca66f2e7ea17865 100644 --- a/services/core/java/com/android/server/wm/WindowOrganizerController.java +++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java @@ -2016,6 +2016,11 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub ownerTask.addChild(taskFragment, position); taskFragment.setWindowingMode(creationParams.getWindowingMode()); if (!creationParams.getInitialRelativeBounds().isEmpty()) { + // The surface operations for the task fragment should sync with the transition. + // This avoid using pending transaction before collectExistenceChange is called. + if (transition != null) { + addToSyncSet(transition.getSyncId(), taskFragment); + } // Set relative bounds instead of using setBounds. This will avoid unnecessary update in // case the parent has resized since the last time parent info is sent to the organizer. taskFragment.setRelativeEmbeddedBounds(creationParams.getInitialRelativeBounds());