Adding additional synchronized blocks when committing changes to the new-apps list. (Bug 6621553)

Change-Id: Ia2553321230fec4202fa064cdc66ffd13d005281
diff --git a/src/com/android/launcher2/InstallShortcutReceiver.java b/src/com/android/launcher2/InstallShortcutReceiver.java
index b454afd..54ba7de 100644
--- a/src/com/android/launcher2/InstallShortcutReceiver.java
+++ b/src/com/android/launcher2/InstallShortcutReceiver.java
@@ -191,10 +191,12 @@
                     final Set<String> 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 e94a17f..02590c9 100644
--- a/src/com/android/launcher2/UninstallShortcutReceiver.java
+++ b/src/com/android/launcher2/UninstallShortcutReceiver.java
@@ -148,14 +148,16 @@
                 final Set<String> 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();
             }