From 2333f56c2988f89d182670ee8a98b1457cb36067 Mon Sep 17 00:00:00 2001 From: Chris Li Date: Thu, 28 Apr 2022 18:59:25 +0800 Subject: [PATCH] Don't include PiP activity in app transit When an activity in ActivityEmbedding split with another being paused, the PiP activity's visibility may be changed to invisible and visible again. We don't want to include such case in the app transition animation. Bug: 225371112 Test: verify with PiP app with ActivityEmbedding Change-Id: I2bb781fb362518f5f11c4c8ad65eb5d2f33a5dfd --- .../core/java/com/android/server/wm/ActivityRecord.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index d00d8b8c9f8a4..3001cfb48e714 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -5095,7 +5095,11 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final boolean recentsAnimating = isAnimating(PARENTS, ANIMATION_TYPE_RECENTS); if (okToAnimate(true /* ignoreFrozen */, canTurnScreenOn()) && (appTransition.isTransitionSet() - || (recentsAnimating && !isActivityTypeHome()))) { + || (recentsAnimating && !isActivityTypeHome())) + // If the visibility change during enter PIP, we don't want to include it in app + // transition to affect the animation theme, because the Pip organizer will animate + // the entering PIP instead. + && !mWaitForEnteringPinnedMode) { if (visible) { displayContent.mOpeningApps.add(this); mEnteringAnimation = true;