Merge "solid white search frame for qsb" into jb-dev
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;