Dispatch TaskOrg events before finishing surface placement

This ensures that calls to ITaskOrganizer.onTaskInfoChanged
are sent before an IWindowContainterTransactionCallback is
called back.

Bug: 178535312
Test: verified dispatching of task info changes happens before
onTransactionReady is called back
Test: exit PIP animation uses updated source rect hint in its
animation

Change-Id: Icb864176ce354be0d880b91b7115c7cea6f50810
This commit is contained in:
jorgegil@google.com
2021-02-02 15:06:14 -08:00
parent b23f6d71ee
commit 805cfed058

View File

@@ -846,6 +846,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
Slog.i(TAG,
">>> OPEN TRANSACTION performLayoutAndPlaceSurfaces");
}
// Send any pending task-info changes that were queued-up during a layout deferment
mWmService.mAtmService.mTaskOrganizerController.dispatchPendingEvents();
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "applySurfaceChanges");
mWmService.openSurfaceTransaction();
try {
@@ -862,8 +864,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
}
}
// Send any pending task-info changes that were queued-up during a layout deferment
mWmService.mAtmService.mTaskOrganizerController.dispatchPendingEvents();
mWmService.mAnimator.executeAfterPrepareSurfacesRunnables();
checkAppTransitionReady(surfacePlacer);