From d9e20bfba5b23c0da34dd628d9055ec3baad1ade Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Mon, 11 Jun 2012 13:57:49 -0700 Subject: Adding additional synchronized blocks when committing changes to the new-apps list. (Bug 6621553) Change-Id: Ia2553321230fec4202fa064cdc66ffd13d005281 --- src/com/android/launcher2/InstallShortcutReceiver.java | 10 ++++++---- src/com/android/launcher2/UninstallShortcutReceiver.java | 16 +++++++++------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/com/android/launcher2/InstallShortcutReceiver.java b/src/com/android/launcher2/InstallShortcutReceiver.java index b454afd7f..54ba7de18 100644 --- a/src/com/android/launcher2/InstallShortcutReceiver.java +++ b/src/com/android/launcher2/InstallShortcutReceiver.java @@ -191,10 +191,12 @@ public class InstallShortcutReceiver extends BroadcastReceiver { final Set savedNewApps = newApps; new Thread("setNewAppsThread") { public void run() { - sharedPrefs.edit() - .putInt(NEW_APPS_PAGE_KEY, screen) - .putStringSet(NEW_APPS_LIST_KEY, savedNewApps) - .commit(); + synchronized (savedNewApps) { + sharedPrefs.edit() + .putInt(NEW_APPS_PAGE_KEY, screen) + .putStringSet(NEW_APPS_LIST_KEY, savedNewApps) + .commit(); + } } }.start(); diff --git a/src/com/android/launcher2/UninstallShortcutReceiver.java b/src/com/android/launcher2/UninstallShortcutReceiver.java index e94a17ffd..02590c9f6 100644 --- a/src/com/android/launcher2/UninstallShortcutReceiver.java +++ b/src/com/android/launcher2/UninstallShortcutReceiver.java @@ -148,14 +148,16 @@ public class UninstallShortcutReceiver extends BroadcastReceiver { final Set savedNewApps = newApps; new Thread("setNewAppsThread-remove") { public void run() { - SharedPreferences.Editor editor = sharedPrefs.edit(); - editor.putStringSet(InstallShortcutReceiver.NEW_APPS_LIST_KEY, - savedNewApps); - if (savedNewApps.isEmpty()) { - // Reset the page index if there are no more items - editor.putInt(InstallShortcutReceiver.NEW_APPS_PAGE_KEY, -1); + synchronized (savedNewApps) { + SharedPreferences.Editor editor = sharedPrefs.edit(); + editor.putStringSet(InstallShortcutReceiver.NEW_APPS_LIST_KEY, + savedNewApps); + if (savedNewApps.isEmpty()) { + // Reset the page index if there are no more items + editor.putInt(InstallShortcutReceiver.NEW_APPS_PAGE_KEY, -1); + } + editor.commit(); } - editor.commit(); } }.start(); } -- cgit v1.2.3