summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Julia Reynolds <juliacr@google.com> 2016-06-21 07:47:22 -0400
committer Julia Reynolds <juliacr@google.com> 2016-06-22 16:34:06 +0000
commit00d9d9f11e7645059b8dbce4d80e8fc7ca5312d0 (patch)
tree71795d72a67226e7f5c449e3ced00a70117e2118
parent94a20367b50a16f8c0143a90135b8b384c6b9d9d (diff)
Don't iterate over a list items are removed from.
Change-Id: I896cd4578da15e21d422ca8db42e34bbd10912e8 Fixes: 29512540
-rw-r--r--services/core/java/com/android/server/notification/NotificationManagerService.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index ce94220ca1a1..73850de8681e 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -3898,7 +3898,9 @@ public class NotificationManagerService extends SystemService {
@Override
public void onUserSwitched(int user) {
synchronized (mNotificationList) {
- for (ManagedServiceInfo info : mServices) {
+ int i = mServices.size()-1;
+ while (i --> 0) {
+ final ManagedServiceInfo info = mServices.get(i);
unregisterService(info.service, info.userid);
}
}