From 6632259c38c63c423cea7debdb1efc2ecdab2c47 Mon Sep 17 00:00:00 2001 From: Kazuki Takise Date: Tue, 19 May 2020 22:47:20 +0900 Subject: [PATCH] Compare containers in mChangingContainers with Task for change transitions Currently, it's trying to find an activity in mChangingContainers, but as Task is added for change transitions, so it ends up getting into the else statement and incorrectly set the animation CLOSING. Bug: 157015435 Test: go/wm-smoke Change-Id: I5be317f2e4adeceeeb06d4a1ec432d014685cf35 --- .../java/com/android/server/wm/RemoteAnimationController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/RemoteAnimationController.java b/services/core/java/com/android/server/wm/RemoteAnimationController.java index c02e0a11a0c5a..c7f78342c829d 100644 --- a/services/core/java/com/android/server/wm/RemoteAnimationController.java +++ b/services/core/java/com/android/server/wm/RemoteAnimationController.java @@ -387,9 +387,11 @@ class RemoteAnimationController implements DeathRecipient { int getMode() { final DisplayContent dc = mWindowContainer.getDisplayContent(); final ActivityRecord topActivity = mWindowContainer.getTopMostActivity(); + // Note that opening/closing transitions are per-activity while changing transitions + // are per-task. if (dc.mOpeningApps.contains(topActivity)) { return RemoteAnimationTarget.MODE_OPENING; - } else if (dc.mChangingContainers.contains(topActivity)) { + } else if (dc.mChangingContainers.contains(mWindowContainer)) { return RemoteAnimationTarget.MODE_CHANGING; } else { return RemoteAnimationTarget.MODE_CLOSING;