Merge "Fixing wallpaper scrolling to be consistent in springloaded"
diff --git a/res/drawable-large-hdpi/divider_launcher_holo.9.png b/res/drawable-sw600dp-hdpi/divider_launcher_holo.9.png
similarity index 100%
rename from res/drawable-large-hdpi/divider_launcher_holo.9.png
rename to res/drawable-sw600dp-hdpi/divider_launcher_holo.9.png
Binary files differ
diff --git a/res/drawable-large-hdpi/ic_no_applications.png b/res/drawable-sw600dp-hdpi/ic_no_applications.png
similarity index 100%
rename from res/drawable-large-hdpi/ic_no_applications.png
rename to res/drawable-sw600dp-hdpi/ic_no_applications.png
Binary files differ
diff --git a/res/drawable-large-hdpi/portal_ring_inner_holo.png b/res/drawable-sw600dp-hdpi/portal_ring_inner_holo.png
similarity index 100%
rename from res/drawable-large-hdpi/portal_ring_inner_holo.png
rename to res/drawable-sw600dp-hdpi/portal_ring_inner_holo.png
Binary files differ
diff --git a/res/drawable-large-hdpi/portal_ring_outer_holo.png b/res/drawable-sw600dp-hdpi/portal_ring_outer_holo.png
similarity index 100%
rename from res/drawable-large-hdpi/portal_ring_outer_holo.png
rename to res/drawable-sw600dp-hdpi/portal_ring_outer_holo.png
Binary files differ
diff --git a/res/drawable-large-hdpi/tab_selected_focused_holo.9.png b/res/drawable-sw600dp-hdpi/tab_selected_focused_holo.9.png
similarity index 100%
rename from res/drawable-large-hdpi/tab_selected_focused_holo.9.png
rename to res/drawable-sw600dp-hdpi/tab_selected_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-large-hdpi/tab_selected_holo.9.png b/res/drawable-sw600dp-hdpi/tab_selected_holo.9.png
similarity index 100%
rename from res/drawable-large-hdpi/tab_selected_holo.9.png
rename to res/drawable-sw600dp-hdpi/tab_selected_holo.9.png
Binary files differ
diff --git a/res/drawable-large-hdpi/tab_selected_pressed_focused_holo.9.png b/res/drawable-sw600dp-hdpi/tab_selected_pressed_focused_holo.9.png
similarity index 100%
rename from res/drawable-large-hdpi/tab_selected_pressed_focused_holo.9.png
rename to res/drawable-sw600dp-hdpi/tab_selected_pressed_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-large-hdpi/tab_selected_pressed_holo.9.png b/res/drawable-sw600dp-hdpi/tab_selected_pressed_holo.9.png
similarity index 100%
rename from res/drawable-large-hdpi/tab_selected_pressed_holo.9.png
rename to res/drawable-sw600dp-hdpi/tab_selected_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable-large-hdpi/widget_resize_frame_holo.9.png b/res/drawable-sw600dp-hdpi/widget_resize_frame_holo.9.png
similarity index 100%
rename from res/drawable-large-hdpi/widget_resize_frame_holo.9.png
rename to res/drawable-sw600dp-hdpi/widget_resize_frame_holo.9.png
Binary files differ
diff --git a/res/drawable-large-hdpi/widget_resize_handle_bottom.png b/res/drawable-sw600dp-hdpi/widget_resize_handle_bottom.png
similarity index 100%
rename from res/drawable-large-hdpi/widget_resize_handle_bottom.png
rename to res/drawable-sw600dp-hdpi/widget_resize_handle_bottom.png
Binary files differ
diff --git a/res/drawable-large-hdpi/widget_resize_handle_left.png b/res/drawable-sw600dp-hdpi/widget_resize_handle_left.png
similarity index 100%
rename from res/drawable-large-hdpi/widget_resize_handle_left.png
rename to res/drawable-sw600dp-hdpi/widget_resize_handle_left.png
Binary files differ
diff --git a/res/drawable-large-hdpi/widget_resize_handle_right.png b/res/drawable-sw600dp-hdpi/widget_resize_handle_right.png
similarity index 100%
rename from res/drawable-large-hdpi/widget_resize_handle_right.png
rename to res/drawable-sw600dp-hdpi/widget_resize_handle_right.png
Binary files differ
diff --git a/res/drawable-large-hdpi/widget_resize_handle_top.png b/res/drawable-sw600dp-hdpi/widget_resize_handle_top.png
similarity index 100%
rename from res/drawable-large-hdpi/widget_resize_handle_top.png
rename to res/drawable-sw600dp-hdpi/widget_resize_handle_top.png
Binary files differ
diff --git a/res/drawable-large-mdpi/divider_launcher_holo.9.png b/res/drawable-sw600dp-mdpi/divider_launcher_holo.9.png
similarity index 100%
rename from res/drawable-large-mdpi/divider_launcher_holo.9.png
rename to res/drawable-sw600dp-mdpi/divider_launcher_holo.9.png
Binary files differ
diff --git a/res/drawable-large-mdpi/ic_home_add_holo_dark.png b/res/drawable-sw600dp-mdpi/ic_home_add_holo_dark.png
similarity index 100%
rename from res/drawable-large-mdpi/ic_home_add_holo_dark.png
rename to res/drawable-sw600dp-mdpi/ic_home_add_holo_dark.png
Binary files differ
diff --git a/res/drawable-large-mdpi/ic_no_applications.png b/res/drawable-sw600dp-mdpi/ic_no_applications.png
similarity index 100%
rename from res/drawable-large-mdpi/ic_no_applications.png
rename to res/drawable-sw600dp-mdpi/ic_no_applications.png
Binary files differ
diff --git a/res/drawable-large-mdpi/portal_ring_inner_holo.png b/res/drawable-sw600dp-mdpi/portal_ring_inner_holo.png
similarity index 100%
rename from res/drawable-large-mdpi/portal_ring_inner_holo.png
rename to res/drawable-sw600dp-mdpi/portal_ring_inner_holo.png
Binary files differ
diff --git a/res/drawable-large-mdpi/portal_ring_outer_holo.png b/res/drawable-sw600dp-mdpi/portal_ring_outer_holo.png
similarity index 100%
rename from res/drawable-large-mdpi/portal_ring_outer_holo.png
rename to res/drawable-sw600dp-mdpi/portal_ring_outer_holo.png
Binary files differ
diff --git a/res/drawable-large-mdpi/tab_selected_focused_holo.9.png b/res/drawable-sw600dp-mdpi/tab_selected_focused_holo.9.png
similarity index 100%
rename from res/drawable-large-mdpi/tab_selected_focused_holo.9.png
rename to res/drawable-sw600dp-mdpi/tab_selected_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-large-mdpi/tab_selected_holo.9.png b/res/drawable-sw600dp-mdpi/tab_selected_holo.9.png
similarity index 100%
rename from res/drawable-large-mdpi/tab_selected_holo.9.png
rename to res/drawable-sw600dp-mdpi/tab_selected_holo.9.png
Binary files differ
diff --git a/res/drawable-large-mdpi/tab_selected_pressed_focused_holo.9.png b/res/drawable-sw600dp-mdpi/tab_selected_pressed_focused_holo.9.png
similarity index 100%
rename from res/drawable-large-mdpi/tab_selected_pressed_focused_holo.9.png
rename to res/drawable-sw600dp-mdpi/tab_selected_pressed_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-large-mdpi/tab_selected_pressed_holo.9.png b/res/drawable-sw600dp-mdpi/tab_selected_pressed_holo.9.png
similarity index 100%
rename from res/drawable-large-mdpi/tab_selected_pressed_holo.9.png
rename to res/drawable-sw600dp-mdpi/tab_selected_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable-large-mdpi/widget_resize_frame_holo.9.png b/res/drawable-sw600dp-mdpi/widget_resize_frame_holo.9.png
similarity index 100%
rename from res/drawable-large-mdpi/widget_resize_frame_holo.9.png
rename to res/drawable-sw600dp-mdpi/widget_resize_frame_holo.9.png
Binary files differ
diff --git a/res/drawable-large-mdpi/widget_resize_handle_bottom.png b/res/drawable-sw600dp-mdpi/widget_resize_handle_bottom.png
similarity index 100%
rename from res/drawable-large-mdpi/widget_resize_handle_bottom.png
rename to res/drawable-sw600dp-mdpi/widget_resize_handle_bottom.png
Binary files differ
diff --git a/res/drawable-large-mdpi/widget_resize_handle_left.png b/res/drawable-sw600dp-mdpi/widget_resize_handle_left.png
similarity index 100%
rename from res/drawable-large-mdpi/widget_resize_handle_left.png
rename to res/drawable-sw600dp-mdpi/widget_resize_handle_left.png
Binary files differ
diff --git a/res/drawable-large-mdpi/widget_resize_handle_right.png b/res/drawable-sw600dp-mdpi/widget_resize_handle_right.png
similarity index 100%
rename from res/drawable-large-mdpi/widget_resize_handle_right.png
rename to res/drawable-sw600dp-mdpi/widget_resize_handle_right.png
Binary files differ
diff --git a/res/drawable-large-mdpi/widget_resize_handle_top.png b/res/drawable-sw600dp-mdpi/widget_resize_handle_top.png
similarity index 100%
rename from res/drawable-large-mdpi/widget_resize_handle_top.png
rename to res/drawable-sw600dp-mdpi/widget_resize_handle_top.png
Binary files differ
diff --git a/res/drawable-large-nodpi/bluecrystal.jpg b/res/drawable-sw600dp-nodpi/bluecrystal.jpg
similarity index 100%
rename from res/drawable-large-nodpi/bluecrystal.jpg
rename to res/drawable-sw600dp-nodpi/bluecrystal.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/bluecrystal_small.jpg b/res/drawable-sw600dp-nodpi/bluecrystal_small.jpg
similarity index 100%
rename from res/drawable-large-nodpi/bluecrystal_small.jpg
rename to res/drawable-sw600dp-nodpi/bluecrystal_small.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/bluelinebots.jpg b/res/drawable-sw600dp-nodpi/bluelinebots.jpg
similarity index 100%
rename from res/drawable-large-nodpi/bluelinebots.jpg
rename to res/drawable-sw600dp-nodpi/bluelinebots.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/bluelinebots_small.jpg b/res/drawable-sw600dp-nodpi/bluelinebots_small.jpg
similarity index 100%
rename from res/drawable-large-nodpi/bluelinebots_small.jpg
rename to res/drawable-sw600dp-nodpi/bluelinebots_small.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/bots.jpg b/res/drawable-sw600dp-nodpi/bots.jpg
similarity index 100%
rename from res/drawable-large-nodpi/bots.jpg
rename to res/drawable-sw600dp-nodpi/bots.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/bots_small.jpg b/res/drawable-sw600dp-nodpi/bots_small.jpg
similarity index 100%
rename from res/drawable-large-nodpi/bots_small.jpg
rename to res/drawable-sw600dp-nodpi/bots_small.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/bucky.jpg b/res/drawable-sw600dp-nodpi/bucky.jpg
similarity index 100%
rename from res/drawable-large-nodpi/bucky.jpg
rename to res/drawable-sw600dp-nodpi/bucky.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/bucky_small.jpg b/res/drawable-sw600dp-nodpi/bucky_small.jpg
similarity index 100%
rename from res/drawable-large-nodpi/bucky_small.jpg
rename to res/drawable-sw600dp-nodpi/bucky_small.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/city.jpg b/res/drawable-sw600dp-nodpi/city.jpg
similarity index 100%
rename from res/drawable-large-nodpi/city.jpg
rename to res/drawable-sw600dp-nodpi/city.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/city_small.jpg b/res/drawable-sw600dp-nodpi/city_small.jpg
similarity index 100%
rename from res/drawable-large-nodpi/city_small.jpg
rename to res/drawable-sw600dp-nodpi/city_small.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/flowerbot.jpg b/res/drawable-sw600dp-nodpi/flowerbot.jpg
similarity index 100%
rename from res/drawable-large-nodpi/flowerbot.jpg
rename to res/drawable-sw600dp-nodpi/flowerbot.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/flowerbot_small.jpg b/res/drawable-sw600dp-nodpi/flowerbot_small.jpg
similarity index 100%
rename from res/drawable-large-nodpi/flowerbot_small.jpg
rename to res/drawable-sw600dp-nodpi/flowerbot_small.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/glowy_hex.jpg b/res/drawable-sw600dp-nodpi/glowy_hex.jpg
similarity index 100%
rename from res/drawable-large-nodpi/glowy_hex.jpg
rename to res/drawable-sw600dp-nodpi/glowy_hex.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/glowy_hex_small.jpg b/res/drawable-sw600dp-nodpi/glowy_hex_small.jpg
similarity index 100%
rename from res/drawable-large-nodpi/glowy_hex_small.jpg
rename to res/drawable-sw600dp-nodpi/glowy_hex_small.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/lotus.jpg b/res/drawable-sw600dp-nodpi/lotus.jpg
similarity index 100%
rename from res/drawable-large-nodpi/lotus.jpg
rename to res/drawable-sw600dp-nodpi/lotus.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/lotus_small.jpg b/res/drawable-sw600dp-nodpi/lotus_small.jpg
similarity index 100%
rename from res/drawable-large-nodpi/lotus_small.jpg
rename to res/drawable-sw600dp-nodpi/lotus_small.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/village.jpg b/res/drawable-sw600dp-nodpi/village.jpg
similarity index 100%
rename from res/drawable-large-nodpi/village.jpg
rename to res/drawable-sw600dp-nodpi/village.jpg
Binary files differ
diff --git a/res/drawable-large-nodpi/village_small.jpg b/res/drawable-sw600dp-nodpi/village_small.jpg
similarity index 100%
rename from res/drawable-large-nodpi/village_small.jpg
rename to res/drawable-sw600dp-nodpi/village_small.jpg
Binary files differ
diff --git a/res/drawable-large-xhdpi/portal_ring_inner_holo.png b/res/drawable-sw600dp-xhdpi/portal_ring_inner_holo.png
similarity index 100%
rename from res/drawable-large-xhdpi/portal_ring_inner_holo.png
rename to res/drawable-sw600dp-xhdpi/portal_ring_inner_holo.png
Binary files differ
diff --git a/res/drawable-large-xhdpi/portal_ring_outer_holo.png b/res/drawable-sw600dp-xhdpi/portal_ring_outer_holo.png
similarity index 100%
rename from res/drawable-large-xhdpi/portal_ring_outer_holo.png
rename to res/drawable-sw600dp-xhdpi/portal_ring_outer_holo.png
Binary files differ
diff --git a/res/layout-large-land/all_apps_cling.xml b/res/layout-sw600dp-land/all_apps_cling.xml
similarity index 100%
rename from res/layout-large-land/all_apps_cling.xml
rename to res/layout-sw600dp-land/all_apps_cling.xml
diff --git a/res/layout-large-land/application.xml b/res/layout-sw600dp-land/application.xml
similarity index 100%
rename from res/layout-large-land/application.xml
rename to res/layout-sw600dp-land/application.xml
diff --git a/res/layout-large-land/workspace_cling.xml b/res/layout-sw600dp-land/workspace_cling.xml
similarity index 100%
rename from res/layout-large-land/workspace_cling.xml
rename to res/layout-sw600dp-land/workspace_cling.xml
diff --git a/res/layout-large-port/all_apps_cling.xml b/res/layout-sw600dp-port/all_apps_cling.xml
similarity index 100%
rename from res/layout-large-port/all_apps_cling.xml
rename to res/layout-sw600dp-port/all_apps_cling.xml
diff --git a/res/layout-large-port/application.xml b/res/layout-sw600dp-port/application.xml
similarity index 100%
rename from res/layout-large-port/application.xml
rename to res/layout-sw600dp-port/application.xml
diff --git a/res/layout-large-port/workspace_cling.xml b/res/layout-sw600dp-port/workspace_cling.xml
similarity index 100%
rename from res/layout-large-port/workspace_cling.xml
rename to res/layout-sw600dp-port/workspace_cling.xml
diff --git a/res/layout-large/external_widget_drop_list_item.xml b/res/layout-sw600dp/external_widget_drop_list_item.xml
similarity index 100%
rename from res/layout-large/external_widget_drop_list_item.xml
rename to res/layout-sw600dp/external_widget_drop_list_item.xml
diff --git a/res/layout-large/launcher.xml b/res/layout-sw600dp/launcher.xml
similarity index 100%
rename from res/layout-large/launcher.xml
rename to res/layout-sw600dp/launcher.xml
diff --git a/res/layout-large/market_button.xml b/res/layout-sw600dp/market_button.xml
similarity index 100%
rename from res/layout-large/market_button.xml
rename to res/layout-sw600dp/market_button.xml
diff --git a/res/layout-large/search_bar.xml b/res/layout-sw600dp/search_bar.xml
similarity index 100%
rename from res/layout-large/search_bar.xml
rename to res/layout-sw600dp/search_bar.xml
diff --git a/res/layout-large/wallpaper_item.xml b/res/layout-sw600dp/wallpaper_item.xml
similarity index 100%
rename from res/layout-large/wallpaper_item.xml
rename to res/layout-sw600dp/wallpaper_item.xml
diff --git a/res/layout-large/workspace.xml b/res/layout-sw600dp/workspace.xml
similarity index 100%
rename from res/layout-large/workspace.xml
rename to res/layout-sw600dp/workspace.xml
diff --git a/res/layout-large/workspace_screen.xml b/res/layout-sw600dp/workspace_screen.xml
similarity index 100%
rename from res/layout-large/workspace_screen.xml
rename to res/layout-sw600dp/workspace_screen.xml
diff --git a/res/layout-xlarge/apps_customize_widget.xml b/res/layout-sw720dp/apps_customize_widget.xml
similarity index 100%
rename from res/layout-xlarge/apps_customize_widget.xml
rename to res/layout-sw720dp/apps_customize_widget.xml
diff --git a/res/values-w560dp/dimens.xml b/res/values-sw340dp-land/dimens.xml
similarity index 100%
rename from res/values-w560dp/dimens.xml
rename to res/values-sw340dp-land/dimens.xml
diff --git a/res/values-w560dp/styles.xml b/res/values-sw340dp-land/styles.xml
similarity index 100%
rename from res/values-w560dp/styles.xml
rename to res/values-sw340dp-land/styles.xml
diff --git a/res/values-h560dp/config.xml b/res/values-sw340dp-port/config.xml
similarity index 100%
rename from res/values-h560dp/config.xml
rename to res/values-sw340dp-port/config.xml
diff --git a/res/values-h560dp/dimens.xml b/res/values-sw340dp-port/dimens.xml
similarity index 100%
rename from res/values-h560dp/dimens.xml
rename to res/values-sw340dp-port/dimens.xml
diff --git a/res/values-h560dp/styles.xml b/res/values-sw340dp-port/styles.xml
similarity index 100%
rename from res/values-h560dp/styles.xml
rename to res/values-sw340dp-port/styles.xml
diff --git a/res/values-large-land/dimens.xml b/res/values-sw600dp-land/dimens.xml
similarity index 100%
rename from res/values-large-land/dimens.xml
rename to res/values-sw600dp-land/dimens.xml
diff --git a/res/values-large-port/dimens.xml b/res/values-sw600dp-port/dimens.xml
similarity index 100%
rename from res/values-large-port/dimens.xml
rename to res/values-sw600dp-port/dimens.xml
diff --git a/res/values-large/config.xml b/res/values-sw600dp/config.xml
similarity index 100%
rename from res/values-large/config.xml
rename to res/values-sw600dp/config.xml
diff --git a/res/values-large/dimens.xml b/res/values-sw600dp/dimens.xml
similarity index 100%
rename from res/values-large/dimens.xml
rename to res/values-sw600dp/dimens.xml
diff --git a/res/values-large/strings.xml b/res/values-sw600dp/strings.xml
similarity index 100%
rename from res/values-large/strings.xml
rename to res/values-sw600dp/strings.xml
diff --git a/res/values-large/styles.xml b/res/values-sw600dp/styles.xml
similarity index 100%
rename from res/values-large/styles.xml
rename to res/values-sw600dp/styles.xml
diff --git a/res/values-large/wallpapers.xml b/res/values-sw600dp/wallpapers.xml
similarity index 100%
rename from res/values-large/wallpapers.xml
rename to res/values-sw600dp/wallpapers.xml
diff --git a/res/values-xlarge-land/dimens.xml b/res/values-sw720dp-land/dimens.xml
similarity index 100%
rename from res/values-xlarge-land/dimens.xml
rename to res/values-sw720dp-land/dimens.xml
diff --git a/res/values-xlarge-port/dimens.xml b/res/values-sw720dp-port/dimens.xml
similarity index 100%
rename from res/values-xlarge-port/dimens.xml
rename to res/values-sw720dp-port/dimens.xml
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 5016894..722fb0d 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -39,8 +39,13 @@
 <!-- QSB -->
     <dimen name="toolbar_button_vertical_padding">0dip</dimen>
     <dimen name="toolbar_button_horizontal_padding">12dip</dimen>
+    <!-- External toolbar icon size (for bounds) -->
+    <dimen name="toolbar_external_icon_width">36dp</dimen>
+    <dimen name="toolbar_external_icon_height">36dp</dimen>
 
 <!-- AllApps/Customize/AppsCustomize -->
+    <!-- The height of the tab bar - if this changes, we should update the
+         external icon width/height above to compensate -->
     <dimen name="apps_customize_tab_bar_height">56dp</dimen>
     <dimen name="app_icon_size">48dp</dimen>
     <!-- The width can be 72dp because we don't have L/R padding -->
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index c9c690a..15b272f 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -2457,13 +2457,19 @@
             int buttonId, ComponentName activityName, int fallbackDrawableId) {
         TextView button = (TextView) findViewById(buttonId);
         Drawable toolbarIcon = getExternalPackageToolbarIcon(activityName);
+        Resources r = getResources();
+        int w = r.getDimensionPixelSize(R.dimen.toolbar_external_icon_width);
+        int h = r.getDimensionPixelSize(R.dimen.toolbar_external_icon_height);
 
         // If we were unable to find the icon via the meta-data, use a generic one
         if (toolbarIcon == null) {
-            button.setCompoundDrawablesWithIntrinsicBounds(fallbackDrawableId, 0, 0, 0);
+            toolbarIcon = r.getDrawable(fallbackDrawableId);
+            toolbarIcon.setBounds(0, 0, w, h);
+            button.setCompoundDrawables(toolbarIcon, null, null, null);
             return null;
         } else {
-            button.setCompoundDrawablesWithIntrinsicBounds(toolbarIcon, null, null, null);
+            toolbarIcon.setBounds(0, 0, w, h);
+            button.setCompoundDrawables(toolbarIcon, null, null, null);
             return toolbarIcon.getConstantState();
         }
     }
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index ea51d01..239970e 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -465,7 +465,7 @@
         item.onAddToDatabase(values);
         item.updateValuesWithCoordinates(values, item.cellX, item.cellY);
 
-        sWorker.post(new Runnable() {
+        Runnable r = new Runnable() {
             public void run() {
                 cr.update(LauncherSettings.Favorites.getContentUri(item.id, false),
                         values, null, null);
@@ -481,7 +481,12 @@
                     throw new RuntimeException(msg);
                 }
             }
-        });
+        };
+        if (sWorkerThread.getThreadId() == Process.myTid()) {
+            r.run();
+        } else {
+            sWorker.post(r);
+        }
     }
 
     /**