From 805cfed0584941386e731b4c63f8fff8f3088824 Mon Sep 17 00:00:00 2001 From: "jorgegil@google.com" Date: Tue, 2 Feb 2021 15:06:14 -0800 Subject: [PATCH] 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 --- .../core/java/com/android/server/wm/RootWindowContainer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index bbf6c7616d466..1ece9870f0c99 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -846,6 +846,8 @@ class RootWindowContainer extends WindowContainer 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 } } - // Send any pending task-info changes that were queued-up during a layout deferment - mWmService.mAtmService.mTaskOrganizerController.dispatchPendingEvents(); mWmService.mAnimator.executeAfterPrepareSurfacesRunnables(); checkAppTransitionReady(surfacePlacer);