diff options
| author | 2024-11-06 03:09:04 +0000 | |
|---|---|---|
| committer | 2024-11-06 03:09:04 +0000 | |
| commit | d87b5ec3b1b09ba1c39e5004ebe1ddb35658bcb9 (patch) | |
| tree | 84e2ec1c8e55dfddf1a454fe0289d67535abefdf | |
| parent | 765d30add8964ab30f730fdd6f1852d202ec4e8d (diff) | |
| parent | d0dd29a3c75c46019200cc129520e6e257fcc2c2 (diff) | |
Merge "Set a transition to ready for removeTask IFF it's the only transition." into main
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityTaskSupervisor.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java index cf178046d2e6..4857b02eaf7c 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java @@ -1725,9 +1725,6 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { return; } Transition transit = task.mTransitionController.requestCloseTransitionIfNeeded(task); - if (transit == null) { - transit = task.mTransitionController.getCollectingTransition(); - } if (transit != null) { transit.collectClose(task); if (!task.mTransitionController.useFullReadyTracking()) { @@ -1739,7 +1736,15 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { // before anything that may need it to wait (setReady(false)). transit.setReady(task, true); } + } else { + // If we failed to create a transition, there might be already a currently collecting + // transition. Let's use it if possible. + transit = task.mTransitionController.getCollectingTransition(); + if (transit != null) { + transit.collectClose(task); + } } + // Consume the stopping activities immediately so activity manager won't skip killing // the process because it is still foreground state, i.e. RESUMED -> PAUSING set from // removeActivities -> finishIfPossible. |