From 46443aae567ba28796327aecd40c8dff75fc6808 Mon Sep 17 00:00:00 2001 From: Louis Chang Date: Sat, 4 Feb 2023 04:43:06 +0000 Subject: [PATCH] Stops the activities in the forward order The activities were added to the stopping list usually from top to bottom. Since the stopping list is processed in a reverse order, the activities were put to stopped state reversely. Bug: 262077896 Test: verify locally Change-Id: I561bb5887b0d4ab46841845fa6472a8aaee4d6c0 --- .../java/com/android/server/wm/ActivityTaskSupervisor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java index 0f1f51f375e9e..f34dc941393c0 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java @@ -2053,7 +2053,7 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { // Stop any activities that are scheduled to do so but have been waiting for the transition // animation to finish. ArrayList readyToStopActivities = null; - for (int i = mStoppingActivities.size() - 1; i >= 0; --i) { + for (int i = 0; i < mStoppingActivities.size(); i++) { final ActivityRecord s = mStoppingActivities.get(i); final boolean animating = s.isInTransition(); ProtoLog.v(WM_DEBUG_STATES, "Stopping %s: nowVisible=%b animating=%b " @@ -2074,6 +2074,7 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { readyToStopActivities.add(s); mStoppingActivities.remove(i); + i--; } }