[ActivityManager] Fix IndexOutOfBoundsException

Symptom:
The stack was deleted during cleanup, so the stack
list size has reduced by one and cause this issue.

IndexOutOfBoundsException: Invalid index 1, size is 1

Change-Id: Ic6722aed98a0ad789b331d00e89cb74bf3b36d4c
This commit is contained in:
louis_chang
2015-10-27 10:45:53 +08:00
parent 9a65c36022
commit 8f0555ac55

View File

@@ -2670,8 +2670,7 @@ public final class ActivityStackSupervisor implements DisplayListener {
boolean didSomething = false;
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) {
for (int stackNdx = stacks.size() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = stacks.get(stackNdx);
if (stack.finishDisabledPackageActivitiesLocked(
packageName, filterByClasses, doit, evenPersistent, userId)) {