From 3df7dcf513e0e38ab621d38e318bdefb96f0aa81 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Mon, 25 Jun 2012 14:21:37 -0700 Subject: Fixing concurrent modification exception when iterating through new apps list. (Bug 6621553) Change-Id: Idf4fae51c65e0e53520740dd0b2050eeac00b251 --- src/com/android/launcher2/Workspace.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 0192630b6..2d2340a3e 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -3684,12 +3684,13 @@ public class Workspace extends SmoothPagedView // Remove all queued items that match the same package if (newApps != null) { synchronized (newApps) { - for (String intentStr : newApps) { + Iterator iter = newApps.iterator(); + while (iter.hasNext()) { try { - Intent intent = Intent.parseUri(intentStr, 0); + Intent intent = Intent.parseUri(iter.next(), 0); String pn = ItemInfo.getPackageName(intent); if (packageNames.contains(pn)) { - newApps.remove(intentStr); + iter.remove(); } } catch (URISyntaxException e) {} } -- cgit v1.2.3