From 3f3f21406d3c2a9788754b7580cac3b812b46cf3 Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Tue, 14 Sep 2021 10:34:34 -0700 Subject: [PATCH] Fix a bad merge A previous merge went in that incorrectly removed this part of another change (I993dad973ea4b273f77df5671a93cbfd9b21e808). This CL is undoing that. Bug: 183993924 Test: atest ActivityLifecycleTests with shell transitions enabled Change-Id: I75b69b539d99305a764dc3e7bc61278eaa5817e2 Merged-In: I1138079b1ae05248cefa211e0597fd6723a8bbba --- .../core/java/com/android/server/wm/ActivityRecord.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 605cb8a088e7b..7f12fffa554ca 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -4934,10 +4934,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * this has become invisible. */ private void postApplyAnimation(boolean visible) { + final boolean usingShellTransitions = + mAtmService.getTransitionController().getTransitionPlayer() != null; final boolean delayed = isAnimating(PARENTS | CHILDREN, ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_WINDOW_ANIMATION | ANIMATION_TYPE_RECENTS); - if (!delayed) { + if (!delayed && !usingShellTransitions) { // We aren't delayed anything, but exiting windows rely on the animation finished // callback being called in case the ActivityRecord was pretending to be delayed, // which we might have done because we were in closing/opening apps list. @@ -4956,8 +4958,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // updated. // If we're becoming invisible, update the client visibility if we are not running an // animation. Otherwise, we'll update client visibility in onAnimationFinished. - if (visible || !isAnimating(PARENTS, - ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_RECENTS)) { + if (visible || !isAnimating(PARENTS, ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_RECENTS) + || usingShellTransitions) { setClientVisible(visible); }