diff options
| author | 2016-06-21 07:47:22 -0400 | |
|---|---|---|
| committer | 2016-06-22 16:34:06 +0000 | |
| commit | 00d9d9f11e7645059b8dbce4d80e8fc7ca5312d0 (patch) | |
| tree | 71795d72a67226e7f5c449e3ced00a70117e2118 | |
| parent | 94a20367b50a16f8c0143a90135b8b384c6b9d9d (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.java | 4 |
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); } } |