From 00d9d9f11e7645059b8dbce4d80e8fc7ca5312d0 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Tue, 21 Jun 2016 07:47:22 -0400 Subject: [PATCH] Don't iterate over a list items are removed from. Change-Id: I896cd4578da15e21d422ca8db42e34bbd10912e8 Fixes: 29512540 --- .../server/notification/NotificationManagerService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index ce94220ca1a19..73850de8681e4 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); } }