Merge "Fix IndexOutOfBoundsException while handle app crash" into udc-dev
diff --git a/services/core/java/com/android/server/wm/WindowProcessController.java b/services/core/java/com/android/server/wm/WindowProcessController.java
index 8685723..c34aa2b 100644
--- a/services/core/java/com/android/server/wm/WindowProcessController.java
+++ b/services/core/java/com/android/server/wm/WindowProcessController.java
@@ -378,8 +378,9 @@
     }
 
     void handleAppCrash() {
-        for (int i = mActivities.size() - 1; i >= 0; --i) {
-            final ActivityRecord r = mActivities.get(i);
+        ArrayList<ActivityRecord> activities = new ArrayList<>(mActivities);
+        for (int i = activities.size() - 1; i >= 0; --i) {
+            final ActivityRecord r = activities.get(i);
             Slog.w(TAG, "  Force finishing activity "
                     + r.mActivityComponent.flattenToShortString());
             r.detachFromProcess();