diff --git a/res/drawable-hdpi/workspace_bg.9.png b/res/drawable-hdpi/workspace_bg.9.png
index eeed8e7..5bbfa4f 100644
--- a/res/drawable-hdpi/workspace_bg.9.png
+++ b/res/drawable-hdpi/workspace_bg.9.png
Binary files differ
diff --git a/res/drawable-land-hdpi/workspace_bg.9.png b/res/drawable-land-hdpi/workspace_bg.9.png
index 069bb1f..1a58144 100644
--- a/res/drawable-land-hdpi/workspace_bg.9.png
+++ b/res/drawable-land-hdpi/workspace_bg.9.png
Binary files differ
diff --git a/res/drawable-land-mdpi/workspace_bg.9.png b/res/drawable-land-mdpi/workspace_bg.9.png
index 611bd5b..a12519e 100644
--- a/res/drawable-land-mdpi/workspace_bg.9.png
+++ b/res/drawable-land-mdpi/workspace_bg.9.png
Binary files differ
diff --git a/res/drawable-land-xhdpi/workspace_bg.9.png b/res/drawable-land-xhdpi/workspace_bg.9.png
index a1f60c6..ce41454 100644
--- a/res/drawable-land-xhdpi/workspace_bg.9.png
+++ b/res/drawable-land-xhdpi/workspace_bg.9.png
Binary files differ
diff --git a/res/drawable-mdpi/workspace_bg.9.png b/res/drawable-mdpi/workspace_bg.9.png
index a30d992..2856e09 100644
--- a/res/drawable-mdpi/workspace_bg.9.png
+++ b/res/drawable-mdpi/workspace_bg.9.png
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/ic_allapps.png b/res/drawable-sw600dp-hdpi/ic_allapps.png
index 4353a45..8bda435 100644
--- a/res/drawable-sw600dp-hdpi/ic_allapps.png
+++ b/res/drawable-sw600dp-hdpi/ic_allapps.png
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/ic_allapps_pressed.png b/res/drawable-sw600dp-hdpi/ic_allapps_pressed.png
index bb18919..07ff331 100644
--- a/res/drawable-sw600dp-hdpi/ic_allapps_pressed.png
+++ b/res/drawable-sw600dp-hdpi/ic_allapps_pressed.png
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/ic_allapps.png b/res/drawable-sw600dp-mdpi/ic_allapps.png
index f85c895..e2afea5 100644
--- a/res/drawable-sw600dp-mdpi/ic_allapps.png
+++ b/res/drawable-sw600dp-mdpi/ic_allapps.png
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/ic_allapps_pressed.png b/res/drawable-sw600dp-mdpi/ic_allapps_pressed.png
index 8fb7144..d409c7e 100644
--- a/res/drawable-sw600dp-mdpi/ic_allapps_pressed.png
+++ b/res/drawable-sw600dp-mdpi/ic_allapps_pressed.png
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/ic_allapps.png b/res/drawable-sw600dp-xhdpi/ic_allapps.png
index 5da19c8..8fed290 100644
--- a/res/drawable-sw600dp-xhdpi/ic_allapps.png
+++ b/res/drawable-sw600dp-xhdpi/ic_allapps.png
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/ic_allapps_pressed.png b/res/drawable-sw600dp-xhdpi/ic_allapps_pressed.png
index 59ac2bc..786b676 100644
--- a/res/drawable-sw600dp-xhdpi/ic_allapps_pressed.png
+++ b/res/drawable-sw600dp-xhdpi/ic_allapps_pressed.png
Binary files differ
diff --git a/res/drawable-xhdpi/workspace_bg.9.png b/res/drawable-xhdpi/workspace_bg.9.png
index ceac4f2..72269f2 100644
--- a/res/drawable-xhdpi/workspace_bg.9.png
+++ b/res/drawable-xhdpi/workspace_bg.9.png
Binary files differ
diff --git a/res/layout-land/search_bar.xml b/res/layout-land/search_bar.xml
index 3352fbb..88b7bbf 100644
--- a/res/layout-land/search_bar.xml
+++ b/res/layout-land/search_bar.xml
@@ -13,9 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<LinearLayout
+<RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/SearchDropTargetBar"
     android:layout_width="@dimen/qsb_bar_height"
     android:layout_height="match_parent">
    <!-- Global search icon -->
@@ -24,6 +23,7 @@
         android:id="@+id/search_button"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:layout_alignParentTop="true"
         android:src="@drawable/ic_home_search_normal_holo"
         android:adjustViewBounds="true"
         android:onClick="onClickSearchButton"
@@ -31,24 +31,17 @@
         android:clickable="true"
         android:contentDescription="@string/accessibility_search_button" />
 
-    <ImageView
-        style="@style/SearchButtonDivider"
-        android:id="@+id/search_divider"
-        android:src="@drawable/divider_launcher_holo"
-        android:onClick="onClickSearchButton"
-        android:focusable="false"
-        android:clickable="true" />
-
     <!-- Voice search icon -->
     <com.android.launcher2.HolographicImageView
         style="@style/SearchButton"
         android:id="@+id/voice_button"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:layout_alignParentBottom="true"
         android:src="@drawable/ic_home_voice_search_holo"
         android:adjustViewBounds="true"
         android:onClick="onClickVoiceButton"
         android:focusable="true"
         android:clickable="true"
         android:contentDescription="@string/accessibility_voice_search_button" />
-</LinearLayout>
+</RelativeLayout>
diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml
index 34301a3..f60a204 100644
--- a/res/layout-port/launcher.xml
+++ b/res/layout-port/launcher.xml
@@ -80,6 +80,7 @@
         android:layout_gravity="right"
         android:clickable="true"
         android:onClick="onClickVoiceButton"
+        android:importantForAccessibility="no"
         launcher:sourceViewId="@+id/voice_button" />
 
     <include layout="@layout/apps_customize_pane"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 3c13331..726505d 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Hierdie is \'n stelselprogram en kan nie gedeïnstalleer word nie."</string>
     <string name="dream_name" msgid="2847171357608437154">"Vuurpyllanseerder"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Naamlose vouer"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Tuisskerm %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Bladsy %1$d van %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Werkspasie %1$d van %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Tuisskerm %1$d van %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Programme-bladsy %1$d van %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Legstukke-bladsy %1$d van %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Maak jouself tuis"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 46654ed..25cb8ca 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"ይህ የስርዓት ትግበራ ነው እና አለማራገፍ አይቻልም።"</string>
     <string name="dream_name" msgid="2847171357608437154">"የሮኬት ማስነሻ"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"ስም አልባ አቃፊ"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"መነሻ ማያ ገጽ %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"ገጽ %1$d የ %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"የስራ ቦታ %1$d የ %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"መነሻ ማያ ገጽ %1$d ከ%2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Appsገጽ %1$d የ %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"ምግብሮች ገጽ %1$d የ %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"እቤትህ እንዳለህ ሆነሀ ዘና በል"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index a00b535..bbe52b0 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"هذا تطبيق نظام وتتعذر إزالته."</string>
     <string name="dream_name" msgid="2847171357608437154">"راجمة"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"مجلد بدون اسم"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"الشاشة الرئيسية %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"الصفحة %1$d من %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"مساحة العمل %1$d من %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"الشاشة الرئيسية %1$d من %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"صفحة التطبيقات %1$d من %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"صفحة الأدوات %1$d من %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"لك مطلق الحرية لتفعل ما تشاء"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 77aeb42..98939d6 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Гэта сістэмнае прыкладанне, і яго нельга выдаліць."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Папка без назвы"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Галоўны экран %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Старонка %1$d з %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Працоўная вобласць %1$d з %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Галоўны экран %1$d of %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Старонка з прыкладаннямi: %1$d з %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Старонка з вiджэтамi %1$d з %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Будзьце як дома"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 93c8a06..b444199 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Това е системно приложение и не може да се деинсталира."</string>
     <string name="dream_name" msgid="2847171357608437154">"Ракетна площадка"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Папка без име"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Начален екран %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Страница %1$d от %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Работно пространство %1$d от %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Начален екран %1$d от %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Страница с приложения %1$d от %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Страница с приспособления %1$d от %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Настанете се като у дома си"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index aae1085..a68109c 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Això és una aplicació del sistema i no es pot desinstal·lar."</string>
     <string name="dream_name" msgid="2847171357608437154">"Llançamíssils"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Carpeta sense nom"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Pantalla d\'inici %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Pàgina %1$d de %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Àrea de treball %1$d de %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Pantalla d\'inici %1$d de %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Pàgina d\'aplicacions %1$d de %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Pàgina de widgets %1$d de %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Posa\'t còmode"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 3461b54..3ad9f9b 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -20,7 +20,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
-    <string name="home" msgid="5921706419368316758">"Domovská stránka"</string>
+    <string name="home" msgid="5921706419368316758">"Plocha"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Vybrat tapetu z"</string>
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Toto je systémová aplikace a nelze ji odinstalovat."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketomet"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Složka bez názvu"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Plocha %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Strana %1$d z %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Pracovní prostor %1$d z %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Plocha %1$d z %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Stránka aplikací %1$d z %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Stránka widgetů %1$d z %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Chovejte se jako doma"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 457124f..f205b5d 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -20,7 +20,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
-    <string name="home" msgid="5921706419368316758">"Home"</string>
+    <string name="home" msgid="5921706419368316758">"Startside"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android-kerneprogrammer"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Vælg baggrund fra"</string>
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Dette er en systemapp, som ikke kan afinstalleres."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Unavngiven mappe"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Startskærm %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Side %1$d ud af %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Arbejdsplads %1$d ud af %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Startskærm %1$d ud af %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Apps-side %1$d ud af %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Widgets-side %1$d ud af %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Føl dig hjemme"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 196e6e6..05df014 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Dies ist eine Systemanwendung, die nicht deinstalliert werden kann."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketenstartgerät"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Unbenannter Ordner"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Startbildschirm %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Seite %1$d von %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Arbeitsbereich %1$d von %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Startbildschirm %1$d von %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"App-Seite %1$d von %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Widget-Seite %1$d von %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Fühlen Sie sich wie zu Hause"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index c87772e..4ec10e3 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Αυτή είναι μια εφαρμογή συστήματος και δεν είναι δυνατή η κατάργηση της εγκατάστασής της."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Φάκελος χωρίς όνομα"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Αρχική οθόνη %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Σελίδα %1$d από %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Χώρος εργασίας %1$d από %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Αρχική οθόνη %1$d από %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Σελίδα εφαρμογών %1$d από %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Σελίδα γραφικών στοιχείων %1$d από %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Νιώστε σαν να είστε στο σπίτι σας"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 63d10bd..a1b4b25 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"This is a system application and cannot be uninstalled."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Unnamed Folder"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Home screen %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Page %1$d of %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Workspace %1$d of %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Home screen %1$d of %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Apps page %1$d of %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Widgets page %1$d of %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Make yourself at home"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 7129662..9395425 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Esta es una aplicación del sistema y no se puede desinstalar."</string>
     <string name="dream_name" msgid="2847171357608437154">"Lanzacohetes"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Carpeta sin nombre"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Pantalla principal %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Página %1$d de %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Espacio de trabajo %1$d de %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Pantalla principal %1$d de %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Página de aplicaciones %1$d de %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Página de widgets %1$d de %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Ponte cómodo."</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index ddaab8d..fde69a2 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Esta aplicación es del sistema y no se puede desinstalar."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Carpeta sin nombre"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Pantalla principal %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Página %1$d de %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Espacio de trabajo %1$d de %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Pantalla principal %1$d de %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Página de aplicaciones %1$d de %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Página de widgets %1$d de %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Personaliza tu escritorio"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 9cfa7a7..e1d5c37 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"See on süsteemirakendus ja seda ei saa desinstallida."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Nimeta kaust"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Avakuva %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Leht %1$d/%2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Tööruum %1$d/%2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Avakuva %1$d/%2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Rakenduste leht %1$d/%2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Vidinate leht %1$d/%2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Tunne end nagu kodus"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 2015c54..32ba622 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"این یک برنامه سیستمی است و حذف نصب نمی‌شود."</string>
     <string name="dream_name" msgid="2847171357608437154">"پرتاب کننده موشک"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"پوشه بی‌نام"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"صفحه اصلی %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"صفحه %1$d از %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"فضای کار %1$d از %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"صفحه اصلی %1$d از %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"صفحه برنامه‌ها %1$d از %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"صفحه ابزارک‌ها %1$d از %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"احساس کنید در خانه هستید"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 6a6bae7..d8cd3ea 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Tämä on järjestelmäsovellus, eikä sitä voi poistaa."</string>
     <string name="dream_name" msgid="2847171357608437154">"Sinko"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Nimetön kansio"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Aloitusruutu %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Sivu %1$d / %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Työtila %1$d / %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Aloitusruutu %1$d/%2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Apps-sivu %1$d / %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Widgetin sivu %1$d / %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Ole kuin kotonasi"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index ad53591..79d10c2 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Impossible de désinstaller cette application, car il s\'agit d\'une application système."</string>
     <string name="dream_name" msgid="2847171357608437154">"Lance-missile"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Dossier sans nom"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Écran d\'accueil %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Page %1$d sur %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Espace de travail : %1$d sur %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Écran d\'accueil %1$d sur %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Page des applications : %1$d sur %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Page des widgets : %1$d sur %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Faites comme chez vous"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 71ca811..162d3a9 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"यह सिस्‍टम एप्लिकेशन है और इसे अनइंस्‍टॉल नहीं किया जा सकता."</string>
     <string name="dream_name" msgid="2847171357608437154">"रॉकेट लॉन्‍चर"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"अनामित फ़ोल्डर"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"होम स्‍क्रीन %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"%2$d में से %1$d पृष्ठ"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"%2$d में से %1$d कार्यस्थल"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"%2$d में %1$d होम स्‍क्रीन"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"%2$d में से %1$d एप्लिकेशन पृष्ठ"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"%2$d में %1$d विजेट पृष्ठ"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"जैसा चाहें वैसा उपयोग करें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 4c8ef1c..56bab83 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Ovo je aplikacija sustava i ne može se ukloniti."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Neimenovana mapa"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Početni zaslon %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Stranica %1$d od %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Radni prostor %1$d od %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Početni zaslon %1$d od %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Stranica aplikacija %1$d od %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Stranica widgeta %1$d od %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Osjećajte se kao kod kuće"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 63d9539..4c59941 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Ez egy rendszeralkalmazás, és nem lehet eltávolítani."</string>
     <string name="dream_name" msgid="2847171357608437154">"Aknavető"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Névtelen mappa"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"%1$d. kezdőképernyő"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"%2$d/%1$d. oldal"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"%2$d/%1$d. munkaterület"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"%2$d/%1$d. kezdőképernyő"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"%2$d/%1$d. alkalmazásoldal"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"%2$d/%1$d. moduloldal"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Érezze magát otthon"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index ff351d4..77bca53 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Ini adalah apl sistem dan tidak dapat dicopot pemasangannya."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Folder Tanpa Nama"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Layar utama %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Laman %1$d dari %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Ruang kerja %1$d dari %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Layar utama %1$d dari %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Laman apl %1$d dari %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Laman widget %1$d dari %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Anggap rumah sendiri"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 77df0c6..2635367 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Questa è un\'applicazione di sistema e non può essere disinstallata."</string>
     <string name="dream_name" msgid="2847171357608437154">"Lanciamissili"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Cartella senza nome"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Schermata Home %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Pagina %1$d di %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Area di lavoro %1$d di %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Schermata Home %1$d di %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Pagina di applicazioni %1$d di %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Pagina di widget %1$d di %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Personalizza la schermata home"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 15bc3f6..4962a23 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"זהו יישום מערכת ולא ניתן להסיר את התקנתו."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"תיקיה ללא שם"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"מסך דף הבית %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"דף %1$d מתוך %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Workspace ‏%1$d מתוך %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"מסך דף הבית %1$d מתוך %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"יישומים דף %1$d מתוך %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"דף Widgets ‏%1$d מתוך %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"תרגישו בבית"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 0fc144d..ef7ee83 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"このシステムアプリはアンインストールできません。"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"名前のないフォルダ"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"ホーム画面: %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"%1$d/%2$dページ"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"作業スペース%1$d/%2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"ホーム画面: %1$d/%2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"アプリの%1$d/%2$dページ"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"ウィジェットの%1$d/%2$dページ"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"ここがあなたのホームです"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 9c6360a..61397f7 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"시스템 앱은 제거할 수 없습니다."</string>
     <string name="dream_name" msgid="2847171357608437154">"로켓 실행기"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"이름이 없는 폴더"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"홈 화면 %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"페이지 %2$d 중 %1$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"작업공간 %2$d 중 %1$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"홈 화면 %2$d 중 %1$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"앱 페이지 %2$d 중 %1$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"위젯 페이지 %2$d 중 %1$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"나만의 홈 화면 만들기"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 33a0a03..c1d70d9 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Tai sistemos programa ir jos negalima pašalinti."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketinis prieštankinis šautuvas"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Aplankas be pavadinimo"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"%1$d pagrindinis ekranas"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"%1$d psl. iš %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Darbo sritis: %1$d iš %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"%1$d iš %2$d pagrindinis ekranas"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Programų puslapis: %1$d iš %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Valdiklių puslapis: %1$d iš %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Jauskitės kaip namie"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 9e2031a..d100dc5 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Šī ir sistēmas lietotne, un to nevar atinstalēt."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Mape bez nosaukuma"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Sākuma ekrāns: %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"%1$d. lapa no %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"%1$d. darbvietas lapa no %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Sākuma ekrāns: %1$d no %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"%1$d. lietotņu lapa no %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"%1$d. logrīku lapa no %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Jūtieties kā mājās"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 162138b..1c9a0dc 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Ini adalah aplikasi sistem dan tidak boleh dinyahpasang."</string>
     <string name="dream_name" msgid="2847171357608437154">"Pelancar Roket"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Folder Tanpa Nama"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Skrin utama %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Halaman %1$d dari %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Ruang kerja %1$d dari %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Skrin utama %1$d dari %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Halaman apl %1$d dari %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Halaman widget %1$d dari %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Buat diri anda seperti di rumah"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 64cadd4..d1f2ce6 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Dette er en systemapp som ikke kan avinstalleres."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Mappe uten navn"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Startside %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Side %1$d av %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Arbeidsområde %1$d av %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Startside %1$d av %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Appside %1$d av %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Modulside %1$d av %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Føl deg hjemme"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 8bd7a25..7922d3e 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Dit is een systeemapp die niet kan worden verwijderd."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Naamloze map"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Startscherm %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Pagina %1$d van %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Werkruimte %1$d van %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Startscherm %1$d van %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"App-pagina %1$d van %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Widgetpagina %1$d van %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Doe maar alsof u thuis bent"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 5b2897d..41af338 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"To jest aplikacja systemowa, której nie możesz odinstalować."</string>
     <string name="dream_name" msgid="2847171357608437154">"Wyrzutnia rakiet"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Folder bez nazwy"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Ekran główny %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Strona %1$d z %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Obszar roboczy: %1$d z %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Ekran główny %1$d z %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Strona aplikacji: %1$d z %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Strona widżetów: %1$d z %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Rozgość się"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 792ff13..de5309f 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"É uma aplicação de sistema e não pode ser desinstalada."</string>
     <string name="dream_name" msgid="2847171357608437154">"Lança-mísseis"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Pasta sem nome"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Ecrã principal %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Página %1$d de %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Espaço de trabalho %1$d de %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Ecrã principal %1$d de %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Página de aplicações %1$d de %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Página de widgets %1$d de %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Sinta-se em casa"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 9616715..4ff36e0 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Este é um aplicativo do sistema e não pode ser desinstalado."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Pasta sem nome"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Tela inicial %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Página %1$d de %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Espaço de trabalho %1$d de %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Tela inicial %1$d de %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Página de aplicativos, %1$d de %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Página de widgets, %1$d de %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Sinta-se em casa"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index 5056d07..36ff983 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -128,9 +128,11 @@
     <skip />
     <!-- no translation found for folder_hint_text (8633351560105748141) -->
     <skip />
+    <!-- no translation found for workspace_description_format (2968608205939373034) -->
+    <skip />
     <!-- no translation found for default_scroll_format (4057140866420001240) -->
     <skip />
-    <!-- no translation found for workspace_scroll_format (7911126267695001437) -->
+    <!-- no translation found for workspace_scroll_format (1704767047951143301) -->
     <skip />
     <!-- no translation found for apps_customize_apps_scroll_format (5494241912377704885) -->
     <skip />
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index b98198e..f02c16a 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Aceasta este o aplicaţie de sistem şi nu poate fi dezinstalată."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Dosar fără nume"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Ecran de pornire %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Pagina %1$d din %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Spaţiul de lucru %1$d din %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Ecranul de pornire %1$d din %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Pagina de aplicaţii %1$d din %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Pagina de widgeturi %1$d din %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Simţiţi-vă ca acasă"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index f62ff66..4f28f4e 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Это системное приложение, его нельзя удалить."</string>
     <string name="dream_name" msgid="2847171357608437154">"Фейерверк"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Без названия"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Главный экран %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Стр. %1$d из %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Рабочая область %1$d из %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Главные экран %1$d из %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Приложения: стр. %1$d из %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Виджеты: стр. %1$d из %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Будьте как дома"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 52f1128..06c18f2 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Toto je systémová aplikácia a nedá sa odinštalovať."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketomet"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Nepomenovaný priečinok"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Plocha %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Stránka %1$d z %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Plocha %1$d z %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Plocha %1$d z %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Stránka aplikácií %1$d z %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Stránka miniaplikácií %1$d z %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Cíťte sa ako doma"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index da7069c..50ea28f 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"To je sistemski program in ga ni mogoče odstraniti."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketno izstrelišče"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Neimenovana mapa"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Začetni zaslon %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Stran %1$d od %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Delovni prostor %1$d od %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Začetni zaslon %1$d od %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Stran programov %1$d od %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Stran pripomočkov %1$d od %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Počutite se kot doma"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 783ca57..541e34c 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Ово је системска апликација и не може да се деинсталира."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Неименовани директоријум"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Почетни екран %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Страница %1$d. од %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Радни простор %1$d од %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Почетни екран %1$d од %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Страница апликације %1$d. од %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Страница видџета %1$d. од %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Осећајте се као код куће"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index b6d7c09..822e3b3 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Det här är en systemapp som inte kan  avinstalleras."</string>
     <string name="dream_name" msgid="2847171357608437154">"Raketavfyringsramp"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Namnlös mapp"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Startskärmen %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Sidan %1$d av %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Arbetsyta %1$d av %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Startskärmen %1$d av %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Appsida %1$d av %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Widget-sida %1$d av %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Känn dig som hemma"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 784c8a7..95a3a10 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -87,8 +87,11 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Hii ni programu ya mfumo na haiwezi kusaniduliwa."</string>
     <string name="dream_name" msgid="2847171357608437154">"Kizinduzi cha Roketi"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Folda isiyo na jina"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Skrini ya nyumbani %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Ukurasa%1$d wa %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Nafasi ya kazi %1$d ya %2$d"</string>
+    <!-- String.format failed for translation -->
+    <!-- no translation found for workspace_scroll_format (1704767047951143301) -->
+    <skip />
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Ukurasa wa programu %1$d ya %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Ukurasa wa wijeti %1$d ya %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Jisikie huru"</string>
diff --git a/res/values-sw600dp-land/dimens.xml b/res/values-sw600dp-land/dimens.xml
index 3e18417..9c54cf3 100644
--- a/res/values-sw600dp-land/dimens.xml
+++ b/res/values-sw600dp-land/dimens.xml
@@ -17,22 +17,18 @@
 <resources>
     <dimen name="app_icon_padding_top">0dp</dimen>
     <dimen name="app_icon_drawable_padding_land">0dp</dimen>
-    <integer name="app_icon_scale_percent">90</integer>
-
-<!-- Hotseat -->
-    <dimen name="hotseat_cell_width">75dp</dimen>
-    <dimen name="hotseat_cell_height">75dp</dimen>
     <dimen name="workspace_icon_text_size">11sp</dimen>
 
-<!-- Folders -->
-    <!-- The size of the image which sits behind the preview of the folder contents -->
-    <dimen name="folder_preview_size">70dp</dimen>
-    <dimen name="folder_cell_width">86dp</dimen>
-    <dimen name="folder_cell_height">86dp</dimen>
+<!-- Hotseat -->
+    <dimen name="button_bar_width_left_padding">14dp</dimen>
+    <dimen name="button_bar_width_right_padding">14dp</dimen>
 
 <!-- AppsCustomize -->
     <dimen name="apps_customize_pageLayoutWidthGap">36dp</dimen>
     <dimen name="apps_customize_pageLayoutHeightGap">8dp</dimen>
     <dimen name="apps_customize_pageLayoutPaddingTop">20dp</dimen>
     <dimen name="apps_customize_pageLayoutPaddingBottom">14dp</dimen>
+
+<!-- QSB -->
+    <dimen name="qsb_bar_height">82dp</dimen>
 </resources>
diff --git a/res/values-sw600dp-port/dimens.xml b/res/values-sw600dp-port/dimens.xml
index c813725..1a25409 100644
--- a/res/values-sw600dp-port/dimens.xml
+++ b/res/values-sw600dp-port/dimens.xml
@@ -15,9 +15,6 @@
 -->
 
 <resources>
-<!-- Workspace -->
-    <integer name="app_icon_scale_percent">-1</integer>
-
 <!-- AppsCustomize -->
     <dimen name="apps_customize_cell_width">96dp</dimen>
     <dimen name="apps_customize_cell_height">96dp</dimen>
@@ -26,8 +23,6 @@
     <dimen name="apps_customize_pageLayoutPaddingTop">25dp</dimen>
     <dimen name="apps_customize_pageLayoutPaddingBottom">10dp</dimen>
 
-<!-- Hotseat -->
-    <dimen name="hotseat_cell_width">75dp</dimen>
-    <dimen name="hotseat_cell_height">75dp</dimen>
-
+<!-- QSB -->
+    <dimen name="qsb_bar_height">54dp</dimen>
 </resources>
diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml
index 1b86670..efb7753 100644
--- a/res/values-sw600dp/dimens.xml
+++ b/res/values-sw600dp/dimens.xml
@@ -15,45 +15,54 @@
 -->
 
 <resources>
-    <dimen name="app_icon_size">72dp</dimen>
-    <integer name="app_icon_hotseat_scale_percent">75</integer>
+    <dimen name="app_icon_size">64dp</dimen>
     <dimen name="app_icon_drawable_padding">3dp</dimen>
     <dimen name="app_icon_padding_top">4dp</dimen>
 
+<!-- qsb_bar_height_inset represents qsb_bar_height minus the padding
+         that we put on each page for allowing folders to draw out of bounds -->
+    <dimen name="qsb_bar_height_inset">34dp</dimen>
+    <dimen name="qsb_bar_height">48dp</dimen>
+    <dimen name="qsb_padding_left">12dp</dimen>
+    <dimen name="qsb_padding_right">12dp</dimen>
+    <dimen name="search_bar_height">48dp</dimen>
+
 <!-- Hotseat -->
+    <dimen name="hotseat_cell_width">70dp</dimen>
+    <dimen name="hotseat_cell_height">70dp</dimen>
     <dimen name="hotseat_width_gap">-1dp</dimen>
     <dimen name="hotseat_height_gap">-1dp</dimen>
-    <dimen name="button_bar_height">82dip</dimen>
-    <dimen name="button_bar_height_bottom_padding">0dp</dimen>
-    <dimen name="button_bar_height_top_padding">0dp</dimen>
+    <dimen name="button_bar_height">94dip</dimen>
+    <dimen name="button_bar_height_bottom_padding">14dp</dimen>
+    <dimen name="button_bar_height_top_padding">20dp</dimen>
     <dimen name="button_bar_width_left_padding">33dp</dimen>
     <dimen name="button_bar_width_right_padding">33dp</dimen>
-    <dimen name="button_bar_height_plus_padding">82dp</dimen>
+    <dimen name="button_bar_height_plus_padding">104dp</dimen>
 
 <!-- Folders -->
     <!-- The size of the image which sits behind the preview of the folder contents -->
-    <dimen name="folder_preview_size">72dp</dimen>
-    <dimen name="folder_cell_width">96dp</dimen>
-    <dimen name="folder_cell_height">96dp</dimen>
+    <dimen name="folder_preview_size">68dp</dimen>
+    <dimen name="folder_cell_width">86dp</dimen>
+    <dimen name="folder_cell_height">90dp</dimen>
 
 <!-- AppsCustomize -->
     <dimen name="apps_customize_cell_width">96dp</dimen>
     <dimen name="apps_customize_cell_height">98dp</dimen>
-    <dimen name="apps_customize_pageLayoutPaddingLeft">10dp</dimen>
-    <dimen name="apps_customize_pageLayoutPaddingRight">10dp</dimen>
+    <dimen name="apps_customize_pageLayoutPaddingLeft">12dp</dimen>
+    <dimen name="apps_customize_pageLayoutPaddingRight">12dp</dimen>
     <dimen name="apps_customize_tab_bar_height">60dp</dimen>
     <dimen name="apps_customize_tab_bar_margin_top">8dp</dimen>
-    <dimen name="apps_customize_widget_cell_width_gap">36dp</dimen>
-    <dimen name="apps_customize_widget_cell_height_gap">36dp</dimen>
+    <dimen name="apps_customize_widget_cell_width_gap">0dp</dimen>
+    <dimen name="apps_customize_widget_cell_height_gap">24dp</dimen>
 
 <!-- Workspace cell size -->
-    <dimen name="workspace_cell_width_land">96dp</dimen>
-    <dimen name="workspace_cell_width_port">96dp</dimen>
-    <dimen name="workspace_cell_height_land">86dp</dimen>
-    <dimen name="workspace_cell_height_port">96dp</dimen>
+    <dimen name="workspace_cell_width_land">88dp</dimen>
+    <dimen name="workspace_cell_width_port">88dp</dimen>
+    <dimen name="workspace_cell_height_land">88dp</dimen>
+    <dimen name="workspace_cell_height_port">88dp</dimen>
     <dimen name="workspace_width_gap_land">32dp</dimen>
-    <dimen name="workspace_width_gap_port">0dp</dimen>
+    <dimen name="workspace_width_gap_port">6dp</dimen>
     <dimen name="workspace_height_gap_land">0dp</dimen>
-    <dimen name="workspace_height_gap_port">28dp</dimen>
+    <dimen name="workspace_height_gap_port">24dp</dimen>
 
 </resources>
diff --git a/res/values-sw720dp/dimens.xml b/res/values-sw720dp/dimens.xml
index 04937cd..48c729d 100644
--- a/res/values-sw720dp/dimens.xml
+++ b/res/values-sw720dp/dimens.xml
@@ -15,12 +15,17 @@
 -->
 
 <resources>
+    <dimen name="app_icon_size">72dp</dimen>
 <!-- QSB -->
     <dimen name="toolbar_button_vertical_padding">12dip</dimen>
     <dimen name="toolbar_button_horizontal_padding">12dip</dimen>
 
 <!-- Workspace -->
     <dimen name="qsb_bar_height">56dp</dimen>
+    <dimen name="qsb_bar_height_inset">37dp</dimen>
+    <dimen name="qsb_padding_left">0dp</dimen>
+    <dimen name="qsb_padding_right">0dp</dimen>
+    <dimen name="search_bar_height">40dp</dimen>
     <!-- This should be @dimen/qsb_bar_height - @dimen/workspace_top_padding
          to fix the extra space given to draw portals -->
     <dimen name="workspace_content_large_only_top_margin">36dp</dimen>
@@ -35,10 +40,6 @@
     <dimen name="app_widget_preview_padding_left">0dp</dimen>
     <dimen name="app_widget_preview_padding_top">10dp</dimen>
 
-    <!-- Size of icons in workspace -->
-    <integer name="app_icon_scale_percent">-1</integer>
-    <integer name="app_icon_hotseat_scale_percent">-1</integer>
-
     <dimen name="all_apps_button_vertical_padding">4dip</dimen>
 
     <!-- roughly a status bar (for determining how many rows of icons are in home) -->
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index d3796e8..26ad7dc 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"นี่เป็นแอปพลิเคชันระบบและไม่สามารถถอนการติดตั้งได้"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"โฟลเดอร์ที่ไม่มีชื่อ"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"หน้าจอหลัก %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"หน้า %1$d จาก %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"พื้นที่ทำงาน %1$d จาก %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"หน้าจอหลัก %1$d จาก %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"แอปพลิเคชันหน้า %1$d จาก %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"วิดเจ็ตหน้า %1$d จาก %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"เชิญตามสบาย"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index a26eea2..878fca6 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Isa itong app ng system at hindi maaaring i-uninstall."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Walang Pangalang Folder"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Home screen %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Pahina %1$d ng %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Workspace %1$d ng %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Home screen %1$d ng %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Pahina ng apps %1$d ng %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Pahina ng widget %1$d ng %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Gawing komportable ang iyong sarili"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 18036d4..47b6d1a 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Bu bir sistem uygulamasıdır ve kaldırılamaz."</string>
     <string name="dream_name" msgid="2847171357608437154">"Roket Fırlatıcı"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Adsız Klasör"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Ana ekran %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Sayfa %1$d / %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Çalışma alanı %1$d / %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Ana ekran %1$d / %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Uygulama sayfası %1$d / %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Widget sayfası %1$d / %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Kendinizi evinizde hissedin"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 0e633ed..34204e9 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Це системна програма, її неможливо видалити."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Папка без назви"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Головний екран %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Сторінка %1$d з %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Робочий простір %1$d з %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Головний екран %1$d з %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Сторінка програм %1$d з %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Сторінка віджетів %1$d з %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Влаштовуйтеся зручніше"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 8963c9c..bd84e54 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Đây là ứng dụng hệ thống và không thể gỡ cài đặt."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Thư mục chưa đặt tên"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Màn hình chính %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Trang %1$d trong tổng số %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Không gian làm việc %1$d trong tổng số %2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Màn hình chính %1$d trong tổng số %2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Trang ứng dụng %1$d trong tổng số %2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Trang tiện ích con %1$d trong tổng số %2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Tự nhiên như ở nhà"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 00e60cd..4d73486 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"这是系统应用，无法卸载。"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"未命名文件夹"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"主屏幕第 %1$d 页"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"第 %1$d 页，共 %2$d 页"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"工作区：第 %1$d 页，共 %2$d 页"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"主屏幕第 %1$d 页，共 %2$d 页"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"应用：第 %1$d 页，共 %2$d 页"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"窗口小部件：第 %1$d 页，共 %2$d 页"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"随意浏览"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index d6b2a8a..9e5de78 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"這是系統應用程式，不可解除安裝。"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"未命名的資料夾"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"主螢幕 %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"第 %1$d 頁，共 %2$d 頁"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"第 %1$d 個工作區，共 %2$d 個"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"主螢幕 %1$d，共 %2$d 個"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"應用程式：第 %1$d 頁，共 %2$d 頁"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"小工具：第 %1$d 頁，共 %2$d 頁"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"當作自己家"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index c06b93b..7b3c6a5 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -87,8 +87,9 @@
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Lolu uhlelo lokusebenza lwesistimu futhi alikwazi ukukhishwa."</string>
     <string name="dream_name" msgid="2847171357608437154">"Isiqalisi se-Rocket"</string>
     <string name="folder_hint_text" msgid="8633351560105748141">"Ifolda Engenagama"</string>
+    <string name="workspace_description_format" msgid="2968608205939373034">"Isikrini sasekhaya %1$d"</string>
     <string name="default_scroll_format" msgid="4057140866420001240">"Ikhasi %1$d lika %2$d"</string>
-    <string name="workspace_scroll_format" msgid="7911126267695001437">"Isikhala sokusebenza %1$d se-%2$d"</string>
+    <string name="workspace_scroll_format" msgid="1704767047951143301">"Isikrini sasekhaya %1$d se-%2$d"</string>
     <string name="apps_customize_apps_scroll_format" msgid="5494241912377704885">"Ukhasi lama-Apps %1$d le-%2$d"</string>
     <string name="apps_customize_widgets_scroll_format" msgid="5383009742241717437">"Ikhasi le-Widgets %1$d le-%2$d"</string>
     <string name="workspace_cling_title" msgid="738396473989890567">"Zizwe usekhaya"</string>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index d3b9c1e..d5bcb66 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -64,8 +64,6 @@
     <dimen name="apps_customize_tab_bar_height">52dp</dimen>
     <dimen name="apps_customize_tab_bar_margin_top">0dp</dimen>
     <dimen name="app_icon_size">48dp</dimen>
-    <integer name="app_icon_scale_percent">-1</integer>
-    <integer name="app_icon_hotseat_scale_percent">-1</integer>
     <!-- The width can be 72dp because we don't have L/R padding -->
     <dimen name="apps_customize_cell_width">74dp</dimen>
     <dimen name="apps_customize_cell_height">82dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d9fbba2..1416d40 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -213,10 +213,13 @@
     <!-- Accessibility -->
     <skip />
 
+    <!-- The format string for Workspace descriptions [CHAR_LIMIT=none] -->
+    <string name="workspace_description_format">Home screen %1$d</string>
+
     <!-- The format string for default page scroll text [CHAR_LIMIT=none] -->
     <string name="default_scroll_format">Page %1$d of %2$d</string>
     <!-- The format string for Workspace page scroll text [CHAR_LIMIT=none] -->
-    <string name="workspace_scroll_format">Workspace %1$d of %2$d</string>
+    <string name="workspace_scroll_format">Home screen %1$d of %2$d</string>
     <!-- The format string for AppsCustomize Apps page scroll text [CHAR_LIMIT=none] -->
     <string name="apps_customize_apps_scroll_format">Apps page %1$d of %2$d</string>
     <!-- The format string for AppsCustomize Apps page scroll text [CHAR_LIMIT=none] -->
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 5bd0ac6..21872b9 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -524,6 +524,10 @@
                 mPressedIcon.lockDrawableState();
             }
 
+            // NOTE: We want all transitions from launcher to act as if the wallpaper were enabled
+            // to be consistent.  So re-enable the flag here, and we will re-disable it as necessary
+            // when Launcher resumes and we are still in AllApps.
+            mLauncher.updateWallpaperVisibility(true);
             mLauncher.startActivitySafely(v, appInfo.intent, appInfo);
 
         } else if (v instanceof PagedViewWidget) {
@@ -637,12 +641,19 @@
         }
     }
 
-    private void beginDraggingWidget(View v) {
+    private boolean beginDraggingWidget(View v) {
         mDraggingWidget = true;
         // Get the widget preview as the drag representation
         ImageView image = (ImageView) v.findViewById(R.id.widget_preview);
         PendingAddItemInfo createItemInfo = (PendingAddItemInfo) v.getTag();
 
+        // If the ImageView doesn't have a drawable yet, the widget preview hasn't been loaded and
+        // we abort the drag.
+        if (image.getDrawable() == null) {
+            mDraggingWidget = false;
+            return false;
+        }
+
         // Compose the drag image
         Bitmap preview;
         Bitmap outline;
@@ -708,6 +719,7 @@
                 DragController.DRAG_ACTION_COPY, null, scale);
         outline.recycle();
         preview.recycle();
+        return true;
     }
 
     @Override
@@ -717,7 +729,9 @@
         if (v instanceof PagedViewIcon) {
             beginDraggingApplication(v);
         } else if (v instanceof PagedViewWidget) {
-            beginDraggingWidget(v);
+            if (!beginDraggingWidget(v)) {
+                return false;
+            }
         }
 
         // We delay entering spring-loaded mode slightly to make sure the UI
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index ba20a76..ece1870 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -17,6 +17,8 @@
 package com.android.launcher2;
 
 import android.animation.Animator;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
 import android.animation.AnimatorListenerAdapter;
 import android.animation.TimeInterpolator;
 import android.animation.ValueAnimator;
@@ -136,8 +138,6 @@
     private ShortcutAndWidgetContainer mShortcutsAndWidgets;
 
     private boolean mIsHotseat = false;
-    private float mChildScale = 1f;
-    private float mHotseatChildScale = 1f;
 
     public static final int MODE_DRAG_OVER = 0;
     public static final int MODE_ON_DROP = 1;
@@ -149,7 +149,7 @@
     static final int LANDSCAPE = 0;
     static final int PORTRAIT = 1;
 
-    private static final float REORDER_HINT_MAGNITUDE = 0.27f;
+    private static final float REORDER_HINT_MAGNITUDE = 0.10f;
     private static final int REORDER_ANIMATION_DURATION = 150;
     private float mReorderHintAnimationMagnitude;
 
@@ -214,15 +214,6 @@
         mNormalBackground.setFilterBitmap(true);
         mActiveGlowBackground.setFilterBitmap(true);
 
-        int iconScale = res.getInteger(R.integer.app_icon_scale_percent);
-        if (iconScale >= 0) {
-            mChildScale = iconScale / 100f;
-        }
-        int hotseatIconScale = res.getInteger(R.integer.app_icon_hotseat_scale_percent);
-        if (hotseatIconScale >= 0) {
-            mHotseatChildScale = hotseatIconScale / 100f;
-        }
-
         // Initialize the data structures used for the drag visualization.
 
         mEaseOutInterpolator = new DecelerateInterpolator(2.5f); // Quint ease out
@@ -571,52 +562,19 @@
         mIsHotseat = isHotseat;
     }
 
-    public float getChildrenScale() {
-        return mIsHotseat ? mHotseatChildScale : mChildScale;
-    }
-
-
-    private void scaleChild(BubbleTextView bubbleChild, float scale) {
-        // If we haven't measured the child yet, do it now
-        // (this happens if we're being dropped from all-apps
-        if (bubbleChild.getLayoutParams() instanceof LayoutParams &&
-                (bubbleChild.getMeasuredWidth() | bubbleChild.getMeasuredHeight()) == 0) {
-            getShortcutsAndWidgets().measureChild(bubbleChild);
-        }
-
-        bubbleChild.setScaleX(scale);
-        bubbleChild.setScaleY(scale);
-    }
-
-    private void resetChild(BubbleTextView bubbleChild) {
-        bubbleChild.setScaleX(1f);
-        bubbleChild.setScaleY(1f);
-
-        bubbleChild.setTextColor(getResources().getColor(R.color.workspace_icon_text_color));
-    }
-
     public boolean addViewToCellLayout(View child, int index, int childId, LayoutParams params,
             boolean markCells) {
         final LayoutParams lp = params;
 
-        // Hotseat icons - scale down and remove text
-        // Don't scale the all apps button
-        // scale percent set to -1 means do not scale
-        // Only scale BubbleTextViews
+        // Hotseat icons - remove text
         if (child instanceof BubbleTextView) {
             BubbleTextView bubbleChild = (BubbleTextView) child;
 
-            // Start the child with 100% scale and visible text
-            resetChild(bubbleChild);
-
-            if (mIsHotseat && mHotseatChildScale >= 0) {
-                // Scale/make transparent for a hotseat
-                scaleChild(bubbleChild, mHotseatChildScale);
-
-                bubbleChild.setTextColor(getResources().getColor(android.R.color.transparent));
-            } else if (mChildScale >= 0) {
-                // Else possibly still scale it if we need to for smaller icons
-                scaleChild(bubbleChild, mChildScale);
+            Resources res = getResources();
+            if (mIsHotseat) {
+                bubbleChild.setTextColor(res.getColor(android.R.color.transparent));
+            } else {
+                bubbleChild.setTextColor(res.getColor(R.color.workspace_icon_text_color));
             }
         }
 
@@ -1045,7 +1003,10 @@
     }
 
     public void setBackgroundAlphaMultiplier(float multiplier) {
-        mBackgroundAlphaMultiplier = multiplier;
+        if (mBackgroundAlphaMultiplier != multiplier) {
+            mBackgroundAlphaMultiplier = multiplier;
+            invalidate();
+        }
     }
 
     public float getBackgroundAlphaMultiplier() {
@@ -1962,7 +1923,7 @@
         View child;
         float deltaX;
         float deltaY;
-        private static final int DURATION = 140;
+        private static final int DURATION = 300;
         private int repeatCount;
         private boolean cancelOnCycleComplete = false;
         ValueAnimator va;
@@ -1991,6 +1952,8 @@
                     deltaY = (int) (Math.sin(angle) * mReorderHintAnimationMagnitude);
                 }
             }
+            child.setPivotY(child.getMeasuredHeight() * 0.5f);
+            child.setPivotX(child.getMeasuredWidth() * 0.5f);
             this.child = child;
         }
 
@@ -2006,7 +1969,7 @@
             va = ValueAnimator.ofFloat(0f, 1f);
             va.setRepeatMode(ValueAnimator.REVERSE);
             va.setRepeatCount(ValueAnimator.INFINITE);
-            va.setDuration(DURATION);
+            va.setDuration((int) (DURATION * (1.0f + Math.random()*.08f)));
             va.addUpdateListener(new AnimatorUpdateListener() {
                 @Override
                 public void onAnimationUpdate(ValueAnimator animation) {
@@ -2015,6 +1978,10 @@
                     float y = r * deltaY;
                     child.setTranslationX(x);
                     child.setTranslationY(y);
+                    float sf = 4.0f / child.getWidth();
+                    float s = 1.0f - r * sf;
+                    child.setScaleX(s);
+                    child.setScaleY(s);
                 }
             });
             va.addListener(new AnimatorListenerAdapter() {
@@ -2035,6 +2002,21 @@
         private void completeAnimation() {
             cancelOnCycleComplete = true;
         }
+        private void completeAnimationImmediately() {
+            va.cancel();
+
+            AnimatorSet s = new AnimatorSet();
+            s.playTogether(
+                ObjectAnimator.ofFloat(child, "scaleX", 1f),
+                ObjectAnimator.ofFloat(child, "scaleY", 1f),
+                ObjectAnimator.ofFloat(child, "translationX", 0f),
+                ObjectAnimator.ofFloat(child, "translationX", 0f)
+            );
+            s.setDuration(REORDER_ANIMATION_DURATION);
+            s.setInterpolator(new android.view.animation.DecelerateInterpolator(1.5f));
+            s.start();
+        }
+
 
         // Returns the time required to complete the current oscillating animation
         private int completionTime() {
@@ -2048,7 +2030,7 @@
 
     private void completeAndClearReorderHintAnimations() {
         for (ReorderHintAnimation a: mShakeAnimators.values()) {
-            a.completeAnimation();
+            a.completeAnimationImmediately();
         }
         mShakeAnimators.clear();
     }
diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher2/DragController.java
index b4b20c6..1b0ccf5 100644
--- a/src/com/android/launcher2/DragController.java
+++ b/src/com/android/launcher2/DragController.java
@@ -164,52 +164,6 @@
      * Starts a drag.
      *
      * @param v The view that is being dragged
-     * @param source An object representing where the drag originated
-     * @param dragInfo The data associated with the object that is being dragged
-     * @param dragAction The drag action: either {@link #DRAG_ACTION_MOVE} or
-     *        {@link #DRAG_ACTION_COPY}
-     */
-    public void startDrag(View v, DragSource source, Object dragInfo, int dragAction) {
-        startDrag(v, source, dragInfo, dragAction, null);
-    }
-
-    /**
-     * Starts a drag.
-     *
-     * @param v The view that is being dragged
-     * @param source An object representing where the drag originated
-     * @param dragInfo The data associated with the object that is being dragged
-     * @param dragAction The drag action: either {@link #DRAG_ACTION_MOVE} or
-     *        {@link #DRAG_ACTION_COPY}
-     * @param dragRegion Coordinates within the bitmap b for the position of item being dragged.
-     *          Makes dragging feel more precise, e.g. you can clip out a transparent border
-     */
-    public void startDrag(View v, DragSource source, Object dragInfo, int dragAction,
-            Rect dragRegion) {
-        Bitmap b = getViewBitmap(v);
-
-        if (b == null) {
-            // out of memory?
-            return;
-        }
-
-        int[] loc = mCoordinatesTemp;
-        mLauncher.getDragLayer().getLocationInDragLayer(v, loc);
-        int dragLayerX = loc[0];
-        int dragLayerY = loc[1];
-
-        startDrag(b, dragLayerX, dragLayerY, source, dragInfo, dragAction, null, dragRegion, 1f);
-        b.recycle();
-
-        if (dragAction == DRAG_ACTION_MOVE) {
-            v.setVisibility(View.GONE);
-        }
-    }
-
-    /**
-     * Starts a drag.
-     *
-     * @param v The view that is being dragged
      * @param bmp The bitmap that represents the view being dragged
      * @param source An object representing where the drag originated
      * @param dragInfo The data associated with the object that is being dragged
diff --git a/src/com/android/launcher2/DragLayer.java b/src/com/android/launcher2/DragLayer.java
index 379e599..4be1914 100644
--- a/src/com/android/launcher2/DragLayer.java
+++ b/src/com/android/launcher2/DragLayer.java
@@ -463,18 +463,14 @@
         int toX = coord[0];
         int toY = coord[1];
         if (child instanceof TextView) {
-            float childrenScale = parent.getChildrenScale();
             TextView tv = (TextView) child;
 
             // The child may be scaled (always about the center of the view) so to account for it,
             // we have to offset the position by the scaled size.  Once we do that, we can center
             // the drag view about the scaled child view.
-            toY += Math.round(((1f - childrenScale) * child.getMeasuredHeight()) / 2 +
-                    scale * childrenScale * tv.getPaddingTop());
-            toY -= dragView.getMeasuredHeight() * (1 - scale * childrenScale) / 2;
+            toY += Math.round(scale * tv.getPaddingTop());
+            toY -= dragView.getMeasuredHeight() * (1 - scale) / 2;
             toX -= (dragView.getMeasuredWidth() - Math.round(scale * child.getMeasuredWidth())) / 2;
-
-            scale *= childrenScale;
         } else if (child instanceof FolderIcon) {
             // Account for holographic blur padding on the drag view
             toY -= Workspace.DRAG_BITMAP_PADDING / 2;
diff --git a/src/com/android/launcher2/Folder.java b/src/com/android/launcher2/Folder.java
index f63e9bc..e8f1ac9 100644
--- a/src/com/android/launcher2/Folder.java
+++ b/src/com/android/launcher2/Folder.java
@@ -29,6 +29,7 @@
 import android.text.Selection;
 import android.text.Spannable;
 import android.util.AttributeSet;
+import android.util.Log;
 import android.view.ActionMode;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
@@ -47,6 +48,8 @@
 import com.android.launcher2.FolderInfo.FolderListener;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 
 /**
  * Represents a set of icons chosen by the user or generated by the system.
@@ -308,11 +311,48 @@
         return mInfo;
     }
 
+    private class GridComparator implements Comparator<ShortcutInfo> {
+        int mNumCols;
+        public GridComparator(int numCols) {
+            mNumCols = numCols;
+        }
+
+        @Override
+        public int compare(ShortcutInfo lhs, ShortcutInfo rhs) {
+            int lhIndex = lhs.cellY * mNumCols + lhs.cellX;
+            int rhIndex = rhs.cellY * mNumCols + rhs.cellX;
+            return (lhIndex - rhIndex);
+        }
+
+    }
+
+    private void placeInReadingOrder(ArrayList<ShortcutInfo> items) {
+        int maxX = 0;
+        int count = items.size();
+        for (int i = 0; i < count; i++) {
+            ShortcutInfo item = items.get(i);
+            if (item.cellX > maxX) {
+                maxX = item.cellX;
+            }
+        }
+        GridComparator gridComparator = new GridComparator(maxX);
+        Collections.sort(items, gridComparator);
+        final int countX = mContent.getCountX();
+        for (int i = 0; i < count; i++) {
+            int x = i % countX;
+            int y = i / countX;
+            ShortcutInfo item = items.get(i);
+            item.cellX = x;
+            item.cellY = y;
+        }
+    }
+
     void bind(FolderInfo info) {
         mInfo = info;
         ArrayList<ShortcutInfo> children = info.contents;
         ArrayList<ShortcutInfo> overflow = new ArrayList<ShortcutInfo>();
         setupContentForNumItems(children.size());
+        placeInReadingOrder(children);
         int count = 0;
         for (int i = 0; i < children.size(); i++) {
             ShortcutInfo child = (ShortcutInfo) children.get(i);
@@ -481,11 +521,11 @@
         textView.setOnLongClickListener(this);
 
         // We need to check here to verify that the given item's location isn't already occupied
-        // by another item. If it is, we need to find the next available slot and assign
-        // it that position. This is an issue when upgrading from the old Folders implementation
-        // which could contain an unlimited number of items.
+        // by another item.
         if (mContent.getChildAt(item.cellX, item.cellY) != null || item.cellX < 0 || item.cellY < 0
                 || item.cellX >= mContent.getCountX() || item.cellY >= mContent.getCountY()) {
+            // This shouldn't happen, log it. 
+            Log.e(TAG, "Folder order not properly persisted during bind");
             if (!findAndSetEmptyCells(item)) {
                 return false;
             }
@@ -780,6 +820,7 @@
                 (1.0f * folderPivotX / width));
         int folderIconPivotY = (int) (mFolderIcon.getMeasuredHeight() *
                 (1.0f * folderPivotY / height));
+
         mFolderIcon.setPivotX(folderIconPivotX);
         mFolderIcon.setPivotY(folderIconPivotY);
 
@@ -937,6 +978,7 @@
             if (d.dragView.hasDrawn()) {
                 mLauncher.getDragLayer().animateViewIntoPosition(d.dragView, mCurrentDragView);
             } else {
+                d.deferDragViewCleanupPostAnimation = false;
                 mCurrentDragView.setVisibility(VISIBLE);
             }
             mItemsInvalidated = true;
diff --git a/src/com/android/launcher2/InstallShortcutReceiver.java b/src/com/android/launcher2/InstallShortcutReceiver.java
index 6d91602..e05127b 100644
--- a/src/com/android/launcher2/InstallShortcutReceiver.java
+++ b/src/com/android/launcher2/InstallShortcutReceiver.java
@@ -22,6 +22,7 @@
 import android.content.SharedPreferences;
 import android.content.pm.ActivityInfo;
 import android.content.pm.PackageManager;
+import android.os.Debug;
 import android.widget.Toast;
 
 import com.android.launcher.R;
@@ -90,9 +91,12 @@
                 return;
             }
         }
+        // Queue the item up for adding if launcher has not loaded properly yet
+        boolean launcherNotLoaded = LauncherModel.getCellCountX() <= 0 ||
+                LauncherModel.getCellCountY() <= 0;
 
         PendingInstallShortcutInfo info = new PendingInstallShortcutInfo(data, name, intent);
-        if (mUseInstallQueue) {
+        if (mUseInstallQueue || launcherNotLoaded) {
             mInstallQueue.add(info);
         } else {
             processInstallShortcut(context, info);
@@ -102,9 +106,11 @@
     static void enableInstallQueue() {
         mUseInstallQueue = true;
     }
-
     static void disableAndFlushInstallQueue(Context context) {
         mUseInstallQueue = false;
+        flushInstallQueue(context);
+    }
+    static void flushInstallQueue(Context context) {
         Iterator<PendingInstallShortcutInfo> iter = mInstallQueue.iterator();
         while (iter.hasNext()) {
             processInstallShortcut(context, iter.next());
diff --git a/src/com/android/launcher2/ItemInfo.java b/src/com/android/launcher2/ItemInfo.java
index d34b87e..dedc0f4 100644
--- a/src/com/android/launcher2/ItemInfo.java
+++ b/src/com/android/launcher2/ItemInfo.java
@@ -115,7 +115,7 @@
     static String getPackageName(Intent intent) {
         if (intent != null) {
             String packageName = intent.getPackage();
-            if (packageName == null) {
+            if (packageName == null && intent.getComponent() != null) {
                 packageName = intent.getComponent().getPackageName();
             }
             if (packageName != null) {
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index d0f4b86..2e7caff 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -162,6 +162,12 @@
     private static final String RUNTIME_STATE_PENDING_FOLDER_RENAME = "launcher.rename_folder";
     // Type: long
     private static final String RUNTIME_STATE_PENDING_FOLDER_RENAME_ID = "launcher.rename_folder_id";
+    // Type: int
+    private static final String RUNTIME_STATE_PENDING_ADD_SPAN_X = "launcher.add_span_x";
+    // Type: int
+    private static final String RUNTIME_STATE_PENDING_ADD_SPAN_Y = "launcher.add_span_y";
+    // Type: parcelable
+    private static final String RUNTIME_STATE_PENDING_ADD_WIDGET_INFO = "launcher.add_widget_info";
 
     private static final String TOOLBAR_ICON_METADATA_NAME = "com.android.launcher.toolbar_icon";
     private static final String TOOLBAR_SEARCH_ICON_METADATA_NAME =
@@ -203,6 +209,8 @@
     private LauncherAppWidgetHost mAppWidgetHost;
 
     private ItemInfo mPendingAddInfo = new ItemInfo();
+    private AppWidgetProviderInfo mPendingAddWidgetInfo;
+
     private int[] mTmpAddItemCellCoordinates = new int[2];
 
     private FolderInfo mFolderInfo;
@@ -259,7 +267,6 @@
     private static Drawable.ConstantState[] sAppMarketIcon = new Drawable.ConstantState[2];
 
     static final ArrayList<String> sDumpLogs = new ArrayList<String>();
-    PendingAddWidgetInfo mWidgetBeingBoundOrConfigured = null;
 
     // We only want to get the SharedPreferences once since it does an FS stat each time we get
     // it from the context.
@@ -533,9 +540,6 @@
                         args.cellY);
                 result = true;
                 break;
-            case REQUEST_PICK_APPWIDGET:
-                addAppWidgetFromPick(args.intent);
-                break;
             case REQUEST_CREATE_APPWIDGET:
                 int appWidgetId = args.intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
                 completeAddAppWidget(appWidgetId, args.container, args.screen, null, null);
@@ -561,7 +565,7 @@
             if (resultCode == RESULT_CANCELED) {
                 completeTwoStageWidgetDrop(RESULT_CANCELED, appWidgetId);
             } else if (resultCode == RESULT_OK) {
-                addAppWidgetImpl(appWidgetId, mWidgetBeingBoundOrConfigured);
+                addAppWidgetImpl(appWidgetId, mPendingAddInfo, null, mPendingAddWidgetInfo);
             }
             return;
         }
@@ -611,15 +615,16 @@
 
     private void completeTwoStageWidgetDrop(final int resultCode, final int appWidgetId) {
         CellLayout cellLayout =
-                (CellLayout) mWorkspace.getChildAt(mWidgetBeingBoundOrConfigured.screen);
+                (CellLayout) mWorkspace.getChildAt(mPendingAddInfo.screen);
         Runnable onCompleteRunnable = null;
         int animationType = 0;
 
+        AppWidgetHostView boundWidget = null;
         if (resultCode == RESULT_OK) {
             animationType = Workspace.COMPLETE_TWO_STAGE_WIDGET_DROP_ANIMATION;
             final AppWidgetHostView layout = mAppWidgetHost.createView(this, appWidgetId,
-                    mWidgetBeingBoundOrConfigured.info);
-            mWidgetBeingBoundOrConfigured.boundWidget = layout;
+                    mPendingAddWidgetInfo);
+            boundWidget = layout;
             onCompleteRunnable = new Runnable() {
                 @Override
                 public void run() {
@@ -639,16 +644,23 @@
                 }
             };
         }
-        mWorkspace.animateWidgetDrop(mWidgetBeingBoundOrConfigured, cellLayout,
-                (DragView) mDragLayer.getAnimatedView(), onCompleteRunnable,
-                animationType, mWidgetBeingBoundOrConfigured.boundWidget, true);
-        mWidgetBeingBoundOrConfigured = null;
+        if (mDragLayer.getAnimatedView() != null) {
+            mWorkspace.animateWidgetDrop(mPendingAddInfo, cellLayout,
+                    (DragView) mDragLayer.getAnimatedView(), onCompleteRunnable,
+                    animationType, boundWidget, true);
+        } else {
+            // The animated view may be null in the case of a rotation during widget configuration
+            onCompleteRunnable.run();
+        }
     }
 
     @Override
     protected void onResume() {
         super.onResume();
 
+        // Process any items that were added while Launcher was away
+        InstallShortcutReceiver.flushInstallQueue(this);
+
         mPaused = false;
         if (mRestoring || mOnResumeNeedsLoad) {
             mWorkspaceLoading = true;
@@ -800,9 +812,13 @@
             mPendingAddInfo.screen = pendingAddScreen;
             mPendingAddInfo.cellX = savedState.getInt(RUNTIME_STATE_PENDING_ADD_CELL_X);
             mPendingAddInfo.cellY = savedState.getInt(RUNTIME_STATE_PENDING_ADD_CELL_Y);
+            mPendingAddInfo.spanX = savedState.getInt(RUNTIME_STATE_PENDING_ADD_SPAN_X);
+            mPendingAddInfo.spanY = savedState.getInt(RUNTIME_STATE_PENDING_ADD_SPAN_Y);
+            mPendingAddWidgetInfo = savedState.getParcelable(RUNTIME_STATE_PENDING_ADD_WIDGET_INFO);
             mRestoring = true;
         }
 
+
         boolean renameFolder = savedState.getBoolean(RUNTIME_STATE_PENDING_FOLDER_RENAME, false);
         if (renameFolder) {
             long id = savedState.getLong(RUNTIME_STATE_PENDING_FOLDER_RENAME_ID);
@@ -1201,12 +1217,7 @@
                         mWorkspace.post(new Runnable() {
                             @Override
                             public void run() {
-                                if (mState == State.APPS_CUSTOMIZE) {
-                                    if (mAppsCustomizeTabHost != null &&
-                                            !mAppsCustomizeTabHost.isTransitioning()) {
-                                        updateWallpaperVisibility(false);
-                                    }
-                                }
+                                disableWallpaperIfInAllApps();
                             }
                         });
 
@@ -1371,6 +1382,9 @@
             outState.putInt(RUNTIME_STATE_PENDING_ADD_SCREEN, mPendingAddInfo.screen);
             outState.putInt(RUNTIME_STATE_PENDING_ADD_CELL_X, mPendingAddInfo.cellX);
             outState.putInt(RUNTIME_STATE_PENDING_ADD_CELL_Y, mPendingAddInfo.cellY);
+            outState.putInt(RUNTIME_STATE_PENDING_ADD_SPAN_X, mPendingAddInfo.spanX);
+            outState.putInt(RUNTIME_STATE_PENDING_ADD_SPAN_Y, mPendingAddInfo.spanY);
+            outState.putParcelable(RUNTIME_STATE_PENDING_ADD_WIDGET_INFO, mPendingAddWidgetInfo);
         }
 
         if (mFolderInfo != null && mWaitingForResult) {
@@ -1549,26 +1563,20 @@
         mPendingAddInfo.dropPos = null;
     }
 
-    void addAppWidgetFromPick(Intent data) {
-        // TODO: catch bad widget exception when sent
-        int appWidgetId = data.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
-        // TODO: Is this log message meaningful?
-        if (LOGD) Log.d(TAG, "dumping extras content=" + data.getExtras());
-        addAppWidgetImpl(appWidgetId, null);
-    }
+    void addAppWidgetImpl(final int appWidgetId, ItemInfo info, AppWidgetHostView boundWidget,
+            AppWidgetProviderInfo appWidgetInfo) {
+        if (appWidgetInfo.configure != null) {
+            mPendingAddWidgetInfo = appWidgetInfo;
 
-    void addAppWidgetImpl(final int appWidgetId, final PendingAddWidgetInfo info) {
-        final AppWidgetProviderInfo appWidget = info.info;
-        if (appWidget.configure != null) {
             // Launch over to configure widget, if needed
             Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_CONFIGURE);
-            intent.setComponent(appWidget.configure);
+            intent.setComponent(appWidgetInfo.configure);
             intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
             startActivityForResultSafely(intent, REQUEST_CREATE_APPWIDGET);
-            mWidgetBeingBoundOrConfigured = info;
         } else {
             // Otherwise just add it
-            completeAddAppWidget(appWidgetId, info.container, info.screen, info.boundWidget, appWidget);
+            completeAddAppWidget(appWidgetId, info.container, info.screen, boundWidget,
+                    appWidgetInfo);
             // Exit spring loaded mode if necessary after adding the widget
             exitSpringLoadedDragModeDelayed(true, false, null);
         }
@@ -1629,13 +1637,15 @@
         int appWidgetId;
         if (hostView != null) {
             appWidgetId = hostView.getAppWidgetId();
-            addAppWidgetImpl(appWidgetId, info);
+            addAppWidgetImpl(appWidgetId, info, hostView, info.info);
         } else {
+            // In this case, we either need to start an activity to get permission to bind
+            // the widget, or we need to start an activity to configure the widget, or both.
             appWidgetId = getAppWidgetHost().allocateAppWidgetId();
-            mWidgetBeingBoundOrConfigured = info;
             if (mAppWidgetManager.bindAppWidgetIdIfAllowed(appWidgetId, info.componentName)) {
-                addAppWidgetImpl(appWidgetId, info);
+                addAppWidgetImpl(appWidgetId, info, null, info.info);
             } else {
+                mPendingAddWidgetInfo = info.info;
                 Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_BIND);
                 intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
                 intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_PROVIDER, info.componentName);
@@ -1859,7 +1869,7 @@
             if (activityName != null) {
                 intent.setPackage(activityName.getPackageName());
             }
-            startActivitySafely(null, intent, "onClickVoiceButton");
+            startActivity(null, intent, "onClickVoiceButton");
         } catch (ActivityNotFoundException e) {
             Intent intent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH);
             intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
@@ -1916,7 +1926,7 @@
         }
     }
 
-    boolean startActivitySafely(View v, Intent intent, Object tag) {
+    boolean startActivity(View v, Intent intent, Object tag) {
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 
         try {
@@ -1933,9 +1943,6 @@
                 startActivity(intent);
             }
             return true;
-        } catch (ActivityNotFoundException e) {
-            Toast.makeText(this, R.string.activity_not_found, Toast.LENGTH_SHORT).show();
-            Log.e(TAG, "Unable to launch. tag=" + tag + " intent=" + intent, e);
         } catch (SecurityException e) {
             Toast.makeText(this, R.string.activity_not_found, Toast.LENGTH_SHORT).show();
             Log.e(TAG, "Launcher does not have the permission to launch " + intent +
@@ -1946,6 +1953,17 @@
         return false;
     }
 
+    boolean startActivitySafely(View v, Intent intent, Object tag) {
+        boolean success = false;
+        try {
+            success = startActivity(v, intent, tag);
+        } catch (ActivityNotFoundException e) {
+            Toast.makeText(this, R.string.activity_not_found, Toast.LENGTH_SHORT).show();
+            Log.e(TAG, "Unable to launch. tag=" + tag + " intent=" + intent, e);
+        }
+        return success;
+    }
+
     void startActivityForResultSafely(Intent intent, int requestCode) {
         try {
             startActivityForResult(intent, requestCode);
@@ -2180,6 +2198,16 @@
         view.setPivotY(view.getHeight() / 2.0f);
     }
 
+    void disableWallpaperIfInAllApps() {
+        // Only disable it if we are in all apps
+        if (mState == State.APPS_CUSTOMIZE) {
+            if (mAppsCustomizeTabHost != null &&
+                    !mAppsCustomizeTabHost.isTransitioning()) {
+                updateWallpaperVisibility(false);
+            }
+        }
+    }
+
     void updateWallpaperVisibility(boolean visible) {
         int wpflags = visible ? WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER : 0;
         int curflags = getWindow().getAttributes().flags
@@ -2523,6 +2551,18 @@
         }
     }
 
+    @Override
+    public void onWindowFocusChanged(boolean hasFocus) {
+        if (!hasFocus) {
+            // When another window occludes launcher (like the notification shade, or recents),
+            // ensure that we enable the wallpaper flag so that transitions are done correctly.
+            updateWallpaperVisibility(true);
+        } else {
+            // When launcher has focus again, disable the wallpaper if we are in AllApps
+            disableWallpaperIfInAllApps();
+        }
+    }
+
     void showWorkspace(boolean animated) {
         showWorkspace(animated, null);
     }
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index b850ce2..a3080a8 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -839,15 +839,15 @@
     @Override
     public void addFocusables(ArrayList<View> views, int direction, int focusableMode) {
         if (mCurrentPage >= 0 && mCurrentPage < getPageCount()) {
-            getPageAt(mCurrentPage).addFocusables(views, direction);
+            getPageAt(mCurrentPage).addFocusables(views, direction, focusableMode);
         }
         if (direction == View.FOCUS_LEFT) {
             if (mCurrentPage > 0) {
-                getPageAt(mCurrentPage - 1).addFocusables(views, direction);
+                getPageAt(mCurrentPage - 1).addFocusables(views, direction, focusableMode);
             }
         } else if (direction == View.FOCUS_RIGHT){
             if (mCurrentPage < getPageCount() - 1) {
-                getPageAt(mCurrentPage + 1).addFocusables(views, direction);
+                getPageAt(mCurrentPage + 1).addFocusables(views, direction, focusableMode);
             }
         }
     }
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 5e45c99..fd9cc57 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -383,7 +383,7 @@
         mIsDragOccuring = true;
         updateChildrenLayersEnabled();
         mLauncher.lockScreenOrientation();
-
+        setChildrenBackgroundAlphaMultipliers(1f);
         // Prevent any Un/InstallShortcutReceivers from updating the db while we are dragging
         InstallShortcutReceiver.enableInstallQueue();
         UninstallShortcutReceiver.enableUninstallQueue();
@@ -442,6 +442,8 @@
         cl.setOnInterceptTouchListener(this);
         cl.setClickable(true);
         cl.enableHardwareLayers();
+        cl.setContentDescription(getContext().getString(
+                R.string.workspace_description_format, getChildCount()));
     }
 
     @Override
@@ -1192,10 +1194,7 @@
         return Math.min(r / threshold, 1.0f);
     }
 
-    @Override
-    protected void screenScrolled(int screenCenter) {
-        super.screenScrolled(screenCenter);
-
+    private void updatePageAlphaValues(int screenCenter) {
         boolean isInOverscroll = mOverScrollX < 0 || mOverScrollX > mMaxScrollX;
         if (mWorkspaceFadeInAdjacentScreens &&
                 mState == State.NORMAL &&
@@ -1207,10 +1206,29 @@
                     float scrollProgress = getScrollProgress(screenCenter, child, i);
                     float alpha = 1 - Math.abs(scrollProgress);
                     child.getShortcutsAndWidgets().setAlpha(alpha);
+                    if (!mIsDragOccuring) {
+                        child.setBackgroundAlphaMultiplier(
+                                backgroundAlphaInterpolator(Math.abs(scrollProgress)));
+                    } else {
+                        child.setBackgroundAlphaMultiplier(1f);
+                    }
                 }
             }
-            invalidate();
         }
+    }
+
+    private void setChildrenBackgroundAlphaMultipliers(float a) {
+        for (int i = 0; i < getChildCount(); i++) {
+            CellLayout child = (CellLayout) getChildAt(i);
+            child.setBackgroundAlphaMultiplier(a);
+        }
+    }
+
+    @Override
+    protected void screenScrolled(int screenCenter) {
+        super.screenScrolled(screenCenter);
+
+        updatePageAlphaValues(screenCenter);
 
         if (mOverScrollX < 0 || mOverScrollX > mMaxScrollX) {
             int index = mOverScrollX < 0 ? 0 : getChildCount() - 1;
@@ -3107,7 +3125,7 @@
     }
 
     private void getFinalPositionForDropAnimation(int[] loc, float[] scaleXY,
-            DragView dragView, CellLayout layout, ItemInfo info, int[] targetCell, View finalView,
+            DragView dragView, CellLayout layout, ItemInfo info, int[] targetCell,
             boolean external) {
         // Now we animate the dragView, (ie. the widget or shortcut preview) into its final
         // location and size on the home screen.
@@ -3143,7 +3161,7 @@
         int[] finalPos = new int[2];
         float scaleXY[] = new float[2];
         getFinalPositionForDropAnimation(finalPos, scaleXY, dragView, cellLayout, info, mTargetCell,
-                finalView, external);
+                external);
 
         Resources res = mLauncher.getResources();
         int duration = res.getInteger(R.integer.config_dropAnimMaxDuration) - 200;
