diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityRecord.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 60854885d5bb..06834322405b 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -9177,7 +9177,13 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A getRequestedOverrideWindowingMode() == WINDOWING_MODE_UNDEFINED ? newParentConfig.windowConfiguration.getWindowingMode() : getRequestedOverrideWindowingMode(); - if (getWindowingMode() != projectedWindowingMode) { + if (getWindowingMode() != projectedWindowingMode + // Do not collect a pip activity about to enter pinned mode + // as a part of WindowOrganizerController#finishTransition(). + // If not checked the activity might be collected for the wrong transition, + // such as a TRANSIT_OPEN transition requested right after TRANSIT_PIP. + && !(mWaitForEnteringPinnedMode + && mTransitionController.inFinishingTransition(this))) { mTransitionController.collect(this); } } |