summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2012-06-25 14:21:37 -0700
committerWinson Chung <winsonc@google.com>2012-06-25 14:23:29 -0700
commit3df7dcf513e0e38ab621d38e318bdefb96f0aa81 (patch)
treeba4422b9dca37cc65e2fc841c8d99bcef0496c29 /src
parent7e4e4ba494e50d918a1573b2fa601c561037deae (diff)
downloadandroid_packages_apps_Trebuchet-3df7dcf513e0e38ab621d38e318bdefb96f0aa81.tar.gz
android_packages_apps_Trebuchet-3df7dcf513e0e38ab621d38e318bdefb96f0aa81.tar.bz2
android_packages_apps_Trebuchet-3df7dcf513e0e38ab621d38e318bdefb96f0aa81.zip
Fixing concurrent modification exception when iterating through new apps list. (Bug 6621553)
Change-Id: Idf4fae51c65e0e53520740dd0b2050eeac00b251
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher2/Workspace.java7
1 files 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<String> 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) {}
}