Fixed out of bounds exception while handling app crash

The current stack we are proccessing can be deleted as part of
the clean-up process, so the size of the stack list is reduced
by one.

Bug: 22822743
Change-Id: I6a6af5d8d811e231f345f01dd2aa4a61510c8d2b
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 05c58d7..0be2f6f 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -3205,10 +3205,10 @@
     void handleAppCrashLocked(ProcessRecord app) {
         for (int displayNdx = mActivityDisplays.size() - 1; displayNdx >= 0; --displayNdx) {
             final ArrayList<ActivityStack> stacks = mActivityDisplays.valueAt(displayNdx).mStacks;
-            final int numStacks = stacks.size();
-            for (int stackNdx = 0; stackNdx < numStacks; ++stackNdx) {
-                final ActivityStack stack = stacks.get(stackNdx);
-                stack.handleAppCrashLocked(app);
+            int stackNdx = stacks.size() - 1;
+            while (stackNdx >= 0) {
+                stacks.get(stackNdx).handleAppCrashLocked(app);
+                stackNdx--;
             }
         }
     }