am b4215be9: am 6e2dae99: Merge "Cleaning up extra line related to icon density change." into ics-scoop

* commit 'b4215be91155dd813a272e57f72b5c7a5cf69857':
  Cleaning up extra line related to icon density change.
diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml
index 062656f..d7b3fee 100644
--- a/res/layout-port/launcher.xml
+++ b/res/layout-port/launcher.xml
@@ -70,6 +70,15 @@
         android:id="@+id/qsb_bar"
         layout="@layout/qsb_bar" />
 
+    <com.android.launcher2.DrawableStateProxyView
+        android:id="@+id/voice_button_proxy"
+        android:layout_width="@dimen/qsb_bar_height"
+        android:layout_height="@dimen/qsb_bar_height"
+        android:layout_gravity="right"
+        android:clickable="true"
+        android:onClick="onClickVoiceButton"
+        launcher:sourceViewId="@+id/voice_button" />
+
     <include layout="@layout/apps_customize_pane"
         android:id="@+id/apps_customize_pane"
         android:layout_width="match_parent"
diff --git a/res/layout-sw600dp/market_button.xml b/res/layout-sw600dp/market_button.xml
index 4ccecd9..3252790 100644
--- a/res/layout-sw600dp/market_button.xml
+++ b/res/layout-sw600dp/market_button.xml
@@ -22,6 +22,7 @@
     android:paddingLeft="32dp"
     android:paddingRight="32dp"
     android:drawablePadding="10dp"
+    android:background="@drawable/tab_widget_indicator_selector"
     android:text="@string/market"
     android:contentDescription="@string/market"
     android:textColor="@color/workspace_all_apps_and_delete_zone_text_color"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 2cd55df..b87ebd1 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Legstukke"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Raak en hou in om \'n legstuk op te tel."</string>
     <string name="market" msgid="2652226429823445833">"Winkel"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Kon nie item op hierdie Tuisskerm plaas nie."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Kan nie item op hierdie Tuis-skerm laat los nie."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Kies legstuk om te skep"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Vouernaam"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Hernoem vouer"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Kortpad \"<xliff:g id="NAME">%s</xliff:g>\" is geskep."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Kortpad \"<xliff:g id="NAME">%s</xliff:g>\" is verwyder."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Kortpad \"<xliff:g id="NAME">%s</xliff:g>\" bestaan reeds."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Kies kortpad"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Kies kortpad"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Kies program"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Programme"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Tuis"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"installeer kortpaaie"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Stel \'n program in staat om kortpaaie by te voeg sonder gebruikerhandeling."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"deïnstalleer kortpaaie"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Stel \'n program in staat om kortpaaie te verwyder sonder gebruikerhandeling."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Laat die program toe om kortpaaie te sonder gebruikerhandeling te verwyder."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"lees Tuis-instellings en -kortpaaie"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Stel \'n program in staat om die instellings en kortpaaie in Tuis te lees."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Laat die program toe om die instellings en kortpaaie in Tuis te lees."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"skryf Tuis-instellings en -kortpaaie"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Stel program in staat om die instellings en kortpaaie in Tuis te verander."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Laat die program toe om die instellings en kortpaaie in Tuis te verander."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Kon nie legstuk laai nie"</string>
     <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>
@@ -89,7 +89,7 @@
     <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>
-    <string name="workspace_cling_move_item" msgid="791013895761065070">"Jy kan jou gunsteling-apps hier berg."</string>
+    <string name="workspace_cling_move_item" msgid="791013895761065070">"Jy kan jou gunsteling programme hier berg."</string>
     <string name="workspace_cling_open_all_apps" msgid="2459977609848572588">"Om al jou programme te sien, raak die sirkel."</string>
     <string name="all_apps_cling_title" msgid="2559734712581447107">"Kies \'n paar programme"</string>
     <string name="all_apps_cling_add_item" msgid="5665035103260318891">"Om \'n program by jou Tuisskerm te voeg, raak en hou dit."</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Om \'n nuwe vouer op jou Tuisskerm te maak, stapel een program bo-op \'n ander."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Vouer oopgemaak, %1$d van %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Tik om die vouer toe te maak"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Tik om herbenoeming te bevestig"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Raak om vouer toe te maak"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Raak om stoor te hernoem"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Vouer is gesluit"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Vouer hernoem na %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Vouer: %1$s"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index bba4123..7e2c096 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">" ፍርግሞች"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"ፍርግም ለማንሳት ንካ &amp; በመጫን ያዝ"</string>
     <string name="market" msgid="2652226429823445833">"ሸምት"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"እዚህ የመነሻ ማያ ላይ አይነት ማኖር አልተቻለም።"</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"እዚህ የመነሻ ማያ ላይ ንጥል ማኖር አልተቻለም።"</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"ለመፍጠር ምግብር  ምረጥ"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"አቃፊ ስም"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"አቃፊእንደገና ሰይም"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"አቋራጭ\"<xliff:g id="NAME">%s</xliff:g> \"ተፈጥሯል።"</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"አቋራጭ \"<xliff:g id="NAME">%s</xliff:g>\" ተወግዶ ነበር።"</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"አቋራጭ \"<xliff:g id="NAME">%s</xliff:g>\" አስቀድሞ አለ።"</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"አቋራጭ ምረጥ"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"አቋራጭ ምረጥ"</string>
     <string name="title_select_application" msgid="1793455815754848652">"መተግበሪያ ምረጥ"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"ትግበራ"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"መነሻ"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"አቋራጮችን ጫን።"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"መተግበሪያ  ያለተጠቃሚ ጣልቃ ገብነት አቋራጭ ለማከል ይፈቅዳል።"</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"አቋራጮችን አራግፍ"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"ያለተጠቃሚ ጣልቃ ገብነት መተግበሪያ  አቋራጭ ለማስወገድ ይፈቅዳል።"</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"ያለተጠቃሚ ጣልቃ ገብነት አቋራጭ ለማስወገድ ለመተግበሪያ ይፈቅዳል።"</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"የመነሻቅንብሮች እና አቋራጮችን አንብብ"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"ቅንጅቶችን እና አቋራጮችን በመነሻ ለማንበብ ትግበራ ይፈቅዳል።"</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"ቅንጅቶችን እና አቋራጮችን በመነሻ ለማንበብ ለትግበራ ይፈቅዳል።"</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"መነሻ ቅንብሮች እና አቋራጮች ፃፍ"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"ቅንጅቶችን እና አቋራጮችን በመነሻ ለመለወጥ መተግበሪያ ይፈቅዳል።"</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"ቅንጅቶችን እና አቋራጮችን በመነሻ ለመለወጥ ለመተግበሪያ ይፈቅዳል።"</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"ፍርግም የመጫን ችግር"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"ይህ የስርዓት ትግበራ ነው እና አለማራገፍ አይቻልም።"</string>
     <string name="dream_name" msgid="2847171357608437154">"የሮኬት ማስነሻ"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"በመነሻ ማያህ ላይ አዲስ ዓቃፊ ለመፍጠር፣ አንዱን መተግበሪያ በሌላው ላይ ቆልል፡፡"</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"እሺ"</string>
     <string name="folder_opened" msgid="4129072635480822768">"አቃፊ ተከፍቷል, %1$d በ %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"አቃፊን ለመዝጋት ምታ"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"ዳግም ሰይምን ለማስፈፀም ምታ"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"አቃፊን ለመዝጋት ንካ"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"ዳግም ሰይምን ለማስቀመጥ ንካ"</string>
     <string name="folder_closed" msgid="3130534551370511932">"አቃፊ ተዘግቷል"</string>
     <string name="folder_renamed" msgid="781234745487414781">"አቃፊ ዳግም ተሰይሟል ለ %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"አቃፊ: %1$s"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 109f26a..9166f1f 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"الأدوات"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"المس مع الاستمرار لاختيار إحدى الأدوات."</string>
     <string name="market" msgid="2652226429823445833">"تسوق"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"تعذر إسقاط العنصر في هذه الشاشة الرئيسية."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"تعذر إسقاط العنصر في هذه الشاشة الرئيسية."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"اختيار أداة لإنشائها"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"اسم المجلد"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"إعادة تسمية المجلد"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"تم إنشاء الاختصار \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"تمت إزالة الاختصار \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"الاختصار \"<xliff:g id="NAME">%s</xliff:g>\" موجود فعلاً."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"تحديد اختصار"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"اختيار اختصار"</string>
     <string name="title_select_application" msgid="1793455815754848652">"اختيار تطبيق"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"التطبيقات"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"الرئيسية"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"اختصارات التثبيت"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"للسماح لتطبيق ما بإضافة اختصارات بدون تدخل المستخدم."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"إزالة الاختصارات"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"للسماح لتطبيق بإزالة الاختصارات بدون تدخل المستخدم."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"للسماح للتطبيق بإزالة الاختصارات بدون تدخل المستخدم."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"قراءة إعدادات الشاشة الرئيسية والاختصارات"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"للسماح لتطبيق ما بقراءة الإعدادات والاختصارات في الشاشة الرئيسية."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"للسماح للتطبيق بقراءة الإعدادات والاختصارات في الصفحة الرئيسية."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"كتابة إعدادات الشاشة الرئيسية والاختصارات"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"للسماح لتطبيق ما بتغيير الإعدادات والاختصارات في الشاشة الرئيسية."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"للسماح للتطبيق بتغيير الإعدادات والاختصارات في الصفحة الرئيسية."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"حدثت مشكلة أثناء تحميل الأداة"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"هذا تطبيق نظام وتتعذر إزالته."</string>
     <string name="dream_name" msgid="2847171357608437154">"راجمة"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"لإنشاء مجلد جديد على الشاشة الرئيسية، يمكنك تكديس أحد التطبيقات فوق تطبيق آخر."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"موافق"</string>
     <string name="folder_opened" msgid="4129072635480822768">"تم فتح المجلد، %1$d × %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"انقر لإغلاق المجلد"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"انقر لحفظ إعادة التسمية"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"المس لإغلاق المجلد"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"المس لحفظ إعادة التسمية"</string>
     <string name="folder_closed" msgid="3130534551370511932">"تم إغلاق المجلد"</string>
     <string name="folder_renamed" msgid="781234745487414781">"تمت إعادة تسمية المجلد إلى %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"المجلد: %1$s"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 1cd2a2f..cfb0c9b 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Віджэты"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Націсніце і ўтрымлiвайце віджэт, каб дадаць яго."</string>
     <string name="market" msgid="2652226429823445833">"Крама"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Немагчыма выдаліць элемент на галоўным экране."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Немагчыма выдалiць элемент на галоўным экране."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Выберыце віджэт для стварэння"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Назва тэчкі"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Пераназваць тэчку"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Створаны цэтлік \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Цэтлік \"<xliff:g id="NAME">%s</xliff:g>\" быў выдалены."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Цэтлік \"<xliff:g id="NAME">%s</xliff:g>\" ужо існуе."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Выбраць хуткі доступ"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Выберыце шлях хуткага доступу"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Выберыце прыкладанне"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Прыкладанні"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Галоўная старонка"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"усталяваць хуткі доступ"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Дазваляе прыкладанням дадаваць цэтлікі без умяшання карыстальніка."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"выдаліць хуткі доступ"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Дазваляе прыкладанням выдаляць шляхi хуткага доступу без умяшання карыстальнiка."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Дазваляе прыкладанням выдаляць шляхi хуткага доступу без умяшання карыстальнiка."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"чытаць налады і спосабы хуткага доступу на Галоўнай старонцы"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Дазваляе прыкладанню чытаць налады і шляхі хуткага доступу на галоўнай старонцы."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Дазваляе прыкладанню чытаць налады і шляхі хуткага доступу на галоўнай старонцы."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"напісаць налады і спосабы хуткага доступа на Галоўнай старонцы"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Дазваляе прыкладанню змяняць налады і шляхi хуткага доступу на галоўнай старонцы."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Дазваляе прыкладанню змяняць налады і шляхi хуткага доступу на галоўнай старонцы."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Праблема пры загрузцы віджэта"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Гэта сістэмнае прыкладанне, і яго нельга выдаліць."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Каб зрабіць новую тэчку на працоўным стале, перасуньце адно прыкладанне на другое."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"ОК"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Тэчка адкрыта, %1$d ад %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Націсніце, каб закрыць тэчку"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Націсніце, каб перайменаваць"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Нацiснiце, каб закрыць тэчку"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Краніце, каб захаваць новую назву"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Тэчка закрыта"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Тэчка перайменавана: %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Тэчка: %1$s"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 5b429b7..7054021 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Приспособления"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Докоснете и задръжте за избор на приспособление"</string>
     <string name="market" msgid="2652226429823445833">"Магазин"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Не можа да се премести на началния екран."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Не можа да се премести на началния екран."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Избор на приспособл. за създаване"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Име на папка"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Преименуване на папка"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Прекият път за „<xliff:g id="NAME">%s</xliff:g>“ бе създаден."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Прекият път към „<xliff:g id="NAME">%s</xliff:g>“ бе премахнат."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Прекият път за „<xliff:g id="NAME">%s</xliff:g>“ вече съществува."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Избор на пряк път"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Избор на пряк път"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Избор на приложение"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Приложения"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Начало"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"инсталиране на преки пътища"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Разрешава на приложението да добавя преки пътища без намеса на потребителя."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"деинсталиране на преките пътища"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Разрешава на приложението да премахва преките пътища без намеса на потребителя."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Разрешава на приложението да премахва преките пътища без намеса на потребителя."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"прочетете настройките за „Начало“ и преки пътища"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Разрешава на приложението да прочете настройките и преките пътища в Начало."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Разрешава на приложението да чете настройките и преките пътища в Начало."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"въведете настройките за „Начало“ и преки пътища"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Разрешава на приложението да променя настройките и преките пътища в Начало."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Разрешава на приложението да променя настройките и преките пътища в Начало."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Проблем при зареждане на приспособление"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Това е системно приложение и не може да се деинсталира."</string>
     <string name="dream_name" msgid="2847171357608437154">"Ракетна площадка"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"За да създадете нова папка на началния си екран, поставете едно приложение върху друго."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Папката е отворена %1$d на %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Докоснете, за да затворите папката"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Докоснете, за да преименувате"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Докоснете, за да затворите папката"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Докоснете, за да запазите преименуването"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Папката бе затворена"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Папката е преименувана на „%1$s“"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Папка: %1$s"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 5a6063f..99ddb0c 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Mantén premut un widget per triar-lo."</string>
     <string name="market" msgid="2652226429823445833">"Botiga"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"No s\'ha pogut deixar anar aquest element a la pantalla d\'inici."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"No s\'ha pogut deixar anar aquest element a la pantalla d\'inici."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Selecciona el widget que vulguis crear"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nom de la carpeta"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Canvi de nom de carpeta"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"S\'ha creat la drecera \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"S\'ha eliminat la drecera \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"La drecera \"<xliff:g id="NAME">%s</xliff:g>\" ja existeix."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Selecció d\'una drecera"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Tria una drecera"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Tria una aplicació"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Aplicacions"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Pàgina d\'inici"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instal·lar dreceres"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Permet a una aplicació afegir dreceres sense intervenció de l\'usuari."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"desinstal·lar dreceres"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Permet que una aplicació elimini dreceres sense intervenció de l\'usuari."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Permet que l\'aplicació elimini dreceres sense la intervenció de l\'usuari."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"llegir la configuració i les dreceres de la pantalla Inici"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Permet que una aplicació llegeixi la configuració i les dreceres de la pàgina d\'inici."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Permet que una aplicació llegeixi la configuració i les dreceres de la pàgina d\'inici."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"escriure la configuració i les dreceres de la pantalla Inici"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Permet que una aplicació canviï la configuració i les dreceres de la pàgina d\'inici."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Permet que una aplicació canviï la configuració i les dreceres de la pàgina d\'inici."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"S\'ha produït un problema en carregar el widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Per fer una carpeta nova a la pàgina d\'inici, apila una aplicació sobre una altra."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"D\'acord"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Carpeta oberta, %1$d de %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Toca per tancar la carpeta"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Toca per fer el canvi de nom"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Toca per tancar la carpeta"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Toca per desar el canvi de nom"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Carpeta tancada"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Canvi de nom de la carpeta de %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Carpeta: %1$s"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 2658900..f6b864c 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgety"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Widget vyberete dotykem a podržením."</string>
     <string name="market" msgid="2652226429823445833">"Obchod"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Na tuto plochu položku nelze přesunout."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Na tuto plochu položku nelze přesunout."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Vyberte widget k vytvoření"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Název složky"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Přejmenovat složku"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Zástupce <xliff:g id="NAME">%s</xliff:g> byl vytvořen."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Zástupce <xliff:g id="NAME">%s</xliff:g> byl odebrán."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Zástupce <xliff:g id="NAME">%s</xliff:g> již existuje."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Vyberte zástupce"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Výběr zástupce"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Vybrat aplikaci"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Aplikace"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Plocha"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalovat zástupce"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Umožňuje aplikaci přidat zástupce bez zásahu uživatele."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"odinstalace zástupců"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Umožňuje aplikaci odstranit zástupce bez zásahu uživatele."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Umožňuje aplikaci odstranit zástupce bez zásahu uživatele."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"čtení nastavení a odkazů plochy"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Umožňuje aplikaci číst nastavení a odkazy na ploše."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Umožňuje aplikaci číst nastavení a odkazy na ploše."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"zápis nastavení a odkazů plochy"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Umožňuje aplikaci změnit nastavení a odkazy na ploše."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Umožňuje aplikaci změnit nastavení a odkazy na ploše."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problém s načtením widgetu"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Chcete-li na ploše vytvořit novou složku, přesuňte jednu aplikaci na druhou."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Složka otevřena, %1$d x %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Klepnutím zavřete složku"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Klepnutím přejmenování potvrdíte"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Dotykem složku zavřete"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Dotykem uložíte změnu názvu"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Složka je uzavřena"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Složka přejmenována na %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Složka: %1$s"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 742788b..655d1a3 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Tryk og hold nede for at vælge en widget."</string>
     <string name="market" msgid="2652226429823445833">"Butik"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Elementet kunne ikke trækkes til startskærmen."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Elementet kunne ikke trækkes til startskærmen."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Vælg en widget for at oprette"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Mappenavn"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Omdøb mappe"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Genvejen \"<xliff:g id="NAME">%s</xliff:g>\" blev oprettet."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Genvejen \"<xliff:g id="NAME">%s</xliff:g>\" blev fjernet."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Genvejen \"<xliff:g id="NAME">%s</xliff:g>\" findes allerede."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Vælg genvej"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Vælg genvej"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Vælg app"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Applikationer"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Start"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"installer genveje"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Tillader, at en app tilføjer genveje uden brugerens indgriben."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"afinstaller genveje"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Tillader, at en app fjerner genveje uden brugerens indgriben."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Tillader, at appen fjerner genveje uden brugerens indgriben."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"læs indstillinger og genveje for Start"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Tillader, at en app læser indstillingerne og genvejene på startskærmen."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Tillader, at appen læser indstillingerne og genvejene på startskærmen."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"skriv indstillinger og genveje for Start"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Tillader, at en app ændrer indstillingerne og genvejene på startskærmen."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Tillader, at appen ændrer indstillingerne og genvejene på startskærmen."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Der er problemer med indlæsning af widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Du kan oprette en ny mappe på din startskærm ved at stable apps oven på hinanden."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Mappen blev åbnet, %1$d af %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Tryk for at lukke mappen"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Tryk for at omdøbe"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Tryk for at lukke mappen"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Tryk for at gemme det nye navn"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Mappen er lukket"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Mappen blev omdøbt til %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Mappe: %1$s"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index a125524..c88c647 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Zum Hinzufügen Widget berühren und halten"</string>
     <string name="market" msgid="2652226429823445833">"Shop"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Symbol wurde nicht auf Startbildschirm abgelegt."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Element wurde nicht auf Startbildschirm abgelegt."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Widget zum Erstellen auswählen"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Ordnername"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Ordner umbenennen"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"\"<xliff:g id="NAME">%s</xliff:g>\"-Verknüpfung wurde erstellt."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"\"<xliff:g id="NAME">%s</xliff:g>\"-Verknüpfung wurde entfernt."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"\"<xliff:g id="NAME">%s</xliff:g>\"-Verknüpfung ist bereits vorhanden."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Tastenkürzel auswählen"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Verknüpfung auswählen"</string>
     <string name="title_select_application" msgid="1793455815754848652">"App wählen"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Apps"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Startseite"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"Verknüpfungen installieren"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Ermöglicht einer App das Hinzufügen von Verknüpfungen ohne Eingriff des Nutzers"</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"Verknüpfungen deinstallieren"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Ermöglicht einer App das Entfernen von Verknüpfungen ohne Eingriff des Nutzers"</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Ermöglicht einer App das Entfernen von Verknüpfungen ohne Eingriff des Nutzers"</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"Einstellungen und Shortcuts für Startseite lesen"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Ermöglicht einer App, die Einstellungen und Verknüpfungen auf dem Startbildschirm zu lesen"</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Ermöglicht einer App, die Einstellungen und Verknüpfungen auf dem Startbildschirm zu lesen"</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"Einstellungen und Shortcuts für Startseite schreiben"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Ermöglicht einer App, die Einstellungen und Verknüpfungen auf dem Startbildschirm zu ändern"</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Ermöglicht einer App, die Einstellungen und Verknüpfungen auf dem Startbildschirm zu ändern"</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Fehler beim Laden des Widgets"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Stapeln Sie Apps übereinander, um einen neuen Ordner auf Ihrem Startbildschirm zu erstellen."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Ordner geöffnet, %1$d von %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Ordner durch Berühren schließen"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Umbenennung durch Berühren bestätigen"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Ordner durch Berühren schließen"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Umbenennung durch Berühren speichern"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Ordner wurde geschlossen"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Ordner umbenannt in %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Ordner: %1$s"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index dc4c536..befef6d 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Γραφικά στοιχεία"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Αγγίξτε παρατεταμένα για να πάρετε ένα γραφ.στοιχ."</string>
     <string name="market" msgid="2652226429823445833">"Αγορές"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Αδύνατη η τοποθ. του στοιχείου στην αρχική οθόνη."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Αδυναμία τοποθέτησης στοιχείου στην Αρχική οθόνη."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Επιλ. γραφ. στοιχείο για δημιουργία"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Όνομα φακέλου"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Μετονομασία φακέλου"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Δημιουργήθηκε η συντόμευση \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Η συντόμευση \"<xliff:g id="NAME">%s</xliff:g>\" καταργήθηκε."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Η συντόμευση \"<xliff:g id="NAME">%s</xliff:g>\" υπάρχει ήδη."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Επιλογή συντόμευσης"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Επιλέξτε συντόμευση"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Επιλογή εφαρμογής"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Εφαρμογές"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Αρχική σελίδα"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"εγκατάσταση συντομεύσεων"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Επιτρέπει σε μια εφαρμογή την προσθήκη συντομεύσεων χωρίς την παρέμβαση του χρήστη."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"κατάργηση εγκατάστασης συντομεύσεων"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Επιτρέπει σε μια εφαρμογή την κατάργηση συντομεύσεων χωρίς την παρέμβαση του χρήστη."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Επιτρέπει στην εφαρμογή την κατάργηση συντομεύσεων χωρίς την παρέμβαση του χρήστη."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"ανάγνωση ρυθμίσεων και συντομεύσεων αρχικής οθόνης"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Επιτρέπει σε μια εφαρμογή την ανάγνωση των ρυθμίσεων και των συντομεύσεων στην αρχική οθόνη."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Επιτρέπει στην εφαρμογή την ανάγνωση των ρυθμίσεων και των συντομεύσεων στην Αρχική οθόνη."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"εγγραφή ρυθμίσεων και συντομεύσεων αρχικής οθόνης"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Επιτρέπει σε μια εφαρμογή την αλλαγή των ρυθμίσεων και των συντομεύσεων στην αρχική οθόνη."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Επιτρέπει στην εφαρμογή την αλλαγή των ρυθμίσεων και των συντομεύσεων στην Αρχική οθόνη."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Παρουσιάστηκε πρόβλημα στη φόρτωση του γραφικού στοιχείου"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Αυτή είναι μια εφαρμογή συστήματος και δεν είναι δυνατή η κατάργηση της εγκατάστασής της."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Για να δημιουργήσετε ένα νέο φάκελο στην αρχική οθόνη, τοποθετήστε μια εφαρμογή πάνω σε μια άλλη."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Ο φάκελος άνοιξε, %1$d από %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Πατήστε για να κλείσετε τον φάκελο"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Πατήστε για να πραγματοποιήσετε μετονομασία"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Αγγίξτε για να κλείσετε τον φάκελο"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Αγγίξτε για να αποθηκεύσετε το νέο όνομα"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Ο φάκελος έκλεισε"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Ο φάκελος μετονομάστηκε σε %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Φάκελος: %1$s"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 22d9804..ed94aa4 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Touch &amp; hold to pick up a widget."</string>
     <string name="market" msgid="2652226429823445833">"Shop"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Couldn\'t drop item onto this Home screen."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Couldn\'t drop item on this Home screen."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Choose widget to create"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Folder name"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Rename folder"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"<xliff:g id="NAME">%s</xliff:g>Shortcut \"\" created."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"<xliff:g id="NAME">%s</xliff:g>Shortcut \"\" was removed."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"<xliff:g id="NAME">%s</xliff:g>Shortcut \"\" already exists."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Select shortcut"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Choose shortcut"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Choose app"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Apps"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Home"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"install shortcuts"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Allows an app to add shortcuts without user intervention."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"uninstall shortcuts"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Allows an app to remove shortcuts without user intervention."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Allows the app to remove shortcuts without user intervention."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"read Home settings and short cuts"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Allows an app to read the settings and shortcuts in Home."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Allows an app to read the settings and shortcuts in Home."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"write Home settings and shortcuts"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Allows an app to change the settings and shortcuts in Home."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Allows the app to change the settings and shortcuts in Home."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problem loading widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"To make a new folder on your Home screen, stack one app on top of another."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Folder opened, %1$d by %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Tap to close folder"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Tap to commit rename"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Touch to close folder"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Touch to save rename"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Folder closed"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Folder renamed to %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Folder: %1$s"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 72dd217..8b9eca1 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Mantén presionado el widget que deseas elegir."</string>
     <string name="market" msgid="2652226429823445833">"Comprar"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"El elemento no se soltó en la pantalla principal."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Error al soltar elemento en la pantalla principal"</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Elegir los widgets para crear"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nombre de carpeta"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Cambiar nombre de carpeta"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Acceso directo \"<xliff:g id="NAME">%s</xliff:g>\" creado."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"El acceso directo \"<xliff:g id="NAME">%s</xliff:g>\" ha sido eliminado."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"El acceso directo \"<xliff:g id="NAME">%s</xliff:g>\" ya existe."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Seleccionar acceso directo"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Elegir acceso directo"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Elegir una aplicación"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Aplicaciones"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Página principal"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalar accesos directos"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Permite que una aplicación agregue accesos directos sin que el usuario intervenga."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"desinstalar papel tapiz"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Permite que una aplicación elimine accesos directos sin que el usuario intervenga."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Permite que la aplicación elimine accesos directos sin que el usuario intervenga."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"leer configuración y accesos directos de la página principal"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Permite que una aplicación lea la configuración y los accesos directos de la página principal."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Permite que la aplicación lea la configuración y los accesos directos de la página principal."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"escribir configuración y accesos directos de la página principal"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Permite que una aplicación cambie la configuración y los accesos directos de la página principal."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Permite que la aplicación cambie la configuración y los accesos directos de la página principal."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problema al cargar el widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Para crear una carpeta nueva en tu pantalla principal, coloca una aplicación encima de la otra."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"Aceptar"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Se abrió la carpeta, %1$d por %2$d."</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Toca para cerrar la carpeta."</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Toca para cambiar el nombre de la carpeta."</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Toca para cerrar la carpeta."</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Toca para guardar el nuevo nombre."</string>
     <string name="folder_closed" msgid="3130534551370511932">"Se cerró la carpeta."</string>
     <string name="folder_renamed" msgid="781234745487414781">"Se cambió el nombre de la carpeta a %1$s."</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Carpeta: %1$s"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 46645a7..062ec37 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Mantén pulsado el widget que quieras seleccionar."</string>
     <string name="market" msgid="2652226429823445833">"Tienda"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"No se ha podido añadir el elemento en este escritorio."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Error al arrastrar elemento a este escritorio"</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Selecciona el widget que quieres añadir"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nombre de carpeta"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Cambiar nombre de carpeta"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Se ha creado el acceso directo \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Se ha eliminado el acceso directo \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"El acceso directo \"<xliff:g id="NAME">%s</xliff:g>\" ya existe."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Seleccionar acceso directo"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Elegir acceso directo"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Selecciona una aplicación"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Aplicaciones"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Inicio"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalar accesos directos"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Permite que una aplicación añada accesos directos sin intervención del usuario."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"desinstalar accesos directos"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Permite que una aplicación elimine accesos directos sin intervención del usuario."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Permite que la aplicación elimine accesos directos sin intervención del usuario."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"leer información de accesos directos y de configuración del escritorio"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Permite que una aplicación lea los ajustes y accesos directos del escritorio."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Permite que la aplicación lea los ajustes y los accesos directos del escritorio."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"escribir información de accesos directos y de configuración del escritorio"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Permite que las aplicaciones cambien los ajustes y los accesos directos del escritorio."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Permite que las aplicaciones cambien los ajustes y los accesos directos del escritorio."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problema al cargar el widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Para crear una carpeta nueva en el escritorio, coloca una aplicación encima de otra."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"Aceptar"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Carpeta abierta de %1$d por %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Toca para cerrar la carpeta."</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Toca para cambiar el nombre."</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Toca para cerrar la carpeta."</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Toca para cambiar el nuevo nombre."</string>
     <string name="folder_closed" msgid="3130534551370511932">"Carpeta cerrada"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Se ha cambiado el nombre de la carpeta a %1$s."</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Carpeta: %1$s"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index f8e7cc8..24c24c4 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Vidinad"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Vidina valimiseks puudutage seda pikalt."</string>
     <string name="market" msgid="2652226429823445833">"Pood"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Üksust ei saa sellele avakuvale tuua."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Üksust ei saa sellele avaekraanile tuua."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Valige loomiseks vidin"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Kausta nimi"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Nimeta kaust ümber"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Otsetee „<xliff:g id="NAME">%s</xliff:g>” loodud."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Otsetee „<xliff:g id="NAME">%s</xliff:g>” eemaldatud."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Otsetee „<xliff:g id="NAME">%s</xliff:g>” on juba olemas."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Valige otsetee"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Otsetee valimine"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Rakenduse valimine"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Rakendused"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Kodu"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"otseteede installimine"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Võimaldab rakendusel lisada otseteid kasutaja sekkumiseta."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"otseteede desinstallimine"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Võimaldab rakendusel eemaldada otseteid kasutaja sekkumiseta."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Võimaldab rakendusel eemaldada otseteid kasutaja sekkumiseta."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"avalehe seadete ja otseteede lugemine"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Võimaldab rakendusel lugeda avalehe seadeid ja otseteid."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Võimaldab rakendusel lugeda avalehe seadeid ja otseteid."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"avalehe seadete ja otseteede kirjutamine"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Võimaldab rakendusel muuta avalehe seadeid ja otseteid."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Võimaldab rakendusel muuta avalehel seadeid ja otseteid."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Probleem vidina laadimisel"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Avakuval uue kausta tegemiseks virnastage üks rakendus teisele."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Kaust avatud %1$d, %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Puudutage kausta sulgemiseks"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Puudutage ümbernimetamise kinnitamiseks"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Puudutage kausta sulgemiseks"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Puudutage uue nime salvestamiseks"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Kaust suletud"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Kausta uus nimi %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Kaust: %1$s"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 46c7019..4b94488 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"ابزارک ها"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"برای انتخاب یک ابزارک لمس کنید و نگه دارید."</string>
     <string name="market" msgid="2652226429823445833">"فروشگاه"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"این مورد را نمی‌توان در این صفحه اصلی رها کرد."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"این مورد را نمی‌توان در این صفحه اصلی رها کرد."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"انتخاب ابزارک برای ایجاد"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"نام پوشه"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"تغییر نام پوشه"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"میانبر \"<xliff:g id="NAME">%s</xliff:g>\" ایجاد شد."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"میانبر \"<xliff:g id="NAME">%s</xliff:g>\" حذف شد."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"میانبر \"<xliff:g id="NAME">%s</xliff:g>\" در حال حاضر وجود دارد."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"انتخاب میانبر"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"انتخاب میانبر"</string>
     <string name="title_select_application" msgid="1793455815754848652">"انتخاب برنامه"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"برنامه های کاربردی"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"صفحه اصلی"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"نصب میانبرها"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"به یک برنامه اجازه می‌دهد میانبرها را بدون دخالت کاربر اضافه کند."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"حذف نصب میانبرها"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"به یک برنامه اجازه می‌دهد میانبرها را بدون دخالت کاربر حذف کند."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"به یک برنامه اجازه می‌دهد میانبرها را بدون دخالت کاربر حذف کند."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"خواندن تنظیمات صفحه اصلی و میانبرها"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"به یک برنامه اجازه خواندن تنظیمات و میانبرها را در صفحه اصلی می‌دهد."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"به برنامه اجازه خواندن تنظیمات و میانبرها را در صفحه اصلی می‌دهد."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"نوشتن تنظیمات صفحه اصلی و میانبرها"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"به یک برنامه برای تغییر تنظیمات و میانبرها در صفحه اصلی اجازه می‌دهد."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"به برنامه اجازه تغییر تنظیمات و میانبرها را در صفحه اصلی می‌دهد."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"مشکل در بارگیری ابزارک"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"این یک برنامه سیستمی است و حذف نصب نمی‌شود."</string>
     <string name="dream_name" msgid="2847171357608437154">"پرتاب کننده موشک"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"برای ایجاد یک پوشه جدید در صفحه اصلی خود، یک برنامه را در بالای دیگری قرار دهید."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"تأیید"</string>
     <string name="folder_opened" msgid="4129072635480822768">"پوشه باز شد، %1$d در %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"برای بستن پوشه، ضربه بزنید"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"برای تأیید تغییرنام، ضربه بزنید"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"برای بستن پوشه لمس کنید"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"برای ذخیره تغییر نام لمس کنید"</string>
     <string name="folder_closed" msgid="3130534551370511932">"پوشه بسته شد"</string>
     <string name="folder_renamed" msgid="781234745487414781">"نام پوشه به %1$s تغییر کرد"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"پوشه: %1$s"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 656fca1..4873877 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgetit"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Valitse widget painamalla sitä pitkään."</string>
     <string name="market" msgid="2652226429823445833">"Myymälä"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Kohdetta ei voi lisätä aloitusruutuun."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Kohteen lisääminen tähän aloitusruutuun epäonnistui."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Valitse luotava widget"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Kansion nimi"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Nimeä kansio uudelleen"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Pikakuvake <xliff:g id="NAME">%s</xliff:g> luotu"</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Pikakuvake <xliff:g id="NAME">%s</xliff:g> poistettiin."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Pikakuvake <xliff:g id="NAME">%s</xliff:g> on jo olemassa."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Valitse pikakuvake"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Valitse pikakuvake"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Valitse sovellus"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Sovellukset"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Etusivu"</string>
@@ -55,7 +55,7 @@
     <string name="delete_target_uninstall_label" msgid="748894921183769150">"Poista"</string>
     <string name="info_target_label" msgid="4019495079517426980">"Sovelluksen tiedot"</string>
     <string name="accessibility_search_button" msgid="816822994629942611">"Haku"</string>
-    <string name="accessibility_voice_search_button" msgid="3938249215065842475">"Äänihaku"</string>
+    <string name="accessibility_voice_search_button" msgid="3938249215065842475">"Puhehaku"</string>
     <string name="accessibility_all_apps_button" msgid="8803738611398979849">"Sovellukset"</string>
     <string name="accessibility_delete_button" msgid="3628162007991023603">"Poista"</string>
     <string name="delete_zone_label_all_apps_system_app" msgid="3683920959591819044">"Poista päivitys"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"asentaa pikakuvakkeita"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Antaa sovelluksen lisätä pikakuvakkeita itsenäisesti ilman käyttäjän valintaa."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"poistaa pikakuvakkeita"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Antaa sovelluksen poistaa pikakuvakkeita itsenäisesti ilman käyttäjän valintaa."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Antaa sovelluksen poistaa pikakuvakkeita ilman käyttäjän valintaa."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"lukea etusivun asetuksia ja pikakuvakkeita"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Antaa sovelluksen lukea aloitusruudun asetuksia ja pikakuvakkeita."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Antaa sovelluksen lukea aloitusruudun asetukset ja pikakuvakkeet."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"kirjoittaa etusivun asetuksia ja pikakuvakkeita"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Antaa sovelluksen muuttaa aloitusruudun asetuksia ja pikakuvakkeita."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Antaa sovelluksen muuttaa aloitusruudun asetuksia ja pikakuvakkeita."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Ongelma ladattaessa widgetiä"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Voit luoda uuden kansion aloitusruutuun pinoamalla yhden sovelluksen toisen päälle."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Kansio avattu, %1$d avaaja: %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Sulje kansio napauttamalla"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Aseta uusi nimi napauttamalla"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Sulje kansio koskettamalla"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Tallenna uudella nimellä koskettamalla"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Kansio on suljettu"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Kansio nimetty uudelleen: %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Kansio: %1$s"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 284bbdf..284c57e 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Appuyez de manière prolongée pour ajouter widget."</string>
     <string name="market" msgid="2652226429823445833">"Acheter"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Impossible de déposer élément sur écran d\'accueil."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Impossible de déposer élément sur écran d\'accueil."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Sélectionnez le widget à créer"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nom du dossier"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Renommer le dossier"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Le raccourci \"<xliff:g id="NAME">%s</xliff:g>\" a été créé."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Le raccourci \"<xliff:g id="NAME">%s</xliff:g>\" a été supprimé."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Le raccourci \"<xliff:g id="NAME">%s</xliff:g>\" existe déjà."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Sélectionner un raccourci"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Sélectionner un raccourci"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Sélectionner une application"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Applications"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Page d\'accueil"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"installer des raccourcis"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Permet à une application d\'ajouter des raccourcis sans l\'intervention de l\'utilisateur."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"désinstaller les raccourcis"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Permet à une application de supprimer des raccourcis sans l\'intervention de l\'utilisateur."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Permet à l\'application de supprimer des raccourcis sans l\'intervention de l\'utilisateur."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"Lire les paramètres et les raccourcis de la page d\'accueil"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Permet à une application de lire les paramètres et les raccourcis de l\'écran d\'accueil."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Permet à l\'application de lire les paramètres et les raccourcis de l\'écran d\'accueil."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"Enregistrer les paramètres de la page d\'accueil et des raccourcis"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Permet à une application de modifier les paramètres et les raccourcis de l\'écran d\'accueil."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Permet à l\'application de modifier les paramètres et les raccourcis de l\'écran d\'accueil."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problème lors du chargement du widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Pour créer un dossier sur votre écran d\'accueil, superposez les applications les unes sur les autres."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Dossier ouvert, %1$d par %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Appuyez pour fermer le dossier."</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Appuyez pour confirmer le nouveau nom."</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Appuyez pour fermer le dossier."</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Appuyez pour enregistrer le nouveau nom."</string>
     <string name="folder_closed" msgid="3130534551370511932">"Dossier fermé"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Nouveau nom du dossier : %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Dossier : %1$s"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index a37ee5a..25bc0b5 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"विजेट"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"किसी विजेट को चुनने के लिए स्‍पर्श करके रखें."</string>
     <string name="market" msgid="2652226429823445833">"दुकान"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"इस मुखपृष्ठ स्‍क्रीन पर आइटम को नहीं छोड़ सका."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"इस मुखपृष्ठ स्‍क्रीन पर आइटम को नहीं छोड़ा जा सका."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"बनाने के लिए विजेट चुनें"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"फ़ोल्‍डर का नाम"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"फ़ोल्‍डर का नाम बदलें"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"\"<xliff:g id="NAME">%s</xliff:g>\" शार्टकट बना दिया गया."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"\"<xliff:g id="NAME">%s</xliff:g>\" शॉर्टकट हटाया गया."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"शार्टकट \"<xliff:g id="NAME">%s</xliff:g>\" पहले से मौजूद है."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"शॉर्टकट का चयन करें"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"शॉर्टकट चुनें"</string>
     <string name="title_select_application" msgid="1793455815754848652">"एप्‍लिकेशन चुनें"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"एप्लिकेशन"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"होम"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"शॉर्टकट स्‍थापित करें"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"एप्लिकेशन को उपयोगकर्ता के हस्‍तक्षेप के बिना शॉर्टकट जोड़ने देता है."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"शॉर्टकट अनइंस्टॉल करें"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"एप्लिकेशन को उपयोगकर्ता के हस्‍तक्षेप के बिना शॉर्टकट निकालने देता है."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"एप्लिकेशन को उपयोगकर्ता के हस्‍तक्षेप के बिना शॉर्टकट निकालने देता है."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"होम सेटिंग और शॉर्टकट पढ़ें"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"एप्लिकेशन को मुखपृष्ठ पर सेटिंग और शॉर्टकट पढ़ने देता है."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"एप्लिकेशन को मुखपृष्ठ पर सेटिंग और शॉर्टकट पढ़ने देता है."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"होम सेटिंग और शॉर्टकट लिखें"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"एप्लिकेशन को मुखपृष्ठ पर सेटिंग और शॉर्टकट बदलने देता है."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"एप्लिकेशन को मुखपृष्ठ पर सेटिंग और शॉर्टकट बदलने देता है."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"विजेट लोड करने में समस्‍या"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"यह सिस्‍टम एप्लिकेशन है और इसे अनइंस्‍टॉल नहीं किया जा सकता."</string>
     <string name="dream_name" msgid="2847171357608437154">"रॉकेट लॉन्‍चर"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"अपनी मुखपृष्ठ स्‍क्रीन पर कोई नया फ़ोल्डर बनाने के लिए, एक एप्लिकेशन को दूसरे के शीर्ष पर स्‍टैक करें."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"ठीक"</string>
     <string name="folder_opened" msgid="4129072635480822768">"फ़ोल्डर खोला गया, %2$d द्वारा %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"फ़ोल्डर बंद करने के लिए टैप करें"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"नाम बदलना सुनिश्चित करने के लिए टैप करें"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"फ़ोल्‍डर बंद करने के लिए स्‍पर्श करें"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"परिवर्तित नाम सहेजने के लिए स्पर्श करें"</string>
     <string name="folder_closed" msgid="3130534551370511932">"फ़ोल्डर बंद किया गया"</string>
     <string name="folder_renamed" msgid="781234745487414781">"फ़ोल्डर का नाम बदलकर %1$s कर दिया गया"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"फ़ोल्डर: %1$s"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 9eb2aed..d9daf08 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgeti"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Dodirnite i držite kako biste preuzeli widget."</string>
     <string name="market" msgid="2652226429823445833">"Trgovina"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Nije bilo moguće spustiti stavku na početni zaslon"</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Nije bilo moguće spustiti stavku na početni zaslon."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Odabir widgeta za stvaranje"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Naziv mape"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Preimenuj mapu"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Izrađen je prečac za \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Prečac za \"<xliff:g id="NAME">%s</xliff:g>\" je uklonjen."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Prečac za \"<xliff:g id="NAME">%s</xliff:g>\" već postoji."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Odaberite prečac"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Odabir prečaca"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Odabir aplikacije"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Aplikacije"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Početna"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instaliraj prečace"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Omogućuje aplikaciji dodavanje prečaca bez intervencije korisnika."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"deinstaliraj prečace"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Dopušta aplikaciji uklanjanje prečaca bez intervencije korisnika."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Dopušta aplikaciji uklanjanje prečaca bez intervencije korisnika."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"pročitaj postavke početnog zaslona i prečaca"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Dopušta aplikaciji čitanje postavki i prečaca na početnom zaslonu."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Dopušta aplikaciji čitanje postavki i prečaca na početnom zaslonu."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"zapiši postavke početnog zaslona i prečaca"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Dopušta aplikaciji promjenu postavki i prečaca na početnom zaslonu."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Dopušta aplikaciji promjenu postavki i prečaca na početnom zaslonu."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problem pri učitavanju widgeta"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Da biste napravili novu mapu na početnom zaslonu, stavite jednu aplikaciju na drugu."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"U redu"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Mapa je otvorena, %1$d s %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Dotaknite za zatvaranje mape"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Dotaknite za izvršavanje preimenovanja"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Dodirnite za zatvaranje mape"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Dodirnite da biste spremili preimenovanje"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Mapa zatvorena"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Mapa je preimenovana u %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Mapa: %1$s"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 6d4b63e..a66a6e0 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -23,13 +23,13 @@
     <string name="uid_name" msgid="3371120195364560632">"Alap Android-alkalmazások"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Válasszon tapétát innen:"</string>
-    <string name="wallpaper_instructions" msgid="4215640646180727542">"Háttérkép beállítása"</string>
+    <string name="wallpaper_instructions" msgid="4215640646180727542">"Háttérkép kiválasztása"</string>
     <string name="pick_wallpaper" msgid="5630222540525626723">"Háttérképek"</string>
     <string name="activity_not_found" msgid="217823393239365967">"Az alkalmazás nincs telepítve."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Modulok"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Modul felvételéhez érintse meg, és tartsa lenyomva"</string>
     <string name="market" msgid="2652226429823445833">"Bolt"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Nem lehet elemeket dobni erre a Kezdőképernyőre."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Nem lehet elemeket dobni erre a Kezdőképernyőre."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"A létrehozáshoz válasszon modult"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Mappa neve"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Mappa átnevezése"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"\"<xliff:g id="NAME">%s</xliff:g>\" parancsikon létrehozva."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"A(z) \"<xliff:g id="NAME">%s</xliff:g>\" parancsikon eltávolításra került."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"\"<xliff:g id="NAME">%s</xliff:g>\" parancsikon már létezik."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Parancsikon kiválasztása"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Parancsikon választása"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Válasszon alkalmazást"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Alkalmazások"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Főoldal"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"parancsikonok telepítése"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Lehetővé teszi egy alkalmazás számára, hogy felhasználói beavatkozás nélkül adjon hozzá parancsikonokat."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"parancsikonok eltávolítása"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Lehetővé teszi egy alkalmazás számára, hogy felhasználói beavatkozás nélkül távolítson el parancsikonokat."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Lehetővé teszi egy alkalmazás számára, hogy felhasználói beavatkozás nélkül távolítson el parancsikonokat."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"Főoldal beállításainak és parancsikonjainak beolvasása"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Lehetővé teszi egy alkalmazás számára, hogy beolvassa a Kezdőképernyő beállításait és parancsikonjait."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Lehetővé teszi az alkalmazás számára, hogy beolvassa a Kezdőképernyő beállításait és parancsikonjait."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"Főoldal beállításainak és parancsikonjainak írása"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Lehetővé teszi egy alkalmazás számára, hogy módosítsa a Kezdőképernyő beállításait és parancsikonjait."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Lehetővé teszi az alkalmazás számára, hogy módosítsa a Kezdőképernyő beállításait és parancsikonjait."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Probléma történt a modul betöltésekor"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Ha egy új mappát szeretne létrehozni a kezdőképernyőn, helyezzen egymásra két alkalmazást."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Megnyitott mappa: %1$d x %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Érintse meg a mappa bezárásához"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Átnevezéshez érintse meg"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Érintse meg a mappa bezárásához"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Érintse meg az átnevezés mentéséhez"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Mappa lezárva"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Mappa átnevezve a következőre: %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Mappa: %1$s"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index a7214d8..2e9eb68 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widget"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Sentuh &amp; tahan untuk memilih gawit."</string>
     <string name="market" msgid="2652226429823445833">"Belanja"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Tidak dapat melepas item ke layar Utama ini."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Tidak dapat melepas item ke layar Utama ini."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Pilih gawit untuk membuat"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nama map"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Ubah nama map"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Pintasan \"<xliff:g id="NAME">%s</xliff:g>\" sudah dibuat."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Pintasan \"<xliff:g id="NAME">%s</xliff:g>\" telah dihapus."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Pintasan \"<xliff:g id="NAME">%s</xliff:g>\" sudah ada."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Pilih pintasan"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Pilih pintasan"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Pilih apl"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Apps"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Rumah"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"pasang pintasan"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Mengizinkan apl menambahkan pintasan tanpa campur tangan pengguna."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"copot pemasangan pintasan"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Mengizinkan apl menghapus pintasan tanpa campur tangan pengguna."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Mengizinkan apl menghapus pintasan tanpa campur tangan pengguna."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"baca setelan dan pintasan Beranda"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Mengizinkan aplikasi membaca setelan dan pintasan di layar Utama."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Mengizinkan apl membaca setelan dan pintasan di layar Utama."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"tuliskan setelan dan pintasan Beranda"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Mengizinkan apl mengubah setelan dan pintasan di layar Utama."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Mengizinkan apl mengubah setelan dan pintasan di layar Utama."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Masalah memuat widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Untuk membuat map baru di layar Utama Anda, tumpuk satu apl di atas apl yang lain."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Map dibuka, %1$d kali %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Ketuk untuk menutup map"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Ketuk untuk mengubah nama"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Sentuh untuk menutup map"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Sentuh untuk menyimpan pengubahan nama"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Map ditutup"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Map diubah namanya menjadi %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Map: %1$s"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index f935303..edcf54d 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widget"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Tocca e tieni premuto per scegliere un widget."</string>
     <string name="market" msgid="2652226429823445833">"Acquista"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Rilascio elemento in schermata Home non riuscito."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Rilascio elemento in schermata Home non riuscito."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Scegli il widget da creare"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nome cartella"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Rinomina cartella"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Scorciatoia \"<xliff:g id="NAME">%s</xliff:g>\" creata."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"La scorciatoia \"<xliff:g id="NAME">%s</xliff:g>\" è stata rimossa."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Scorciatoia \"<xliff:g id="NAME">%s</xliff:g>\" già presente."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Seleziona scorciatoia"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Scegli scorciatoia"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Scegli applicazione"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Applicazioni"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Home"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"aggiungere scorciatoie"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Consente a un\'applicazione di aggiungere scorciatoie automaticamente."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"eliminare scorciatoie"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Consente a un\'applicazione di rimuovere scorciatoie automaticamente."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Consente all\'applicazione di rimuovere scorciatoie automaticamente."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"leggere impostazioni e scorciatoie in Home"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Consente a un\'applicazione di leggere le impostazioni e le scorciatoie in Home."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Consente all\'applicazione di leggere le impostazioni e le scorciatoie in Home."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"creare impostazioni e scorciatoie in Home"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Consente a un\'applicazione di modificare le impostazioni e le scorciatoie in Home."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Consente all\'applicazione di modificare le impostazioni e le scorciatoie in Home."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Errore durante il caricamento del widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Per creare una nuova cartella sulla schermata Home, impila un\'applicazione su un\'altra."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Cartella aperta, %1$d per %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Tocca per chiudere la cartella"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Tocca per applicare nuovo nome"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Tocca per chiudere la cartella"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Tocca per salvare nuovo nome"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Cartella chiusa"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Nome della cartella sostituito con %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Cartella: %1$s"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index d6f18fd..1dfdab8 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"רכיבי Widget"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"גע בפריט והחזק בו כדי לבחור Widget."</string>
     <string name="market" msgid="2652226429823445833">"קנה"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"לא ניתן לשחרר את הפריט במסך דף הבית הזה."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"לא ניתן לשחרר את הפריט במסך דף בית זה."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"בחר Widget ליצירה"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"שם תיקיה"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"שנה את שם התיקיה"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"הקיצור \'<xliff:g id="NAME">%s</xliff:g>\' נוצר."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"הקיצור \'<xliff:g id="NAME">%s</xliff:g>\' הוסר."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"הקיצור \'<xliff:g id="NAME">%s</xliff:g>\' כבר קיים."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"בחר קיצור דרך"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"בחר קיצור דרך"</string>
     <string name="title_select_application" msgid="1793455815754848652">"בחר יישום"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"יישומים"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"בית"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"התקן קיצורי דרך"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"מאפשר ליישום להוסיף קיצורי דרך ללא התערבות המשתמש."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"הסר קיצורי דרך"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"מאפשר ליישום להסיר קיצורי דרך ללא התערבות המשתמש."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"מאפשר ליישום להסיר קיצורי דרך ללא התערבות המשתמש."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"קרא הגדרות וקיצורי דרך של דף הבית"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"מאפשר ליישום לקרוא את ההגדרות וקיצורי הדרך בדף הבית."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"מאפשר ליישום לקרוא את ההגדרות וקיצורי הדרך בדף הבית."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"כתוב הגדרות וקיצורי דרך של דף הבית"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"מאפשר ליישום לשנות את ההגדרות וקיצורי הדרך בדף הבית."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"מאפשר ליישום לשנות את ההגדרות וקיצורי הדרך בדף הבית."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"בעיה בטעינת Widget"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"זהו יישום מערכת ולא ניתן להסיר את התקנתו."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"כדי ליצור תיקיה חדשה במסך דף הבית, הצב יישום אחד בערימה מעל יישום אחר."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"בסדר"</string>
     <string name="folder_opened" msgid="4129072635480822768">"התיקייה נפתחה, %1$d על %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"הקש כדי לסגור את התיקייה"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"הקש כדי לבצע שינוי שם"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"גע כדי לסגור את התיקייה"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"גע כדי לשמור שינוי שם"</string>
     <string name="folder_closed" msgid="3130534551370511932">"התיקייה נסגרה"</string>
     <string name="folder_renamed" msgid="781234745487414781">"שם התיקייה שונה ל-%1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"תיקייה: %1$s"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index c172fa0..fe1fd92 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"ウィジェット"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"ウィジェットを追加するには押し続けます。"</string>
     <string name="market" msgid="2652226429823445833">"ショップ"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"このホーム画面にアイテムをドロップできませんでした"</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"このホーム画面にアイテムをドロップできませんでした。"</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"作成するウィジェットの選択"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"フォルダ名"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"フォルダ名を変更"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"ショートカット「<xliff:g id="NAME">%s</xliff:g>」を作成しました。"</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"ショートカット「<xliff:g id="NAME">%s</xliff:g>」を削除しました。"</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"ショートカット「<xliff:g id="NAME">%s</xliff:g>」は既に存在します。"</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"ショートカットを選択"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"ショートカットを選択"</string>
     <string name="title_select_application" msgid="1793455815754848652">"アプリの選択"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"アプリ"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"ホーム"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"ショートカットのインストール"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"ユーザー操作なしでショートカットを追加することをアプリに許可します。"</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"ショートカットのアンインストール"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"ユーザー操作なしでショートカットを削除することをアプリに許可します。"</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"ユーザー操作なしでショートカットを削除することをアプリに許可します。"</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"ホーム設定とショートカットの読み取り"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"ホームの設定とショートカットの読み取りをアプリに許可します。"</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"ホームの設定とショートカットの読み取りをアプリに許可します。"</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"ホームの設定とショートカットの書き込み"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"ホームの設定とショートカットの変更をアプリに許可します。"</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"ホームの設定とショートカットの変更をアプリに許可します。"</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"ウィジェットを表示できません"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"このシステムアプリはアンインストールできません。"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"ホーム画面に新しいフォルダを作成するには、アプリを他のアプリの上に重ねます。"</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"フォルダが開いています。%1$dx%2$dの大きさです"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"タップしてフォルダを閉じます"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"タップして名前の変更を確定"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"タップしてフォルダを閉じます"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"タップして名前の変更を保存します"</string>
     <string name="folder_closed" msgid="3130534551370511932">"フォルダは閉じています"</string>
     <string name="folder_renamed" msgid="781234745487414781">"フォルダの名前を「%1$s」に変更しました"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"フォルダ: %1$s"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 34657e8..d1a874f 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"위젯"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"위젯을 선택하려면 길게 터치하세요."</string>
     <string name="market" msgid="2652226429823445833">"쇼핑"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"홈 화면에 항목을 놓을 수 없습니다."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"홈 화면에 항목을 놓을 수 없습니다."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"만들 위젯 선택"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"폴더 이름"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"폴더 이름 바꾸기"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"바로가기(\'<xliff:g id="NAME">%s</xliff:g>\')가 생성되었습니다."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"바로가기(\'<xliff:g id="NAME">%s</xliff:g>\')가 삭제되었습니다."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"바로가기(\'<xliff:g id="NAME">%s</xliff:g>\')가 이미 있습니다."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"바로가기 선택"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"바로가기 선택"</string>
     <string name="title_select_application" msgid="1793455815754848652">"앱 선택"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"애플리케이션"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"홈"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"바로가기 설치"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"앱이 사용자의 작업 없이 바로가기를 추가할 수 있도록 합니다."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"바로가기 제거"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"앱이 사용자의 작업 없이 바로가기를 삭제할 수 있도록 합니다."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"앱이 사용자의 작업 없이 바로가기를 삭제할 수 있도록 합니다."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"홈 설정 및 바로가기 읽기"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"앱이 홈에 있는 설정 및 바로가기를 읽을 수 있도록 합니다."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"앱이 홈에 있는 설정 및 바로가기를 읽을 수 있도록 합니다."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"홈 설정 및 바로가기 쓰기"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"앱이 홈에 있는 설정 및 바로가기를 변경할 수 있도록 합니다."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"앱이 홈에 있는 설정 및 바로가기를 변경할 수 있도록 합니다."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"위젯을 로드하는 중 문제가 발생했습니다."</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"시스템 앱은 제거할 수 없습니다."</string>
     <string name="dream_name" msgid="2847171357608437154">"로켓 실행기"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"홈 화면에 새로운 폴더를 만들려면 앱 하나를 다른 앱 위에 겹쳐 놓습니다."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"확인"</string>
     <string name="folder_opened" msgid="4129072635480822768">"폴더 열림, %1$d 곱하기 %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"탭하여 폴더를 닫음"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"탭하여 이름을 바꿈"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"터치하여 폴더를 닫음"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"터치하여 바꾼 이름을 저장"</string>
     <string name="folder_closed" msgid="3130534551370511932">"폴더 닫음"</string>
     <string name="folder_renamed" msgid="781234745487414781">"%1$s(으)로 폴더 이름 바꿈"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"폴더: %1$s"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 2b12981..f3c28cb 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Valdikliai"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Kad pasirinkt. valdiklį, palieskite ir laikykite."</string>
     <string name="market" msgid="2652226429823445833">"Parduotuvė"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Nepavyko palikti elemento šiame pagrind. ekrane."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Nepavyko nuvilkti elemento į šį pagrind. ekraną."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Pasirinkite norimą kurti valdiklį"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Aplanko pavadinimas"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Sukurti aplankui naują pavadinimą"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Sukurtas „<xliff:g id="NAME">%s</xliff:g>“ spartusis klavišas."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Spartusis klavišas „<xliff:g id="NAME">%s</xliff:g>“ pašalintas."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Spartusis klavišas „<xliff:g id="NAME">%s</xliff:g>“ jau yra."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Pasirinkti spartųjį klavišą"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Pasirinkite spartųjį klavišą"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Pasirinkite programą"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Apps"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Pagrindinis"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"įdiegti sparčiuosius klavišus"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Leidžiama programai pridėti sparčiuosius klavišus be naudotojo įsikišimo."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"pašalinti sparčiuosius klavišus"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Leidžiama programai pašalinti sparčiuosius klavišus be naudotojo įsikišimo."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Programai leidžiama pašalinti sparčiuosius klavišus be naudotojo įsikišimo."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"skaityti pagrindinio puslapio nustatymus ir sparčiuosius klavišus"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Leidžiama programai skaityti pagrindinio puslapio nustatymus ir sparčiuosius klavišus."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Programai leidžiama skaityti pagrindinio puslapio nustatymus ir sparčiuosius klavišus."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"rašyti pagrindinio puslapio nustatymus ir sparčiuosius klavišus"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Leidžiama programai keisti pagrindinio puslapio nustatymus ir sparčiuosius klavišus."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Programai leidžiama keisti pagrindinio puslapio nustatymus ir sparčiuosius klavišus."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problema įkeliant valdiklį"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Jei pagrindiniame ekrane norite sukurti naują aplanką, uždėkite vieną programą ant kitos."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"Gerai"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Aplankas atidarytas, %1$d ir %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Palieskite, kad uždarytumėte aplanką"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Palieskite, kad pervardytumėte"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Palieskite, kad uždarytumėte aplanką"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Palieskite, kad išsaugotumėte naują pavadinimą"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Aplankas uždarytas"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Aplankas pervardytas į %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Aplankas: %1$s"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 96686c3..537320a 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Logrīki"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Lai izvēlētos logrīku, pieskarieties tam un turiet to."</string>
     <string name="market" msgid="2652226429823445833">"Iepirkties"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Nevarēja nomest vienumu šajā sākuma ekrānā."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Nevarēja nomest vienumu šajā sākuma ekrānā."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Izveidojamā logrīka izvēlēšanās"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Mapes nosaukums"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Mapes pārdēvēšana"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Saīsne “<xliff:g id="NAME">%s</xliff:g>” tika izveidota."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Saīsne “<xliff:g id="NAME">%s</xliff:g>” tika noņemta."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Saīsne “<xliff:g id="NAME">%s</xliff:g>” jau pastāv."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Saīsnes atlase"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Saīsnes izvēle"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Lietotnes izvēlēšanās"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Lietotnes"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Sākums"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"ievietot saīsnes"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Ļauj lietotnei pievienot saīsnes, nejautājot lietotājam."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"atinstalēt saīsnes"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Ļauj lietotnei noņemt saīsnes, nejautājot lietotājam."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Ļauj lietotnei noņemt saīsnes, nejautājot lietotājam."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"lasīt sākuma ekrāna iestatījumus un saīsnes"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Ļauj lietotnei lasīt iestatījumus un saīsnes sākuma ekrānā."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Ļauj lietotnei lasīt iestatījumus un saīsnes sākuma ekrānā."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"rakstīt sākuma ekrāna iestatījumus un saīsnes"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Ļauj lietotnei mainīt iestatījumus un saīsnes sākuma ekrānā."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Ļauj lietotnei mainīt iestatījumus un saīsnes sākuma ekrānā."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Radās problēma, ielādējot logrīku"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Lai sākuma ekrānā izveidotu jaunu mapi, novietojiet vienu lietotni virs citas lietotnes."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"Labi"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Mape atvērta, %1$d x %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Pieskarieties, lai aizvērtu mapi."</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Pieskarieties, lai pārdēvētu"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Pieskarieties, lai aizvērtu mapi."</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Pieskarieties, lai saglabātu pārdēvēto nosaukumu."</string>
     <string name="folder_closed" msgid="3130534551370511932">"Mape aizvērta"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Mape pārdēvēta par: %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Mape: %1$s"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 44f38d1..ac50c1a 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widget"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Sentuh &amp; tahan untuk mengambil widget."</string>
     <string name="market" msgid="2652226429823445833">"Kedai"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Tidak dapat melepaskan item pada skrin Utama ini."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Tidak dapat melepaskan item pada skrin Utama ini."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Pilih widget untuk dibuat"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nama folder"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Namakan semula folder"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Pintasan \"<xliff:g id="NAME">%s</xliff:g>\" diwujudkan."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Pintasan \"<xliff:g id="NAME">%s</xliff:g>\" telah dialih keluar."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Pintasan \"<xliff:g id="NAME">%s</xliff:g>\" sudah pun wujud."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Pilih pintasan"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Pilih pintasan"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Pilih aplikasi"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Apl"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Laman Utama"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"pasang pintasan"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Membenarkan aplikasi menambah pintasan tanpa campur tangan pengguna."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"nyahpasang pintasan"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Membenarkan aplikasi mengalih keluar pintasan tanpa campur tangan pengguna."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Membenarkan apl mengalih keluar pintasan tanpa campur tangan pengguna."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"membaca tetapan dan pintasan Laman Utama"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Membenarkan aplikasi untuk membaca tetapan dan pintasan di Laman Utama."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Membenarkan apl membaca tetapan dan pintasan di Laman Utama."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"menulis tetapan dan pintasan Laman Utama"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Membenarkan aplikasi untuk menukar tetapan dan pintasan di Laman Utama."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Membenarkan apl menukar tetapan dan pintasan di Laman Utama."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Masalah memuatkan widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Untuk membuat folder baharu pada skrin Utama anda, tindihkan satu aplikasi di atas yang lain."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Folder dibuka, %1$d daripada %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Ketik untuk tutup folder"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Ketik untuk melakukan menamakan semula"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Sentuh untuk menutup folder"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Sentuh untuk menyimpan penamaan semula"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Folder ditutup"</string>
     <!-- String.format failed for translation -->
     <!-- no translation found for folder_renamed (781234745487414781) -->
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 4b6065c..7b6fa51 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -23,13 +23,13 @@
     <string name="uid_name" msgid="3371120195364560632">"Android-kjerneapplikasjoner"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Velg bakgrunnsbilde fra"</string>
-    <string name="wallpaper_instructions" msgid="4215640646180727542">"Velg bakgrunnsbilde"</string>
+    <string name="wallpaper_instructions" msgid="4215640646180727542">"Velg som bakgrunnsbilde"</string>
     <string name="pick_wallpaper" msgid="5630222540525626723">"Bakgrunner"</string>
     <string name="activity_not_found" msgid="217823393239365967">"Appen er ikke installert."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Moduler"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Trykk og hold inne for å plukke opp en modul."</string>
     <string name="market" msgid="2652226429823445833">"Butikk"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Kunne ikke slippe elementet på denne startsiden."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Kunne ikke slippe elementet på denne startsiden."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Velg modul for oppretting"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Mappenavn"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Gi nytt navn til mappe"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Opprettet snarveien «<xliff:g id="NAME">%s</xliff:g>»."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Fjernet snarveien «<xliff:g id="NAME">%s</xliff:g>»."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Snarveien «<xliff:g id="NAME">%s</xliff:g>» fins allerede."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Velg snarvei"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Valg av snarvei"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Velg app"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Apper"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Startsiden"</string>
@@ -73,13 +73,13 @@
     <string name="cab_folder_selection_text" msgid="8916111874189565067">"1 mappe valgt"</string>
     <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1 snarvei valgt"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"installere snarveier"</string>
-    <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Gir en app tillatelse til å legge til snarveier uten innblanding fra brukeren."</string>
+    <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Gir apper tillatelse til å legge til snarveier uten innblanding fra brukeren."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"avinstallere snarveier"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Gir en app tillatelse til å fjerne snarveier uten innblanding fra brukeren."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"La appen fjerne snarveier uten innblanding fra brukeren."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"lese skrivebordsinnstillinger og -snarveier"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Gir en app tillatelse til å lese innstillingene og snarveiene på startsiden."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Lar appen lese innstillingene og snarveiene på startsiden."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"skrive skrivebordsinnstillinger og -snarveier"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Gir en app tillatelse til å endre innstillingene og snarveiene på startsiden."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Lar appen endre innstillingene og snarveiene på startsiden."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problem under lasting av gadget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Du kan lage en ny mappe på startsiden ved å stable én app oppå en annen."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Mappe åpnet, %1$d x %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Trykk for å lukke mappen"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Trykk for gjennomføre navnebytte"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Trykk for å lukke mappen"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Trykk for å lagre nytt navn"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Mappen ble lukket"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Mappen har endret navn til %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Mappe: %1$s"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 157743a..40e665d 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Blijf aanraken om een widget toe te voegen"</string>
     <string name="market" msgid="2652226429823445833">"Winkel"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Kan item niet neerzetten op dit startscherm."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Kan item niet neerzetten in dit startscherm."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Widget selecteren om te maken"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Mapnaam"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Naam van map wijzigen"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Snelkoppeling \'<xliff:g id="NAME">%s</xliff:g>\' is gemaakt."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Snelkoppeling \'<xliff:g id="NAME">%s</xliff:g>\' is verwijderd."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Snelkoppeling \'<xliff:g id="NAME">%s</xliff:g>\' bestaat al."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Snelkoppeling selecteren"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Snelkoppeling selecteren"</string>
     <string name="title_select_application" msgid="1793455815754848652">"App selecteren"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Apps"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Startpagina"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"snelkoppelingen installeren"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Een app toestaan snelkoppelingen toe te voegen zonder tussenkomst van de gebruiker."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"snelkoppelingen verwijderen"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Een app toestaan snelkoppelingen te verwijderen zonder tussenkomst van de gebruiker."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Toestaan dat de app snelkoppelingen verwijdert zonder tussenkomst van de gebruiker."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"instellingen en snelkoppelingen voor de startpagina lezen"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Hiermee kan een app de instellingen en snelkoppelingen op de startpagina lezen."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Toestaan dat de app de instellingen en snelkoppelingen op de startpagina leest."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"instellingen en snelkoppelingen voor de startpagina schrijven"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Hiermee kan een app de instellingen en snelkoppelingen op de startpagina wijzigen."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Toestaan dat de app de instellingen en snelkoppelingen op de startpagina wijzigt."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Probleem bij het laden van widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Als u een nieuwe map op het startscherm wilt maken, stapelt u een app boven op een andere app."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Map geopend, %1$d door %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Tik om de map te sluiten"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Tik om wijzigen van naam toe te passen"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Raak dit aan om de map te sluiten"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Raak dit aan om naam wijzigen op te slaan"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Map gesloten"</string>
     <string name="folder_renamed" msgid="781234745487414781">"De naam van de map is gewijzigd in %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Map: %1$s"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 7433c55..909bfd6 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widżety"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Aby dodać widżet, dotknij go i przytrzymaj."</string>
     <string name="market" msgid="2652226429823445833">"Sklep"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Nie można upuścić elementu na tym ekranie głównym."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Nie można upuścić elementu na tym ekranie głównym."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Wybierz widżet, który chcesz dodać"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nazwa folderu"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Zmień nazwę folderu"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Skrót „<xliff:g id="NAME">%s</xliff:g>” został utworzony."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Skrót „<xliff:g id="NAME">%s</xliff:g>” został usunięty."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Skrót „<xliff:g id="NAME">%s</xliff:g>” już istnieje."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Wybierz skrót"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Wybierz skrót"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Wybierz aplikację"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Aplikacje"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Ekran główny"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"zainstaluj skróty"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Pozwala aplikacji dodawać skróty bez interwencji użytkownika."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"odinstaluj skróty"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Pozwala aplikacji usuwać skróty bez interwencji użytkownika."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Pozwala aplikacji usuwać skróty bez interwencji użytkownika."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"odczytywanie ustawień i skrótów strony głównej"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Pozwala aplikacji na odczyt ustawień i skrótów na ekranie głównym."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Umożliwia aplikacji odczytywanie ustawień i skrótów na ekranie głównym."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"zapisywanie ustawień i skrótów strony głównej"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Umożliwia aplikacji zmianę ustawień i skrótów na ekranie głównym."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Umożliwia aplikacji zmianę ustawień i skrótów na ekranie głównym."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problem podczas ładowania widżetu"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Aby utworzyć nowy folder na ekranie głównym, ułóż aplikacje jedna na drugiej."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Folder otwarty, %1$d na %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Dotknij, aby zamknąć folder."</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Dotknij, aby zmienić nazwę."</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Dotknij, aby zamknąć folder"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Dotknij, aby zapisać zmianę nazwy"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Folder zamknięty"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Nazwa folderu zmieniona na %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Folder: %1$s"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index db74198..3078b5d 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Prima sem soltar para escolher um widget."</string>
     <string name="market" msgid="2652226429823445833">"Loja"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Não foi possível largar o item neste Ecrã inicial."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Não foi possível largar o item neste Ecrã Principal."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Escolher um widget para criar"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nome da pasta"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Mudar o nome da pasta"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"O atalho \"<xliff:g id="NAME">%s</xliff:g>\" foi criado."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"O atalho \"<xliff:g id="NAME">%s</xliff:g>\" foi removido."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"O atalho \"<xliff:g id="NAME">%s</xliff:g>\" já existe."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Seleccione o atalho"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Escolher atalho"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Escolher aplicação"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Aplicações"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Página inicial"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalar atalhos"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Permite que uma aplicação adicione atalhos sem a intervenção do utilizador."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"desinstalar atalhos"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Permite que uma aplicação remova atalhos sem a intervenção do utilizador."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Permite que a aplicação remova atalhos sem intervenção do utilizador."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"ler definições e atalhos do ecrã principal"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Permite que uma aplicação leia as definições e os atalhos do Ecrã principal."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Permite que a aplicação leia as definições e os atalhos no Ecrã Principal."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"escrever definições e atalhos do ecrã principal"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Permite que uma aplicação altere as definições e os atalhos do Ecrã principal."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Permite que uma aplicação altere as definições e os atalhos no Ecrã Principal."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Erro ao carregar o widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Para criar uma nova pasta no Ecrã principal, empilhe uma aplicação por cima de outra."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Pasta aberta, %1$d por %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Toque para fechar a pasta"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Toque para mudar o nome"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Toque para fechar a pasta"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Toque para guardar o nome novo"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Pasta fechada"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Nome da pasta alterado para %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Pasta: %1$s"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index f1e5d6f..79044eb 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Toque e pressione para selecionar um widget."</string>
     <string name="market" msgid="2652226429823445833">"Comprar"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Não foi possível soltar este item na tela inicial."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Não foi possível soltar este item na tela inicial."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Selecione um widget para criar"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nome da pasta"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Renomear pasta"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Atalho \"<xliff:g id="NAME">%s</xliff:g>\" criado."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"O atalho \"<xliff:g id="NAME">%s</xliff:g>\" foi removido."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"O atalho \"<xliff:g id="NAME">%s</xliff:g>\" já existe."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Selecionar atalho"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Escolher atalho"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Selecione um aplicativo"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Aplicativos"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Página inicial"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalar atalhos"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Permite que um aplicativo adicione atalhos sem intervenção do usuário."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"desinstalar atalhos"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Permite que um aplicativo remova os atalhos sem a intervenção do usuário."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Permite que o aplicativo remova atalhos sem a intervenção do usuário."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"ler configurações e atalhos da Página inicial"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Permite que um aplicativo leia as configurações e os atalhos na Página inicial."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Permite que o aplicativo leia as configurações e os atalhos na Página inicial."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"gravar configurações e atalhos da Página inicial"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Permite que um aplicativo altere as configurações e os atalhos na Página inicial."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Permite que o aplicativo altere as configurações e os atalhos na Página inicial."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problema ao carregar o widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Para criar uma nova pasta em sua tela inicial, coloque um aplicativo em cima do outro."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Pasta aberta, %1$d por %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Toque para fechar a pasta"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Toque para confirmar renomeação"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Toque para fechar a pasta"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Toque para salvar o novo nome"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Pasta fechada"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Pasta renomeada para %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Pasta: %1$s"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index 4d6c187..9f14b81 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -22,17 +22,19 @@
     <string name="application_name" msgid="8424725141379931883">"Lantschader"</string>
     <string name="uid_name" msgid="3371120195364560632">"Applicaziuns da basa dad Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
-    <!-- outdated translation 5988031014201479733 -->     <string name="chooser_wallpaper" msgid="6063168087625352235">"Tscherner in fund davos"</string>
+    <!-- no translation found for chooser_wallpaper (6063168087625352235) -->
+    <skip />
     <string name="wallpaper_instructions" msgid="4215640646180727542">"Definir in fund davos"</string>
     <string name="pick_wallpaper" msgid="5630222540525626723">"Maletgs da fund davos"</string>
-    <!-- outdated translation 3571057450431950427 -->     <string name="activity_not_found" msgid="217823393239365967">"L\'applicaziun n\'è betg installada sin quest telefonin."</string>
+    <!-- no translation found for activity_not_found (217823393239365967) -->
+    <skip />
     <!-- no translation found for widgets_tab_label (9145860100000983599) -->
     <skip />
     <!-- no translation found for long_press_widget_to_add (7395697462851217506) -->
     <skip />
     <!-- no translation found for market (2652226429823445833) -->
     <skip />
-    <!-- no translation found for external_drop_widget_error (127440783198670829) -->
+    <!-- no translation found for external_drop_widget_error (2285187188524172774) -->
     <skip />
     <!-- no translation found for external_drop_widget_pick_title (7040647073452295370) -->
     <skip />
@@ -41,7 +43,8 @@
     <string name="rename_action" msgid="6016003384693240896">"OK"</string>
     <string name="cancel_action" msgid="3811860427489435048">"Interrumper"</string>
     <string name="menu_item_add_item" msgid="6233177331075781114">"Agiuntar al visur da partenza"</string>
-    <!-- outdated translation 4118484163419674240 -->     <string name="group_applications" msgid="2103752818818161976">"Applicaziuns"</string>
+    <!-- no translation found for group_applications (2103752818818161976) -->
+    <skip />
     <string name="group_shortcuts" msgid="9133529424900391877">"Scursanidas"</string>
     <string name="group_widgets" msgid="6704978494073105844">"Widgets"</string>
     <string name="group_wallpapers" msgid="1568191644272224858">"Funds davos"</string>
@@ -51,10 +54,12 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"\"Creà ina scursanida \"\"<xliff:g id="NAME">%s</xliff:g>\"\".\""</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"\"La scursanida \"\"<xliff:g id="NAME">%s</xliff:g>\"\" è vegnida stizzada.\""</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"\"La scursanida \"\"<xliff:g id="NAME">%s</xliff:g>\"\" exista gia.\""</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Tscherner ina cumbinaziun da tastas"</string>
+    <!-- no translation found for title_select_shortcut (1873670208166882222) -->
+    <skip />
     <!-- no translation found for title_select_application (1793455815754848652) -->
     <skip />
-    <!-- outdated translation 3953036962111614813 -->     <string name="all_apps_button_label" msgid="2578400570124163469">"Tut las applicaziuns"</string>
+    <!-- no translation found for all_apps_button_label (2578400570124163469) -->
+    <skip />
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Pagina da partenza"</string>
     <!-- no translation found for delete_zone_label_workspace (7153615831493049150) -->
     <skip />
@@ -82,7 +87,8 @@
     <string name="menu_wallpaper" msgid="5837429080911269832">"Fund davos"</string>
     <string name="menu_search" msgid="4826514464423239041">"Tschertgar"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Avis"</string>
-    <!-- outdated translation 6233960148378443661 -->     <string name="menu_settings" msgid="3946232973327980394">"Parameters"</string>
+    <!-- no translation found for menu_settings (3946232973327980394) -->
+    <skip />
     <!-- no translation found for menu_help (4901160661634590633) -->
     <skip />
     <!-- no translation found for cab_menu_delete_app (4089398025537640349) -->
@@ -98,13 +104,17 @@
     <!-- no translation found for cab_shortcut_selection_text (8115847384500412878) -->
     <skip />
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"Installar scursanidas"</string>
-    <!-- outdated translation 7429365847558984148 -->     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Pussibilitescha ch\'ina applicaziun agiunta scursanidas senza l\'intervenziun da l\'utilisader."</string>
+    <!-- no translation found for permdesc_install_shortcut (8634424803272077038) -->
+    <skip />
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"deinstallar scursanidas"</string>
-    <!-- outdated translation 959972195916090900 -->     <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Pussibilitescha ch\'ina applicaziun possia stizzar scursanidas senza ina intervenziun da l\'utilisader."</string>
+    <!-- no translation found for permdesc_uninstall_shortcut (274355570620220977) -->
+    <skip />
     <string name="permlab_read_settings" msgid="3452408290738106747">"Leger ils parameters e las scursanidas da la pagina da partenza"</string>
-    <!-- outdated translation 8377434937176025492 -->     <string name="permdesc_read_settings" msgid="1836104524215167383">"Pussibilitescha ch\'ina applicaziun possia leger ils parameters e las scursanidas da la pagina da partenza."</string>
+    <!-- no translation found for permdesc_read_settings (5788109303585403679) -->
+    <skip />
     <string name="permlab_write_settings" msgid="1360567537236705628">"Definir ils parameters e las scursanidas per la pagina da partenza"</string>
-    <!-- outdated translation 1098648778383349818 -->     <string name="permdesc_write_settings" msgid="6763846563231494591">"Pussibilitescha ch\'ina applicaziun possia midar ils parameters e las scursanidas sin la pagina da partenza."</string>
+    <!-- no translation found for permdesc_write_settings (8530105489115785531) -->
+    <skip />
     <string name="gadget_error_text" msgid="8359351016167075858">"Problems cun chargiar il widget"</string>
     <!-- no translation found for uninstall_system_app_text (6429814133777046491) -->
     <skip />
@@ -140,9 +150,9 @@
     <skip />
     <!-- no translation found for folder_opened (4129072635480822768) -->
     <skip />
-    <!-- no translation found for folder_tap_to_close (4076794242530255812) -->
+    <!-- no translation found for folder_tap_to_close (1335478160661137579) -->
     <skip />
-    <!-- no translation found for folder_tap_to_rename (2125528923948315223) -->
+    <!-- no translation found for folder_tap_to_rename (5201612989905472442) -->
     <skip />
     <!-- no translation found for folder_closed (3130534551370511932) -->
     <skip />
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 67d536d..0074095 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Obiecte widget"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Atingeţi/menţineţi apăsat un widget pt. a-l alege."</string>
     <string name="market" msgid="2652226429823445833">"Cumpăraţi"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Nu am putut plasa articolul pe ecranul de pornire."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Nu am putut plasa articolul pe ecranul de pornire."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Alegeţi widgetul de creare"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nume dosar"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Redenumiţi dosarul"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Comanda rapidă „<xliff:g id="NAME">%s</xliff:g>”·a fost creată."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Comanda rapidă „<xliff:g id="NAME">%s</xliff:g>” a fost eliminată."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Comanda rapidă „<xliff:g id="NAME">%s</xliff:g>” deja există."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Selectaţi comanda rapidă"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Alegeţi o comandă rapidă"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Alegeţi aplicaţia"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Aplicaţii"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Domiciliu"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalaţi comenzi rapide"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Permite unei aplicaţii să adauge comenzi rapide, fără intervenţia utilizatorului."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"dezinstalaţi comenzile rapide"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Permite unei aplicaţii să elimine comenzile rapide, fără intervenţia utilizatorului."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Permite aplicaţiei să elimine comenzile rapide, fără intervenţia utilizatorului."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"citiţi setările Paginii de pornire şi comenzile rapide"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Permite unei aplicaţii să citească setările şi comenzile rapide din ecranul de pornire."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Permite aplicaţiei să citească setările şi comenzile rapide din ecranul de pornire."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"scrieţi setări şi comenzi rapide pentru Ecranul de pornire"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Permite unei aplicaţii să modifice setările şi comenzile rapide din ecranul de pornire."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Permite aplicaţiei să modifice setările şi comenzile rapide din ecranul de pornire."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Probleme la încărcarea obiectului widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Pentru a crea un dosar nou pe ecranul de pornire, plasaţi o aplicaţie deasupra alteia."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Dosar deschis, %1$d - %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Apăsaţi pentru a închide dosarul"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Apăsaţi pentru a finaliza redenumirea"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Atingeţi pentru a închide dosarul"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Atingeţi pentru a salva redenumirea"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Dosar închis"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Dosar redenumit „%1$s”"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Dosar: %1$s"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index c0abcbf..60cb20a 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Виджеты"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Чтобы выбрать виджет, нажмите на значок и удерживайте его."</string>
     <string name="market" msgid="2652226429823445833">"Маркет"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Не удалось добавить элемент на главный экран."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Не удалось добавить элемент на главный экран."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Выберите виджет"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Название папки"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Переименовать папку"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Ярлык \"<xliff:g id="NAME">%s</xliff:g>\" создан"</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Ярлык \"<xliff:g id="NAME">%s</xliff:g>\" удален."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Ярлык \"<xliff:g id="NAME">%s</xliff:g>\" уже существует."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Выберите ярлык"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Выбор ярлыка"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Выберите приложение"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Приложения"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Главная"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"устанавливать ярлыки"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Приложение сможет самостоятельно добавлять ярлыки."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"удалять ярлыки"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Приложение сможет самостоятельно удалять ярлыки."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Приложение сможет самостоятельно удалять ярлыки."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"считывать настройки и ярлыки главного экрана"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Приложение получит доступ к данным о настройках и ярлыках на главном экране."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Приложение получит доступ к данным о настройках и ярлыках на главном экране."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"изменять настройки и ярлыки главного экрана"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Приложение сможет изменять настройки и ярлыки на главном экране."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Приложение сможет изменять настройки и ярлыки на главном экране."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Не удалось загрузить виджет"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Это системное приложение, его нельзя удалить."</string>
     <string name="dream_name" msgid="2847171357608437154">"Фейерверк"</string>
@@ -88,7 +88,7 @@
     <string name="workspace_scroll_format" msgid="7911126267695001437">"Рабочая область %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>
+    <string name="workspace_cling_title" msgid="738396473989890567">"Будьте как дома"</string>
     <string name="workspace_cling_move_item" msgid="791013895761065070">"Добавляйте сюда любимые приложения."</string>
     <string name="workspace_cling_open_all_apps" msgid="2459977609848572588">"Чтобы открыть список приложений, нажмите на круг."</string>
     <string name="all_apps_cling_title" msgid="2559734712581447107">"Выберите приложения"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Чтобы создать папку на главном экране, перенесите одно приложение на другое."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"ОК"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Папка открыта, %1$d x %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Нажмите, чтобы закрыть папку."</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Нажмите, чтобы переименовать."</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Нажмите, чтобы закрыть папку"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Нажмите, чтобы подтвердить переименование"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Папка закрыта"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Новое название папки: %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Папка: %1$s"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 80c8a3c..55cf023 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Miniaplikácie"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Miniaplikáciu pridáte stlačením a podržaním."</string>
     <string name="market" msgid="2652226429823445833">"Obchod"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Položku sa nepodarilo pretiahnuť na túto plochu."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Položku sa nepodarilo presunúť na túto plochu."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Zvoľte miniaplikáciu na vytvorenie"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Názov priečinka"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Premenovať priečinok"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Odkaz <xliff:g id="NAME">%s</xliff:g> bol vytvorený."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Odkaz <xliff:g id="NAME">%s</xliff:g> bol odstránený."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Odkaz <xliff:g id="NAME">%s</xliff:g> už existuje."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Vyberte odkaz"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Vyberte odkaz"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Vyberte aplikáciu"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Aplikácie"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Domovská stránka"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"inštalovať odkazy"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Povoľuje aplikácii pridať odkazy bez zásahu používateľa."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"odinštalovať odkazy"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Povoľuje aplikácii odstrániť odkazy bez zásahu používateľa."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Povoľuje aplikácii odstrániť odkazy bez zásahu používateľa."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"čítanie nastavení a odkazov plochy"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Povoľuje aplikácii čítať nastavenia a odkazy na ploche."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Povoľuje aplikácii čítať nastavenia a odkazy na ploche."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"zápis nastavení a odkazov plochy"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Povoľuje aplikácii zmeniť nastavenia a odkazy na ploche."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Povoľuje aplikácii zmeniť nastavenia a odkazy na ploche."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problém s načítaním miniaplikácií"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Ak chcete vytvoriť nový priečinok na ploche, presuňte jednu aplikáciu na inú."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Priečinok je otvorený, %1$d x %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Klepnutím zavrite priečinok"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Klepnutím potvrďte premenovanie"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Dotykom zavriete priečinok"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Dotykom premenovanie uložíte"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Priečinok je uzavretý"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Priečinok bol premenovaný na %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Priečinok: %1$s"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 88442c5..e3b6a0d 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Pripomočki"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Za izbiro pripomočka se ga dotaknite in pridržite."</string>
     <string name="market" msgid="2652226429823445833">"Nakup"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Elemen. ni bilo mogoče spustiti na začetni zaslon."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Elemen. ni bilo mogoče spustiti na začetni zaslon."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Izberite pripomoček za ustvarjanje"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Ime mape"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Preimenuj mapo"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Bližnjica »<xliff:g id="NAME">%s</xliff:g>« je bila ustvarjena."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Bližnjica »<xliff:g id="NAME">%s</xliff:g>« je bila odstranjena."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Bližnjica »<xliff:g id="NAME">%s</xliff:g>« že obstaja."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Izberi bližnjico"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Izbira bližnjice"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Izberite program"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Programi"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Začetni zaslon"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"namesti bližnjice"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Programu omogoča dodajanje bližnjic brez posredovanja uporabnika."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"odstrani bližnjice"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Programu omogoča odstranjevanje bližnjic brez posredovanja uporabnika."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Programu omogoča odstranjevanje bližnjic brez posredovanja uporabnika."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"branje nastavitev in bližnjic začetnega zaslona"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Dovoli programu branje nastavitev in bližnjic na začetnem zaslonu."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Dovoli programu branje nastavitev in bližnjic na začetnem zaslonu."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"zapis nastavitev in bližnjic začetnega zaslona"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Dovoli programu spreminjanje nastavitev in bližnjic na začetnem zaslonu."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Dovoli programu spreminjanje nastavitev in bližnjic na začetnem zaslonu."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Težave pri nalaganju pripomočka"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Če želite na začetnem zaslonu ustvariti novo mapo, postavite en program na drugega."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"V redu"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Mapa je odprta, %1$d krat %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Tapnite, da zaprete mapo"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Tapnite, da potrdite preimenovanje"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Dotaknite se, da zaprete mapo"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Dotaknite se, da shranite preimenovanje"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Mapa je zaprta"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Mapa je bila preimenovana v %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Mapa: %1$s"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 32b79dd..7c55a6f 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Виџети"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Додирните и задржите да бисте узели виџет."</string>
     <string name="market" msgid="2652226429823445833">"Куповина"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Није могуће испустити ставку на почетни екран."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Није могуће отпустити ставку на почетни екран."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Избор виџета за прављење"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Име директоријума"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Преименовање директоријума"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Пречица „<xliff:g id="NAME">%s</xliff:g>“ је направљена."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Пречица „<xliff:g id="NAME">%s</xliff:g>“ је уклоњена."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Пречица „<xliff:g id="NAME">%s</xliff:g>“ већ постоји."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Избор пречице"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Избор пречице"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Избор апликације"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Apps"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Почетна"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"инсталирај пречице"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Дозвољава апликацији да додаје пречице без интервенције корисника."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"деинсталирај пречице"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Дозвољава апликацији да уклања пречице без интервенције корисника."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Дозвољава апликацији да уклања пречице без интервенције корисника."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"читај подешавања и пречице на почетном екрану"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Дозвољава апликацији да чита подешавања и пречице на Почетној."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Дозвољава апликацији да чита подешавања и пречице на почетном екрану."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"уписивање подешавања и пречица на почетном екрану"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Дозвољава апликацији да мења подешавања и пречице на Почетној."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Дозвољава апликацији да мења подешавања и пречице на почетном екрану."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Проблем приликом учитавања виџета"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Ово је системска апликација и не може да се деинсталира."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Да бисте направили нови директоријум на почетном екрану, поређајте апликације једну на другу."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"Потврди"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Директоријум је отворен, %1$d пута %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Додирните да бисте затворили директоријум"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Додирните да бисте применили преименовање"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Додирните да бисте затворили директоријум"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Додирните да бисте сачували промену имена"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Директоријум је затворен"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Директоријум је преименован у %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Директоријум: %1$s"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 5ed8d7c..fc52cbb 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgetar"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Tryck länge om du vill flytta en widget."</string>
     <string name="market" msgid="2652226429823445833">"Butik"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Objektet kunde inte släppas på den här startsidan."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Objektet kunde inte släppas på den här startsidan."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Ange vilken widget du vill använda"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Mappnamn"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Byt namn på mapp"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Genvägen \"<xliff:g id="NAME">%s</xliff:g>\" har skapats."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Genvägen \"<xliff:g id="NAME">%s</xliff:g>\" har tagits bort."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Genvägen \"<xliff:g id="NAME">%s</xliff:g>\" finns redan."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Välj genväg"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Välj genväg"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Välj app"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Appar"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Startsida"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"installera genvägar"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Tillåter att en app lägger till genvägar utan åtgärd från användaren."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"avinstallera genvägar"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Tillåter att en app tar bort genvägar utan åtgärd från användaren."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Tillåter att appen tar bort genvägar utan åtgärd från användaren."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"läsa inställningar och genvägar för startsidan"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Tillåter att en app läser inställningar och genvägar på startsidan."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Tillåter att appen läser inställningar och genvägar på startsidan."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"skriva inställningar och genvägar för startsidan"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Tillåter att en app ändrar inställningar och genvägar på startsidan."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Tillåter att appen ändrar inställningar och genvägar på startsidan."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Det gick inte att läsa in widgeten"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Om du vill skapa en ny mapp på startskärmen placerar du en app på en annan."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Mappen har öppnats, %1$d av %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Stäng mappen genom att knacka lätt"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Byt namn genom att knacka lätt"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Tryck om du vill stänga mappen"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Tryck om du vill spara det nya namnet"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Mappen är stängd"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Mappen döptes om till %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Mappen: %1$s"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 490979e..eb2d865 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Wijeti"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Gusa &amp; ushikilie ili kuteua wijeti."</string>
     <string name="market" msgid="2652226429823445833">"Duka"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Hakuweza kuachilia kipengee kwenye skrini hii ya Nyumbani."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Haikuweza kudondosha kipengee kwenye skrini hii ya Nyumbani."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Chagua wijeti ili uunde"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Jina la folda"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Ipe jina jipya folda"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Njia ya mkato ya \"<xliff:g id="NAME">%s</xliff:g>\" imeundwa."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Njia ya mkato ya \"<xliff:g id="NAME">%s</xliff:g>\" iliondolewa."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Njia ya mkato ya \"<xliff:g id="NAME">%s</xliff:g>\" tayari ipo."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Chagua njia ya mkato"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Chagua njia ya mkato"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Chagua programu"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Programu"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Nyumbani"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"njia mikato za moja kwa moja"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Huruhusu programu kuongeza njia za mkato bila mtumiaji kuhusika."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"Sakunua mikato"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Huruhusu programu kuondoa njia za mkato bila mtumiaji kuhusika."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Inaruhusu programu kuondoa njia za mikato bila juhudi za mtumiaji."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"soma mipangilio ya Nyumbani na njia za mkato"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Huruhusu programu kusoma mipangilio na njia za mkato katika Nyumbani."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Inaruhusu programu kusoma mipangilio na njia za mikato katika Nyumbani."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"andika mipangilio ya Nyumbani na njia za mkato"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Huruhusu programu kubadilisha mipangilio na njia za mkato katika Nyumbani."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Huruhusu programu kubadilisha mipangilio na njia za mkato katika Nyumbani."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Tatizo la kupakia wijeti"</string>
     <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>
@@ -89,7 +89,7 @@
     <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>
-    <string name="workspace_cling_move_item" msgid="791013895761065070">"Unaweza kuweka programu unazozipenda zaidi hapa."</string>
+    <string name="workspace_cling_move_item" msgid="791013895761065070">"Unaweza kuweka prog zako uzipendazo hapa."</string>
     <string name="workspace_cling_open_all_apps" msgid="2459977609848572588">"Kutazama programu zako zote, gusa duara."</string>
     <string name="all_apps_cling_title" msgid="2559734712581447107">"Chagua programu kadhaa"</string>
     <string name="all_apps_cling_add_item" msgid="5665035103260318891">"Ili kuongeza programu kwa skrini yako ya Nyumbani, iguse na uishikilie."</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Kuunda folda mpya katika skrini yako ya nyumbani, rundika programu moja juu ya nyingine."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"Sawa"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Folda imefunguliwa,%1$d na %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Gonga ili kufunga folda"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Gonga ili kukubali jina"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Gusa ili ufunge folda"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Gusa kuhifadhi upaji jina jipya"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Folda imefungwa"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Folda imebadilishwa jina hadi %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Folda: %1$s"</string>
diff --git a/res/values-sw600dp/config.xml b/res/values-sw600dp/config.xml
index 7a07898..2ce563d 100644
--- a/res/values-sw600dp/config.xml
+++ b/res/values-sw600dp/config.xml
@@ -11,10 +11,9 @@
     <!-- Whether or not to fade the side pages -->
     <bool name="config_workspaceFadeAdjacentScreens">true</bool>
 
-    <!-- When dragging items on the workspace, how much bigger (in pixels) the dragged view
-         should be, as compared to the original view. If 0, it will not be scaled at all.
-         Should be an even number, for pixel alignment. -->
-    <integer name="config_dragViewExtraPixels">0</integer>
+    <!--  When dragging an item on the workspace, how much bigger (scale factor) the dragged view
+          should be, as compared to the original view. If 0, it will not be scaled at all. -->
+    <integer name="config_dragViewScaleFactor">115</integer>
 
     <!-- When shrinking the workspace, this is the percentage of its original size. -->
     <integer name="config_workspaceShrinkPercent">17</integer>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 509dc81..46ef396 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"วิดเจ็ต"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"แตะค้างเพื่อรับวิดเจ็ต"</string>
     <string name="market" msgid="2652226429823445833">"ร้าน"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"ไม่สามารถวางรายการลงในหน้าจอหลักนี้ได้"</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"ไม่สามารถวางรายการลงในหน้าจอหลักนี้"</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"เลือกวิดเจ็ตที่จะสร้าง"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"ชื่อโฟลเดอร์"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"เปลี่ยนชื่อโฟลเดอร์"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"สร้างทางลัด \"<xliff:g id="NAME">%s</xliff:g>\" แล้ว"</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"ทางลัด \"<xliff:g id="NAME">%s</xliff:g>\" ถูกนำออกแล้ว"</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"ทางลัด \"<xliff:g id="NAME">%s</xliff:g>\" มีอยู่แล้ว"</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"เลือกทางลัด"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"เลือกทางลัด"</string>
     <string name="title_select_application" msgid="1793455815754848652">"เลือกแอปพลิเคชัน"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"แอปพลิเคชัน"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"บ้าน"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"ติดตั้งทางลัด"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"อนุญาตให้แอปพลิเคชันเพิ่มทางลัดโดยไม่ต้องให้ผู้ใช้จัดการ"</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"ถอนการติดตั้งทางลัด"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"อนุญาตให้แอปพลิเคชันนำทางลัดออกโดยไม่ต้องให้ผู้ใช้จัดการ"</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"อนุญาตให้แอปพลิเคชันนำทางลัดออกโดยไม่ต้องให้ผู้ใช้จัดการ"</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"อ่านการตั้งค่าและทางลัดหน้าแรกแล้ว"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"อนุญาตให้แอปพลิเคชันอ่านการตั้งค่าและทางลัดในหน้าแรก"</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"อนุญาตให้แอปพลิเคชันอ่านการตั้งค่าและทางลัดในหน้าหลัก"</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"เขียนการตั้งค่าและทางลัดหน้าแรกแล้ว"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"อนุญาตให้แอปพลิเคชันเปลี่ยนการตั้งค่าและทางลัดในหน้าแรก"</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"อนุญาตให้แอปพลิเคชันเปลี่ยนการตั้งค่าและทางลัดในหน้าหลัก"</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"มีปัญหาขณะโหลดวิดเจ็ต"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"นี่เป็นแอปพลิเคชันระบบและไม่สามารถถอนการติดตั้งได้"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"หากต้องการสร้างโฟลเดอร์ใหม่บนหน้าจอหลัก ให้วางแอปพลิเคชันหนึ่งซ้อนบนแอปพลิเคชันอื่น"</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"ตกลง"</string>
     <string name="folder_opened" msgid="4129072635480822768">"โฟลเดอร์เปิดอยู่, %1$d x %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"แตะเพื่อปิดโฟลเดอร์"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"แตะเพื่อยอมรับการเปลี่ยนชื่อ"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"แตะเพื่อปิดโฟลเดอร์"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"แตะเพื่อบัน​​ทึกการเปลี่ยนชื่อ"</string>
     <string name="folder_closed" msgid="3130534551370511932">"โฟลเดอร์ปิดอยู่"</string>
     <string name="folder_renamed" msgid="781234745487414781">"เปลี่ยนชื่อโฟลเดอร์เป็น %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"โฟลเดอร์: %1$s"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index f7239e9..c0483f4 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Mga Widget"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Pindutin nang matagal upang kumuha ng widget."</string>
     <string name="market" msgid="2652226429823445833">"Mamili"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Hindi ma-drop ang item sa Home screen na ito."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Hindi ma-drop ang item sa Home screen na ito."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Pumili ng widget na lilikhain"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Pangalan ng folder"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Palitan ng pangalan ang folder"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Nalikha ang shortcut na \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Inalis ang shortcut na \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Umiiral na ang shortcut na \"<xliff:g id="NAME">%s</xliff:g>\"."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Pumili ng shortcut"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Pumili ng shortcut"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Pumili ng app"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Apps"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Home"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"i-install ang mga shortcut"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Binibigyang-daan ang isang app na magdagdag ng mga shortcut nang walang panghihimasok ng user."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"huwag i-install ang mga shortcut"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Bibigyang-daan ang isang app na mag-alis ng mga shortcut nang walang panghihimasok ng user."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Binibigyang-daan ang app na mag-alis ng mga shortcut nang walang panghihimasok ng user."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"basahin ang mga setting ng Home at shortcut"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Binibigyang-daan ang isang app na basahin ang mga setting at shortcut sa Home."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Binibigyang-daan ang app na basahin ang mga setting at shortcut sa Home."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"magsulat ng mga setting ng Home at mga shortcut"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Binibigyang-daan ang isang app na baguhin ang mga setting at shortcut sa Home."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Binibigyang-daan ang app na baguhin ang mga setting at shortcut sa Home."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Problema sa pag-load ng widget"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Upang gumawa ng bagong folder sa iyong home screen, magpatong ng isang app sa ibabaw ng isa pa."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Binuksan ang folder, %1$d by %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Tapikin upang isara ang folder"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Tapikin upang kumpirmahin ang pagpapalit ng pangalan"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Pindutin upang isara ang folder"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Pindutin upang i-save ang pagpapalit ng pangalan"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Nakasara ang folder"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Pinangalanan ang folder na %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Folder: %1$s"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index a9b844a..abd41c0 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widget\'lar"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Widget seçmek için dokunun ve basılı tutun."</string>
     <string name="market" msgid="2652226429823445833">"Alışveriş"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Öğe bu Ana Ekrana bırakılamadı."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Öğe bu Ana Ekrana bırakılamadı."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Oluşturmak için widget seçin"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Klasör adı"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Klasörü yeniden adlandır"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"\"<xliff:g id="NAME">%s</xliff:g>\" kısayolu oluşturuldu."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"\"<xliff:g id="NAME">%s</xliff:g>\" kısayolu kaldırıldı."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"\"<xliff:g id="NAME">%s</xliff:g>\" kısayolu zaten var."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Kısayolu seçin"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Kısayolu seçin"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Uygulama seçin"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Uygulamalar"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Ana Sayfa"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"kısayolları yükle"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Uygulamaya, kullanıcı müdahalesi olmadan kısayol ekleme izni verir."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"kısayolları kaldır"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Uygulamaya, kullanıcı müdahalesi olmadan kısayolları kaldırma izni verir."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Uygulamaya kullanıcı müdahalesi olmadan kısayolları kaldırma izni verir."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"Ana Sayfa ayarlarını ve kısayollarını oku"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Uygulamaya, Ana Ekrandaki ayarları ve kısayolları okuma izni verir."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Uygulamaya Ana Ekrandaki ayarları ve kısayolları okuma izni verir."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"Ana Sayfa ayarlarını ve kısayollarını yaz"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Uygulamaya, Ana Ekrandaki ayarları ve kısayolları değiştirme izni verir."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Uygulamaya Ana Ekrandaki ayarları ve kısayolları değiştirme izni verir."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Widget yüklenirken sorun oluştu"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Ana Ekranınızda yeni bir klasör oluşturmak için, bir uygulamayı diğerinin üzerine getirin."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"Tamam"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Klasör açıldı, boyutları %1$d ve %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Klasörü kapatmak için hafifçe dokunun"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Yeniden adlandırmayı uygulamak için hafifçe dokunun"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Klasörü kapatmak için dokunun"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Yeni adı kaydetmek için dokunun"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Klasör kapatıldı"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Klasör %1$s olarak yeniden adlandırıldı"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Klasör: %1$s"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index bd54fd4..37f9d4d 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Віджети"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Торкніться й утримуйте, щоб вибрати віджет."</string>
     <string name="market" msgid="2652226429823445833">"Магазин"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Не вдалося помістити елемент на цей головний екран"</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Не вдалося помістити елемент на цей головний екран"</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Вибрати віджет для створення"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Назва папки"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Переймен. папку"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Ярлик \"<xliff:g id="NAME">%s</xliff:g>\" створено."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Ярлик \"<xliff:g id="NAME">%s</xliff:g>\" видалено."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Ярлик \"<xliff:g id="NAME">%s</xliff:g>\" уже існує."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Вибрати ярлик"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Вибрати ярлик"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Вибрати програму"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Прогр."</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Головна"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"установити ярлики"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Дозволяє програмі додавати ярлики без втручання користувача."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"видалити ярлики"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Дозволяє програмі видаляти ярлики без втручання користувача."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Дозволяє програмі видаляти ярлики без втручання користувача."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"читати налашт-ня Головної та ярлики"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Дозволяє програмі читати налаштування та ярлики на головному екрані."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Дозволяє програмі читати налаштування та ярлики на головному екрані."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"писати налашт-ня Головної та ярлики"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Дозволяє програмі змінювати налаштування та ярлики на головному екрані."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Дозволяє програмі змінювати налаштування та ярлики на головному екрані."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Пробл із завантаж. віджета"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"Це системна програма, її неможливо видалити."</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Щоб створити нову папку на головному екрані, помістіть одну програму на іншу."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"ОК"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Папку відкрито, %1$d–%2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Натисніть, щоб закрити папку"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Натисніть, щоб перейменувати"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Торкніться, щоб закрити папку"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Торкніться, щоб зберегти перейменування"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Папку закрито"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Папку перейменовано на %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Папка: %1$s"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 73896b4..6619d91 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Tiện ích"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Chạm &amp; giữ để chọn tiện ích con."</string>
     <string name="market" msgid="2652226429823445833">"Mua hàng"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Không thể thả mục vào Màn hình chính này."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Không thể thả mục vào Màn hình chính này."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Chọn tiện ích con để tạo"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Tên thư mục"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Đổi tên thư mục"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Lối tắt \"<xliff:g id="NAME">%s</xliff:g>\" đã được tạo."</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Lối tắt \"<xliff:g id="NAME">%s</xliff:g>\" đã bị xóa."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Lối tắt \"<xliff:g id="NAME">%s</xliff:g>\" đã tồn tại."</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Chọn lối tắt"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Chọn lối tắt"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Chọn ứng dụng"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Ứng dụng"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Màn hình trang chủ"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"cài đặt lối tắt"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Cho phép ứng dụng thêm lối tắt mà không cần sự can thiệp của người dùng."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"gỡ cài đặt lối tắt"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Cho phép ứng dụng xóa lối tắt mà không cần sự can thiệp của người dùng."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Cho phép ứng dụng xóa lối tắt mà không cần sự can thiệp của người dùng."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"đọc cài đặt Màn hình trang chủ và lối tắt"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Cho phép ứng dụng đọc cài đặt và lối tắt trên Màn hình chính."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Cho phép ứng dụng đọc cài đặt và lối tắt trên Màn hình chính."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"ghi cài đặt Màn hình trang chủ và lối tắt"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Cho phép ứng dụng thay đổi cài đặt và lối tắt trên Màn hình chính."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Cho phép ứng dụng thay đổi cài đặt và lối tắt trên Màn hình chính."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Sự cố khi tải tiện ích"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Để tạo thư mục mới trên Màn hình chính của bạn, xếp ứng dụng này lên trên ứng dụng khác."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"OK"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Đã mở thư mục, %1$d x %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Chạm để đóng thư mục"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Chạm để cho phép đổi tên"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Chạm để đóng thư mục"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Chạm để lưu tên mới"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Đã đóng thư mục"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Thư mục được đổi tên thành %1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Thư mục: %1$s"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 5058d2e..d9c7fbc 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"窗口小部件"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"触摸并按住可选取窗口小部件。"</string>
     <string name="market" msgid="2652226429823445833">"购买"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"无法将该项拖放到此主屏幕上。"</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"无法将项拖放到此主屏幕上。"</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"选择要处理拖放操作的窗口小部件"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"文件夹名称"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"重命名文件夹"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"已创建“<xliff:g id="NAME">%s</xliff:g>”快捷方式。"</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"已删除“<xliff:g id="NAME">%s</xliff:g>”快捷方式。"</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"“<xliff:g id="NAME">%s</xliff:g>”快捷方式已存在。"</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"选择快捷方式"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"选择快捷方式"</string>
     <string name="title_select_application" msgid="1793455815754848652">"选择应用程序"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"应用程序"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"主屏幕"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"安装快捷方式"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"允许应用程序自行添加快捷方式。"</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"卸载快捷方式"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"允许应用程序自行删除快捷方式。"</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"允许应用程序自行删除快捷方式,而无需用户干预。"</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"读取主屏幕的设置和快捷方式"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"允许应用程序读取主屏幕中的设置和快捷方式。"</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"允许应用程序读取主屏幕中的设置和快捷方式。"</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"写入主屏幕的设置和快捷方式"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"允许应用程序更改主屏幕中的设置和快捷方式。"</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"允许应用程序更改主屏幕中的设置和快捷方式。"</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"载入窗口小部件时出现问题"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"这是系统应用程序,无法卸载。"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"要在主屏幕上创建新文件夹,请将一个应用程序叠放到另一个上。"</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"确定"</string>
     <string name="folder_opened" msgid="4129072635480822768">"文件夹已打开,尺寸为 %1$d x %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"点按可关闭文件夹"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"点按即可重命名"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"触摸可关闭文件夹"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"触摸可保存重命名"</string>
     <string name="folder_closed" msgid="3130534551370511932">"文件夹已关闭"</string>
     <string name="folder_renamed" msgid="781234745487414781">"已将文件夹重命名为“%1$s”"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"文件夹:%1$s"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index baaf1e2..7f30014 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"小工具"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"輕觸並按住小工具即可選取。"</string>
     <string name="market" msgid="2652226429823445833">"商店"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"無法將項目拖放至主螢幕上。"</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"無法將項目拖放至這個主螢幕上。"</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"選擇要建立的小工具"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"資料夾名稱"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"重新命名資料夾"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"已建立「<xliff:g id="NAME">%s</xliff:g>」捷徑。"</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"已移除「<xliff:g id="NAME">%s</xliff:g>」捷徑。"</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"「<xliff:g id="NAME">%s</xliff:g>」捷徑已經存在。"</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"選取捷徑"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"選擇捷徑"</string>
     <string name="title_select_application" msgid="1793455815754848652">"選擇應用程式"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"應用程式"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"主螢幕"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"安裝捷徑"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"允許應用程式自動新增捷徑。"</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"解除安裝捷徑"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"允許應用程式自動移除捷徑。"</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"允許應用程式自動移除捷徑。"</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"讀取主螢幕設定和捷徑"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"允許應用程式讀取主螢幕的設定與捷徑。"</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"允許應用程式讀取主螢幕中的設定與捷徑。"</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"寫入主螢幕設定和捷徑"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"允許應用程式變更主螢幕中的設定與捷徑。"</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"允許應用程式變更主螢幕中的設定與捷徑。"</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"載入小工具時發生問題"</string>
     <string name="uninstall_system_app_text" msgid="6429814133777046491">"這是系統應用程式,不可解除安裝。"</string>
     <string name="dream_name" msgid="2847171357608437154">"Rocket Launcher"</string>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"如要在主螢幕建立新資料夾,請將應用程式一個個堆疊起來。"</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"確定"</string>
     <string name="folder_opened" msgid="4129072635480822768">"已開啟資料夾,%1$d x %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"輕按即可關閉資料夾"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"輕按即可重新命名"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"輕觸即可關閉資料夾"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"輕觸即可儲存重新命名後的名稱"</string>
     <string name="folder_closed" msgid="3130534551370511932">"已關閉資料夾"</string>
     <string name="folder_renamed" msgid="781234745487414781">"已將資料夾重新命名為「%1$s」"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"資料夾:%1$s"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 799c064..8688c70 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -29,7 +29,7 @@
     <string name="widgets_tab_label" msgid="9145860100000983599">"Amawijethi"</string>
     <string name="long_press_widget_to_add" msgid="7395697462851217506">"Thinta &amp; bamba ukuthatha iwijethi"</string>
     <string name="market" msgid="2652226429823445833">"Thenga"</string>
-    <string name="external_drop_widget_error" msgid="127440783198670829">"Ayikwazanga ukubeka into kulesi sikrini sasekhaya."</string>
+    <string name="external_drop_widget_error" msgid="2285187188524172774">"Ayikwazanga ukubeka into kulesi sikrini sasekhaya."</string>
     <string name="external_drop_widget_pick_title" msgid="7040647073452295370">"Khetha i-wijethi ongayidala"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Igama lefolda"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Qamba kabusha ifolda"</string>
@@ -45,7 +45,7 @@
     <string name="shortcut_installed" msgid="7071557296331322355">"Isinqamuleli \"<xliff:g id="NAME">%s</xliff:g>\" senziwe"</string>
     <string name="shortcut_uninstalled" msgid="2129499669449749995">"Isinqamuleli \"<xliff:g id="NAME">%s</xliff:g>\" sikhishiwe."</string>
     <string name="shortcut_duplicate" msgid="4757756326465060694">"Isinqamuleli \"<xliff:g id="NAME">%s</xliff:g>\" sivele sikhona"</string>
-    <string name="title_select_shortcut" msgid="2858897527672831763">"Khetha isinqamuleli"</string>
+    <string name="title_select_shortcut" msgid="1873670208166882222">"Khetha isinqamulelo"</string>
     <string name="title_select_application" msgid="1793455815754848652">"Khetha i-app"</string>
     <string name="all_apps_button_label" msgid="2578400570124163469">"Izinhlelo zokusebenza"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Ekhaya"</string>
@@ -75,11 +75,11 @@
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"engeza izinqamuleli"</string>
     <string name="permdesc_install_shortcut" msgid="8634424803272077038">"Ivumela uhlelo lokusebenza ukufaka izinqamuleli ngaphandle kokungenela komsebenzisi."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"khipha izinqamuleli"</string>
-    <string name="permdesc_uninstall_shortcut" msgid="7811223557950931994">"Ivumela uhlelo lokusebenza ukukhipha izinqamuleli ngaphandle kokungenela komsebenzisi."</string>
+    <string name="permdesc_uninstall_shortcut" msgid="274355570620220977">"Vumela i-app ukususa izinqamuleli ngaphandle kukubandakanyeka komsebenzisi."</string>
     <string name="permlab_read_settings" msgid="3452408290738106747">"funda izilungiselelo zaseKhaya nezinqamuleli"</string>
-    <string name="permdesc_read_settings" msgid="1836104524215167383">"Ivumela uhlelo lokusebenza ukufunda izilungiselelo nezinqamuleli Ekhaya."</string>
+    <string name="permdesc_read_settings" msgid="5788109303585403679">"Vumela ama-app ukufunda izilungiselelo nezinqamulelo eKhaya."</string>
     <string name="permlab_write_settings" msgid="1360567537236705628">"bhala izilungiselelo zaseKhaya nezinqamuleli"</string>
-    <string name="permdesc_write_settings" msgid="6763846563231494591">"Ivumela izinhlelo ukushintsha izilungiselelo nezinqamuleli Ekhaya."</string>
+    <string name="permdesc_write_settings" msgid="8530105489115785531">"Vumela ama-app ukushintsha izilungiselelo nezinqamulelo eKhaya."</string>
     <string name="gadget_error_text" msgid="8359351016167075858">"Inkinga yokulayisha iwijethi"</string>
     <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>
@@ -98,8 +98,8 @@
     <string name="folder_cling_create_folder" msgid="8352867485656129478">"Ukwenza ifolda entsha eskrinini sakho sasekhaya, beka insiza eyodwa phezulu kwenye."</string>
     <string name="cling_dismiss" msgid="2780907108735868381">"KULUNGILE"</string>
     <string name="folder_opened" msgid="4129072635480822768">"Ifolda ivulekile, %1$d ngo %2$d"</string>
-    <string name="folder_tap_to_close" msgid="4076794242530255812">"Qhofoza ukuvala ifolda"</string>
-    <string name="folder_tap_to_rename" msgid="2125528923948315223">"Qhofoza ukuqamba kabusha"</string>
+    <string name="folder_tap_to_close" msgid="1335478160661137579">"Thinta ukuze uvale ifolda"</string>
+    <string name="folder_tap_to_rename" msgid="5201612989905472442">"Thinta ukuze ulondoloze ukuqamba kabusha"</string>
     <string name="folder_closed" msgid="3130534551370511932">"Ifolda ivaliwe"</string>
     <string name="folder_renamed" msgid="781234745487414781">"Ifolda iqanjwe kabusha ku-%1$s"</string>
     <string name="folder_name_format" msgid="4513766553514769310">"Ifolda: %1$s"</string>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 1258562..9ed824b 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -27,6 +27,13 @@
 
     <skip />
 
+    <!-- DrawableStateProxyView specific attributes. These attributes are used to customize
+         a DrawableStateProxyView view in XML files. -->
+    <declare-styleable name="DrawableStateProxyView">
+        <!-- The source view to delegate touch presses events to. -->
+        <attr name="sourceViewId" format="integer" />
+    </declare-styleable>
+
     <!-- Cling specific attributes. These attributes are used to customize
          the cling in XML files. -->
     <declare-styleable name="Cling">
diff --git a/res/values/colors.xml b/res/values/colors.xml
index ece0fd8..1efeb9e 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -23,9 +23,6 @@
     <color name="delete_target_hover_tint">#DAFF0000</color>
     <color name="info_target_hover_tint">#DA0099CC</color>
 
-    <!-- The alpha/color to apply to the drag image -->
-    <color name="drag_view_multiply_color">#CCFFFFFF</color>
-
     <color name="bubble_dark_background">#20000000</color>
 
     <color name="appwidget_error_color">#FCCC</color>
diff --git a/res/values/config.xml b/res/values/config.xml
index 7ab9870..691fb07 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -54,10 +54,9 @@
 
     <integer name="config_crosshairsFadeInTime">600</integer>
 
-    <!--  When dragging an item on the workspace, how much bigger (in pixels) the dragged view
-          should be, as compared to the original view. If 0, it will not be scaled at all.
-          Should be an even number, for pixel alignment. -->
-    <integer name="config_dragViewExtraPixels">40</integer>
+    <!--  When dragging an item on the workspace, how much bigger (scale factor) the dragged view
+          should be, as compared to the original view. If 0, it will not be scaled at all. -->
+    <integer name="config_dragViewScaleFactor">115</integer>
 
     <!-- The duration (in ms) of the fade animation on the object outlines, used when
          we are dragging objects around on the home screen. -->
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 72a915d..c89e963 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -51,7 +51,7 @@
     <!-- External-drop widget error string.  This is the error that is shown
          when you drag and item into the homescreen and it is unable to fit,
          or an error is encountered. [CHAR_LIMIT=50] -->
-    <string name="external_drop_widget_error">Couldn\'t drop item onto this Home screen.</string>
+    <string name="external_drop_widget_error">Couldn\'t drop item on this Home screen.</string>
     <!-- External-drop widget pick title.  This is shown as the title of the
          dialog which allows you to pick which widgets to handle a particular
          drop if there are multiple choices. [CHAR_LIMIT=35] -->
@@ -93,7 +93,7 @@
     <string name="shortcut_duplicate">Shortcut \"<xliff:g id="name" example="Browser">%s</xliff:g>\" already exists.</string>
 
     <!-- Title of dialog when user is selecting shortcut to add to homescreen -->
-    <string name="title_select_shortcut">Select shortcut</string>
+    <string name="title_select_shortcut">Choose shortcut</string>
     <!-- Title of dialog when user is selecting an application to add to homescreen -->
     <string name="title_select_application">Choose app</string>
 
@@ -176,17 +176,17 @@
     <!-- Permission short label -->
     <string name="permlab_uninstall_shortcut">uninstall shortcuts</string>
     <!-- Permission description -->
-    <string name="permdesc_uninstall_shortcut">Allows an app to remove
+    <string name="permdesc_uninstall_shortcut">Allows the app to remove
         shortcuts without user intervention.</string>
     <!-- Permission short label -->
     <string name="permlab_read_settings">read Home settings and shortcuts</string>
     <!-- Permission description -->
-    <string name="permdesc_read_settings">Allows an app to read the settings and
+    <string name="permdesc_read_settings">Allows the app to read the settings and
         shortcuts in Home.</string>
     <!-- Permission short label -->
     <string name="permlab_write_settings">write Home settings and shortcuts</string>
     <!-- Permission description -->
-    <string name="permdesc_write_settings">Allows an app to change the settings and
+    <string name="permdesc_write_settings">Allows the app to change the settings and
         shortcuts in Home.</string>
 
     <!-- Widgets: -->
@@ -241,9 +241,9 @@
     <!-- The format string for when a folder is opened, speaks the dimensions -->
     <string name="folder_opened">Folder opened, %1$d by %2$d</string>
     <!-- Instruction that clicking outside will close folder -->
-    <string name="folder_tap_to_close">Tap to close folder</string>
+    <string name="folder_tap_to_close">Touch to close folder</string>
     <!-- Instruction that clicking outside will commit folder rename -->
-    <string name="folder_tap_to_rename">Tap to commit rename</string>
+    <string name="folder_tap_to_rename">Touch to save rename</string>
     <!-- Indication that folder closed -->
     <string name="folder_closed">Folder closed</string>
     <!-- Folder renamed format -->
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 7f0edde..8db1ab6 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -75,8 +75,7 @@
  */
 class AsyncTaskPageData {
     enum Type {
-        LoadWidgetPreviewData,
-        LoadHolographicIconsData
+        LoadWidgetPreviewData
     }
 
     AsyncTaskPageData(int p, ArrayList<Object> l, ArrayList<Bitmap> si, AsyncTaskCallback bgR,
@@ -167,7 +166,8 @@
  * The Apps/Customize page that displays all the applications, widgets, and shortcuts.
  */
 public class AppsCustomizePagedView extends PagedViewWithDraggableItems implements
-        AllAppsView, View.OnClickListener, View.OnKeyListener, DragSource {
+        AllAppsView, View.OnClickListener, View.OnKeyListener, DragSource,
+        PagedViewIcon.PressedCallback {
     static final String LOG_TAG = "AppsCustomizePagedView";
 
     /**
@@ -186,6 +186,7 @@
 
     // Save and Restore
     private int mSaveInstanceStateItemIndex = -1;
+    private PagedViewIcon mPressedIcon;
 
     // Content
     private ArrayList<ApplicationInfo> mApps;
@@ -200,7 +201,6 @@
     private Canvas mCanvas;
     private Drawable mDefaultWidgetBackground;
     private IconCache mIconCache;
-    private int mDragViewMultiplyColor;
 
     // Dimens
     private int mContentWidth;
@@ -226,7 +226,6 @@
 
     // Previews & outlines
     ArrayList<AppsCustomizeAsyncTask> mRunningTasks;
-    private HolographicOutlineHelper mHolographicOutlineHelper;
     private static final int sPageSleepDelay = 200;
 
     public AppsCustomizePagedView(Context context, AttributeSet attrs) {
@@ -236,7 +235,6 @@
         mApps = new ArrayList<ApplicationInfo>();
         mWidgets = new ArrayList<Object>();
         mIconCache = ((LauncherApplication) context.getApplicationContext()).getIconCache();
-        mHolographicOutlineHelper = new HolographicOutlineHelper();
         mCanvas = new Canvas();
         mRunningTasks = new ArrayList<AppsCustomizeAsyncTask>();
 
@@ -244,7 +242,6 @@
         Resources resources = context.getResources();
         mDefaultWidgetBackground = resources.getDrawable(R.drawable.default_widget_preview_holo);
         mAppIconSize = resources.getDimensionPixelSize(R.dimen.app_icon_size);
-        mDragViewMultiplyColor = resources.getColor(R.color.drag_view_multiply_color);
 
         TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AppsCustomizePagedView, 0, 0);
         mMaxAppCellCountX = a.getInt(R.styleable.AppsCustomizePagedView_maxAppCellCountX, -1);
@@ -495,12 +492,12 @@
         if (v instanceof PagedViewIcon) {
             // Animate some feedback to the click
             final ApplicationInfo appInfo = (ApplicationInfo) v.getTag();
-            animateClickFeedback(v, new Runnable() {
-                @Override
-                public void run() {
-                    mLauncher.startActivitySafely(appInfo.intent, appInfo);
-                }
-            });
+            mLauncher.startActivitySafely(appInfo.intent, appInfo);
+
+            // Lock the drawable state to pressed until we return to Launcher
+            if (mPressedIcon != null) {
+                mPressedIcon.lockDrawableState();
+            }
         } else if (v instanceof PagedViewWidget) {
             // Let the user know that they have to long press to add a widget
             Toast.makeText(getContext(), R.string.long_press_widget_to_add,
@@ -581,9 +578,6 @@
         // Save the preview for the outline generation, then dim the preview
         outline = Bitmap.createScaledBitmap(preview, preview.getWidth(), preview.getHeight(),
                 false);
-        mCanvas.setBitmap(preview);
-        mCanvas.drawColor(mDragViewMultiplyColor, PorterDuff.Mode.MULTIPLY);
-        mCanvas.setBitmap(null);
 
         // Start the drag
         alphaClipPaint = null;
@@ -601,6 +595,9 @@
 
         if (!super.beginDragging(v)) return false;
 
+        // Reset the alpha on the dragged icon before we drag
+        resetDrawableState();
+
         // Go into spring loaded mode (must happen before we startDrag())
         mLauncher.enterSpringLoadedDragMode();
 
@@ -759,7 +756,7 @@
             ApplicationInfo info = mApps.get(i);
             PagedViewIcon icon = (PagedViewIcon) mLayoutInflater.inflate(
                     R.layout.apps_customize_application, layout, false);
-            icon.applyFromApplicationInfo(info, true, mHolographicOutlineHelper);
+            icon.applyFromApplicationInfo(info, true, this);
             icon.setOnClickListener(this);
             icon.setOnLongClickListener(this);
             icon.setOnTouchListener(this);
@@ -775,12 +772,6 @@
         }
 
         layout.createHardwareLayers();
-
-        /* TEMPORARILY DISABLE HOLOGRAPHIC ICONS
-        if (mFadeInAdjacentScreens) {
-            prepareGenerateHoloOutlinesTask(page, items, images);
-        }
-        */
     }
 
     /**
@@ -883,79 +874,6 @@
         t.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, pageData);
         mRunningTasks.add(t);
     }
-    /**
-     * Creates and executes a new AsyncTask to load the outlines for a page of content.
-     */
-    private void prepareGenerateHoloOutlinesTask(int page, ArrayList<Object> items,
-            ArrayList<Bitmap> images) {
-        // Prune old tasks for this page
-        Iterator<AppsCustomizeAsyncTask> iter = mRunningTasks.iterator();
-        while (iter.hasNext()) {
-            AppsCustomizeAsyncTask task = (AppsCustomizeAsyncTask) iter.next();
-            int taskPage = task.page;
-            if ((taskPage == page) &&
-                    (task.dataType == AsyncTaskPageData.Type.LoadHolographicIconsData)) {
-                task.cancel(false);
-                iter.remove();
-            }
-        }
-
-        AsyncTaskPageData pageData = new AsyncTaskPageData(page, items, images,
-            new AsyncTaskCallback() {
-                @Override
-                public void run(AppsCustomizeAsyncTask task, AsyncTaskPageData data) {
-                    try {
-                        // Ensure that this task starts running at the correct priority
-                        task.syncThreadPriority();
-
-                        ArrayList<Bitmap> images = data.generatedImages;
-                        ArrayList<Bitmap> srcImages = data.sourceImages;
-                        int count = srcImages.size();
-                        Canvas c = new Canvas();
-                        for (int i = 0; i < count && !task.isCancelled(); ++i) {
-                            // Before work on each item, ensure that this task is running at the correct
-                            // priority
-                            task.syncThreadPriority();
-
-                            Bitmap b = srcImages.get(i);
-                            Bitmap outline = Bitmap.createBitmap(b.getWidth(), b.getHeight(),
-                                    Bitmap.Config.ARGB_8888);
-
-                            c.setBitmap(outline);
-                            c.save();
-                            c.drawBitmap(b, 0, 0, null);
-                            c.restore();
-                            c.setBitmap(null);
-
-                            images.add(outline);
-                        }
-                    } finally {
-                        if (task.isCancelled()) {
-                            data.cleanup(true);
-                        }
-                    }
-                }
-            },
-            new AsyncTaskCallback() {
-                @Override
-                public void run(AppsCustomizeAsyncTask task, AsyncTaskPageData data) {
-                    try {
-                        mRunningTasks.remove(task);
-                        if (task.isCancelled()) return;
-                        onHolographicPageItemsLoaded(data);
-                    } finally {
-                        data.cleanup(task.isCancelled());
-                    }
-                }
-            });
-
-        // Ensure that the outline task always runs in the background, serially
-        AppsCustomizeAsyncTask t =
-            new AppsCustomizeAsyncTask(page, AsyncTaskPageData.Type.LoadHolographicIconsData);
-        t.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
-        t.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, pageData);
-        mRunningTasks.add(t);
-    }
 
     /*
      * Widgets PagedView implementation
@@ -985,9 +903,6 @@
             d.setBounds(x, y, x + w, y + h);
             d.draw(c);
             d.setBounds(oldBounds); // Restore the bounds
-            if (multiplyColor != 0xFFFFFFFF) {
-                c.drawColor(mDragViewMultiplyColor, PorterDuff.Mode.MULTIPLY);
-            }
             c.setBitmap(null);
         }
     }
@@ -1120,8 +1035,7 @@
                 AppWidgetProviderInfo info = (AppWidgetProviderInfo) rawInfo;
                 createItemInfo = new PendingAddWidgetInfo(info, null, null);
                 int[] cellSpans = mLauncher.getSpanForWidget(info, null);
-                widget.applyFromAppWidgetProviderInfo(info, -1, cellSpans,
-                        mHolographicOutlineHelper);
+                widget.applyFromAppWidgetProviderInfo(info, -1, cellSpans);
                 widget.setTag(createItemInfo);
             } else if (rawInfo instanceof ResolveInfo) {
                 // Fill in the shortcuts information
@@ -1130,7 +1044,7 @@
                 createItemInfo.itemType = LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT;
                 createItemInfo.componentName = new ComponentName(info.activityInfo.packageName,
                         info.activityInfo.name);
-                widget.applyFromResolveInfo(mPackageManager, info, mHolographicOutlineHelper);
+                widget.applyFromResolveInfo(mPackageManager, info);
                 widget.setTag(createItemInfo);
             }
             widget.setOnClickListener(this);
@@ -1231,12 +1145,6 @@
         layout.createHardwareLayer();
         invalidate();
 
-        /* TEMPORARILY DISABLE HOLOGRAPHIC ICONS
-        if (mFadeInAdjacentScreens) {
-            prepareGenerateHoloOutlinesTask(data.page, data.items, data.generatedImages);
-        }
-        */
-
         // Update all thread priorities
         Iterator<AppsCustomizeAsyncTask> iter = mRunningTasks.iterator();
         while (iter.hasNext()) {
@@ -1245,29 +1153,6 @@
             task.setThreadPriority(getThreadPriorityForPage(pageIndex));
         }
     }
-    private void onHolographicPageItemsLoaded(AsyncTaskPageData data) {
-        // Invalidate early to short-circuit children invalidates
-        invalidate();
-
-        int page = data.page;
-        ViewGroup layout = (ViewGroup) getPageAt(page);
-        if (layout instanceof PagedViewCellLayout) {
-            PagedViewCellLayout cl = (PagedViewCellLayout) layout;
-            int count = cl.getPageChildCount();
-            if (count != data.generatedImages.size()) return;
-            for (int i = 0; i < count; ++i) {
-                PagedViewIcon icon = (PagedViewIcon) cl.getChildOnPageAt(i);
-                icon.setHolographicOutline(data.generatedImages.get(i));
-            }
-        } else {
-            int count = layout.getChildCount();
-            if (count != data.generatedImages.size()) return;
-            for (int i = 0; i < count; ++i) {
-                View v = layout.getChildAt(i);
-                ((PagedViewWidget) v).setHolographicOutline(data.generatedImages.get(i));
-            }
-        }
-    }
 
     @Override
     public void syncPages() {
@@ -1490,6 +1375,9 @@
 
     @Override
     public void reset() {
+        // If we have reset, then we should not continue to restore the previous state
+        mSaveInstanceStateItemIndex = -1;
+
         AppsCustomizeTabHost tabHost = getTabHost();
         String tag = tabHost.getCurrentTabTag();
         if (tag != null) {
@@ -1497,6 +1385,7 @@
                 tabHost.setCurrentTabFromContent(ContentType.Applications);
             }
         }
+
         if (mCurrentPage != 0) {
             invalidatePageData(0);
         }
@@ -1540,6 +1429,22 @@
         cancelAllTasks();
     }
 
+    @Override
+    public void iconPressed(PagedViewIcon icon) {
+        // Reset the previously pressed icon and store a reference to the pressed icon so that
+        // we can reset it on return to Launcher (in Launcher.onResume())
+        if (mPressedIcon != null) {
+            mPressedIcon.resetDrawableState();
+        }
+        mPressedIcon = icon;
+    }
+
+    public void resetDrawableState() {
+        if (mPressedIcon != null) {
+            mPressedIcon.resetDrawableState();
+            mPressedIcon = null;
+        }
+    }
 
     /*
      * We load an extra page on each side to prevent flashes from scrolling and loading of the
diff --git a/src/com/android/launcher2/AppsCustomizeTabHost.java b/src/com/android/launcher2/AppsCustomizeTabHost.java
index 2963240..caababa 100644
--- a/src/com/android/launcher2/AppsCustomizeTabHost.java
+++ b/src/com/android/launcher2/AppsCustomizeTabHost.java
@@ -54,7 +54,6 @@
 
     private boolean mInTransition;
     private boolean mResetAfterTransition;
-    private Animator mLauncherTransition;
 
     public AppsCustomizeTabHost(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -341,29 +340,16 @@
         }
     }
 
-    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
-        super.onLayout(changed, left, top, right, bottom);
-        if (mLauncherTransition != null) {
-            enableAndBuildHardwareLayer();
-            mLauncherTransition.start();
-            mLauncherTransition = null;
-        }
+    @Override
+    public View getContent() {
+        return mContent;
     }
 
     /* LauncherTransitionable overrides */
     @Override
-    public boolean onLauncherTransitionStart(Launcher l, Animator animation, boolean toWorkspace) {
+    public void onLauncherTransitionStart(Launcher l, boolean animated, boolean toWorkspace) {
         mInTransition = true;
-        boolean delayLauncherTransitionUntilLayout = false;
-        boolean animated = (animation != null);
-        mLauncherTransition = null;
 
-        // if the content wasn't visible before, delay the launcher animation until after a call
-        // to layout -- this prevents a blip
-        if (animated && mContent.getVisibility() == GONE) {
-            mLauncherTransition = animation;
-            delayLauncherTransitionUntilLayout = true;
-        }
         mContent.setVisibility(VISIBLE);
 
         if (!toWorkspace) {
@@ -371,7 +357,7 @@
             // transition to prevent slowing down the animation)
             mAppsCustomizePane.loadAssociatedPages(mAppsCustomizePane.getCurrentPage(), true);
         }
-        if (animated && !delayLauncherTransitionUntilLayout) {
+        if (animated) {
             enableAndBuildHardwareLayer();
         }
 
@@ -382,13 +368,12 @@
             mAppsCustomizePane.reset();
             mResetAfterTransition = false;
         }
-        return delayLauncherTransitionUntilLayout;
     }
 
     @Override
-    public void onLauncherTransitionEnd(Launcher l, Animator animation, boolean toWorkspace) {
+    public void onLauncherTransitionEnd(Launcher l, boolean animated, boolean toWorkspace) {
         mInTransition = false;
-        if (animation != null) {
+        if (animated) {
             setLayerType(LAYER_TYPE_NONE, null);
         }
 
@@ -406,7 +391,7 @@
         }
     }
 
-    public void onResume() {
+    public void onWindowVisible() {
         if (getVisibility() == VISIBLE) {
             mContent.setVisibility(VISIBLE);
             // We unload the widget previews when the UI is hidden, so need to reload pages
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java
index dc498a4..01417bf 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher2/BubbleTextView.java
@@ -134,7 +134,7 @@
                 mPressedOrFocusedBackground = null;
             }
             if (isFocused()) {
-                if (mLayout == null) {
+                if (getLayout() == null) {
                     // In some cases, we get focus before we have been layed out. Set the
                     // background to null so that it will get created when the view is drawn.
                     mPressedOrFocusedBackground = null;
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index 8aae809..5df271e 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -903,10 +903,6 @@
         return mBackgroundAlpha;
     }
 
-    public void setFastBackgroundAlpha(float alpha) {
-        mBackgroundAlpha = alpha;
-    }
-
     public void setBackgroundAlphaMultiplier(float multiplier) {
         mBackgroundAlphaMultiplier = multiplier;
     }
@@ -916,8 +912,10 @@
     }
 
     public void setBackgroundAlpha(float alpha) {
-        mBackgroundAlpha = alpha;
-        invalidate();
+        if (mBackgroundAlpha != alpha) {
+            mBackgroundAlpha = alpha;
+            invalidate();
+        }
     }
 
     // Need to return true to let the view system know we know how to handle alpha-- this is
@@ -928,16 +926,12 @@
         return true;
     }
 
+    @Override
     public void setAlpha(float alpha) {
         setChildrenAlpha(alpha);
         super.setAlpha(alpha);
     }
 
-    public void setFastAlpha(float alpha) {
-        setFastChildrenAlpha(alpha);
-        super.setFastAlpha(alpha);
-    }
-
     private void setChildrenAlpha(float alpha) {
         final int childCount = getChildCount();
         for (int i = 0; i < childCount; i++) {
@@ -945,13 +939,6 @@
         }
     }
 
-    private void setFastChildrenAlpha(float alpha) {
-        final int childCount = getChildCount();
-        for (int i = 0; i < childCount; i++) {
-            getChildAt(i).setFastAlpha(alpha);
-        }
-    }
-
     public View getChildAt(int x, int y) {
         return mChildren.getChildAt(x, y);
     }
diff --git a/src/com/android/launcher2/DeleteDropTarget.java b/src/com/android/launcher2/DeleteDropTarget.java
index f199708..3b82f9e 100644
--- a/src/com/android/launcher2/DeleteDropTarget.java
+++ b/src/com/android/launcher2/DeleteDropTarget.java
@@ -193,7 +193,7 @@
         };
         dragLayer.animateView(d.dragView, from, to, 0.1f, 0.1f,
                 DELETE_ANIMATION_DURATION, new DecelerateInterpolator(2),
-                new DecelerateInterpolator(1.5f), onAnimationEndRunnable, false);
+                new DecelerateInterpolator(1.5f), onAnimationEndRunnable, false, null);
     }
 
     private void completeDrop(DragObject d) {
diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher2/DragController.java
index a120ac5..425f301 100644
--- a/src/com/android/launcher2/DragController.java
+++ b/src/com/android/launcher2/DragController.java
@@ -47,7 +47,8 @@
     /** Indicates the drag is a copy.  */
     public static int DRAG_ACTION_COPY = 1;
 
-    private static final int SCROLL_DELAY = 600;
+    private static final int SCROLL_DELAY = 500;
+    private static final int RESCROLL_DELAY = 750;
     private static final int VIBRATE_DURATION = 35;
 
     private static final boolean PROFILE_DRAWING_DURING_DRAG = false;
@@ -388,11 +389,14 @@
     private void endDrag() {
         if (mDragging) {
             mDragging = false;
+            clearScrollRunnable();
             for (DragListener listener : mListeners) {
                 listener.onDragEnd();
             }
             if (mDragObject.dragView != null) {
-                mDragObject.dragView.remove();
+                if (!mDragObject.deferDragViewCleanupPostAnimation) {
+                    mDragObject.dragView.remove();
+                }
                 mDragObject.dragView = null;
             }
         }
@@ -456,6 +460,15 @@
         return mMoveTarget != null && mMoveTarget.dispatchUnhandledMove(focused, direction);
     }
 
+    private void clearScrollRunnable() {
+        mHandler.removeCallbacks(mScrollRunnable);
+        if (mScrollState == SCROLL_WAITING_IN_ZONE) {
+            mScrollState = SCROLL_OUTSIDE_ZONE;
+            mScrollRunnable.setDirection(SCROLL_RIGHT);
+            mDragScroller.onExitScrollArea();
+        }
+    }
+
     private void handleMoveEvent(int x, int y) {
         mDragObject.dragView.move(x, y);
 
@@ -491,30 +504,32 @@
             Math.sqrt(Math.pow(mLastTouch[0] - x, 2) + Math.pow(mLastTouch[1] - y, 2));
         mLastTouch[0] = x;
         mLastTouch[1] = y;
+        final int delay = mDistanceSinceScroll < slop ? RESCROLL_DELAY : SCROLL_DELAY;
 
         if (x < mScrollZone) {
-            if (mScrollState == SCROLL_OUTSIDE_ZONE && mDistanceSinceScroll > slop) {
+            if (mScrollState == SCROLL_OUTSIDE_ZONE) {
                 mScrollState = SCROLL_WAITING_IN_ZONE;
                 if (mDragScroller.onEnterScrollArea(x, y, SCROLL_LEFT)) {
                     mScrollRunnable.setDirection(SCROLL_LEFT);
-                    mHandler.postDelayed(mScrollRunnable, SCROLL_DELAY);
+                    mHandler.postDelayed(mScrollRunnable, delay);
                 }
             }
         } else if (x > mScrollView.getWidth() - mScrollZone) {
-            if (mScrollState == SCROLL_OUTSIDE_ZONE && mDistanceSinceScroll > slop) {
+            if (mScrollState == SCROLL_OUTSIDE_ZONE) {
                 mScrollState = SCROLL_WAITING_IN_ZONE;
                 if (mDragScroller.onEnterScrollArea(x, y, SCROLL_RIGHT)) {
                     mScrollRunnable.setDirection(SCROLL_RIGHT);
-                    mHandler.postDelayed(mScrollRunnable, SCROLL_DELAY);
+                    mHandler.postDelayed(mScrollRunnable, delay);
                 }
             }
         } else {
-            if (mScrollState == SCROLL_WAITING_IN_ZONE) {
-                mScrollState = SCROLL_OUTSIDE_ZONE;
-                mScrollRunnable.setDirection(SCROLL_RIGHT);
-                mHandler.removeCallbacks(mScrollRunnable);
-                mDragScroller.onExitScrollArea();
-            }
+            clearScrollRunnable();
+        }
+    }
+
+    public void forceMoveEvent() {
+        if (mDragging) {
+            handleMoveEvent(mDragObject.x, mDragObject.y);
         }
     }
 
@@ -558,6 +573,7 @@
             endDrag();
             break;
         case MotionEvent.ACTION_CANCEL:
+            mHandler.removeCallbacks(mScrollRunnable);
             cancelDrag();
             break;
         }
@@ -681,6 +697,11 @@
                 mScrollState = SCROLL_OUTSIDE_ZONE;
                 mDistanceSinceScroll = 0;
                 mDragScroller.onExitScrollArea();
+
+                if (isDragging()) {
+                    // Force an update so that we can requeue the scroller if necessary
+                    forceMoveEvent();
+                }
             }
         }
 
diff --git a/src/com/android/launcher2/DragLayer.java b/src/com/android/launcher2/DragLayer.java
index 9154771..05596ef 100644
--- a/src/com/android/launcher2/DragLayer.java
+++ b/src/com/android/launcher2/DragLayer.java
@@ -62,11 +62,10 @@
     private ValueAnimator mDropAnim = null;
     private ValueAnimator mFadeOutAnim = null;
     private TimeInterpolator mCubicEaseOutInterpolator = new DecelerateInterpolator(1.5f);
-    private View mDropView = null;
+    private DragView mDropView = null;
+    private int mAnchorViewInitialScrollX = 0;
+    private View mAnchorView = null;
 
-    private int[] mDropViewPos = new int[2];
-    private float mDropViewScale;
-    private float mDropViewAlpha;
     private boolean mHoverPointClosesFolder = false;
     private Rect mHitRect = new Rect();
     private int mWorkspaceIndex = -1;
@@ -420,16 +419,16 @@
         final int fromY = r.top;
 
         animateViewIntoPosition(dragView, fromX, fromY, pos[0], pos[1], scale,
-                onFinishRunnable, true, -1);
+                onFinishRunnable, true, -1, null);
     }
 
     public void animateViewIntoPosition(DragView dragView, final View child,
             final Runnable onFinishAnimationRunnable) {
-        animateViewIntoPosition(dragView, child, -1, onFinishAnimationRunnable);
+        animateViewIntoPosition(dragView, child, -1, onFinishAnimationRunnable, null);
     }
 
     public void animateViewIntoPosition(DragView dragView, final View child, int duration,
-            final Runnable onFinishAnimationRunnable) {
+            final Runnable onFinishAnimationRunnable, View anchorView) {
         ((CellLayoutChildren) child.getParent()).measureChild(child);
         CellLayout.LayoutParams lp =  (CellLayout.LayoutParams) child.getLayoutParams();
 
@@ -485,16 +484,17 @@
             }
         };
         animateViewIntoPosition(dragView, fromX, fromY, toX, toY, scale,
-                onCompleteRunnable, true, duration);
+                onCompleteRunnable, true, duration, anchorView);
     }
 
-    private void animateViewIntoPosition(final View view, final int fromX, final int fromY,
+    private void animateViewIntoPosition(final DragView view, final int fromX, final int fromY,
             final int toX, final int toY, float finalScale, Runnable onCompleteRunnable,
-            boolean fadeOut, int duration) {
+            boolean fadeOut, int duration, View anchorView) {
         Rect from = new Rect(fromX, fromY, fromX +
                 view.getMeasuredWidth(), fromY + view.getMeasuredHeight());
         Rect to = new Rect(toX, toY, toX + view.getMeasuredWidth(), toY + view.getMeasuredHeight());
-        animateView(view, from, to, 1f, finalScale, duration, null, null, onCompleteRunnable, true);
+        animateView(view, from, to, 1f, finalScale, duration, null, null,
+                onCompleteRunnable, true, anchorView);
     }
 
     /**
@@ -514,11 +514,14 @@
      * @param onCompleteRunnable Optional runnable to run on animation completion.
      * @param fadeOut Whether or not to fade out the view once the animation completes. If true,
      *        the runnable will execute after the view is faded out.
+     * @param anchorView If not null, this represents the view which the animated view stays
+     *        anchored to in case scrolling is currently taking place. Note: currently this is
+     *        only used for the X dimension for the case of the workspace.
      */
-    public void animateView(final View view, final Rect from, final Rect to, final float finalAlpha,
-            final float finalScale, int duration, final Interpolator motionInterpolator,
-            final Interpolator alphaInterpolator, final Runnable onCompleteRunnable,
-            final boolean fadeOut) {
+    public void animateView(final DragView view, final Rect from, final Rect to,
+            final float finalAlpha, final float finalScale, int duration,
+            final Interpolator motionInterpolator, final Interpolator alphaInterpolator,
+            final Runnable onCompleteRunnable, final boolean fadeOut, View anchorView) {
         // Calculate the duration of the animation based on the object's distance
         final float dist = (float) Math.sqrt(Math.pow(to.left - from.left, 2) +
                 Math.pow(to.top - from.top, 2));
@@ -541,36 +544,53 @@
             mFadeOutAnim.cancel();
         }
 
+        // Show the drop view if it was previously hidden
         mDropView = view;
-        final float initialAlpha = view.getAlpha();
+        mDropView.cancelAnimation();
+        mDropView.resetLayoutParams();
         mDropAnim = new ValueAnimator();
         if (alphaInterpolator == null || motionInterpolator == null) {
             mDropAnim.setInterpolator(mCubicEaseOutInterpolator);
         }
 
+        if (anchorView != null) {
+            mAnchorViewInitialScrollX = anchorView.getScrollX();
+        }
+        mAnchorView = anchorView;
+
+        final float initialAlpha = view.getAlpha();
+        final float initialScale = mDropView.getScaleX();
+
         mDropAnim.setDuration(duration);
         mDropAnim.setFloatValues(0.0f, 1.0f);
         mDropAnim.removeAllUpdateListeners();
         mDropAnim.addUpdateListener(new AnimatorUpdateListener() {
             public void onAnimationUpdate(ValueAnimator animation) {
                 final float percent = (Float) animation.getAnimatedValue();
-                // Invalidate the old position
-                int width = view.getMeasuredWidth();
-                int height = view.getMeasuredHeight();
-                invalidate(mDropViewPos[0], mDropViewPos[1],
-                        mDropViewPos[0] + width, mDropViewPos[1] + height);
+                final int width = view.getMeasuredWidth();
+                final int height = view.getMeasuredHeight();
 
                 float alphaPercent = alphaInterpolator == null ? percent :
                         alphaInterpolator.getInterpolation(percent);
                 float motionPercent = motionInterpolator == null ? percent :
                         motionInterpolator.getInterpolation(percent);
+                float scale = finalScale * percent + initialScale * (1 - percent);
+                float alpha = finalAlpha * alphaPercent + initialAlpha * (1 - alphaPercent);
 
-                mDropViewPos[0] = from.left + (int) Math.round(((to.left - from.left) * motionPercent));
-                mDropViewPos[1] = from.top + (int) Math.round(((to.top - from.top) * motionPercent));
-                mDropViewScale = percent * finalScale + (1 - percent);
-                mDropViewAlpha = alphaPercent * finalAlpha + (1 - alphaPercent) * initialAlpha;
-                invalidate(mDropViewPos[0], mDropViewPos[1],
-                        mDropViewPos[0] + width, mDropViewPos[1] + height);
+                float fromLeft = from.left + (initialScale - 1f) * width / 2;
+                float fromTop = from.top + (initialScale - 1f) * height / 2;
+                int x = (int) (fromLeft + Math.round(((to.left - fromLeft) * motionPercent)));
+                int y = (int) (fromTop + Math.round(((to.top - fromTop) * motionPercent)));
+
+                int xPos = x - mDropView.getScrollX() + (mAnchorView != null
+                        ? (mAnchorViewInitialScrollX - mAnchorView.getScrollX()) : 0);
+                int yPos = y - mDropView.getScrollY();
+                mDropView.setTranslationX(xPos);
+                mDropView.setTranslationY(yPos);
+                mDropView.setScaleX(scale);
+                mDropView.setScaleY(scale);
+                mDropView.setAlpha(alpha);
+                invalidate();
             }
         });
         mDropAnim.addListener(new AnimatorListenerAdapter() {
@@ -581,6 +601,7 @@
                 if (fadeOut) {
                     fadeOutDragView();
                 } else {
+                    mDropView.remove();
                     mDropView = null;
                 }
             }
@@ -596,15 +617,15 @@
         mFadeOutAnim.addUpdateListener(new AnimatorUpdateListener() {
             public void onAnimationUpdate(ValueAnimator animation) {
                 final float percent = (Float) animation.getAnimatedValue();
-                mDropViewAlpha = 1 - percent;
-                int width = mDropView.getMeasuredWidth();
-                int height = mDropView.getMeasuredHeight();
-                invalidate(mDropViewPos[0], mDropViewPos[1],
-                        mDropViewPos[0] + width, mDropViewPos[1] + height);
+
+                float alpha = 1 - percent;
+                mDropView.setAlpha(alpha);
+                invalidate();
             }
         });
         mFadeOutAnim.addListener(new AnimatorListenerAdapter() {
             public void onAnimationEnd(Animator animation) {
+                mDropView.remove();
                 mDropView = null;
             }
         });
@@ -654,24 +675,4 @@
             return i;
         }
     }
-
-    @Override
-    protected void dispatchDraw(Canvas canvas) {
-        super.dispatchDraw(canvas);
-        if (mDropView != null) {
-            // We are animating an item that was just dropped on the home screen.
-            // Render its View in the current animation position.
-            canvas.save(Canvas.MATRIX_SAVE_FLAG);
-            final int xPos = mDropViewPos[0] - mDropView.getScrollX();
-            final int yPos = mDropViewPos[1] - mDropView.getScrollY();
-            int width = mDropView.getMeasuredWidth();
-            int height = mDropView.getMeasuredHeight();
-            canvas.translate(xPos, yPos);
-            canvas.translate((1 - mDropViewScale) * width / 2, (1 - mDropViewScale) * height / 2);
-            canvas.scale(mDropViewScale, mDropViewScale);
-            mDropView.setAlpha(mDropViewAlpha);
-            mDropView.draw(canvas);
-            canvas.restore();
-        }
-    }
 }
diff --git a/src/com/android/launcher2/DragView.java b/src/com/android/launcher2/DragView.java
index dd94175..7be70a2 100644
--- a/src/com/android/launcher2/DragView.java
+++ b/src/com/android/launcher2/DragView.java
@@ -32,6 +32,8 @@
 import com.android.launcher.R;
 
 public class DragView extends View {
+    private static float sDragAlpha = 0.8f;
+
     private Bitmap mBitmap;
     private Paint mPaint;
     private int mRegistrationX;
@@ -65,20 +67,13 @@
         mDragLayer = launcher.getDragLayer();
 
         final Resources res = getResources();
-        final int dragScale = res.getInteger(R.integer.config_dragViewExtraPixels);
-
-        Matrix scale = new Matrix();
-        final float scaleFactor = (width + dragScale) / width;
-        if (scaleFactor != 1.0f) {
-            scale.setScale(scaleFactor, scaleFactor);
-        }
-
-        final int offsetX = res.getDimensionPixelSize(R.dimen.dragViewOffsetX);
-        final int offsetY = res.getDimensionPixelSize(R.dimen.dragViewOffsetY);
+        final float scale = res.getInteger(R.integer.config_dragViewScaleFactor) / 100f;
+        final float offsetX = res.getDimensionPixelSize(R.dimen.dragViewOffsetX);
+        final float offsetY = res.getDimensionPixelSize(R.dimen.dragViewOffsetY);
 
         // Animate the view into the correct position
         mAnim = ValueAnimator.ofFloat(0.0f, 1.0f);
-        mAnim.setDuration(110);
+        mAnim.setDuration(150);
         mAnim.setInterpolator(new DecelerateInterpolator(2.5f));
         mAnim.addUpdateListener(new AnimatorUpdateListener() {
             @Override
@@ -90,6 +85,9 @@
 
                 mOffsetX += deltaX;
                 mOffsetY += deltaY;
+                setScaleX(1f + (value * (scale - 1f)));
+                setScaleY(1f + (value * (scale - 1f)));
+                setAlpha(sDragAlpha * value + (1f - value));
 
                 if (getParent() == null) {
                     animation.cancel();
@@ -97,12 +95,14 @@
                     DragLayer.LayoutParams lp = mLayoutParams;
                     lp.x += deltaX;
                     lp.y += deltaY;
+                    lp.width = mBitmap.getWidth();
+                    lp.height = mBitmap.getHeight();
                     mDragLayer.requestLayout();
                 }
             }
         });
 
-        mBitmap = Bitmap.createBitmap(bitmap, left, top, width, height, scale, true);
+        mBitmap = Bitmap.createBitmap(bitmap, left, top, width, height);
         setDragRegion(new Rect(0, 0, width, height));
 
         // The point in our scaled bitmap that the touch events are located
@@ -208,6 +208,18 @@
         mAnim.start();
     }
 
+    public void cancelAnimation() {
+        if (mAnim != null && mAnim.isRunning()) {
+            mAnim.cancel();
+        }
+    }
+
+    public void resetLayoutParams() {
+        DragLayer.LayoutParams lp = mLayoutParams;
+        lp.x = lp.y = 0;
+        mOffsetX = mOffsetY = 0;
+    }
+
     /**
      * Move the window containing this view.
      *
@@ -222,11 +234,9 @@
     }
 
     void remove() {
-        post(new Runnable() {
-            public void run() {
-                mDragLayer.removeView(DragView.this);
-            }
-        });
+        if (getParent() != null) {
+            mDragLayer.removeView(DragView.this);
+        }
     }
 
     int[] getPosition(int[] result) {
diff --git a/src/com/android/launcher2/DrawableStateProxyView.java b/src/com/android/launcher2/DrawableStateProxyView.java
new file mode 100644
index 0000000..498730f
--- /dev/null
+++ b/src/com/android/launcher2/DrawableStateProxyView.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher2;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.StateListDrawable;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+
+import com.android.launcher.R;
+
+public class DrawableStateProxyView extends LinearLayout {
+
+    private View mView;
+    private int mViewId;
+
+    public DrawableStateProxyView(Context context) {
+        this(context, null);
+    }
+
+    public DrawableStateProxyView(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public DrawableStateProxyView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+
+        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DrawableStateProxyView,
+                defStyle, 0);
+        mViewId = a.getResourceId(R.styleable.DrawableStateProxyView_sourceViewId, -1);
+        a.recycle();
+
+        setFocusable(false);
+    }
+
+    @Override
+    protected void drawableStateChanged() {
+        super.drawableStateChanged();
+
+        if (mView == null) {
+            View parent = (View) getParent();
+            mView = parent.findViewById(mViewId);
+        }
+        mView.setPressed(isPressed());
+        mView.setHovered(isHovered());
+    }
+}
diff --git a/src/com/android/launcher2/DropTarget.java b/src/com/android/launcher2/DropTarget.java
index 4172da2..e49f782 100644
--- a/src/com/android/launcher2/DropTarget.java
+++ b/src/com/android/launcher2/DropTarget.java
@@ -55,6 +55,9 @@
         /** Indicates that the drag operation was cancelled */
         public boolean cancelled = false;
 
+        /** Defers removing the DragView from the DragLayer until after the drop animation. */
+        public boolean deferDragViewCleanupPostAnimation = true;
+
         public DragObject() {
         }
     }
diff --git a/src/com/android/launcher2/Folder.java b/src/com/android/launcher2/Folder.java
index fdde4d5..08d3315 100644
--- a/src/com/android/launcher2/Folder.java
+++ b/src/com/android/launcher2/Folder.java
@@ -20,8 +20,6 @@
 import android.animation.AnimatorListenerAdapter;
 import android.animation.ObjectAnimator;
 import android.animation.PropertyValuesHolder;
-import android.animation.ValueAnimator;
-import android.animation.ValueAnimator.AnimatorUpdateListener;
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Rect;
@@ -37,10 +35,9 @@
 import android.view.MenuItem;
 import android.view.MotionEvent;
 import android.view.View;
+import android.view.View.MeasureSpec;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityManager;
-import android.view.animation.AccelerateInterpolator;
-import android.view.animation.DecelerateInterpolator;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.LinearLayout;
@@ -74,18 +71,13 @@
     private final LayoutInflater mInflater;
     private final IconCache mIconCache;
     private int mState = STATE_NONE;
-    private static final int FULL_GROW = 0;
-    private static final int PARTIAL_GROW = 1;
     private static final int REORDER_ANIMATION_DURATION = 230;
     private static final int ON_EXIT_CLOSE_DELAY = 800;
-    private int mMode = PARTIAL_GROW;
     private boolean mRearrangeOnClose = false;
     private FolderIcon mFolderIcon;
     private int mMaxCountX;
     private int mMaxCountY;
     private int mMaxNumItems;
-    private Rect mNewSize = new Rect();
-    private Rect mIconRect = new Rect();
     private ArrayList<View> mItemsInReadingOrder = new ArrayList<View>();
     private Drawable mIconDrawable;
     boolean mItemsInvalidated = false;
@@ -365,21 +357,9 @@
      */
     private void positionAndSizeAsIcon() {
         if (!(getParent() instanceof DragLayer)) return;
-
-        DragLayer.LayoutParams lp = (DragLayer.LayoutParams) getLayoutParams();
-
-        if (mMode == PARTIAL_GROW) {
-            setScaleX(0.8f);
-            setScaleY(0.8f);
-            setAlpha(0f);
-        } else {
-            mLauncher.getDragLayer().getDescendantRectRelativeToSelf(mFolderIcon, mIconRect);
-            lp.width = mIconRect.width();
-            lp.height = mIconRect.height();
-            lp.x = mIconRect.left;
-            lp.y = mIconRect.top;
-            mContent.setAlpha(0);
-        }
+        setScaleX(0.8f);
+        setScaleY(0.8f);
+        setAlpha(0f);
         mState = STATE_SMALL;
     }
 
@@ -387,34 +367,11 @@
         positionAndSizeAsIcon();
 
         if (!(getParent() instanceof DragLayer)) return;
-
-        ObjectAnimator oa;
-        DragLayer.LayoutParams lp = (DragLayer.LayoutParams) getLayoutParams();
-
         centerAboutIcon();
-        if (mMode == PARTIAL_GROW) {
-            PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 1);
-            PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 1.0f);
-            PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 1.0f);
-            oa = ObjectAnimator.ofPropertyValuesHolder(this, alpha, scaleX, scaleY);
-        } else {
-            PropertyValuesHolder width = PropertyValuesHolder.ofInt("width", mNewSize.width());
-            PropertyValuesHolder height = PropertyValuesHolder.ofInt("height", mNewSize.height());
-            PropertyValuesHolder x = PropertyValuesHolder.ofInt("x", mNewSize.left);
-            PropertyValuesHolder y = PropertyValuesHolder.ofInt("y", mNewSize.top);
-            oa = ObjectAnimator.ofPropertyValuesHolder(lp, width, height, x, y);
-            oa.addUpdateListener(new AnimatorUpdateListener() {
-                public void onAnimationUpdate(ValueAnimator animation) {
-                    requestLayout();
-                }
-            });
-
-            PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 1.0f);
-            ObjectAnimator alphaOa = ObjectAnimator.ofPropertyValuesHolder(mContent, alpha);
-            alphaOa.setDuration(mExpandDuration);
-            alphaOa.setInterpolator(new AccelerateInterpolator(2.0f));
-            alphaOa.start();
-        }
+        PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 1);
+        PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 1.0f);
+        PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 1.0f);
+        ObjectAnimator oa = ObjectAnimator.ofPropertyValuesHolder(this, alpha, scaleX, scaleY);
 
         oa.addListener(new AnimatorListenerAdapter() {
             @Override
@@ -457,33 +414,10 @@
 
     public void animateClosed() {
         if (!(getParent() instanceof DragLayer)) return;
-
-        ObjectAnimator oa;
-        if (mMode == PARTIAL_GROW) {
-            PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 0);
-            PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 0.9f);
-            PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 0.9f);
-            oa = ObjectAnimator.ofPropertyValuesHolder(this, alpha, scaleX, scaleY);
-        } else {
-            DragLayer.LayoutParams lp = (DragLayer.LayoutParams) getLayoutParams();
-
-            PropertyValuesHolder width = PropertyValuesHolder.ofInt("width", mIconRect.width());
-            PropertyValuesHolder height = PropertyValuesHolder.ofInt("height", mIconRect.height());
-            PropertyValuesHolder x = PropertyValuesHolder.ofInt("x", mIconRect.left);
-            PropertyValuesHolder y = PropertyValuesHolder.ofInt("y", mIconRect.top);
-            oa = ObjectAnimator.ofPropertyValuesHolder(lp, width, height, x, y);
-            oa.addUpdateListener(new AnimatorUpdateListener() {
-                public void onAnimationUpdate(ValueAnimator animation) {
-                    requestLayout();
-                }
-            });
-
-            PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 0f);
-            ObjectAnimator alphaOa = ObjectAnimator.ofPropertyValuesHolder(mContent, alpha);
-            alphaOa.setDuration(mExpandDuration);
-            alphaOa.setInterpolator(new DecelerateInterpolator(2.0f));
-            alphaOa.start();
-        }
+        PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 0);
+        PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 0.9f);
+        PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 0.9f);
+        ObjectAnimator oa = ObjectAnimator.ofPropertyValuesHolder(this, alpha, scaleX, scaleY);
 
         oa.addListener(new AnimatorListenerAdapter() {
             @Override
@@ -791,11 +725,17 @@
         int centeredLeft = centerX - width / 2;
         int centeredTop = centerY - height / 2;
 
+        int currentPage = mLauncher.getWorkspace().getCurrentPage();
+        // In case the workspace is scrolling, we need to use the final scroll to compute
+        // the folders bounds.
+        mLauncher.getWorkspace().setFinalScrollForPageChange(currentPage);
         // We first fetch the currently visible CellLayoutChildren
-        CellLayout currentPage = mLauncher.getWorkspace().getCurrentDropLayout();
-        CellLayoutChildren boundingLayout = currentPage.getChildrenLayout();
+        CellLayout currentLayout = (CellLayout) mLauncher.getWorkspace().getChildAt(currentPage);
+        CellLayoutChildren boundingLayout = currentLayout.getChildrenLayout();
         Rect bounds = new Rect();
         parent.getDescendantRectRelativeToSelf(boundingLayout, bounds);
+        // We reset the workspaces scroll
+        mLauncher.getWorkspace().resetFinalScrollForPageChange(currentPage);
 
         // We need to bound the folder to the currently visible CellLayoutChildren
         int left = Math.min(Math.max(bounds.left, centeredLeft),
@@ -821,14 +761,10 @@
         mFolderIcon.setPivotX(folderIconPivotX);
         mFolderIcon.setPivotY(folderIconPivotY);
 
-        if (mMode == PARTIAL_GROW) {
-            lp.width = width;
-            lp.height = height;
-            lp.x = left;
-            lp.y = top;
-        } else {
-            mNewSize.set(left, top, left + width, top + height);
-        }
+        lp.width = width;
+        lp.height = height;
+        lp.x = left;
+        lp.y = top;
     }
 
     private void setupContentForNumItems(int count) {
diff --git a/src/com/android/launcher2/FolderIcon.java b/src/com/android/launcher2/FolderIcon.java
index 3c0829d..a023516 100644
--- a/src/com/android/launcher2/FolderIcon.java
+++ b/src/com/android/launcher2/FolderIcon.java
@@ -295,14 +295,14 @@
     }
 
     public void performCreateAnimation(final ShortcutInfo destInfo, final View destView,
-            final ShortcutInfo srcInfo, final View srcView, Rect dstRect,
+            final ShortcutInfo srcInfo, final DragView srcView, Rect dstRect,
             float scaleRelativeToDragLayer, Runnable postAnimationRunnable) {
 
         Drawable animateDrawable = ((TextView) destView).getCompoundDrawables()[1];
         computePreviewDrawingParams(animateDrawable.getIntrinsicWidth(), destView.getMeasuredWidth());
 
         // This will animate the dragView (srcView) into the new folder
-        onDrop(srcInfo, srcView, dstRect, scaleRelativeToDragLayer, 1, postAnimationRunnable);
+        onDrop(srcInfo, srcView, dstRect, scaleRelativeToDragLayer, 1, postAnimationRunnable, null);
 
         // This will animate the first item from it's position as an icon into its
         // position as the first item in the preview
@@ -320,8 +320,9 @@
         mFolderRingAnimator.animateToNaturalState();
     }
 
-    private void onDrop(final ShortcutInfo item, View animateView, Rect finalRect,
-            float scaleRelativeToDragLayer, int index, Runnable postAnimationRunnable) {
+    private void onDrop(final ShortcutInfo item, DragView animateView, Rect finalRect,
+            float scaleRelativeToDragLayer, int index, Runnable postAnimationRunnable,
+            DragObject d) {
         item.cellX = -1;
         item.cellY = -1;
 
@@ -362,7 +363,7 @@
             dragLayer.animateView(animateView, from, to, finalAlpha,
                     scale * scaleRelativeToDragLayer, DROP_IN_ANIMATION_DURATION,
                     new DecelerateInterpolator(2), new AccelerateInterpolator(2),
-                    postAnimationRunnable, false);
+                    postAnimationRunnable, false, null);
             postDelayed(new Runnable() {
                 public void run() {
                     addItem(item);
@@ -382,7 +383,7 @@
             item = (ShortcutInfo) d.dragInfo;
         }
         mFolder.notifyDrop();
-        onDrop(item, d.dragView, null, 1.0f, mInfo.contents.size(), d.postAnimationRunnable);
+        onDrop(item, d.dragView, null, 1.0f, mInfo.contents.size(), d.postAnimationRunnable, d);
     }
 
     public DropTarget getDropTargetDelegate(DragObject d) {
diff --git a/src/com/android/launcher2/HandleView.java b/src/com/android/launcher2/HandleView.java
index 13d07e2..d77138b 100644
--- a/src/com/android/launcher2/HandleView.java
+++ b/src/com/android/launcher2/HandleView.java
@@ -17,13 +17,12 @@
 
 package com.android.launcher2;
 
-import android.widget.ImageView;
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
-import android.view.KeyEvent;
 import android.view.View;
+import android.widget.ImageView;
 
 import com.android.launcher.R;
 
diff --git a/src/com/android/launcher2/HolographicPagedViewIcon.java b/src/com/android/launcher2/HolographicPagedViewIcon.java
deleted file mode 100644
index dda233e..0000000
--- a/src/com/android/launcher2/HolographicPagedViewIcon.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher2;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.widget.TextView;
-
-
-
-/**
- * An icon on a PagedView, specifically for items in the launcher's paged view (with compound
- * drawables on the top).
- */
-public class HolographicPagedViewIcon extends TextView  {
-    PagedViewIcon mOriginalIcon;
-    Paint mPaint;
-
-    public HolographicPagedViewIcon(Context context, PagedViewIcon original) {
-        super(context);
-        mOriginalIcon = original;
-        mPaint = new Paint();
-    }
-
-    @Override
-    protected void onDraw(Canvas canvas) {
-        Bitmap overlay = mOriginalIcon.getHolographicOutline();
-        if (overlay != null) {
-            final int offset = getScrollX();
-            final int compoundPaddingLeft = getCompoundPaddingLeft();
-            final int compoundPaddingRight = getCompoundPaddingRight();
-            int hspace = getWidth() - compoundPaddingRight - compoundPaddingLeft;
-            canvas.drawBitmap(overlay,
-                    offset + compoundPaddingLeft + (hspace - overlay.getWidth()) / 2,
-                    mOriginalIcon.getPaddingTop(),
-                    mPaint);
-        }
-    }
-}
diff --git a/src/com/android/launcher2/InfoDropTarget.java b/src/com/android/launcher2/InfoDropTarget.java
index dba845b..21fe8ba 100644
--- a/src/com/android/launcher2/InfoDropTarget.java
+++ b/src/com/android/launcher2/InfoDropTarget.java
@@ -29,6 +29,7 @@
 import android.view.ViewGroup;
 
 import com.android.launcher.R;
+import com.android.launcher2.DropTarget.DragObject;
 
 public class InfoDropTarget extends ButtonDropTarget {
 
@@ -85,6 +86,9 @@
         if (componentName != null) {
             mLauncher.startApplicationDetailsActivity(componentName);
         }
+
+        // There is no post-drop animation, so clean up the DragView now
+        d.deferDragViewCleanupPostAnimation = false;
         return false;
     }
 
diff --git a/src/com/android/launcher2/InstallShortcutReceiver.java b/src/com/android/launcher2/InstallShortcutReceiver.java
index ed8f299..3cb37a7 100644
--- a/src/com/android/launcher2/InstallShortcutReceiver.java
+++ b/src/com/android/launcher2/InstallShortcutReceiver.java
@@ -16,8 +16,6 @@
 
 package com.android.launcher2;
 
-import java.util.ArrayList;
-
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -25,6 +23,8 @@
 
 import com.android.launcher.R;
 
+import java.util.ArrayList;
+
 public class InstallShortcutReceiver extends BroadcastReceiver {
     public static final String ACTION_INSTALL_SHORTCUT =
             "com.android.launcher.action.INSTALL_SHORTCUT";
@@ -41,16 +41,21 @@
         }
 
         int screen = Launcher.getScreen();
-
-        if (!installShortcut(context, data, screen)) {
+        String[] errorMsgs = {""};
+        if (!installShortcut(context, data, screen, errorMsgs)) {
             // The target screen is full, let's try the other screens
             for (int i = 0; i < Launcher.SCREEN_COUNT; i++) {
-                if (i != screen && installShortcut(context, data, i)) break;
+                if (i != screen && installShortcut(context, data, i, errorMsgs)) break;
             }
         }
+
+        if (!errorMsgs[0].isEmpty()) {
+            Toast.makeText(context, errorMsgs[0],
+                    Toast.LENGTH_SHORT).show();
+        }
     }
 
-    private boolean installShortcut(Context context, Intent data, int screen) {
+    private boolean installShortcut(Context context, Intent data, int screen, String[] errorMsgs) {
         String name = data.getStringExtra(Intent.EXTRA_SHORTCUT_NAME);
 
         if (findEmptyCell(context, mCoordinates, screen)) {
@@ -69,21 +74,18 @@
                             LauncherSettings.Favorites.CONTAINER_DESKTOP, screen, mCoordinates[0],
                             mCoordinates[1], true);
                     if (info != null) {
-                        Toast.makeText(context, context.getString(R.string.shortcut_installed, name),
-                                Toast.LENGTH_SHORT).show();
+                        errorMsgs[0] = context.getString(R.string.shortcut_installed, name);
                     } else {
                         return false;
                     }
                 } else {
-                    Toast.makeText(context, context.getString(R.string.shortcut_duplicate, name),
-                            Toast.LENGTH_SHORT).show();
+                    errorMsgs[0] = context.getString(R.string.shortcut_duplicate, name);
                 }
 
                 return true;
             }
         } else {
-            Toast.makeText(context, context.getString(R.string.out_of_space),
-                    Toast.LENGTH_SHORT).show();
+            errorMsgs[0] = context.getString(R.string.out_of_space);
         }
 
         return false;
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index a9d794d..7d974a5 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -28,7 +28,6 @@
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.app.SearchManager;
-import android.app.StatusBarManager;
 import android.appwidget.AppWidgetHostView;
 import android.appwidget.AppWidgetManager;
 import android.appwidget.AppWidgetProviderInfo;
@@ -54,7 +53,6 @@
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.AsyncTask;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Environment;
 import android.os.Handler;
@@ -80,6 +78,7 @@
 import android.view.View.OnLongClickListener;
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
+import android.view.ViewTreeObserver.OnGlobalLayoutListener;
 import android.view.WindowManager;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.animation.AccelerateDecelerateInterpolator;
@@ -139,6 +138,7 @@
     static final int DIALOG_RENAME_FOLDER = 2;
 
     private static final String PREFERENCES = "launcher.preferences";
+    static final String FORCE_ENABLE_ROTATION_PROPERTY = "launcher.force_enable_rotation";
 
     // Type: int
     private static final String RUNTIME_STATE_CURRENT_SCREEN = "launcher.current_screen";
@@ -348,8 +348,11 @@
         }
         mSearchDropTargetBar.onSearchPackagesChanged(searchVisible, voiceVisible);
 
+        final String forceEnableRotation = 
+                SystemProperties.get(FORCE_ENABLE_ROTATION_PROPERTY, "false");
+
         // On large interfaces, we want the screen to auto-rotate based on the current orientation
-        if (LauncherApplication.isScreenLarge() || Build.TYPE.contentEquals("eng")) {
+        if (LauncherApplication.isScreenLarge() || "true".equalsIgnoreCase(forceEnableRotation)) {
             setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
         }
     }
@@ -502,9 +505,6 @@
                 // We just wanted the activity result here so we can clear mWaitingForResult
                 break;
         }
-        // In any situation where we have a multi-step drop, we should reset the add info only after
-        // we complete the drop
-        resetAddInfo();
         return result;
     }
 
@@ -558,34 +558,20 @@
             mRestoring = false;
             mOnResumeNeedsLoad = false;
         }
+
+        // Reset the pressed state of icons that were locked in the press state while activities
+        // were launching
         if (mWaitingForResume != null) {
+            // Resets the previous workspace icon press state
             mWaitingForResume.setStayPressed(false);
         }
+        if (mAppsCustomizeContent != null) {
+            // Resets the previous all apps icon press state
+            mAppsCustomizeContent.resetDrawableState();
+        }
         // When we resume Launcher, a different Activity might be responsible for the app
         // market intent, so refresh the icon
         updateAppMarketIcon();
-        mAppsCustomizeTabHost.onResume();
-        if (!mWorkspaceLoading) {
-            final ViewTreeObserver observer = mWorkspace.getViewTreeObserver();
-            final Workspace workspace = mWorkspace;
-            // We want to let Launcher draw itself at least once before we force it to build
-            // layers on all the workspace pages, so that transitioning to Launcher from other
-            // apps is nice and speedy. Usually the first call to preDraw doesn't correspond to
-            // a true draw so we wait until the second preDraw call to be safe
-            observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
-                boolean mFirstTime = true;
-                public boolean onPreDraw() {
-                    if (mFirstTime) {
-                        mFirstTime = false;
-                    } else {
-                        workspace.post(mBuildLayersRunnable);
-                        observer.removeOnPreDrawListener(this);
-                    }
-                    return true;
-                }
-            });
-        }
-        clearTypedText();
     }
 
     @Override
@@ -1009,6 +995,7 @@
 
             addWidgetToAutoAdvanceIfNeeded(launcherInfo.hostView, appWidgetInfo);
         }
+        resetAddInfo();
     }
 
     private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@@ -1063,6 +1050,32 @@
     public void onWindowVisibilityChanged(int visibility) {
         mVisible = visibility == View.VISIBLE;
         updateRunning();
+        // The following code used to be in onResume, but it turns out onResume is called when
+        // you're in All Apps and click home to go to the workspace. onWindowVisibilityChanged
+        // is a more appropriate event to handle
+        if (mVisible) {
+            mAppsCustomizeTabHost.onWindowVisible();
+            if (!mWorkspaceLoading) {
+                final ViewTreeObserver observer = mWorkspace.getViewTreeObserver();
+                // We want to let Launcher draw itself at least once before we force it to build
+                // layers on all the workspace pages, so that transitioning to Launcher from other
+                // apps is nice and speedy. Usually the first call to preDraw doesn't correspond to
+                // a true draw so we wait until the second preDraw call to be safe
+                observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
+                    boolean mFirstTime = true;
+                    public boolean onPreDraw() {
+                        if (mFirstTime) {
+                            mFirstTime = false;
+                        } else {
+                            //workspace.post(mBuildLayersRunnable);
+                            observer.removeOnPreDrawListener(this);
+                        }
+                        return true;
+                    }
+                });
+            }
+            clearTypedText();
+        }
     }
 
     private void sendAdvanceMessage(long delay) {
@@ -2151,6 +2164,18 @@
         }
     }
 
+    private void dispatchOnLauncherTransitionStart(View v, boolean animated, boolean toWorkspace) {
+        if (v instanceof LauncherTransitionable) {
+            ((LauncherTransitionable) v).onLauncherTransitionStart(this, animated, toWorkspace);
+        }
+    }
+
+    private void dispatchOnLauncherTransitionEnd(View v, boolean animated, boolean toWorkspace) {
+        if (v instanceof LauncherTransitionable) {
+            ((LauncherTransitionable) v).onLauncherTransitionEnd(this, animated, toWorkspace);
+        }
+    }
+
     /**
      * Things to test when changing the following seven functions.
      *   - Home from workspace
@@ -2196,7 +2221,7 @@
      * Assumes that the view to show is anchored at either the very top or very bottom
      * of the screen.
      */
-    private void showAppsCustomizeHelper(boolean animated, final boolean springLoaded) {
+    private void showAppsCustomizeHelper(final boolean animated, final boolean springLoaded) {
         if (mStateAnimation != null) {
             mStateAnimation.cancel();
             mStateAnimation = null;
@@ -2207,6 +2232,7 @@
         final int duration = res.getInteger(R.integer.config_appsCustomizeZoomInTime);
         final int fadeDuration = res.getInteger(R.integer.config_appsCustomizeFadeInTime);
         final float scale = (float) res.getInteger(R.integer.config_appsCustomizeZoomScaleFactor);
+        final View fromView = mWorkspace;
         final View toView = mAppsCustomizeTabHost;
         final int startDelay =
                 res.getInteger(R.integer.config_workspaceAppsCustomizeAnimationStagger);
@@ -2214,32 +2240,32 @@
         setPivotsForZoom(toView, scale);
 
         // Shrink workspaces away if going to AppsCustomize from workspace
-        mWorkspace.changeState(Workspace.State.SMALL, animated);
+        Animator workspaceAnim =
+                mWorkspace.getChangeStateAnimation(Workspace.State.SMALL, animated);
 
         if (animated) {
-            final ValueAnimator scaleAnim = ValueAnimator.ofFloat(0f, 1f).setDuration(duration);
-            scaleAnim.setInterpolator(new Workspace.ZoomOutInterpolator());
-            scaleAnim.addUpdateListener(new LauncherAnimatorUpdateListener() {
-                public void onAnimationUpdate(float a, float b) {
-                    toView.setScaleX(a * scale + b * 1f);
-                    toView.setScaleY(a * scale + b * 1f);
-                }
-            });
+            toView.setScaleX(scale);
+            toView.setScaleY(scale);
+            final LauncherViewPropertyAnimator scaleAnim = new LauncherViewPropertyAnimator(toView);
+            scaleAnim.
+                scaleX(1f).scaleY(1f).
+                setDuration(duration).
+                setInterpolator(new Workspace.ZoomOutInterpolator());
 
             toView.setVisibility(View.VISIBLE);
             toView.setAlpha(0f);
-            ValueAnimator alphaAnim = ValueAnimator.ofFloat(0f, 1f).setDuration(fadeDuration);
+            final ObjectAnimator alphaAnim = ObjectAnimator
+                .ofFloat(toView, "alpha", 0f, 1f)
+                .setDuration(fadeDuration);
             alphaAnim.setInterpolator(new DecelerateInterpolator(1.5f));
-            alphaAnim.addUpdateListener(new LauncherAnimatorUpdateListener() {
-                public void onAnimationUpdate(float a, float b) {
-                    // don't need to invalidate because we do so above
-                    toView.setAlpha(a * 0f + b * 1f);
-                }
-            });
-            alphaAnim.setStartDelay(startDelay);
-            alphaAnim.start();
 
-            scaleAnim.addListener(new AnimatorListenerAdapter() {
+            // toView should appear right at the end of the workspace shrink
+            // animation
+            mStateAnimation = new AnimatorSet();
+            mStateAnimation.play(scaleAnim).after(startDelay);
+            mStateAnimation.play(alphaAnim).after(startDelay);
+
+            mStateAnimation.addListener(new AnimatorListenerAdapter() {
                 boolean animationCancelled = false;
 
                 @Override
@@ -2253,15 +2279,8 @@
                 }
                 @Override
                 public void onAnimationEnd(Animator animation) {
-                    // If we don't set the final scale values here, if this animation is cancelled
-                    // it will have the wrong scale value and subsequent cameraPan animations will
-                    // not fix that
-                    toView.setScaleX(1.0f);
-                    toView.setScaleY(1.0f);
-                    if (toView instanceof LauncherTransitionable) {
-                        ((LauncherTransitionable) toView).onLauncherTransitionEnd(instance,
-                                scaleAnim, false);
-                    }
+                    dispatchOnLauncherTransitionEnd(fromView, animated, false);
+                    dispatchOnLauncherTransitionEnd(toView, animated, false);
 
                     if (!springLoaded && !LauncherApplication.isScreenLarge()) {
                         // Hide the workspace scrollbar
@@ -2279,19 +2298,48 @@
                 }
             });
 
-            // toView should appear right at the end of the workspace shrink animation
-            mStateAnimation = new AnimatorSet();
-            mStateAnimation.play(scaleAnim).after(startDelay);
+            if (workspaceAnim != null) {
+                mStateAnimation.play(workspaceAnim);
+            }
 
             boolean delayAnim = false;
-            if (toView instanceof LauncherTransitionable) {
-                LauncherTransitionable lt = (LauncherTransitionable) toView;
-                delayAnim = lt.onLauncherTransitionStart(instance, mStateAnimation, false);
+            final ViewTreeObserver observer;
+
+            dispatchOnLauncherTransitionStart(fromView, animated, false);
+            dispatchOnLauncherTransitionStart(toView, animated, false);
+
+            // If any of the objects being animated haven't been measured/laid out
+            // yet, delay the animation until we get a layout pass
+            if ((((LauncherTransitionable) toView).getContent().getMeasuredWidth() == 0) ||
+                    (mWorkspace.getMeasuredWidth() == 0) ||
+                    (toView.getMeasuredWidth() == 0)) {
+                observer = mWorkspace.getViewTreeObserver();
+                delayAnim = true;
+            } else {
+                observer = null;
             }
-            // if the anim is delayed, the LauncherTransitionable is responsible for starting it
-            if (!delayAnim) {
-                // TODO: q-- what if this anim is cancelled before being started? or started after
-                // being cancelled?
+
+            if (delayAnim) {
+                final AnimatorSet stateAnimation = mStateAnimation;
+                final OnGlobalLayoutListener delayedStart = new OnGlobalLayoutListener() {
+                    public void onGlobalLayout() {
+                        mWorkspace.post(new Runnable() {
+                            public void run() {
+                                // Check that mStateAnimation hasn't changed while
+                                // we waited for a layout pass
+                                if (mStateAnimation == stateAnimation) {
+                                    // Need to update pivots for zoom if layout changed
+                                    setPivotsForZoom(toView, scale);
+                                    mStateAnimation.start();
+                                }
+                            }
+                        });
+                        observer.removeGlobalOnLayoutListener(this);
+                    }
+                };
+                observer.addOnGlobalLayoutListener(delayedStart);
+            } else {
+                setPivotsForZoom(toView, scale);
                 mStateAnimation.start();
             }
         } else {
@@ -2301,16 +2349,16 @@
             toView.setScaleY(1.0f);
             toView.setVisibility(View.VISIBLE);
             toView.bringToFront();
-            if (toView instanceof LauncherTransitionable) {
-                ((LauncherTransitionable) toView).onLauncherTransitionStart(instance, null, false);
-                ((LauncherTransitionable) toView).onLauncherTransitionEnd(instance, null, false);
 
-                if (!springLoaded && !LauncherApplication.isScreenLarge()) {
-                    // Hide the workspace scrollbar
-                    mWorkspace.hideScrollingIndicator(true);
-                    hideDockDivider();
-                }
+            if (!springLoaded && !LauncherApplication.isScreenLarge()) {
+                // Hide the workspace scrollbar
+                mWorkspace.hideScrollingIndicator(true);
+                hideDockDivider();
             }
+            dispatchOnLauncherTransitionStart(fromView, animated, false);
+            dispatchOnLauncherTransitionEnd(fromView, animated, false);
+            dispatchOnLauncherTransitionStart(toView, animated, false);
+            dispatchOnLauncherTransitionEnd(toView, animated, false);
             updateWallpaperVisibility(false);
         }
     }
@@ -2320,18 +2368,31 @@
      * This is the opposite of showAppsCustomizeHelper.
      * @param animated If true, the transition will be animated.
      */
-    private void hideAppsCustomizeHelper(boolean animated, final boolean springLoaded) {
+    private void hideAppsCustomizeHelper(
+            State toState, final boolean animated, final boolean springLoaded) {
         if (mStateAnimation != null) {
             mStateAnimation.cancel();
             mStateAnimation = null;
         }
         Resources res = getResources();
-        final Launcher instance = this;
 
         final int duration = res.getInteger(R.integer.config_appsCustomizeZoomOutTime);
+        final int fadeOutDuration =
+                res.getInteger(R.integer.config_appsCustomizeFadeOutTime);
         final float scaleFactor = (float)
                 res.getInteger(R.integer.config_appsCustomizeZoomScaleFactor);
         final View fromView = mAppsCustomizeTabHost;
+        final View toView = mWorkspace;
+        Animator workspaceAnim = null;
+
+        if (toState == State.WORKSPACE) {
+            int stagger = res.getInteger(R.integer.config_appsCustomizeWorkspaceAnimationStagger);
+            workspaceAnim = mWorkspace.getChangeStateAnimation(
+                    Workspace.State.NORMAL, animated, stagger);
+        } else if (toState == State.APPS_CUSTOMIZE_SPRING_LOADED) {
+            workspaceAnim = mWorkspace.getChangeStateAnimation(
+                    Workspace.State.SPRING_LOADED, animated);
+        }
 
         setPivotsForZoom(fromView, scaleFactor);
         updateWallpaperVisibility(true);
@@ -2340,48 +2401,45 @@
             final float oldScaleX = fromView.getScaleX();
             final float oldScaleY = fromView.getScaleY();
 
-            ValueAnimator scaleAnim = ValueAnimator.ofFloat(0f, 1f).setDuration(duration);
-            scaleAnim.setInterpolator(new Workspace.ZoomInInterpolator());
-            scaleAnim.addUpdateListener(new LauncherAnimatorUpdateListener() {
-                public void onAnimationUpdate(float a, float b) {
-                    fromView.setScaleX(a * oldScaleX + b * scaleFactor);
-                    fromView.setScaleY(a * oldScaleY + b * scaleFactor);
-                }
-            });
-            final ValueAnimator alphaAnim = ValueAnimator.ofFloat(0f, 1f);
-            alphaAnim.setDuration(res.getInteger(R.integer.config_appsCustomizeFadeOutTime));
+            final LauncherViewPropertyAnimator scaleAnim =
+                    new LauncherViewPropertyAnimator(fromView);
+            scaleAnim.
+                scaleX(scaleFactor).scaleY(scaleFactor).
+                setDuration(duration).
+                setInterpolator(new Workspace.ZoomInInterpolator());
+
+            final ObjectAnimator alphaAnim = ObjectAnimator
+                .ofFloat(fromView, "alpha", 1f, 0f)
+                .setDuration(fadeOutDuration);
             alphaAnim.setInterpolator(new AccelerateDecelerateInterpolator());
-            alphaAnim.addUpdateListener(new LauncherAnimatorUpdateListener() {
-                public void onAnimationUpdate(float a, float b) {
-                    fromView.setAlpha(a * 1f + b * 0f);
-                }
-            });
-            if (fromView instanceof LauncherTransitionable) {
-                ((LauncherTransitionable) fromView).onLauncherTransitionStart(instance, alphaAnim,
-                        true);
-            }
-            alphaAnim.addListener(new AnimatorListenerAdapter() {
+
+            mStateAnimation = new AnimatorSet();
+
+            dispatchOnLauncherTransitionStart(fromView, animated, true);
+            dispatchOnLauncherTransitionStart(toView, animated, true);
+
+            mStateAnimation.addListener(new AnimatorListenerAdapter() {
                 @Override
                 public void onAnimationEnd(Animator animation) {
                     updateWallpaperVisibility(true);
                     fromView.setVisibility(View.GONE);
-                    if (fromView instanceof LauncherTransitionable) {
-                        ((LauncherTransitionable) fromView).onLauncherTransitionEnd(instance,
-                                alphaAnim, true);
-                    }
+                    dispatchOnLauncherTransitionEnd(fromView, animated, true);
+                    dispatchOnLauncherTransitionEnd(toView, animated, true);
                     mWorkspace.hideScrollingIndicator(false);
                 }
             });
 
-            mStateAnimation = new AnimatorSet();
             mStateAnimation.playTogether(scaleAnim, alphaAnim);
+            if (workspaceAnim != null) {
+                mStateAnimation.play(workspaceAnim);
+            }
             mStateAnimation.start();
         } else {
             fromView.setVisibility(View.GONE);
-            if (fromView instanceof LauncherTransitionable) {
-                ((LauncherTransitionable) fromView).onLauncherTransitionStart(instance, null, true);
-                ((LauncherTransitionable) fromView).onLauncherTransitionEnd(instance, null, true);
-            }
+            dispatchOnLauncherTransitionStart(fromView, animated, false);
+            dispatchOnLauncherTransitionEnd(fromView, animated, false);
+            dispatchOnLauncherTransitionStart(toView, animated, false);
+            dispatchOnLauncherTransitionEnd(toView, animated, false);
             mWorkspace.hideScrollingIndicator(false);
         }
     }
@@ -2395,13 +2453,9 @@
     }
 
     void showWorkspace(boolean animated) {
-        Resources res = getResources();
-        int stagger = res.getInteger(R.integer.config_appsCustomizeWorkspaceAnimationStagger);
-
-        mWorkspace.changeState(Workspace.State.NORMAL, animated, stagger);
         if (mState != State.WORKSPACE) {
             mWorkspace.setVisibility(View.VISIBLE);
-            hideAppsCustomizeHelper(animated, false);
+            hideAppsCustomizeHelper(State.WORKSPACE, animated, false);
 
             // Show the search bar and hotseat
             mSearchDropTargetBar.showSearchBar(animated);
@@ -2450,8 +2504,7 @@
 
     void enterSpringLoadedDragMode() {
         if (mState == State.APPS_CUSTOMIZE) {
-            mWorkspace.changeState(Workspace.State.SPRING_LOADED);
-            hideAppsCustomizeHelper(true, true);
+            hideAppsCustomizeHelper(State.APPS_CUSTOMIZE_SPRING_LOADED, true, true);
             hideDockDivider();
             mState = State.APPS_CUSTOMIZE_SPRING_LOADED;
         }
@@ -2534,8 +2587,10 @@
     void showHotseat(boolean animated) {
         if (!LauncherApplication.isScreenLarge()) {
             if (animated) {
-                int duration = mSearchDropTargetBar.getTransitionInDuration();
-                mHotseat.animate().alpha(1f).setDuration(duration);
+                if (mHotseat.getAlpha() != 1f) {
+                    int duration = mSearchDropTargetBar.getTransitionInDuration();
+                    mHotseat.animate().alpha(1f).setDuration(duration);
+                }
             } else {
                 mHotseat.setAlpha(1f);
             }
@@ -2548,8 +2603,10 @@
     void hideHotseat(boolean animated) {
         if (!LauncherApplication.isScreenLarge()) {
             if (animated) {
-                int duration = mSearchDropTargetBar.getTransitionOutDuration();
-                mHotseat.animate().alpha(0f).setDuration(duration);
+                if (mHotseat.getAlpha() != 0f) {
+                    int duration = mSearchDropTargetBar.getTransitionOutDuration();
+                    mHotseat.animate().alpha(0f).setDuration(duration);
+                }
             } else {
                 mHotseat.setAlpha(0f);
             }
@@ -3323,7 +3380,7 @@
 }
 
 interface LauncherTransitionable {
-    // return true if the callee will take care of start the animation by itself
-    boolean onLauncherTransitionStart(Launcher l, Animator animation, boolean toWorkspace);
-    void onLauncherTransitionEnd(Launcher l, Animator animation, boolean toWorkspace);
+    View getContent();
+    void onLauncherTransitionStart(Launcher l, boolean animated, boolean toWorkspace);
+    void onLauncherTransitionEnd(Launcher l, boolean animated, boolean toWorkspace);
 }
diff --git a/src/com/android/launcher2/LauncherViewPropertyAnimator.java b/src/com/android/launcher2/LauncherViewPropertyAnimator.java
new file mode 100644
index 0000000..88b4cb4
--- /dev/null
+++ b/src/com/android/launcher2/LauncherViewPropertyAnimator.java
@@ -0,0 +1,255 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher2;
+
+import android.animation.Animator;
+import android.animation.Animator.AnimatorListener;
+import android.animation.TimeInterpolator;
+import android.view.ViewPropertyAnimator;
+import android.view.View;
+
+import java.util.ArrayList;
+import java.util.EnumSet;
+
+public class LauncherViewPropertyAnimator extends Animator implements AnimatorListener {
+    enum Properties {
+            TRANSLATION_X,
+            TRANSLATION_Y,
+            SCALE_X,
+            SCALE_Y,
+            ROTATION_Y,
+            ALPHA,
+            START_DELAY,
+            DURATION,
+            INTERPOLATOR
+    }
+    EnumSet<Properties> mPropertiesToSet = EnumSet.noneOf(Properties.class);
+    ViewPropertyAnimator mViewPropertyAnimator;
+    View mTarget;
+
+    float mTranslationX;
+    float mTranslationY;
+    float mScaleX;
+    float mScaleY;
+    float mRotationY;
+    float mAlpha;
+    long mStartDelay;
+    long mDuration;
+    TimeInterpolator mInterpolator;
+    ArrayList<Animator.AnimatorListener> mListeners;
+    boolean mRunning = false;
+
+    public LauncherViewPropertyAnimator(View target) {
+        mTarget = target;
+        mListeners = new ArrayList<Animator.AnimatorListener>();
+    }
+
+    @Override
+    public void addListener(Animator.AnimatorListener listener) {
+        mListeners.add(listener);
+    }
+
+    @Override
+    public void cancel() {
+        if (mViewPropertyAnimator != null) {
+            mViewPropertyAnimator.cancel();
+        }
+    }
+
+    @Override
+    public Animator clone() {
+        throw new RuntimeException("Not implemented");
+    }
+
+    @Override
+    public void end() {
+        throw new RuntimeException("Not implemented");
+    }
+
+    @Override
+    public long getDuration() {
+        return mDuration;
+    }
+
+    @Override
+    public ArrayList<Animator.AnimatorListener> getListeners() {
+        return mListeners;
+    }
+
+    @Override
+    public long getStartDelay() {
+        return mStartDelay;
+    }
+
+    @Override
+    public void onAnimationCancel(Animator animation) {
+        for (int i = 0; i < mListeners.size(); i++) {
+            Animator.AnimatorListener listener = mListeners.get(i);
+            listener.onAnimationCancel(this);
+        }
+        mRunning = false;
+    }
+
+    @Override
+    public void onAnimationEnd(Animator animation) {
+        for (int i = 0; i < mListeners.size(); i++) {
+            Animator.AnimatorListener listener = mListeners.get(i);
+            listener.onAnimationEnd(this);
+        }
+        mRunning = false;
+    }
+
+    @Override
+    public void onAnimationRepeat(Animator animation) {
+        for (int i = 0; i < mListeners.size(); i++) {
+            Animator.AnimatorListener listener = mListeners.get(i);
+            listener.onAnimationRepeat(this);
+        }
+    }
+
+    @Override
+    public void onAnimationStart(Animator animation) {
+        for (int i = 0; i < mListeners.size(); i++) {
+            Animator.AnimatorListener listener = mListeners.get(i);
+            listener.onAnimationStart(this);
+        }
+        mRunning = true;
+    }
+
+    @Override
+    public boolean isRunning() {
+        return mRunning;
+    }
+
+    @Override
+    public boolean isStarted() {
+        return mViewPropertyAnimator != null;
+    }
+
+    @Override
+    public void removeAllListeners() {
+        mListeners.clear();
+    }
+
+    @Override
+    public void removeListener(Animator.AnimatorListener listener) {
+        mListeners.remove(listener);
+    }
+
+    @Override
+    public Animator setDuration(long duration) {
+        mPropertiesToSet.add(Properties.DURATION);
+        mDuration = duration;
+        return this;
+    }
+
+    @Override
+    public void setInterpolator(TimeInterpolator value) {
+        mPropertiesToSet.add(Properties.INTERPOLATOR);
+        mInterpolator = value;
+    }
+
+    @Override
+    public void setStartDelay(long startDelay) {
+        mPropertiesToSet.add(Properties.START_DELAY);
+        mStartDelay = startDelay;
+    }
+
+    @Override
+    public void setTarget(Object target) {
+        throw new RuntimeException("Not implemented");
+    }
+
+    @Override
+    public void setupEndValues() {
+
+    }
+
+    @Override
+    public void setupStartValues() {
+    }
+
+    @Override
+    public void start() {
+        mViewPropertyAnimator = mTarget.animate();
+        if (mPropertiesToSet.contains(Properties.TRANSLATION_X)) {
+            mViewPropertyAnimator.translationX(mTranslationX);
+        }
+        if (mPropertiesToSet.contains(Properties.TRANSLATION_Y)) {
+            mViewPropertyAnimator.translationY(mTranslationY);
+        }
+        if (mPropertiesToSet.contains(Properties.SCALE_X)) {
+            mViewPropertyAnimator.scaleX(mScaleX);
+        }
+        if (mPropertiesToSet.contains(Properties.ROTATION_Y)) {
+            mViewPropertyAnimator.rotationY(mRotationY);
+        }
+        if (mPropertiesToSet.contains(Properties.SCALE_Y)) {
+            mViewPropertyAnimator.scaleY(mScaleY);
+        }
+        if (mPropertiesToSet.contains(Properties.ALPHA)) {
+            mViewPropertyAnimator.alpha(mAlpha);
+        }
+        if (mPropertiesToSet.contains(Properties.START_DELAY)) {
+            mViewPropertyAnimator.setStartDelay(mStartDelay);
+        }
+        if (mPropertiesToSet.contains(Properties.DURATION)) {
+            mViewPropertyAnimator.setDuration(mDuration);
+        }
+        if (mPropertiesToSet.contains(Properties.INTERPOLATOR)) {
+            mViewPropertyAnimator.setInterpolator(mInterpolator);
+        }
+        mViewPropertyAnimator.setListener(this);
+        mViewPropertyAnimator.start();
+    }
+
+    public LauncherViewPropertyAnimator translationX(float value) {
+        mPropertiesToSet.add(Properties.TRANSLATION_X);
+        mTranslationX = value;
+        return this;
+    }
+
+    public LauncherViewPropertyAnimator translationY(float value) {
+        mPropertiesToSet.add(Properties.TRANSLATION_Y);
+        mTranslationY = value;
+        return this;
+    }
+
+    public LauncherViewPropertyAnimator scaleX(float value) {
+        mPropertiesToSet.add(Properties.SCALE_X);
+        mScaleX = value;
+        return this;
+    }
+
+    public LauncherViewPropertyAnimator scaleY(float value) {
+        mPropertiesToSet.add(Properties.SCALE_Y);
+        mScaleY = value;
+        return this;
+    }
+
+    public LauncherViewPropertyAnimator rotationY(float value) {
+        mPropertiesToSet.add(Properties.ROTATION_Y);
+        mRotationY = value;
+        return this;
+    }
+
+    public LauncherViewPropertyAnimator alpha(float value) {
+        mPropertiesToSet.add(Properties.ALPHA);
+        mAlpha = value;
+        return this;
+    }
+}
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index 3f5652e..7abe6e1 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -67,14 +67,20 @@
 
     private static final float OVERSCROLL_ACCELERATE_FACTOR = 2;
     private static final float OVERSCROLL_DAMP_FACTOR = 0.14f;
-    private static final int MINIMUM_SNAP_VELOCITY = 2200;
-    private static final int MIN_FLING_VELOCITY = 250;
+   
     private static final float RETURN_TO_ORIGINAL_PAGE_THRESHOLD = 0.33f;
     // The page is moved more than halfway, automatically move to the next page on touch up.
     private static final float SIGNIFICANT_MOVE_THRESHOLD = 0.4f;
 
-    // the velocity at which a fling gesture will cause us to snap to the next page
-    protected int mSnapVelocity = 500;
+    // The following constants need to be scaled based on density. The scaled versions will be
+    // assigned to the corresponding member variables below.
+    private static final int FLING_THRESHOLD_VELOCITY = 500;
+    private static final int MIN_SNAP_VELOCITY = 1500;
+    private static final int MIN_FLING_VELOCITY = 250;
+
+    protected int mFlingThresholdVelocity;
+    protected int mMinFlingVelocity;
+    protected int mMinSnapVelocity;
 
     protected float mDensity;
     protected float mSmoothingTime;
@@ -145,15 +151,6 @@
 
     protected ArrayList<Boolean> mDirtyPageContent;
 
-    // choice modes
-    protected static final int CHOICE_MODE_NONE = 0;
-    protected static final int CHOICE_MODE_SINGLE = 1;
-    // Multiple selection mode is not supported by all Launcher actions atm
-    protected static final int CHOICE_MODE_MULTIPLE = 2;
-
-    protected int mChoiceMode;
-    private ActionMode mActionMode;
-
     // If true, syncPages and syncPageItems will be called to refresh pages
     protected boolean mContentIsRefreshable = true;
 
@@ -175,7 +172,7 @@
 
     // Scrolling indicator
     private ValueAnimator mScrollIndicatorAnimator;
-    private ImageView mScrollIndicator;
+    private View mScrollIndicator;
     private int mScrollIndicatorPaddingLeft;
     private int mScrollIndicatorPaddingRight;
     private boolean mHasScrollIndicator = true;
@@ -200,7 +197,6 @@
 
     public PagedView(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
-        mChoiceMode = CHOICE_MODE_NONE;
 
         TypedArray a = context.obtainStyledAttributes(attrs,
                 R.styleable.PagedView, defStyle, 0);
@@ -242,6 +238,10 @@
         mPagingTouchSlop = configuration.getScaledPagingTouchSlop();
         mMaximumVelocity = configuration.getScaledMaximumFlingVelocity();
         mDensity = getResources().getDisplayMetrics().density;
+
+        mFlingThresholdVelocity = (int) (FLING_THRESHOLD_VELOCITY * mDensity);
+        mMinFlingVelocity = (int) (MIN_FLING_VELOCITY * mDensity);
+        mMinSnapVelocity = (int) (MIN_SNAP_VELOCITY * mDensity);
     }
 
     public void setPageSwitchListener(PageSwitchListener pageSwitchListener) {
@@ -292,6 +292,7 @@
         int newX = getChildOffset(mCurrentPage) - getRelativeChildOffset(mCurrentPage);
         scrollTo(newX, 0);
         mScroller.setFinalX(newX);
+        mScroller.forceFinished(true);
     }
 
     /**
@@ -340,12 +341,10 @@
 
     // a method that subclasses can override to add behavior
     protected void onPageBeginMoving() {
-        showScrollingIndicator(false);
     }
 
     // a method that subclasses can override to add behavior
     protected void onPageEndMoving() {
-        hideScrollingIndicator(false);
     }
 
     /**
@@ -602,9 +601,7 @@
 
         if (mFirstLayout && mCurrentPage >= 0 && mCurrentPage < getChildCount()) {
             setHorizontalScrollBarEnabled(false);
-            int newX = getChildOffset(mCurrentPage) - getRelativeChildOffset(mCurrentPage);
-            scrollTo(newX, 0);
-            mScroller.setFinalX(newX);
+            updateCurrentPageScroll();
             setHorizontalScrollBarEnabled(true);
             mFirstLayout = false;
         }
@@ -624,8 +621,7 @@
                 if (child != null) {
                     float scrollProgress = getScrollProgress(screenCenter, child, i);
                     float alpha = 1 - Math.abs(scrollProgress);
-                    child.setFastAlpha(alpha);
-                    child.fastInvalidate();
+                    child.setAlpha(alpha);
                 }
             }
             invalidate();
@@ -716,19 +712,17 @@
     protected void getVisiblePages(int[] range) {
         final int pageCount = getChildCount();
         if (pageCount > 0) {
-            final int pageWidth = getScaledMeasuredWidth(getPageAt(0));
             final int screenWidth = getMeasuredWidth();
-            int x = getScaledRelativeChildOffset(0) + pageWidth;
             int leftScreen = 0;
             int rightScreen = 0;
-            while (x <= mScrollX && leftScreen < pageCount - 1) {
+            while (leftScreen < pageCount - 1 &&
+                    getPageAt(leftScreen).getRight() <= mScrollX) {
                 leftScreen++;
-                x += getScaledMeasuredWidth(getPageAt(leftScreen)) + mPageSpacing;
             }
             rightScreen = leftScreen;
-            while (x < mScrollX + screenWidth && rightScreen < pageCount - 1) {
+            while (rightScreen < pageCount - 1 &&
+                    getPageAt(rightScreen + 1).getLeft() < mScrollX + screenWidth) {
                 rightScreen++;
-                x += getScaledMeasuredWidth(getPageAt(rightScreen)) + mPageSpacing;
             }
             range[0] = leftScreen;
             range[1] = rightScreen;
@@ -764,8 +758,21 @@
                 canvas.clipRect(mScrollX, mScrollY, mScrollX + mRight - mLeft,
                         mScrollY + mBottom - mTop);
 
-                for (int i = rightScreen; i >= leftScreen; i--) {
-                    drawChild(canvas, getPageAt(i), drawingTime);
+                // On certain graphics drivers, if you draw to a off-screen buffer that's not
+                // used, it can lead to poor performance. We were running into this when
+                // setChildrenLayersEnabled was called on a CellLayout; that triggered a re-draw
+                // of that CellLayout's hardware layer, even if that CellLayout wasn't visible.
+                // As a fix, below we set pages that aren't going to be rendered are to be
+                // View.INVISIBLE, preventing re-drawing of their hardware layer
+                for (int i = getChildCount() - 1; i >= 0; i--) {
+                    final View v = getPageAt(i);
+
+                    if (leftScreen <= i && i <= rightScreen) {
+                        v.setVisibility(VISIBLE);
+                        drawChild(canvas, v, drawingTime);
+                    } else {
+                        v.setVisibility(INVISIBLE);
+                    }
                 }
                 canvas.restore();
             }
@@ -986,19 +993,6 @@
         return mTouchState != TOUCH_STATE_REST;
     }
 
-    protected void animateClickFeedback(View v, final Runnable r) {
-        // animate the view slightly to show click feedback running some logic after it is "pressed"
-        ObjectAnimator anim = (ObjectAnimator) AnimatorInflater.
-                loadAnimator(mContext, R.anim.paged_view_click_feedback);
-        anim.setTarget(v);
-        anim.addListener(new AnimatorListenerAdapter() {
-            public void onAnimationRepeat(Animator animation) {
-                r.run();
-            }
-        });
-        anim.start();
-    }
-
     protected void determineScrollingStart(MotionEvent ev) {
         determineScrollingStart(ev, 1.0f);
     }
@@ -1208,12 +1202,11 @@
                 final int pageWidth = getScaledMeasuredWidth(getPageAt(mCurrentPage));
                 boolean isSignificantMove = Math.abs(deltaX) > pageWidth *
                         SIGNIFICANT_MOVE_THRESHOLD;
-                final int snapVelocity = mSnapVelocity;
 
                 mTotalMotionX += Math.abs(mLastMotionX + mLastMotionXRemainder - x);
 
                 boolean isFling = mTotalMotionX > MIN_LENGTH_FOR_FLING &&
-                        Math.abs(velocityX) > snapVelocity;
+                        Math.abs(velocityX) > mFlingThresholdVelocity;
 
                 // In the case that the page is moved far to one direction and then is flung
                 // in the opposite direction, we use a threshold to determine whether we should
@@ -1434,7 +1427,7 @@
         int delta = newX - mUnboundedScrollX;
         int duration = 0;
 
-        if (Math.abs(velocity) < MIN_FLING_VELOCITY) {
+        if (Math.abs(velocity) < mMinFlingVelocity) {
             // If the velocity is low enough, then treat this more as an automatic page advance
             // as opposed to an apparent physical response to flinging
             snapToPage(whichPage, PAGE_SNAP_ANIMATION_DURATION);
@@ -1450,7 +1443,7 @@
                 distanceInfluenceForSnapDuration(distanceRatio);
 
         velocity = Math.abs(velocity);
-        velocity = Math.max(MINIMUM_SNAP_VELOCITY, velocity);
+        velocity = Math.max(mMinSnapVelocity, velocity);
 
         // we want the page's snap velocity to approximately match the velocity at which the
         // user flings, so we scale the duration by a value near to the derivative of the scroll
@@ -1591,22 +1584,26 @@
                 int upperPageBound = getAssociatedUpperPageBound(page);
                 if (DEBUG) Log.d(TAG, "loadAssociatedPages: " + lowerPageBound + "/"
                         + upperPageBound);
+                // First, clear any pages that should no longer be loaded
+                for (int i = 0; i < count; ++i) {
+                    Page layout = (Page) getPageAt(i);
+                    if ((i < lowerPageBound) || (i > upperPageBound)) {
+                        if (layout.getPageChildCount() > 0) {
+                            layout.removeAllViewsOnPage();
+                        }
+                        mDirtyPageContent.set(i, true);
+                    }
+                }
+                // Next, load any new pages
                 for (int i = 0; i < count; ++i) {
                     if ((i != page) && immediateAndOnly) {
                         continue;
                     }
-                    Page layout = (Page) getPageAt(i);
-                    final int childCount = layout.getPageChildCount();
                     if (lowerPageBound <= i && i <= upperPageBound) {
                         if (mDirtyPageContent.get(i)) {
                             syncPageItems(i, (i == page) && immediateAndOnly);
                             mDirtyPageContent.set(i, false);
                         }
-                    } else {
-                        if (childCount > 0) {
-                            layout.removeAllViewsOnPage();
-                        }
-                        mDirtyPageContent.set(i, true);
                     }
                 }
             }
@@ -1621,72 +1618,6 @@
         return Math.min(page + 1, count - 1);
     }
 
-    protected void startChoiceMode(int mode, ActionMode.Callback callback) {
-        if (isChoiceMode(CHOICE_MODE_NONE)) {
-            mChoiceMode = mode;
-            mActionMode = startActionMode(callback);
-        }
-    }
-
-    public void endChoiceMode() {
-        if (!isChoiceMode(CHOICE_MODE_NONE)) {
-            mChoiceMode = CHOICE_MODE_NONE;
-            resetCheckedGrandchildren();
-            if (mActionMode != null) mActionMode.finish();
-            mActionMode = null;
-        }
-    }
-
-    protected boolean isChoiceMode(int mode) {
-        return mChoiceMode == mode;
-    }
-
-    protected ArrayList<Checkable> getCheckedGrandchildren() {
-        ArrayList<Checkable> checked = new ArrayList<Checkable>();
-        final int childCount = getChildCount();
-        for (int i = 0; i < childCount; ++i) {
-            Page layout = (Page) getPageAt(i);
-            final int grandChildCount = layout.getPageChildCount();
-            for (int j = 0; j < grandChildCount; ++j) {
-                final View v = layout.getChildOnPageAt(j);
-                if (v instanceof Checkable && ((Checkable) v).isChecked()) {
-                    checked.add((Checkable) v);
-                }
-            }
-        }
-        return checked;
-    }
-
-    /**
-     * If in CHOICE_MODE_SINGLE and an item is checked, returns that item.
-     * Otherwise, returns null.
-     */
-    protected Checkable getSingleCheckedGrandchild() {
-        if (mChoiceMode != CHOICE_MODE_MULTIPLE) {
-            final int childCount = getChildCount();
-            for (int i = 0; i < childCount; ++i) {
-                Page layout = (Page) getPageAt(i);
-                final int grandChildCount = layout.getPageChildCount();
-                for (int j = 0; j < grandChildCount; ++j) {
-                    final View v = layout.getChildOnPageAt(j);
-                    if (v instanceof Checkable && ((Checkable) v).isChecked()) {
-                        return (Checkable) v;
-                    }
-                }
-            }
-        }
-        return null;
-    }
-
-    protected void resetCheckedGrandchildren() {
-        // loop through children, and set all of their children to _not_ be checked
-        final ArrayList<Checkable> checked = getCheckedGrandchildren();
-        for (int i = 0; i < checked.size(); ++i) {
-            final Checkable c = checked.get(i);
-            c.setChecked(false);
-        }
-    }
-
     /**
      * This method is called ONLY to synchronize the number of pages that the paged view has.
      * To actually fill the pages with information, implement syncPageItems() below.  It is
@@ -1743,12 +1674,13 @@
         }
     }
 
-    protected ImageView getScrollingIndicator() {
+    protected View getScrollingIndicator() {
         // We use mHasScrollIndicator to prevent future lookups if there is no sibling indicator
         // found
         if (mHasScrollIndicator && mScrollIndicator == null) {
             ViewGroup parent = (ViewGroup) getParent();
-            mScrollIndicator = (ImageView) (parent.findViewById(R.id.paged_view_indicator));
+            mScrollIndicator = (View) (parent.findViewById(R.id.paged_view_indicator));
+            mScrollIndicator.setLayerType(View.LAYER_TYPE_HARDWARE, null);
             mHasScrollIndicator = mScrollIndicator != null;
             if (mHasScrollIndicator) {
                 mScrollIndicator.setVisibility(View.VISIBLE);
@@ -1874,7 +1806,6 @@
             indicatorPos += indicatorCenterOffset;
         }
         mScrollIndicator.setTranslationX(indicatorPos);
-        mScrollIndicator.invalidate();
     }
 
     public void showScrollIndicatorTrack() {
diff --git a/src/com/android/launcher2/PagedViewGridLayout.java b/src/com/android/launcher2/PagedViewGridLayout.java
index b1b6215..90bfe88 100644
--- a/src/com/android/launcher2/PagedViewGridLayout.java
+++ b/src/com/android/launcher2/PagedViewGridLayout.java
@@ -109,6 +109,7 @@
     @Override
     public void removeAllViewsOnPage() {
         removeAllViews();
+        mOnLayoutListener = null;
         destroyHardwareLayer();
     }
 
diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java
index af10f18..4149ab6 100644
--- a/src/com/android/launcher2/PagedViewIcon.java
+++ b/src/com/android/launcher2/PagedViewIcon.java
@@ -16,44 +16,29 @@
 
 package com.android.launcher2;
 
-import android.animation.ObjectAnimator;
 import android.content.Context;
-import android.content.res.Resources;
 import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
 import android.util.AttributeSet;
-import android.widget.Checkable;
 import android.widget.TextView;
 
-import com.android.launcher.R;
-
-
 /**
  * An icon on a PagedView, specifically for items in the launcher's paged view (with compound
  * drawables on the top).
  */
-public class PagedViewIcon extends TextView implements Checkable {
+public class PagedViewIcon extends TextView {
+    /** A simple callback interface to allow a PagedViewIcon to notify when it has been pressed */
+    public static interface PressedCallback {
+        void iconPressed(PagedViewIcon icon);
+    }
+
     private static final String TAG = "PagedViewIcon";
+    private static final float PRESS_ALPHA = 0.4f;
 
-    // holographic outline
-    private final Paint mPaint = new Paint();
-    private Bitmap mCheckedOutline;
-    private Bitmap mHolographicOutline;
+    private PagedViewIcon.PressedCallback mPressedCallback;
+    private boolean mLockDrawableState = false;
+
     private Bitmap mIcon;
 
-    private int mAlpha = 255;
-    private int mHolographicAlpha;
-
-    private boolean mIsChecked;
-    private ObjectAnimator mCheckedAlphaAnimator;
-    private float mCheckedAlpha = 1.0f;
-    private int mCheckedFadeInDuration;
-    private int mCheckedFadeOutDuration;
-
-    HolographicPagedViewIcon mHolographicOutlineView;
-    private HolographicOutlineHelper mHolographicOutlineHelper;
-
     public PagedViewIcon(Context context) {
         this(context, null);
     }
@@ -64,131 +49,43 @@
 
     public PagedViewIcon(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
-
-        // Set up fade in/out constants
-        final Resources r = context.getResources();
-        final int alpha = r.getInteger(R.integer.config_dragAppsCustomizeIconFadeAlpha);
-        if (alpha > 0) {
-            mCheckedAlpha = r.getInteger(R.integer.config_dragAppsCustomizeIconFadeAlpha) / 256.0f;
-            mCheckedFadeInDuration =
-                r.getInteger(R.integer.config_dragAppsCustomizeIconFadeInDuration);
-            mCheckedFadeOutDuration =
-                r.getInteger(R.integer.config_dragAppsCustomizeIconFadeOutDuration);
-        }
-
-        mHolographicOutlineView = new HolographicPagedViewIcon(context, this);
-    }
-
-    protected HolographicPagedViewIcon getHolographicOutlineView() {
-        return mHolographicOutlineView;
-    }
-
-    protected Bitmap getHolographicOutline() {
-        return mHolographicOutline;
     }
 
     public void applyFromApplicationInfo(ApplicationInfo info, boolean scaleUp,
-            HolographicOutlineHelper holoOutlineHelper) {
-        mHolographicOutlineHelper = holoOutlineHelper;
+            PagedViewIcon.PressedCallback cb) {
         mIcon = info.iconBitmap;
+        mPressedCallback = cb;
         setCompoundDrawablesWithIntrinsicBounds(null, new FastBitmapDrawable(mIcon), null, null);
         setText(info.title);
         setTag(info);
     }
 
-    public void setHolographicOutline(Bitmap holoOutline) {
-        mHolographicOutline = holoOutline;
-        getHolographicOutlineView().invalidate();
+    public void lockDrawableState() {
+        mLockDrawableState = true;
     }
 
-    @Override
-    public void setAlpha(float alpha) {
-        final float viewAlpha = HolographicOutlineHelper.viewAlphaInterpolator(alpha);
-        final float holographicAlpha = HolographicOutlineHelper.highlightAlphaInterpolator(alpha);
-        int newViewAlpha = (int) (viewAlpha * 255);
-        int newHolographicAlpha = (int) (holographicAlpha * 255);
-        if ((mAlpha != newViewAlpha) || (mHolographicAlpha != newHolographicAlpha)) {
-            mAlpha = newViewAlpha;
-            mHolographicAlpha = newHolographicAlpha;
-            super.setAlpha(viewAlpha);
-        }
-    }
-
-    public void invalidateCheckedImage() {
-        if (mCheckedOutline != null) {
-            mCheckedOutline.recycle();
-            mCheckedOutline = null;
-        }
-    }
-
-    @Override
-    protected void onDraw(Canvas canvas) {
-        if (mAlpha > 0) {
-            super.onDraw(canvas);
-        }
-
-        Bitmap overlay = null;
-
-        // draw any blended overlays
-        if (mCheckedOutline != null) {
-            mPaint.setAlpha(255);
-            overlay = mCheckedOutline;
-        }
-
-        if (overlay != null) {
-            final int offset = getScrollX();
-            final int compoundPaddingLeft = getCompoundPaddingLeft();
-            final int compoundPaddingRight = getCompoundPaddingRight();
-            int hspace = getWidth() - compoundPaddingRight - compoundPaddingLeft;
-            canvas.drawBitmap(overlay,
-                    offset + compoundPaddingLeft + (hspace - overlay.getWidth()) / 2,
-                    mPaddingTop,
-                    mPaint);
-        }
-    }
-
-    @Override
-    public boolean isChecked() {
-        return mIsChecked;
-    }
-
-    void setChecked(boolean checked, boolean animate) {
-        if (mIsChecked != checked) {
-            mIsChecked = checked;
-
-            float alpha;
-            int duration;
-            if (mIsChecked) {
-                alpha = mCheckedAlpha;
-                duration = mCheckedFadeInDuration;
-            } else {
-                alpha = 1.0f;
-                duration = mCheckedFadeOutDuration;
+    public void resetDrawableState() {
+        mLockDrawableState = false;
+        post(new Runnable() {
+            @Override
+            public void run() {
+                refreshDrawableState();
             }
+        });
+    }
 
-            // Initialize the animator
-            if (mCheckedAlphaAnimator != null) {
-                mCheckedAlphaAnimator.cancel();
-            }
-            if (animate) {
-                mCheckedAlphaAnimator = ObjectAnimator.ofFloat(this, "alpha", getAlpha(), alpha);
-                mCheckedAlphaAnimator.setDuration(duration);
-                mCheckedAlphaAnimator.start();
-            } else {
-                setAlpha(alpha);
-            }
+    protected void drawableStateChanged() {
+        super.drawableStateChanged();
 
-            invalidate();
+        // We keep in the pressed state until resetDrawableState() is called to reset the press
+        // feedback
+        if (isPressed()) {
+            setAlpha(PRESS_ALPHA);
+            if (mPressedCallback != null) {
+                mPressedCallback.iconPressed(this);
+            }
+        } else if (!mLockDrawableState) {
+            setAlpha(1f);
         }
     }
-
-    @Override
-    public void setChecked(boolean checked) {
-        setChecked(checked, true);
-    }
-
-    @Override
-    public void toggle() {
-        setChecked(!mIsChecked);
-    }
 }
diff --git a/src/com/android/launcher2/PagedViewWidget.java b/src/com/android/launcher2/PagedViewWidget.java
index 8fcfa8f..12e9c46 100644
--- a/src/com/android/launcher2/PagedViewWidget.java
+++ b/src/com/android/launcher2/PagedViewWidget.java
@@ -16,20 +16,13 @@
 
 package com.android.launcher2;
 
-import android.animation.ObjectAnimator;
 import android.appwidget.AppWidgetProviderInfo;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.RectF;
 import android.util.AttributeSet;
-import android.view.KeyEvent;
 import android.view.MotionEvent;
-import android.widget.Checkable;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
@@ -39,28 +32,15 @@
 /**
  * The linear layout used strictly for the widget/wallpaper tab of the customization tray
  */
-public class PagedViewWidget extends LinearLayout implements Checkable {
+public class PagedViewWidget extends LinearLayout {
     static final String TAG = "PagedViewWidgetLayout";
 
     private static boolean sDeletePreviewsWhenDetachedFromWindow = true;
 
-    private final Paint mPaint = new Paint();
-    private Bitmap mHolographicOutline;
-    private HolographicOutlineHelper mHolographicOutlineHelper;
     private ImageView mPreviewImageView;
-    private final RectF mTmpScaleRect = new RectF();
 
     private String mDimensionsFormatString;
 
-    private int mAlpha = 255;
-    private int mHolographicAlpha;
-
-    private boolean mIsChecked;
-    private ObjectAnimator mCheckedAlphaAnimator;
-    private float mCheckedAlpha = 1.0f;
-    private int mCheckedFadeInDuration;
-    private int mCheckedFadeOutDuration;
-
     public PagedViewWidget(Context context) {
         this(context, null);
     }
@@ -72,16 +52,7 @@
     public PagedViewWidget(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
 
-        // Set up fade in/out constants
         final Resources r = context.getResources();
-        final int alpha = r.getInteger(R.integer.config_dragAppsCustomizeIconFadeAlpha);
-        if (alpha > 0) {
-            mCheckedAlpha = r.getInteger(R.integer.config_dragAppsCustomizeIconFadeAlpha) / 256.0f;
-            mCheckedFadeInDuration =
-                r.getInteger(R.integer.config_dragAppsCustomizeIconFadeInDuration);
-            mCheckedFadeOutDuration =
-                r.getInteger(R.integer.config_dragAppsCustomizeIconFadeOutDuration);
-        }
         mDimensionsFormatString = r.getString(R.string.widget_dims_format);
 
         setWillNotDraw(false);
@@ -109,8 +80,7 @@
     }
 
     public void applyFromAppWidgetProviderInfo(AppWidgetProviderInfo info,
-            int maxWidth, int[] cellSpan, HolographicOutlineHelper holoOutlineHelper) {
-        mHolographicOutlineHelper = holoOutlineHelper;
+            int maxWidth, int[] cellSpan) {
         final ImageView image = (ImageView) findViewById(R.id.widget_preview);
         if (maxWidth > -1) {
             image.setMaxWidth(maxWidth);
@@ -125,9 +95,7 @@
         }
     }
 
-    public void applyFromResolveInfo(PackageManager pm, ResolveInfo info,
-            HolographicOutlineHelper holoOutlineHelper) {
-        mHolographicOutlineHelper = holoOutlineHelper;
+    public void applyFromResolveInfo(PackageManager pm, ResolveInfo info) {
         CharSequence label = info.loadLabel(pm);
         final ImageView image = (ImageView) findViewById(R.id.widget_preview);
         image.setContentDescription(label);
@@ -159,11 +127,6 @@
         }
     }
 
-    public void setHolographicOutline(Bitmap holoOutline) {
-        mHolographicOutline = holoOutline;
-        invalidate();
-    }
-
     @Override
     public boolean onTouchEvent(MotionEvent event) {
         // We eat up the touch events here, since the PagedView (which uses the same swiping
@@ -175,95 +138,4 @@
         // we just always mark the touch event as handled.
         return super.onTouchEvent(event) || true;
     }
-
-    @Override
-    protected void onDraw(Canvas canvas) {
-        if (mAlpha > 0) {
-            super.onDraw(canvas);
-        }
-
-        // draw any blended overlays
-        if (mHolographicOutline != null && mHolographicAlpha > 0) {
-            // Calculate how much to scale the holographic preview
-            mTmpScaleRect.set(0,0,1,1);
-            mPreviewImageView.getImageMatrix().mapRect(mTmpScaleRect);
-
-            mPaint.setAlpha(mHolographicAlpha);
-            canvas.save();
-            canvas.scale(mTmpScaleRect.right, mTmpScaleRect.bottom);
-            canvas.drawBitmap(mHolographicOutline, mPreviewImageView.getLeft(),
-                    mPreviewImageView.getTop(), mPaint);
-            canvas.restore();
-        }
-    }
-
-    @Override
-    protected boolean onSetAlpha(int alpha) {
-        return true;
-    }
-
-    private void setChildrenAlpha(float alpha) {
-        final int childCount = getChildCount();
-        for (int i = 0; i < childCount; i++) {
-            getChildAt(i).setAlpha(alpha);
-        }
-    }
-    @Override
-    public void setAlpha(float alpha) {
-        final float viewAlpha = mHolographicOutlineHelper.viewAlphaInterpolator(alpha);
-        final float holographicAlpha = mHolographicOutlineHelper.highlightAlphaInterpolator(alpha);
-        int newViewAlpha = (int) (viewAlpha * 255);
-        int newHolographicAlpha = (int) (holographicAlpha * 255);
-        if ((mAlpha != newViewAlpha) || (mHolographicAlpha != newHolographicAlpha)) {
-            mAlpha = newViewAlpha;
-            mHolographicAlpha = newHolographicAlpha;
-            setChildrenAlpha(viewAlpha);
-            super.setAlpha(viewAlpha);
-        }
-    }
-
-    void setChecked(boolean checked, boolean animate) {
-        if (mIsChecked != checked) {
-            mIsChecked = checked;
-
-            float alpha;
-            int duration;
-            if (mIsChecked) {
-                alpha = mCheckedAlpha;
-                duration = mCheckedFadeInDuration;
-            } else {
-                alpha = 1.0f;
-                duration = mCheckedFadeOutDuration;
-            }
-
-            // Initialize the animator
-            if (mCheckedAlphaAnimator != null) {
-                mCheckedAlphaAnimator.cancel();
-            }
-            if (animate) {
-                mCheckedAlphaAnimator = ObjectAnimator.ofFloat(this, "alpha", getAlpha(), alpha);
-                mCheckedAlphaAnimator.setDuration(duration);
-                mCheckedAlphaAnimator.start();
-            } else {
-                setAlpha(alpha);
-            }
-
-            invalidate();
-        }
-    }
-
-    @Override
-    public void setChecked(boolean checked) {
-        setChecked(checked, true);
-    }
-
-    @Override
-    public boolean isChecked() {
-        return mIsChecked;
-    }
-
-    @Override
-    public void toggle() {
-        setChecked(!mIsChecked);
-    }
 }
diff --git a/src/com/android/launcher2/PagedViewWithDraggableItems.java b/src/com/android/launcher2/PagedViewWithDraggableItems.java
index 287a065..a047970 100644
--- a/src/com/android/launcher2/PagedViewWithDraggableItems.java
+++ b/src/com/android/launcher2/PagedViewWithDraggableItems.java
@@ -165,4 +165,12 @@
         cancelDragging();
         super.onDetachedFromWindow();
     }
+
+    /** Show the scrolling indicators when we move the page */
+    protected void onPageBeginMoving() {
+        showScrollingIndicator(false);
+    }
+    protected void onPageEndMoving() {
+        hideScrollingIndicator(false);
+    }
 }
diff --git a/src/com/android/launcher2/RocketLauncher.java b/src/com/android/launcher2/RocketLauncher.java
index 1255374..505ac4c 100644
--- a/src/com/android/launcher2/RocketLauncher.java
+++ b/src/com/android/launcher2/RocketLauncher.java
@@ -23,7 +23,6 @@
 import android.animation.AnimatorSet;
 import android.animation.ObjectAnimator;
 import android.animation.TimeAnimator;
-import android.app.Activity;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -31,6 +30,7 @@
 import android.graphics.Point;
 import android.graphics.Rect;
 import android.os.Handler;
+import android.support.v13.dreams.BasicDream;
 import android.util.AttributeSet;
 import android.util.DisplayMetrics;
 import android.view.MotionEvent;
@@ -44,7 +44,7 @@
 import java.util.HashMap;
 import java.util.Random;
 
-public class RocketLauncher extends Activity {
+public class RocketLauncher extends BasicDream {
     public static final boolean ROCKET_LAUNCHER = true;
 
     public static class Board extends FrameLayout
diff --git a/src/com/android/launcher2/SearchDropTargetBar.java b/src/com/android/launcher2/SearchDropTargetBar.java
index 3a7f24b..03ca38f 100644
--- a/src/com/android/launcher2/SearchDropTargetBar.java
+++ b/src/com/android/launcher2/SearchDropTargetBar.java
@@ -129,14 +129,26 @@
             @Override
             public void onAnimationStart(Animator animation) {
                 mQSBSearchBar.setVisibility(View.VISIBLE);
+                mQSBSearchBar.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+            }
+
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                mQSBSearchBar.setLayerType(View.LAYER_TYPE_NONE, null);
             }
         });
         mQSBSearchBarFadeOutAnim = ObjectAnimator.ofFloat(mQSBSearchBar, "alpha", 0f);
         mQSBSearchBarFadeOutAnim.setDuration(sTransitionOutDuration);
         mQSBSearchBarFadeOutAnim.addListener(new AnimatorListenerAdapter() {
             @Override
+            public void onAnimationStart(Animator animation) {
+                mQSBSearchBar.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+            }
+
+            @Override
             public void onAnimationEnd(Animator animation) {
                 mQSBSearchBar.setVisibility(View.INVISIBLE);
+                mQSBSearchBar.setLayerType(View.LAYER_TYPE_NONE, null);
             }
         });
     }
diff --git a/src/com/android/launcher2/SpringLoadedDragController.java b/src/com/android/launcher2/SpringLoadedDragController.java
index 358362c..d96aab7 100644
--- a/src/com/android/launcher2/SpringLoadedDragController.java
+++ b/src/com/android/launcher2/SpringLoadedDragController.java
@@ -18,7 +18,7 @@
 
 public class SpringLoadedDragController implements OnAlarmListener {
     // how long the user must hover over a mini-screen before it unshrinks
-    final long ENTER_SPRING_LOAD_HOVER_TIME = 550;
+    final long ENTER_SPRING_LOAD_HOVER_TIME = 500;
     final long ENTER_SPRING_LOAD_CANCEL_HOVER_TIME = 950;
     final long EXIT_SPRING_LOAD_HOVER_TIME = 200;
 
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 467cec0..41a2bfb 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -17,8 +17,6 @@
 package com.android.launcher2;
 
 import android.animation.Animator;
-import android.animation.Animator.AnimatorListener;
-import android.animation.AnimatorListenerAdapter;
 import android.animation.AnimatorSet;
 import android.animation.ObjectAnimator;
 import android.animation.TimeInterpolator;
@@ -57,7 +55,6 @@
 import android.view.DragEvent;
 import android.view.MotionEvent;
 import android.view.View;
-import android.view.ViewConfiguration;
 import android.view.ViewGroup;
 import android.view.animation.DecelerateInterpolator;
 import android.widget.ImageView;
@@ -79,7 +76,7 @@
  */
 public class Workspace extends SmoothPagedView
         implements DropTarget, DragSource, DragScroller, View.OnTouchListener,
-        DragController.DragListener {
+        DragController.DragListener, LauncherTransitionable {
     @SuppressWarnings({"UnusedDeclaration"})
     private static final String TAG = "Launcher.Workspace";
 
@@ -94,6 +91,7 @@
 
     private static final int BACKGROUND_FADE_OUT_DURATION = 350;
     private static final int ADJACENT_SCREEN_DROP_DURATION = 300;
+    private static final int FLING_THRESHOLD_VELOCITY = 500;
 
     // These animators are used to fade the children's outlines
     private ObjectAnimator mChildrenOutlineFadeInAnimation;
@@ -131,6 +129,7 @@
      * The CellLayout that is currently being dragged over
      */
     private CellLayout mDragTargetLayout = null;
+    private boolean mDragHasEnteredWorkspace = false;
 
     private Launcher mLauncher;
     private IconCache mIconCache;
@@ -158,11 +157,6 @@
     enum State { NORMAL, SPRING_LOADED, SMALL };
     private State mState = State.NORMAL;
     private boolean mIsSwitchingState = false;
-    private boolean mSwitchStateAfterFirstLayout = false;
-    private State mStateAfterFirstLayout;
-
-    private AnimatorSet mAnimator;
-    private AnimatorListener mChangeStateAnimationListener;
 
     boolean mAnimatingViewIntoPlace = false;
     boolean mIsDragOccuring = false;
@@ -175,7 +169,6 @@
     private Bitmap mDragOutline = null;
     private final Rect mTempRect = new Rect();
     private final int[] mTempXY = new int[2];
-    private int mDragViewMultiplyColor;
     private float mOverscrollFade = 0;
 
     // Paint used to draw external drop outline
@@ -235,7 +228,7 @@
     private float[] mNewBackgroundAlphaMultipliers;
     private float[] mNewAlphas;
     private float[] mNewRotationYs;
-    private float mTransitionProgress;
+    private float mTransitionProgress = 1f;
 
     /**
      * Used to inflate the Workspace from XML.
@@ -297,7 +290,6 @@
 
         mSpringLoadedShrinkFactor =
             res.getInteger(R.integer.config_workspaceSpringLoadShrinkPercentage) / 100.0f;
-        mDragViewMultiplyColor = res.getColor(R.color.drag_view_multiply_color);
 
         // if the value is manually specified, use that instead
         cellCountX = a.getInt(R.styleable.Workspace_cellCountX, cellCountX);
@@ -394,28 +386,15 @@
             // In this case, we will skip drawing background protection
         }
 
-        mChangeStateAnimationListener = new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationStart(Animator animation) {
-                mIsSwitchingState = true;
-            }
-
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                mIsSwitchingState = false;
-                mWallpaperOffset.setOverrideHorizontalCatchupConstant(false);
-                mAnimator = null;
-                updateChildrenLayersEnabled();
-            }
-        };
-
-        mSnapVelocity = 600;
         mWallpaperOffset = new WallpaperOffsetInterpolator();
         Display display = mLauncher.getWindowManager().getDefaultDisplay();
         mDisplayWidth = display.getWidth();
         mDisplayHeight = display.getHeight();
         mWallpaperTravelWidth = (int) (mDisplayWidth *
                 wallpaperTravelToScreenWidthRatio(mDisplayWidth, mDisplayHeight));
+
+        mFlingThresholdVelocity = (int) (FLING_THRESHOLD_VELOCITY * mDensity);
+
     }
 
     @Override
@@ -695,6 +674,9 @@
         if (LauncherApplication.isScreenLarge()) {
             showOutlines();
         }
+
+        // Show the scroll indicator as you pan the page
+        showScrollingIndicator(false);
     }
 
     protected void onPageEndMoving() {
@@ -706,12 +688,23 @@
             clearChildrenCache();
         }
 
-        // Hide the outlines, as long as we're not dragging
-        if (!mDragController.dragging()) {
-            // Only hide page outlines as we pan if we are on large screen
+
+        if (mDragController.isDragging()) {
+            if (isSmall()) {
+                // If we are in springloaded mode, then force an event to check if the current touch
+                // is under a new page (to scroll to)
+                mDragController.forceMoveEvent();
+            }
+        } else {
+            // If we are not mid-dragging, hide the page outlines if we are on a large screen
             if (LauncherApplication.isScreenLarge()) {
                 hideOutlines();
             }
+
+            // Hide the scroll indicator as you pan the page
+            if (!mDragController.isDragging()) {
+                hideScrollingIndicator(false);
+            }
         }
         mOverScrollMaxBackgroundAlpha = 0.0f;
         mOverScrollPageIndex = -1;
@@ -855,7 +848,7 @@
             }
         }
         if (keepUpdating) {
-            fastInvalidate();
+            invalidate();
         }
     }
 
@@ -1167,13 +1160,12 @@
                                 backgroundAlphaInterpolator(Math.abs(scrollProgress)));
                     }
                 }
-                cl.setFastTranslationX(translationX);
-                cl.setFastRotationY(rotation);
+                cl.setTranslationX(translationX);
+                cl.setRotationY(rotation);
                 if (mFadeInAdjacentScreens && !isSmall()) {
                     float alpha = 1 - Math.abs(scrollProgress);
-                    cl.setFastAlpha(alpha);
+                    cl.setAlpha(alpha);
                 }
-                cl.fastInvalidate();
             }
         }
         if (!isSwitchingState() && !isInOverscroll) {
@@ -1246,19 +1238,6 @@
             mUpdateWallpaperOffsetImmediately = true;
         }
         super.onLayout(changed, left, top, right, bottom);
-
-        // if shrinkToBottom() is called on initialization, it has to be deferred
-        // until after the first call to onLayout so that it has the correct width
-        if (mSwitchStateAfterFirstLayout) {
-            mSwitchStateAfterFirstLayout = false;
-            // shrink can trigger a synchronous onLayout call, so we
-            // post this to avoid a stack overflow / tangled onLayout calls
-            post(new Runnable() {
-                public void run() {
-                    changeState(mStateAfterFirstLayout, false);
-                }
-            });
-        }
     }
 
     @Override
@@ -1281,32 +1260,6 @@
         return (mBackground != null && mBackgroundAlpha > 0.0f && mDrawBackground);
     }
 
-    public void scrollTo (int x, int y) {
-        super.scrollTo(x, y);
-        syncChildrenLayersEnabledOnVisiblePages();
-    }
-
-    // This method just applies the value mChildrenLayersEnabled to all the pages that
-    // will be rendered on the next frame.
-    // We do this because calling setChildrenLayersEnabled on a view that's not
-    // visible/rendered causes slowdowns on some graphics cards
-    private void syncChildrenLayersEnabledOnVisiblePages() {
-        if (mChildrenLayersEnabled) {
-            getVisiblePages(mTempVisiblePagesRange);
-            final int leftScreen = mTempVisiblePagesRange[0];
-            final int rightScreen = mTempVisiblePagesRange[1];
-            if (leftScreen != -1 && rightScreen != -1) {
-                for (int i = leftScreen; i <= rightScreen; i++) {
-                    ViewGroup page = (ViewGroup) getPageAt(i);
-                    if (page.getVisibility() == VISIBLE &&
-                            page.getAlpha() > ViewConfiguration.ALPHA_THRESHOLD) {
-                        ((ViewGroup)getPageAt(i)).setChildrenLayersEnabled(true);
-                    }
-                }
-            }
-        }
-    }
-
     @Override
     protected void dispatchDraw(Canvas canvas) {
         super.dispatchDraw(canvas);
@@ -1321,8 +1274,9 @@
             final int paddingTop = mPaddingTop + offset;
             final int paddingBottom = mPaddingBottom + offset;
 
-            final CellLayout leftPage = (CellLayout) getChildAt(mCurrentPage - 1);
-            final CellLayout rightPage = (CellLayout) getChildAt(mCurrentPage + 1);
+            final int page = (mNextPage != INVALID_PAGE ? mNextPage : mCurrentPage);
+            final CellLayout leftPage = (CellLayout) getChildAt(page - 1);
+            final CellLayout rightPage = (CellLayout) getChildAt(page + 1);
 
             if (leftPage != null && leftPage.getIsDragOverlapping()) {
                 final Drawable d = getResources().getDrawable(R.drawable.page_hover_left_holo);
@@ -1413,13 +1367,8 @@
 
         if (enableChildrenLayers != mChildrenLayersEnabled) {
             mChildrenLayersEnabled = enableChildrenLayers;
-            // calling setChildrenLayersEnabled on a view that's not visible/rendered
-            // causes slowdowns on some graphics cards, so we only disable it here and leave
-            // the enabling to dispatchDraw
-            if (!enableChildrenLayers) {
-                for (int i = 0; i < getPageCount(); i++) {
-                    ((ViewGroup)getChildAt(i)).setChildrenLayersEnabled(false);
-                }
+            for (int i = 0; i < getPageCount(); i++) {
+                ((ViewGroup)getChildAt(i)).setChildrenLayersEnabled(mChildrenLayersEnabled);
             }
         }
     }
@@ -1562,32 +1511,19 @@
         mNewRotationYs = new float[childCount];
     }
 
-    public void changeState(State shrinkState) {
-        changeState(shrinkState, true);
+    Animator getChangeStateAnimation(final State state, boolean animated) {
+        return getChangeStateAnimation(state, animated, 0);
     }
 
-    void changeState(final State state, boolean animated) {
-        changeState(state, animated, 0);
-    }
-
-    void changeState(final State state, boolean animated, int delay) {
+    Animator getChangeStateAnimation(final State state, boolean animated, int delay) {
         if (mState == state) {
-            return;
-        }
-        if (mFirstLayout) {
-            // (mFirstLayout == "first layout has not happened yet")
-            // cancel any pending shrinks that were set earlier
-            mSwitchStateAfterFirstLayout = false;
-            mStateAfterFirstLayout = state;
-            return;
+            return null;
         }
 
         // Initialize animation arrays for the first time if necessary
         initAnimationArrays();
 
-        // Cancel any running transition animations
-        if (mAnimator != null) mAnimator.cancel();
-        mAnimator = new AnimatorSet();
+        AnimatorSet anim = animated ? new AnimatorSet() : null;
 
         // Stop any scrolling, move to the current page right away
         setCurrentPage((mNextPage != INVALID_PAGE) ? mNextPage : mCurrentPage);
@@ -1687,80 +1623,65 @@
                 cl.setBackgroundAlphaMultiplier(finalAlphaMultiplierValue);
                 cl.setAlpha(finalAlpha);
                 cl.setRotationY(rotation);
-                mChangeStateAnimationListener.onAnimationEnd(null);
             }
         }
 
         if (animated) {
-            ValueAnimator animWithInterpolator =
-                ValueAnimator.ofFloat(0f, 1f).setDuration(duration);
-
-            if (zoomIn) {
-                animWithInterpolator.setInterpolator(mZoomInInterpolator);
+            for (int index = 0; index < getChildCount(); index++) {
+                final int i = index;
+                final CellLayout cl = (CellLayout) getChildAt(i);
+                if (mOldAlphas[i] == 0 && mNewAlphas[i] == 0) {
+                    cl.setTranslationX(mNewTranslationXs[i]);
+                    cl.setTranslationY(mNewTranslationYs[i]);
+                    cl.setScaleX(mNewScaleXs[i]);
+                    cl.setScaleY(mNewScaleYs[i]);
+                    cl.setBackgroundAlpha(mNewBackgroundAlphas[i]);
+                    cl.setBackgroundAlphaMultiplier(mNewBackgroundAlphaMultipliers[i]);
+                    cl.setAlpha(mNewAlphas[i]);
+                    cl.setRotationY(mNewRotationYs[i]);
+                } else {
+                    LauncherViewPropertyAnimator a = new LauncherViewPropertyAnimator(cl);
+                    a.translationX(mNewTranslationXs[i])
+                        .translationY(mNewTranslationYs[i])
+                        .scaleX(mNewScaleXs[i])
+                        .scaleY(mNewScaleYs[i])
+                        .setDuration(duration)
+                        .setInterpolator(mZoomInInterpolator);
+                    if (mOldAlphas[i] != mNewAlphas[i]) {
+                        a.alpha(mNewAlphas[i]);
+                    }
+                    anim.play(a);
+                    if (mOldRotationYs[i] != 0 || mNewRotationYs[i] != 0) {
+                        ValueAnimator rotate = ValueAnimator.ofFloat(0f, 1f).setDuration(duration);
+                        rotate.setInterpolator(new DecelerateInterpolator(2.0f));
+                        rotate.addUpdateListener(new LauncherAnimatorUpdateListener() {
+                                public void onAnimationUpdate(float a, float b) {
+                                    cl.setRotationY(a * mOldRotationYs[i] + b * mNewRotationYs[i]);
+                                }
+                            });
+                        anim.play(rotate);
+                    }
+                    if (mOldBackgroundAlphas[i] != 0 ||
+                        mNewBackgroundAlphas[i] != 0 ||
+                        mOldBackgroundAlphaMultipliers[i] != 0 ||
+                        mNewBackgroundAlphaMultipliers[i] != 0) {
+                        ValueAnimator bgAnim = ValueAnimator.ofFloat(0f, 1f).setDuration(duration);
+                        bgAnim.setInterpolator(mZoomInInterpolator);
+                        bgAnim.addUpdateListener(new LauncherAnimatorUpdateListener() {
+                                public void onAnimationUpdate(float a, float b) {
+                                    cl.setBackgroundAlpha(
+                                            a * mOldBackgroundAlphas[i] +
+                                            b * mNewBackgroundAlphas[i]);
+                                    cl.setBackgroundAlphaMultiplier(
+                                            a * mOldBackgroundAlphaMultipliers[i] +
+                                            b * mNewBackgroundAlphaMultipliers[i]);
+                                }
+                            });
+                        anim.play(bgAnim);
+                    }
+                }
             }
-
-            animWithInterpolator.addListener(new AnimatorListenerAdapter() {
-                @Override
-                public void onAnimationEnd(android.animation.Animator animation) {
-                    // The above code to determine initialAlpha and finalAlpha will ensure that only
-                    // the current page is visible during (and subsequently, after) the transition
-                    // animation.  If fade adjacent pages is disabled, then re-enable the page
-                    // visibility after the transition animation.
-                    if (!mFadeInAdjacentScreens && stateIsNormal && oldStateIsSmall) {
-                        for (int i = 0; i < getChildCount(); i++) {
-                            final CellLayout cl = (CellLayout) getChildAt(i);
-                            cl.setAlpha(1f);
-                        }
-                    }
-                }
-            });
-            animWithInterpolator.addUpdateListener(new LauncherAnimatorUpdateListener() {
-                public void onAnimationUpdate(float a, float b) {
-                    mTransitionProgress = b;
-                    if (b == 0f) {
-                        // an optimization, but not required
-                        return;
-                    }
-                    invalidate();
-                    for (int i = 0; i < getChildCount(); i++) {
-                        final CellLayout cl = (CellLayout) getChildAt(i);
-                        cl.fastInvalidate();
-                        cl.setFastTranslationX(a * mOldTranslationXs[i] + b * mNewTranslationXs[i]);
-                        cl.setFastTranslationY(a * mOldTranslationYs[i] + b * mNewTranslationYs[i]);
-                        cl.setFastScaleX(a * mOldScaleXs[i] + b * mNewScaleXs[i]);
-                        cl.setFastScaleY(a * mOldScaleYs[i] + b * mNewScaleYs[i]);
-                        cl.setFastBackgroundAlpha(
-                                a * mOldBackgroundAlphas[i] + b * mNewBackgroundAlphas[i]);
-                        cl.setBackgroundAlphaMultiplier(a * mOldBackgroundAlphaMultipliers[i] +
-                                b * mNewBackgroundAlphaMultipliers[i]);
-                        cl.setFastAlpha(a * mOldAlphas[i] + b * mNewAlphas[i]);
-                    }
-                    syncChildrenLayersEnabledOnVisiblePages();
-                }
-            });
-
-            ValueAnimator rotationAnim =
-                ValueAnimator.ofFloat(0f, 1f).setDuration(duration);
-            rotationAnim.setInterpolator(new DecelerateInterpolator(2.0f));
-            rotationAnim.addUpdateListener(new LauncherAnimatorUpdateListener() {
-                public void onAnimationUpdate(float a, float b) {
-                    if (b == 0f) {
-                        // an optimization, but not required
-                        return;
-                    }
-                    for (int i = 0; i < getChildCount(); i++) {
-                        final CellLayout cl = (CellLayout) getChildAt(i);
-                        cl.setFastRotationY(a * mOldRotationYs[i] + b * mNewRotationYs[i]);
-                    }
-                }
-            });
-
-            mAnimator.playTogether(animWithInterpolator, rotationAnim);
-            mAnimator.setStartDelay(delay);
-            // If we call this when we're not animated, onAnimationEnd is never called on
-            // the listener; make sure we only use the listener when we're actually animating
-            mAnimator.addListener(mChangeStateAnimationListener);
-            mAnimator.start();
+            anim.setStartDelay(delay);
         }
 
         if (stateIsSpringLoaded) {
@@ -1773,7 +1694,34 @@
             // Fade the background gradient away
             animateBackgroundGradient(0f, true);
         }
-        syncChildrenLayersEnabledOnVisiblePages();
+        return anim;
+    }
+
+    @Override
+    public void onLauncherTransitionStart(Launcher l, boolean animated, boolean toWorkspace) {
+        mIsSwitchingState = true;
+    }
+
+    @Override
+    public void onLauncherTransitionEnd(Launcher l, boolean animated, boolean toWorkspace) {
+        mIsSwitchingState = false;
+        mWallpaperOffset.setOverrideHorizontalCatchupConstant(false);
+        updateChildrenLayersEnabled();
+        // The code in getChangeStateAnimation to determine initialAlpha and finalAlpha will ensure
+        // ensure that only the current page is visible during (and subsequently, after) the
+        // transition animation.  If fade adjacent pages is disabled, then re-enable the page
+        // visibility after the transition animation.
+        if (!mFadeInAdjacentScreens) {
+            for (int i = 0; i < getChildCount(); i++) {
+                final CellLayout cl = (CellLayout) getChildAt(i);
+                cl.setAlpha(1f);
+            }
+        }
+    }
+
+    @Override
+    public View getContent() {
+        return this;
     }
 
     /**
@@ -1844,7 +1792,6 @@
         canvas.setBitmap(b);
         drawDragView(v, canvas, padding, true);
         mOutlineHelper.applyOuterBlur(b, canvas, outlineColor);
-        canvas.drawColor(mDragViewMultiplyColor, PorterDuff.Mode.MULTIPLY);
         canvas.setBitmap(null);
 
         return b;
@@ -1984,6 +1931,9 @@
         mDragController.startDrag(b, dragLayerX, dragLayerY, source, child.getTag(),
                 DragController.DRAG_ACTION_MOVE, dragVisualizeOffset, dragRect);
         b.recycle();
+
+        // Show the scrolling indicator when you pick up an item
+        showScrollingIndicator(false);
     }
 
     void addApplicationShortcut(ShortcutInfo info, CellLayout target, long container, int screen,
@@ -2291,11 +2241,10 @@
             mAnimatingViewIntoPlace = true;
             if (d.dragView.hasDrawn()) {
                 int duration = snapScreen < 0 ? -1 : ADJACENT_SCREEN_DROP_DURATION;
-                setFinalScrollForPageChange(snapScreen);
                 mLauncher.getDragLayer().animateViewIntoPosition(d.dragView, cell, duration,
-                        disableHardwareLayersRunnable);
-                resetFinalScrollForPageChange(snapScreen);
+                        disableHardwareLayersRunnable, this);
             } else {
+                d.deferDragViewCleanupPostAnimation = false;
                 cell.setVisibility(VISIBLE);
             }
             parent.onDropChild(cell);
@@ -2338,6 +2287,7 @@
     }
 
     public void onDragEnter(DragObject d) {
+        mDragHasEnteredWorkspace = true;
         if (mDragTargetLayout != null) {
             mDragTargetLayout.setIsDragOverlapping(false);
             mDragTargetLayout.onDragExit();
@@ -2373,6 +2323,7 @@
     }
 
     public void onDragExit(DragObject d) {
+        mDragHasEnteredWorkspace = false;
         doDragExit(d);
     }
 
@@ -2539,7 +2490,11 @@
            v.getMatrix().invert(mTempInverseMatrix);
            cachedInverseMatrix = mTempInverseMatrix;
        }
-       xy[0] = xy[0] + mScrollX - v.getLeft();
+       int scrollX = mScrollX;
+       if (mNextPage != INVALID_PAGE) {
+           scrollX = mScroller.getFinalX();
+       }
+       xy[0] = xy[0] + scrollX - v.getLeft();
        xy[1] = xy[1] + mScrollY - v.getTop();
        cachedInverseMatrix.mapPoints(xy);
    }
@@ -2561,7 +2516,11 @@
     */
    void mapPointFromChildToSelf(View v, float[] xy) {
        v.getMatrix().mapPoints(xy);
-       xy[0] -= (mScrollX - v.getLeft());
+       int scrollX = mScrollX;
+       if (mNextPage != INVALID_PAGE) {
+           scrollX = mScroller.getFinalX();
+       }
+       xy[0] -= (scrollX - v.getLeft());
        xy[1] -= (mScrollY - v.getTop());
    }
 
@@ -3166,6 +3125,9 @@
         }
         mDragOutline = null;
         mDragInfo = null;
+
+        // Hide the scrolling indicator after you pick up an item
+        hideScrollingIndicator(false);
     }
 
     public boolean isDropEnabled() {
@@ -3215,11 +3177,12 @@
         if (!isSmall() && !mIsSwitchingState) {
             mInScrollArea = true;
 
-            final int page = mCurrentPage + (direction == DragController.SCROLL_LEFT ? -1 : 1);
-            final CellLayout layout = (CellLayout) getChildAt(page);
+            final int page = (mNextPage != INVALID_PAGE ? mNextPage : mCurrentPage) +
+                       (direction == DragController.SCROLL_LEFT ? -1 : 1);
             cancelFolderCreation();
 
-            if (layout != null) {
+            if (0 <= page && page < getChildCount()) {
+                CellLayout layout = (CellLayout) getChildAt(page);
                 // Exit the current layout and mark the overlapping layout
                 if (mDragTargetLayout != null) {
                     mDragTargetLayout.setIsDragOverlapping(false);
@@ -3242,16 +3205,17 @@
         boolean result = false;
         if (mInScrollArea) {
             if (mDragTargetLayout != null) {
-                // Unmark the overlapping layout and re-enter the current layout
                 mDragTargetLayout.setIsDragOverlapping(false);
-                mDragTargetLayout = getCurrentDropLayout();
-                mDragTargetLayout.onDragEnter();
-
                 // Workspace is responsible for drawing the edge glow on adjacent pages,
                 // so we need to redraw the workspace when this may have changed.
                 invalidate();
-                result = true;
             }
+            if (mDragTargetLayout != null && mDragHasEnteredWorkspace) {
+                // Unmark the overlapping layout and re-enter the current layout
+                mDragTargetLayout = getCurrentDropLayout();
+                mDragTargetLayout.onDragEnter();
+            }
+            result = true;
             mInScrollArea = false;
         }
         return result;
@@ -3523,7 +3487,7 @@
         final ViewGroup parent = (ViewGroup) getParent();
         final ImageView qsbDivider = (ImageView) (parent.findViewById(R.id.qsb_divider));
         final ImageView dockDivider = (ImageView) (parent.findViewById(R.id.dock_divider));
-        final ImageView scrollIndicator = getScrollingIndicator();
+        final View scrollIndicator = getScrollingIndicator();
 
         cancelScrollingIndicatorAnimations();
         if (qsbDivider != null) qsbDivider.setAlpha(reducedFade);