Merge branch 'master' into honeycomb-release
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index b127e1e..e938b73 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Konfigurace..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgety"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Složky"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Další"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Tapety"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Zástupci aplikací"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Toto bude karta Tapety"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Vše"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Aplikace"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Hry"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Stažené"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Název složky"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Přejmenovat složku"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Výběr aplikace"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Vybrat složku"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Všechny aplikace"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Aplikace"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Plocha"</string>
     <string name="menu_add" msgid="3065046628354640854">"Přidat"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Spravovat aplikace"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Tapeta"</string>
     <string name="menu_search" msgid="4826514464423239041">"Hledat"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Oznámení"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gesta"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Nastavení"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Odinstalovat aplikaci"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Podrobnosti o aplikaci"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"Vybrána 1 aplikace"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"Vybrán 1 widget"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"Vybrána 1 složka"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"Vybrán 1 zástupce"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalovat zástupce"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Povoluje aplikaci přidat zástupce bez zásahu uživatele."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"odinstalovat zástupce"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index c3b069e..576abce 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Konfigurer ..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Mapper"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Flere"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Tapeter"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Programgenvej"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Dette er fanen for tapeter"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Alle"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Programmer"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Spil"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Downloadet"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Mappenavn"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Omdøb mappe"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Vælg program"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Vælg mappe"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Alle programmer"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Programmer"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Start"</string>
     <string name="menu_add" msgid="3065046628354640854">"Tilføj"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Administrer programmer"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Tapet"</string>
     <string name="menu_search" msgid="4826514464423239041">"Søg"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Meddelelser"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gestus"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Indstillinger"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Afinstaller program"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Programoplysninger"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1 program er valgt"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1 widget er valgt"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"1 mappe er valgt"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1 genvej er valgt"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"installer genveje"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Tillader, at et program tilføjer genveje uden brugerindgriben."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"afinstaller genveje"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 6b5401f..575db07 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Konfigurieren..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Ordner"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Mehr"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Hintergründe"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"App-Verknüpfungen"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Dies ist der Tab \"Hintergründe\""</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Alle"</string>
-    <string name="all_apps_tab_apps" msgid="5468972551904071712">"Anwendungen"</string>
+    <string name="all_apps_tab_apps" msgid="5468972551904071712">"Apps"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Spiele"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Heruntergeladen"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Ordnername"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Ordner umbenennen"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Anwendung auswählen"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Ordner auswählen"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Alle Anwendungen"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Anwendungen"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Startseite"</string>
     <string name="menu_add" msgid="3065046628354640854">"Hinzufügen"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Apps verwalten"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Hintergrund"</string>
     <string name="menu_search" msgid="4826514464423239041">"Suchen"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Benachrichtigungen"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Bewegungen"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Einstellungen"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Anwendung deinstallieren"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Anwendungsdetails"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1 Anwendung ausgewählt"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1 Widget ausgewählt"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"1 Ordner ausgewählt"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1 Verknüpfung ausgewählt"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"Verknüpfungen installieren"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Ermöglicht einer Anwendung das Hinzufügen von Verknüpfungen ohne Eingriff des Nutzers."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"Verknüpfungen deinstallieren"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 9326a93..0937c5b 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Διαμόρφωση..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Γραφικά στοιχεία"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Φάκελοι"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Περισσότερα"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Ταπετσαρίες"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Συντομεύσεις Εφαρμογών"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Αυτή θα είναι η καρτέλα ταπετσαριών"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Κάθε ηλικία"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Εφαρμογές"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Παιχνίδια"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Η λήψη ολοκληρώθηκε"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Όνομα φακέλου"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Μετονομασία φακέλου"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Επιλέξτε εφαρμογή"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Επιλογή φακέλου"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Όλες οι εφαρμογές"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Εφαρμογές"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Αρχική σελίδα"</string>
     <string name="menu_add" msgid="3065046628354640854">"Προσθήκη"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Διαχείριση εφαρμογών"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Ταπετσαρία"</string>
     <string name="menu_search" msgid="4826514464423239041">"Αναζήτηση"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Ειδοποιήσεις"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Χειρονομίες"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Ρυθμίσεις"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Κατάργηση εγκατάστασης εφαρμογής"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Λεπτομέρειες εφαρμογής"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"Επιλέχθηκε 1 εφαρμογή"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"Επιλέχθηκε 1 γραφικό στοιχείο"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"Επιλέχθηκε 1 φάκελος"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"Επιλέχθηκε 1 συντόμευση"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"εγκατάσταση συντομεύσεων"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Επιτρέπει σε μια εφαρμογή την προσθήκη συντομεύσεων χωρίς την παρέμβαση του χρήστη."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"κατάργηση εγκατάστασης συντομεύσεων"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index b4e65d0..d718936 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -29,18 +29,16 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Configurar..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Carpetas"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Más"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Papeles tapiz"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Accesos directos a aplicaciones"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Ésta será la pestaña para los papeles tapiz"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Todos"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Google Apps"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Juegos"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Descargado"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
-    <skip />
+    <string name="all_apps_no_games" msgid="5293893733372793696">"No"</string>
+    <string name="all_apps_no_downloads" msgid="6145042636084482299">"No  Google Apps"</string>
     <string name="rename_folder_label" msgid="5646236631298452787">"Nombre de carpeta"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Cambiar nombre de carpeta"</string>
     <string name="rename_action" msgid="6016003384693240896">"Aceptar"</string>
@@ -60,21 +58,23 @@
     <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_application" msgid="8031072293115454221">"Seleccionar aplicación"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Seleccionar carpeta"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Todas las aplicaciones"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Google Apps"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Página principal"</string>
     <string name="menu_add" msgid="3065046628354640854">"Agregar"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Administrar aplicaciones"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Papel tapiz"</string>
     <string name="menu_search" msgid="4826514464423239041">"Buscar"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notificaciones"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gestos"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Configuración"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Desinstalar la aplicación"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Detalles de la aplicación"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"Se seleccionó 1 aplicación"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"Se seleccionó 1 widget"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"Se seleccionó 1 carpeta"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"Se seleccionó 1 acceso directo"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalar accesos directos"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Permite a una aplicación agregar accesos directos sin intervención del usuario."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"desinstalar papel tapiz"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index ecbe8af..ab0485a 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Configurar..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Carpetas"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Más"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Fondos de pantalla"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Accesos directos de aplicaciones"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Será la carpeta de fondos de pantalla."</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Todas las aplicaciones"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Aplicaciones"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Juegos"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Descargadas"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Nombre de carpeta"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Cambiar nombre de carpeta"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Seleccionar aplicación"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Seleccionar carpeta"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Todas las aplicaciones"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Aplicaciones"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Inicio"</string>
     <string name="menu_add" msgid="3065046628354640854">"Añadir"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Administrar aplicaciones"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Fondo de pantalla"</string>
     <string name="menu_search" msgid="4826514464423239041">"Buscar con Google"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notificaciones"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gestos"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Ajustes"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Desinstalar aplicación"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Información de la aplicación"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"Se ha seleccionado una aplicación."</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"Se ha seleccionado un widget."</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"Se ha seleccionado una carpeta."</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"Se ha seleccionado un acceso directo."</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalar accesos directos"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"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>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index c6d530d..35ee775 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Configurer..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Dossiers"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Plus"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Fonds d\'écran"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Raccourcis des applications"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Onglet des fonds d\'écran"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Toutes"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Applications"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Jeux"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Téléchargées"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Nom du dossier"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Renommer le dossier"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Sélection d\'une application"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Sélectionner le dossier"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Toutes les applications"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Applications"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Page d\'accueil"</string>
     <string name="menu_add" msgid="3065046628354640854">"Ajouter"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Gérer les applications"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Fond d\'écran"</string>
     <string name="menu_search" msgid="4826514464423239041">"Rechercher"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notifications"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gestes"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Paramètres"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Désinstaller l\'application"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Infos sur l\'application"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1 application sélectionnée"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1 widget sélectionné"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"1 dossier sélectionné"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1 raccourci sélectionné"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"installer des raccourcis"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"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>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index f25156a..7705763 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Configura..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widget"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Cartelle"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Altro"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Sfondi"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Scorciatoie applicazioni"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Questa sarà la scheda degli sfondi"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Tutte"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Applicazioni"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Giochi"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Scaricate"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Nome cartella"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Rinomina cartella"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Seleziona applicazione"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Seleziona cartella"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Tutte le applicazioni"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Applicazioni"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Home"</string>
     <string name="menu_add" msgid="3065046628354640854">"Aggiungi"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Gestisci applicazioni"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Sfondo"</string>
     <string name="menu_search" msgid="4826514464423239041">"Cerca"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notifiche"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gesti"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Impostazioni"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Disinstalla applicazione"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Dettagli applicazione"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1 applicazione selezionata"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1 widget selezionato"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"1 cartella selezionata"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1 scorciatoia selezionata"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"aggiungere scorciatoie"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Consente a un\'applicazione di aggiungere scorciatoie automaticamente."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"eliminare scorciatoie"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 98f042b..2a7a218 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"設定..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"ウィジェット"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"フォルダ"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"その他"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"壁紙"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"アプリのショートカット"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"ここが壁紙タブになります"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"すべて"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"アプリ"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"ゲーム"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"ダウンロード済み"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"フォルダ名"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"フォルダ名を変更"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"アプリを選択"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"フォルダの選択"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"すべてのアプリケーション"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"アプリ"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"ホーム"</string>
     <string name="menu_add" msgid="3065046628354640854">"追加"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"アプリの管理"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"壁紙"</string>
     <string name="menu_search" msgid="4826514464423239041">"検索"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"通知"</string>
     <string name="menu_gestures" msgid="514678675575912237">"ジェスチャー"</string>
     <string name="menu_settings" msgid="6233960148378443661">"設定"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"アプリケーションのアンインストール"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"アプリケーションの詳細"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1つのアプリケーションが選択されています"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1つのウィジェットが選択されています"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"1つのフォルダが選択されています"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1つのショートカットが選択されています"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"ショートカットのインストール"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"ユーザー操作なしでショートカットの追加をアプリケーションに許可します。"</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"ショートカットのアンインストール"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 5213326..b23450d 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"구성..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"위젯"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"폴더"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"더보기"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"배경화면"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"앱 바로가기"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"배경화면 탭이 됩니다."</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"모두"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"애플리케이션"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"게임"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"다운로드앱"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"폴더 이름"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"폴더 이름 바꾸기"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"애플리케이션 선택"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"폴더 선택"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"모든 애플리케이션"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"애플리케이션"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"홈"</string>
     <string name="menu_add" msgid="3065046628354640854">"추가"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"애플리케이션 관리"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"배경화면"</string>
     <string name="menu_search" msgid="4826514464423239041">"검색"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"알림"</string>
     <string name="menu_gestures" msgid="514678675575912237">"동작"</string>
     <string name="menu_settings" msgid="6233960148378443661">"설정"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"애플리케이션 제거"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"애플리케이션 세부정보"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1개 애플리케이션 선택"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1개 위젯 선택"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"1개 폴더 선택"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1개 바로가기 선택"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"바로가기 설치"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"애플리케이션이 사용자의 작업 없이 바로가기를 추가할 수 있도록 합니다."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"바로가기 제거"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 0d24eb9..5026744 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Konfigurer"</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Moduler"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Mapper"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Mer"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Bakgrunner"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Programsnarveier"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Dette er nå bakgrunnsfanen"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Alle"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Programmer"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Spill"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Nedlastet"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Mappenavn"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Gi nytt navn til mappe"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Velg program"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Velg mappe"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Alle programmer"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Programmer"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Startsiden"</string>
     <string name="menu_add" msgid="3065046628354640854">"Legg til"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Administrer programmer"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Bakgrunnsbilde"</string>
     <string name="menu_search" msgid="4826514464423239041">"Søk"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Varslinger"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Bevegelser"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Innstillinger"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Avinstaller program"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Søknadsopplysninger"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1 program valgt"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1 modul valgt"</string>
+    <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="7429365847558984148">"Lar applikasjonen legge til snarveier uten å involvere brukeren."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"avinstallere snarveier"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 5a2a269..6562529 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Configureren..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Mappen"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Meer"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Achtergronden"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Toepassingssnelkoppelingen"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Dit wordt het tabblad \'Achtergronden\'"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Alle"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Toepassingen"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Games"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Gedownload"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Mapnaam"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Naam van map wijzigen"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Toepassing selecteren"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Map selecteren"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Alle toepassingen"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Toepassingen"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Startpagina"</string>
     <string name="menu_add" msgid="3065046628354640854">"Toevoegen"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Toepassingen beheren"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Achtergrond"</string>
     <string name="menu_search" msgid="4826514464423239041">"Zoeken"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Meldingen"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gebaren"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Instellingen"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Toepassing verwijderen"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Toepassingsdetails"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1 toepassing geselecteerd"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1 widget geselecteerd"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"1 map geselecteerd"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1 snelkoppeling geselecteerd"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"snelkoppelingen installeren"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Een toepassing toestaan om snelkoppelingen toe te voegen zonder tussenkomst van de gebruiker."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"snelkoppelingen verwijderen"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 0c8e91b..f2ac81d 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Konfiguruj..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widżety"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Foldery"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Więcej"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Tapety"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Skróty do aplikacji"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"To będzie karta tapet"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Wszystkie"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Aplikacje"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Gry"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Pobrane"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Nazwa folderu"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Zmień nazwę folderu"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Wybierz aplikację"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Wybierz folder"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Wszystkie aplikacje"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Aplikacje"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Ekran główny"</string>
     <string name="menu_add" msgid="3065046628354640854">"Dodaj"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Zarządzaj aplikacjami"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Tapeta"</string>
     <string name="menu_search" msgid="4826514464423239041">"Szukaj"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Powiadomienia"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gesty"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Ustawienia"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Odinstaluj aplikację"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Szczegóły aplikacji"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"Zaznaczono 1 aplikację"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"Zaznaczono 1 widżet"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"Zaznaczono 1 folder"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"Zaznaczono 1 skrót"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"zainstaluj skróty"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Umożliwia aplikacji dodawanie skrótów bez interwencji użytkownika."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"odinstaluj skróty"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index cdff3bf..a3c432d 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Configurar..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Pastas"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Mais"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Imagens de fundo"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Atalhos de aplicações"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Isto será o separador de imagens de fundo"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Todas"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Aplicações"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Jogos"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Transferidas"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Nome da pasta"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Mudar o nome da pasta"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Seleccionar aplicação"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Seleccione a pasta"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Todas as aplicações"</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>
     <string name="menu_add" msgid="3065046628354640854">"Adicionar"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Gerir aplicações"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Imagem de fundo"</string>
     <string name="menu_search" msgid="4826514464423239041">"Pesquisar"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notificações"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gestos"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Definições"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Desinstalar aplicação"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Detalhes da aplicação"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1 aplicação seleccionada"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1 widget seleccionado"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"1 pasta seleccionada"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1 atalho seleccionado"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalar atalhos"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Permite que uma aplicação adicione atalhos sem a intervenção do utilizador."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"desinstalar atalhos"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index bdebb87..3941c4f 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Configurar..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgets"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Pastas"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Mais"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Papéis de parede"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Atalhos de aplicativo"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Esta será a guia de papéis de parede"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Todos"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Aplicativos"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Jogos"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Download concluído"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Nome da pasta"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Renomear pasta"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Selecionar aplicativo"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Selecionar pasta"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Todos os aplicativos"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Aplicativos"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Página inicial"</string>
     <string name="menu_add" msgid="3065046628354640854">"Adicionar"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Gerenciar aplicativos"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Plano de fundo"</string>
     <string name="menu_search" msgid="4826514464423239041">"Pesquisa"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Notificações"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gestos"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Configurações"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Desinstalar aplicativo"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Detalhes do aplicativo"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"Um aplicativo selecionado"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"Um widget selecionado"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"Uma pasta selecionada"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"Um atalho selecionado"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"instalar atalhos"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Permite que um aplicativo adicione os atalhos sem a intervenção do usuário."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"desinstalar atalhos"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index 0e4e4da..10cbc4a 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -47,7 +47,9 @@
     <skip />
     <!-- no translation found for all_apps_tab_downloaded (2300935549064726963) -->
     <skip />
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Num da l\'ordinatur"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Renumnar l\'ordinatur"</string>
@@ -68,10 +70,14 @@
     <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_application (8031072293115454221) -->
+    <skip />
     <string name="title_select_live_folder" msgid="3753447798805166749">"Tscherner l\'ordinatur"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Tut las applicaziuns"</string>
+    <!-- outdated translation 3953036962111614813 -->     <string name="all_apps_button_label" msgid="2578400570124163469">"Tut las applicaziuns"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Pagina da partenza"</string>
     <string name="menu_add" msgid="3065046628354640854">"Agiuntar"</string>
+    <!-- no translation found for menu_manage_apps (2308685199463588895) -->
+    <skip />
     <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>
@@ -81,7 +87,13 @@
     <skip />
     <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
     <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
+    <!-- no translation found for cab_app_selection_text (606113924828167756) -->
+    <skip />
+    <!-- no translation found for cab_widget_selection_text (962527270506951955) -->
+    <skip />
+    <!-- no translation found for cab_folder_selection_text (8916111874189565067) -->
+    <skip />
+    <!-- no translation found for cab_shortcut_selection_text (8115847384500412878) -->
     <skip />
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"Installar scursanidas"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Pussibilitescha ch\'ina applicaziun agiunta scursanidas senza l\'intervenziun da l\'utilisader."</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index bb87445..fd5b35d 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Настроить..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Виджеты"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Папки"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Еще"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Обои"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Ярлыки приложений"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Это будет вкладка обоев"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Все"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Приложения"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Игры"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Загруженные"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Название папки"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Переименовать папку"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Выбор приложения"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Выбор папки"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Все приложения"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Приложения"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Главная"</string>
     <string name="menu_add" msgid="3065046628354640854">"Добавить"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Управление приложениями"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Обои"</string>
     <string name="menu_search" msgid="4826514464423239041">"Поиск"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Уведомления"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Жесты"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Настройки"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Удалить приложение"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Сведения о приложении"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"Выбрано 1 приложение"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"Выбран 1 виджет"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"Выбрана 1 папка"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"Выбран 1 ярлык"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"устанавливать ярлыки"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Позволяет приложению добавлять ярлыки без вмешательства пользователя"</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"удалять ярлыки"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index be6ee7f..17a6cdc 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Konfigurera..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widgetar"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Mappar"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Mer"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Bakgrundsbilder"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Genvägar för appar"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Det här kommer att vara fliken för bakgrundsbilder"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Alla"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Program"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Spel"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"Hämtade"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Mappnamn"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Byt namn på mapp"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Välj program"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Välj mapp"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Alla program"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Program"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Startsida"</string>
     <string name="menu_add" msgid="3065046628354640854">"Lägg till"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Hantera appar"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Bakgrund"</string>
     <string name="menu_search" msgid="4826514464423239041">"Sök"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Aviseringar"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Gester"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Inställningar"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Avinstallera program"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Programinformation"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1 program har valts"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1 widget vald"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"1 mapp vald"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1 genväg har valts"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"installera genvägar"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Tillåter att ett program lägger till genvägar utan åtgärd från användaren."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"avinstallera genvägar"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 59c816d..19417f0 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"Yapılandır..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"Widget\'lar"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"Klasörler"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Diğer"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"Duvar Kağıtları"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"Uygulama Kısayolları"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Bu duvar kağıdı sekmesi olacaktır"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"Tümü"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"Uygulamalar"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"Oyunlar"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"İndirilenler"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"Klasör adı"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"Klasörü yeniden adlandır"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"Uygulama seç"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"Klasörü seçin"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"Tüm uygulamalar"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Uygulamalar"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"Ana Sayfa"</string>
     <string name="menu_add" msgid="3065046628354640854">"Ekle"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"Uyglm yönet"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"Duvar Kağıdı"</string>
     <string name="menu_search" msgid="4826514464423239041">"Ara"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"Bildirimler"</string>
     <string name="menu_gestures" msgid="514678675575912237">"Hareketler"</string>
     <string name="menu_settings" msgid="6233960148378443661">"Ayarlar"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Uygulamanın yüklemesini kaldır"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Uygulama ayrıntıları"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"1 uygulama seçildi"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"1 widget seçildi"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"1 klasör seçildi"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"1 kısayol seçildi"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"kısayolları yükle"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Bir uygulamaya, kısayolları kullanıcı müdahale etmeden ekleme izni verir."</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"kısayolları kaldır"</string>
diff --git a/res/values-xlarge/dimens.xml b/res/values-xlarge/dimens.xml
index a84926d..a834a2e 100644
--- a/res/values-xlarge/dimens.xml
+++ b/res/values-xlarge/dimens.xml
@@ -22,6 +22,9 @@
     <dimen name="workspace_width_gap">0dp</dimen>
     <dimen name="workspace_height_gap">0dp</dimen>
 
+    <!-- The corner radius to draw the external drop icon rounded rect -->
+    <dimen name="external_drop_icon_rect_radius">10dp</dimen>
+
     <!-- extra horizontal spacing between mini screen thumbnails ie. in all
          apps and in customization mode -->
     <dimen name="smallScreenExtraSpacing">0dip</dimen>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 58f6178..751474b 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -29,17 +29,17 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"配置..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"窗口小部件"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"文件夹"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"更多"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"壁纸"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"应用程序快捷方式"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"这将会成为壁纸标签"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"全部"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"应用程序"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"游戏"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"已下载"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"文件夹名称"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"重命名文件夹"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"选择应用程序"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"选择文件夹"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"所有应用程序"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"应用程序"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"主屏幕"</string>
     <string name="menu_add" msgid="3065046628354640854">"添加"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"管理应用程序"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"壁纸"</string>
     <string name="menu_search" msgid="4826514464423239041">"搜索"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"通知"</string>
     <string name="menu_gestures" msgid="514678675575912237">"手势"</string>
     <string name="menu_settings" msgid="6233960148378443661">"设置"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"卸载应用程序"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"应用程序详细信息"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"已选中 1 个应用程序"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"已选中 1 个窗口小部件"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"已选中 1 个文件夹"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"已选中 1 个快捷方式"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"安装快捷方式"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"允许应用程序在没有用户介入的情况下添加快捷方式。"</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"卸载快捷方式"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index a7cd098..824ec64 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -29,23 +29,23 @@
     <string name="configure_wallpaper" msgid="2820186271419674623">"設定..."</string>
     <string name="widgets_tab_label" msgid="9145860100000983599">"小工具"</string>
     <string name="folders_tab_label" msgid="1145293785541489736">"資料夾"</string>
-    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
-    <skip />
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"更多選項"</string>
     <string name="wallpapers_tab_label" msgid="1617804870364119879">"桌布"</string>
-    <!-- no translation found for applications_tab_label (9046797126882613707) -->
-    <skip />
+    <string name="applications_tab_label" msgid="9046797126882613707">"應用程式捷徑"</string>
     <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"桌布標籤保留位"</string>
     <string name="all_apps_tab_all" msgid="2942727589595027258">"全部"</string>
     <string name="all_apps_tab_apps" msgid="5468972551904071712">"應用程式"</string>
     <string name="all_apps_tab_games" msgid="1855736784923494918">"遊戲"</string>
     <string name="all_apps_tab_downloaded" msgid="2300935549064726963">"下載內容"</string>
-    <!-- no translation found for widget_dims_format (412876472704567784) -->
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (6145042636084482299) -->
     <skip />
     <string name="rename_folder_label" msgid="5646236631298452787">"資料夾名稱"</string>
     <string name="rename_folder_title" msgid="4544573104191526550">"重新命名資料夾"</string>
     <string name="rename_action" msgid="6016003384693240896">"確定"</string>
     <string name="cancel_action" msgid="3811860427489435048">"取消"</string>
-    <string name="menu_item_add_item" msgid="6233177331075781114">"新增至首頁畫面"</string>
+    <string name="menu_item_add_item" msgid="6233177331075781114">"新增至主畫面"</string>
     <string name="group_applications" msgid="4118484163419674240">"應用程式"</string>
     <string name="group_shortcuts" msgid="9133529424900391877">"捷徑"</string>
     <string name="group_folder" msgid="5143593791798929193">"新資料夾"</string>
@@ -60,21 +60,23 @@
     <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_application" msgid="8031072293115454221">"選取應用程式"</string>
     <string name="title_select_live_folder" msgid="3753447798805166749">"選取資料夾"</string>
-    <string name="all_apps_button_label" msgid="3953036962111614813">"所有應用程式"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"應用程式"</string>
     <string name="all_apps_home_button_label" msgid="1022222300329398558">"主螢幕"</string>
     <string name="menu_add" msgid="3065046628354640854">"新增"</string>
+    <string name="menu_manage_apps" msgid="2308685199463588895">"管理應用程式"</string>
     <string name="menu_wallpaper" msgid="5837429080911269832">"桌布"</string>
     <string name="menu_search" msgid="4826514464423239041">"搜尋"</string>
     <string name="menu_notifications" msgid="6424587053194766192">"通知"</string>
     <string name="menu_gestures" msgid="514678675575912237">"觸控動作"</string>
     <string name="menu_settings" msgid="6233960148378443661">"設定"</string>
-    <!-- no translation found for cab_menu_delete_app (1242619904941293871) -->
-    <skip />
-    <!-- no translation found for cab_menu_app_info (5180426909324882018) -->
-    <skip />
-    <!-- no translation found for cab_selection_text (8712157849499378915) -->
-    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"解除安裝應用程式"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"應用程式詳細資料"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"已選取 1 個應用程式"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"已選取 1 個小工具"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"已選取 1 個資料夾"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"已選取 1 個捷徑"</string>
     <string name="permlab_install_shortcut" msgid="1201690825493376489">"安裝捷徑"</string>
     <string name="permdesc_install_shortcut" msgid="7429365847558984148">"允許應用程式自動新增快速鍵。"</string>
     <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"解除安裝捷徑"</string>
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index 63da108..3c82290 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -16,7 +16,7 @@
 
 package com.android.launcher2;
 
-import com.android.launcher.R;
+import java.util.Arrays;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -26,6 +26,7 @@
 import android.animation.ValueAnimator;
 import android.animation.ValueAnimator.AnimatorUpdateListener;
 import android.app.WallpaperManager;
+import android.content.ClipDescription;
 import android.content.Context;
 import android.content.res.Resources;
 import android.content.res.TypedArray;
@@ -41,6 +42,7 @@
 import android.util.AttributeSet;
 import android.util.Log;
 import android.view.ContextMenu;
+import android.view.DragEvent;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewDebug;
@@ -49,7 +51,7 @@
 import android.view.animation.DecelerateInterpolator;
 import android.view.animation.LayoutAnimationController;
 
-import java.util.Arrays;
+import com.android.launcher.R;
 
 public class CellLayout extends ViewGroup implements Dimmable {
     static final String TAG = "CellLayout";
@@ -972,7 +974,11 @@
         final int oldDragCellX = mDragCell[0];
         final int oldDragCellY = mDragCell[1];
         final int[] nearest = findNearestVacantArea(originX, originY, spanX, spanY, v, mDragCell);
-        mDragCenter.set(originX + (v.getWidth() / 2), originY + (v.getHeight() / 2));
+        if (v != null) {
+            mDragCenter.set(originX + (v.getWidth() / 2), originY + (v.getHeight() / 2));
+        } else {
+            mDragCenter.set(originX, originY);
+        }
 
         if (nearest != null && (nearest[0] != oldDragCellX || nearest[1] != oldDragCellY)) {
             // Find the top left corner of the rect the object will occupy
@@ -982,15 +988,17 @@
             int left = topLeft[0];
             int top = topLeft[1];
 
-            if (v.getParent() instanceof CellLayout) {
-                LayoutParams lp = (LayoutParams) v.getLayoutParams();
-                left += lp.leftMargin;
-                top += lp.topMargin;
-            }
+            if (v != null) {
+                if (v.getParent() instanceof CellLayout) {
+                    LayoutParams lp = (LayoutParams) v.getLayoutParams();
+                    left += lp.leftMargin;
+                    top += lp.topMargin;
+                }
 
-            // Offsets due to the size difference between the View and the dragOutline
-            left += (v.getWidth() - dragOutline.getWidth()) / 2;
-            top += (v.getHeight() - dragOutline.getHeight()) / 2;
+                // Offsets due to the size difference between the View and the dragOutline
+                left += (v.getWidth() - dragOutline.getWidth()) / 2;
+                top += (v.getHeight() - dragOutline.getHeight()) / 2;
+            }
 
             final int oldIndex = mDragOutlineCurrent;
             mDragOutlineAnims[oldIndex].animateOut();
@@ -1271,7 +1279,7 @@
      * It may have begun over this layout (in which case onDragChild is called first),
      * or it may have begun on another layout.
      */
-    void onDragEnter(View dragView) {
+    void onDragEnter() {
         if (!mDragging) {
             // Fade in the drag indicators
             if (mCrosshairsAnimator != null) {
diff --git a/src/com/android/launcher2/InstallShortcutReceiver.java b/src/com/android/launcher2/InstallShortcutReceiver.java
index caeb12b..8d72531 100644
--- a/src/com/android/launcher2/InstallShortcutReceiver.java
+++ b/src/com/android/launcher2/InstallShortcutReceiver.java
@@ -26,7 +26,7 @@
 import com.android.launcher.R;
 
 public class InstallShortcutReceiver extends BroadcastReceiver {
-    private static final String ACTION_INSTALL_SHORTCUT =
+    public static final String ACTION_INSTALL_SHORTCUT =
             "com.android.launcher.action.INSTALL_SHORTCUT";
 
     private final int[] mCoordinates = new int[2];
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 5d45d27..346e472 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -217,6 +217,7 @@
     private boolean mPaused = true;
     private boolean mRestoring;
     private boolean mWaitingForResult;
+    private boolean mOnResumeNeedsLoad;
 
     private Bundle mSavedInstanceState;
 
@@ -680,13 +681,12 @@
     @Override
     protected void onResume() {
         super.onResume();
-
         mPaused = false;
-
-        if (mRestoring) {
+        if (mRestoring || mOnResumeNeedsLoad) {
             mWorkspaceLoading = true;
             mModel.startLoader(this, true);
             mRestoring = false;
+            mOnResumeNeedsLoad = false;
         }
         // When we resume Launcher, a different Activity might be responsible for the app
         // market intent, so refresh the icon
@@ -703,6 +703,7 @@
         if (mNextView != null) {
             dismissPreview(mNextView);
         }
+        mPaused = true;
         mDragController.cancelDrag();
     }
 
@@ -1143,6 +1144,10 @@
         return mAppWidgetHost;
     }
 
+    public LauncherModel getModel() {
+        return mModel;
+    }
+
     void closeSystemDialogs() {
         getWindow().closeAllPanels();
 
@@ -2870,6 +2875,30 @@
     }
 
     /**
+     * If the activity is currently paused, signal that we need to re-run the loader
+     * in onResume.
+     *
+     * This needs to be called from incoming places where resources might have been loaded
+     * while we are paused.  That is becaues the Configuration might be wrong
+     * when we're not running, and if it comes back to what it was when we
+     * were paused, we are not restarted.
+     *
+     * Implementation of the method from LauncherModel.Callbacks.
+     *
+     * @return true if we are currently paused.  The caller might be able to
+     * skip some work in that case since we will come back again.
+     */
+    public boolean setLoadOnResume() {
+        if (mPaused) {
+            Log.i(TAG, "setLoadOnResume");
+            mOnResumeNeedsLoad = true;
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
      * Implementation of the method from LauncherModel.Callbacks.
      */
     public int getCurrentWorkspaceScreen() {
@@ -2917,6 +2946,8 @@
      */
     public void bindItems(ArrayList<ItemInfo> shortcuts, int start, int end) {
 
+        setLoadOnResume();
+
         final Workspace workspace = mWorkspace;
 
         for (int i=start; i<end; i++) {
@@ -2954,6 +2985,7 @@
      * Implementation of the method from LauncherModel.Callbacks.
      */
     public void bindFolders(HashMap<Long, FolderInfo> folders) {
+        setLoadOnResume();
         sFolders.clear();
         sFolders.putAll(folders);
     }
@@ -2964,6 +2996,8 @@
      * Implementation of the method from LauncherModel.Callbacks.
      */
     public void bindAppWidget(LauncherAppWidgetInfo item) {
+        setLoadOnResume();
+
         final long start = DEBUG_WIDGETS ? SystemClock.uptimeMillis() : 0;
         if (DEBUG_WIDGETS) {
             Log.d(TAG, "bindAppWidget: " + item);
@@ -3000,6 +3034,8 @@
      * Implementation of the method from LauncherModel.Callbacks.
      */
     public void finishBindingItems() {
+        setLoadOnResume();
+
         if (mSavedState != null) {
             if (!mWorkspace.hasFocus()) {
                 mWorkspace.getChildAt(mWorkspace.getCurrentPage()).requestFocus();
@@ -3050,6 +3086,7 @@
      * Implementation of the method from LauncherModel.Callbacks.
      */
     public void bindAppsAdded(ArrayList<ApplicationInfo> apps) {
+        setLoadOnResume();
         removeDialog(DIALOG_CREATE_SHORTCUT);
         mAllAppsGrid.addApps(apps);
         if (mCustomizePagedView != null) {
@@ -3065,6 +3102,7 @@
      * Implementation of the method from LauncherModel.Callbacks.
      */
     public void bindAppsUpdated(ArrayList<ApplicationInfo> apps) {
+        setLoadOnResume();
         removeDialog(DIALOG_CREATE_SHORTCUT);
         mWorkspace.updateShortcuts(apps);
         mAllAppsGrid.updateApps(apps);
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index eff5ed6..179a5d5 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -108,6 +108,7 @@
     private static int mCellCountY;
 
     public interface Callbacks {
+        public boolean setLoadOnResume();
         public int getCurrentWorkspaceScreen();
         public void startBinding();
         public void bindItems(ArrayList<ItemInfo> shortcuts, int start, int end);
@@ -433,7 +434,19 @@
             String[] packages = intent.getStringArrayExtra(Intent.EXTRA_CHANGED_PACKAGE_LIST);
             enqueuePackageUpdated(new PackageUpdatedTask(PackageUpdatedTask.OP_ADD, packages));
             // Then, rebind everything.
-            startLoader(mApp, false);
+            boolean runLoader = true;
+            if (mCallbacks != null) {
+                Callbacks callbacks = mCallbacks.get();
+                if (callbacks != null) {
+                    // If they're paused, we can skip loading, because they'll do it again anyway
+                    if (callbacks.setLoadOnResume()) {
+                        runLoader = false;
+                    }
+                }
+            }
+            if (runLoader) {
+                startLoader(mApp, false);
+            }
 
         } else if (Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE.equals(action)) {
             String[] packages = intent.getStringArrayExtra(Intent.EXTRA_CHANGED_PACKAGE_LIST);
@@ -1500,14 +1513,25 @@
     ShortcutInfo addShortcut(Context context, Intent data,
             int screen, int cellX, int cellY, boolean notify) {
 
-        final ShortcutInfo info = infoFromShortcutIntent(context, data);
+        final ShortcutInfo info = infoFromShortcutIntent(context, data, null);
         addItemToDatabase(context, info, LauncherSettings.Favorites.CONTAINER_DESKTOP,
                 screen, cellX, cellY, notify);
 
         return info;
     }
 
-    private ShortcutInfo infoFromShortcutIntent(Context context, Intent data) {
+    /**
+     * Ensures that a given shortcut intent actually has all the fields that we need to create a
+     * proper ShortcutInfo.
+     */
+    boolean validateShortcutIntent(Intent data) {
+        // We don't require Intent.EXTRA_SHORTCUT_ICON, since we can pull a default fallback icon
+        return InstallShortcutReceiver.ACTION_INSTALL_SHORTCUT.equals(data.getAction()) &&
+                (data.getParcelableExtra(Intent.EXTRA_SHORTCUT_INTENT) != null) &&
+                (data.getStringExtra(Intent.EXTRA_SHORTCUT_NAME) != null);
+    }
+
+    ShortcutInfo infoFromShortcutIntent(Context context, Intent data, Bitmap fallbackIcon) {
         Intent intent = data.getParcelableExtra(Intent.EXTRA_SHORTCUT_INTENT);
         String name = data.getStringExtra(Intent.EXTRA_SHORTCUT_NAME);
         Parcelable bitmap = data.getParcelableExtra(Intent.EXTRA_SHORTCUT_ICON);
@@ -1540,8 +1564,12 @@
         final ShortcutInfo info = new ShortcutInfo();
 
         if (icon == null) {
-            icon = getFallbackIcon();
-            info.usingFallbackIcon = true;
+            if (fallbackIcon != null) {
+                icon = fallbackIcon;
+            } else {
+                icon = getFallbackIcon();
+                info.usingFallbackIcon = true;
+            }
         }
         info.setIcon(icon);
 
diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java
index 010c573..be4999d 100644
--- a/src/com/android/launcher2/PagedViewIcon.java
+++ b/src/com/android/launcher2/PagedViewIcon.java
@@ -16,6 +16,9 @@
 
 package com.android.launcher2;
 
+import com.android.launcher.R;
+import com.android.launcher2.PagedView.PagedViewIconCache;
+
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
@@ -23,17 +26,14 @@
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Paint;
-import android.graphics.PointF;
 import android.graphics.Rect;
-import android.graphics.Region.Op;
-import android.graphics.drawable.Drawable;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Message;
 import android.util.AttributeSet;
 import android.widget.Checkable;
 import android.widget.TextView;
 
-import com.android.launcher.R;
-import com.android.launcher2.PagedView.PagedViewIconCache;
-
 
 
 /**
@@ -49,8 +49,8 @@
     private Bitmap mCheckedOutline;
     private Bitmap mHolographicOutline;
     private Canvas mHolographicOutlineCanvas;
-    private boolean mIsHolographicUpdatePass;
     private Rect mDrawableClipRect;
+    private Bitmap mIcon;
 
     private Object mIconCacheKey;
     private PagedViewIconCache mIconCache;
@@ -67,6 +67,36 @@
     private int mCheckedBlurColor;
     private int mCheckedOutlineColor;
 
+    private static final HandlerThread sWorkerThread = new HandlerThread("pagedviewicon-helper");
+    static {
+        sWorkerThread.start();
+    }
+
+    private static final int MESSAGE_CREATE_HOLOGRAPHIC_OUTLINE = 1;
+
+    private static final Handler sWorker = new Handler(sWorkerThread.getLooper()) {
+        private DeferredHandler mHandler = new DeferredHandler();
+        private Paint mPaint = new Paint();
+        public void handleMessage(Message msg) {
+            final PagedViewIcon icon = (PagedViewIcon) msg.obj;
+
+            final Bitmap holographicOutline = Bitmap.createBitmap(
+                    icon.mIcon.getWidth(), icon.mIcon.getHeight(), Bitmap.Config.ARGB_8888);
+            Canvas holographicOutlineCanvas = new Canvas(holographicOutline);
+            holographicOutlineCanvas.drawBitmap(icon.mIcon, 0, 0, mPaint);
+
+            sHolographicOutlineHelper.applyExpensiveOutlineWithBlur(holographicOutline,
+                    holographicOutlineCanvas, icon.mHoloBlurColor, icon.mHoloOutlineColor);
+
+            mHandler.post(new Runnable() {
+                public void run() {
+                    icon.mHolographicOutline = holographicOutline;
+                    icon.mIconCache.addOutline(icon.mIconCacheKey, holographicOutline);
+                    icon.invalidate();
+                }
+            });
+        }
+    };
 
     public PagedViewIcon(Context context) {
         this(context, null);
@@ -95,23 +125,32 @@
         setBackgroundDrawable(null);
     }
 
+    private void queueHolographicOutlineCreation() {
+        // Generate the outline in the background
+        if (mHolographicOutline == null) {
+            Message m = sWorker.obtainMessage(MESSAGE_CREATE_HOLOGRAPHIC_OUTLINE);
+            m.obj = this;
+            sWorker.sendMessage(m);
+        }
+    }
+
     public void applyFromApplicationInfo(ApplicationInfo info, PagedViewIconCache cache,
             boolean scaleUp) {
         mIconCache = cache;
         mIconCacheKey = info;
         mHolographicOutline = mIconCache.getOutline(mIconCacheKey);
 
-        Bitmap icon;
         if (scaleUp) {
-            icon = Bitmap.createScaledBitmap(info.iconBitmap, mScaledIconSize,
+            mIcon = Bitmap.createScaledBitmap(info.iconBitmap, mScaledIconSize,
                     mScaledIconSize, true);
         } else {
-            icon = info.iconBitmap;
+            mIcon = info.iconBitmap;
         }
-        setCompoundDrawablesWithIntrinsicBounds(null,
-                new FastBitmapDrawable(icon), null, null);
+        setCompoundDrawablesWithIntrinsicBounds(null, new FastBitmapDrawable(mIcon), null, null);
         setText(info.title);
         setTag(info);
+
+        queueHolographicOutlineCreation();
     }
 
     public void applyFromResolveInfo(ResolveInfo info, PackageManager packageManager,
@@ -120,11 +159,12 @@
         mIconCacheKey = info;
         mHolographicOutline = mIconCache.getOutline(mIconCacheKey);
 
-        Bitmap image = Utilities.createIconBitmap(info.loadIcon(packageManager), mContext);
-        setCompoundDrawablesWithIntrinsicBounds(null, 
-                new FastBitmapDrawable(image), null, null);
+        mIcon = Utilities.createIconBitmap(info.loadIcon(packageManager), mContext);
+        setCompoundDrawablesWithIntrinsicBounds(null, new FastBitmapDrawable(mIcon), null, null);
         setText(info.loadLabel(packageManager));
         setTag(info);
+
+        queueHolographicOutlineCreation();
     }
 
     @Override
@@ -144,60 +184,39 @@
     }
 
     @Override
-    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
-        super.onLayout(changed, left, top, right, bottom);
+    protected void onDraw(Canvas canvas) {
+        if (mAlpha > 0) {
+            super.onDraw(canvas);
+        }
 
-        if (mIconCache != null && mHolographicOutline == null) {
-            // update the clipping rect to be used in the holographic pass below
-            getDrawingRect(mDrawableClipRect);
-            mDrawableClipRect.bottom = getPaddingTop() + getCompoundPaddingTop();
+        Bitmap overlay = null;
 
-            // set a flag to indicate that we are going to draw the view at full alpha with the text
-            // clipped for the generation of the holographic icon
-            mIsHolographicUpdatePass = true;
-            mHolographicOutline = Bitmap.createBitmap(getMeasuredWidth(), getMeasuredHeight(),
-                    Bitmap.Config.ARGB_8888);
-            mHolographicOutlineCanvas = new Canvas(mHolographicOutline);
-            mHolographicOutlineCanvas.concat(getMatrix());
-            draw(mHolographicOutlineCanvas);
-            sHolographicOutlineHelper.applyExpensiveOutlineWithBlur(mHolographicOutline,
-                    mHolographicOutlineCanvas, mHoloBlurColor, mHoloOutlineColor);
-            mIsHolographicUpdatePass = false;
-            mIconCache.addOutline(mIconCacheKey, mHolographicOutline);
-            mHolographicOutlineCanvas = null;
+        // draw any blended overlays
+        if (mCheckedOutline == null) {
+            if (mHolographicOutline != null && mHolographicAlpha > 0) {
+                mPaint.setAlpha(mHolographicAlpha);
+                overlay = mHolographicOutline;
+            }
+        } else {
+            mPaint.setAlpha(255);
+            overlay = mCheckedOutline;
+        }
+
+        if (overlay != null) {
+            final int compoundPaddingLeft = getCompoundPaddingLeft();
+            final int compoundPaddingRight = getCompoundPaddingRight();
+            int hspace = getWidth() - compoundPaddingRight - compoundPaddingLeft;
+            canvas.drawBitmap(overlay,
+                    compoundPaddingLeft + (hspace - overlay.getWidth()) / 2,
+                    mPaddingTop,
+                    mPaint);
         }
     }
 
     @Override
-    protected void onDraw(Canvas canvas) {
-        // draw the view itself
-        if (mIsHolographicUpdatePass) {
-            // only clip to the text view (restore its alpha so that we get a proper outline)
-            canvas.save();
-            canvas.clipRect(mDrawableClipRect, Op.REPLACE);
-            final float alpha = getAlpha();
-            super.setAlpha(1.0f);
-            super.onDraw(canvas);
-            super.setAlpha(alpha);
-            canvas.restore();
-        } else {
-            if (mAlpha > 0) {
-                super.onDraw(canvas);
-            }
-        }
-
-        // draw any blended overlays
-        if (!mIsHolographicUpdatePass) {
-            if (mCheckedOutline == null) {
-                if (mHolographicOutline != null && mHolographicAlpha > 0) {
-                    mPaint.setAlpha(mHolographicAlpha);
-                    canvas.drawBitmap(mHolographicOutline, 0, 0, mPaint);
-                }
-            } else {
-                mPaint.setAlpha(255);
-                canvas.drawBitmap(mCheckedOutline, 0, 0, mPaint);
-            }
-        }
+    public void onDetachedFromWindow() {
+        super.onDetachedFromWindow();
+        sWorker.removeMessages(MESSAGE_CREATE_HOLOGRAPHIC_OUTLINE, this);
     }
 
     @Override
@@ -211,22 +230,14 @@
             mIsChecked = checked;
 
             if (mIsChecked) {
-                // update the clipping rect to be used in the holographic pass below
-                getDrawingRect(mDrawableClipRect);
-                mDrawableClipRect.bottom = getPaddingTop() + getCompoundPaddingTop();
-
-                // set a flag to indicate that we are going to draw the view at full alpha with the text
-                // clipped for the generation of the holographic icon
-                mIsHolographicUpdatePass = true;
-                mCheckedOutline = Bitmap.createBitmap(getMeasuredWidth(), getMeasuredHeight(),
+                mCheckedOutline = Bitmap.createBitmap(mIcon.getWidth(), mIcon.getHeight(),
                         Bitmap.Config.ARGB_8888);
-                mHolographicOutlineCanvas = new Canvas(mCheckedOutline);
-                mHolographicOutlineCanvas.concat(getMatrix());
-                draw(mHolographicOutlineCanvas);
+                Canvas checkedOutlineCanvas = new Canvas(mCheckedOutline);
+                mPaint.setAlpha(255);
+                checkedOutlineCanvas.drawBitmap(mIcon, 0, 0, mPaint);
+
                 sHolographicOutlineHelper.applyExpensiveOutlineWithBlur(mCheckedOutline,
-                        mHolographicOutlineCanvas, mCheckedBlurColor, mCheckedOutlineColor);
-                mIsHolographicUpdatePass = false;
-                mHolographicOutlineCanvas = null;
+                        checkedOutlineCanvas, mCheckedBlurColor, mCheckedOutlineColor);
             } else {
                 invalidateCheckedImage();
             }
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index ce613f1..07faed1 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -16,7 +16,8 @@
 
 package com.android.launcher2;
 
-import com.android.launcher.R;
+import java.util.ArrayList;
+import java.util.HashSet;
 
 import android.animation.Animator;
 import android.animation.Animator.AnimatorListener;
@@ -27,6 +28,8 @@
 import android.app.WallpaperManager;
 import android.appwidget.AppWidgetManager;
 import android.appwidget.AppWidgetProviderInfo;
+import android.content.ClipData;
+import android.content.ClipDescription;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -36,8 +39,11 @@
 import android.content.res.TypedArray;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
+import android.graphics.Color;
 import android.graphics.Matrix;
+import android.graphics.Paint;
 import android.graphics.Rect;
+import android.graphics.RectF;
 import android.graphics.Region.Op;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
@@ -45,12 +51,13 @@
 import android.os.Parcelable;
 import android.util.AttributeSet;
 import android.util.Log;
+import android.view.DragEvent;
 import android.view.MotionEvent;
 import android.view.View;
 import android.widget.TextView;
+import android.widget.Toast;
 
-import java.util.ArrayList;
-import java.util.HashSet;
+import com.android.launcher.R;
 
 /**
  * The workspace is a wide area with a wallpaper and a finite number of pages.
@@ -144,6 +151,9 @@
     private final Rect mTempRect = new Rect();
     private final int[] mTempXY = new int[2];
 
+    // Paint used to draw external drop outline
+    private final Paint mExternalDragOutlinePaint = new Paint();
+
     /**
      * Used to inflate the Workspace from XML.
      *
@@ -193,6 +203,7 @@
         Launcher.setScreen(mCurrentPage);
         LauncherApplication app = (LauncherApplication)context.getApplicationContext();
         mIconCache = app.getIconCache();
+        mExternalDragOutlinePaint.setAntiAlias(true);
 
         mUnshrinkAnimationListener = new AnimatorListenerAdapter() {
             public void onAnimationStart(Animator animation) {
@@ -984,6 +995,29 @@
     }
 
     /**
+     * Creates a drag outline to represent a drop (that we don't have the actual information for
+     * yet).  May be changed in the future to alter the drop outline slightly depending on the
+     * clip description mime data.
+     */
+    private Bitmap createExternalDragOutline(Canvas canvas, int padding) {
+        Resources r = getResources();
+        final int outlineColor = r.getColor(R.color.drag_outline_color);
+        final int iconWidth = r.getDimensionPixelSize(R.dimen.workspace_cell_width);
+        final int iconHeight = r.getDimensionPixelSize(R.dimen.workspace_cell_height);
+        final int rectRadius = r.getDimensionPixelSize(R.dimen.external_drop_icon_rect_radius);
+        final int inset = (int) (Math.min(iconWidth, iconHeight) * 0.2f);
+        final Bitmap b = Bitmap.createBitmap(
+                iconWidth + padding, iconHeight + padding, Bitmap.Config.ARGB_8888);
+
+        canvas.setBitmap(b);
+        canvas.drawRoundRect(new RectF(inset, inset, iconWidth - inset, iconHeight - inset),
+                rectRadius, rectRadius, mExternalDragOutlinePaint);
+        mOutlineHelper.applyExpensiveOuterOutline(b, canvas, outlineColor, true);
+
+        return b;
+    }
+
+    /**
      * Returns a new bitmap to show when the given View is being dragged around.
      * Responsibility for the bitmap is transferred to the caller.
      */
@@ -1136,7 +1170,7 @@
 
         if (!mIsSmall) {
             mDragTargetLayout = getCurrentDropLayout();
-            mDragTargetLayout.onDragEnter(dragView);
+            mDragTargetLayout.onDragEnter();
             showOutlines();
         }
     }
@@ -1182,6 +1216,88 @@
         return null;
     }
 
+    /**
+     * Global drag and drop handler
+     */
+    @Override
+    public boolean onDragEvent(DragEvent event) {
+        final CellLayout layout = (CellLayout) getChildAt(mCurrentPage);
+        final int[] pos = new int[2];
+        layout.getLocationOnScreen(pos);
+        // We need to offset the drag coordinates to layout coordinate space
+        final int x = (int) event.getX() - pos[0];
+        final int y = (int) event.getY() - pos[1];
+
+        switch (event.getAction()) {
+        case DragEvent.ACTION_DRAG_STARTED:
+            // Check if we have enough space on this screen to add a new shortcut
+            if (!layout.findCellForSpan(pos, 1, 1)) {
+                Toast.makeText(mContext, mContext.getString(R.string.out_of_space),
+                        Toast.LENGTH_SHORT).show();
+                return false;
+            }
+
+            ClipDescription desc = event.getClipDescription();
+            if (desc.filterMimeTypes(ClipDescription.MIMETYPE_TEXT_INTENT) != null) {
+                // Create the drag outline
+                // We need to add extra padding to the bitmap to make room for the glow effect
+                final Canvas canvas = new Canvas();
+                final int bitmapPadding = HolographicOutlineHelper.OUTER_BLUR_RADIUS;
+                mDragOutline = createExternalDragOutline(canvas, bitmapPadding);
+
+                // Show the current page outlines to indicate that we can accept this drop
+                showOutlines();
+                layout.setHover(true);
+                layout.onDragEnter();
+                layout.visualizeDropLocation(null, mDragOutline, x, y, 1, 1);
+
+                return true;
+            }
+            break;
+        case DragEvent.ACTION_DRAG_LOCATION:
+            // Visualize the drop location
+            layout.visualizeDropLocation(null, mDragOutline, x, y, 1, 1);
+            return true;
+        case DragEvent.ACTION_DROP:
+            // Check if we have enough space on this screen to add a new shortcut
+            if (!layout.findCellForSpan(pos, 1, 1)) {
+                Toast.makeText(mContext, mContext.getString(R.string.out_of_space),
+                        Toast.LENGTH_SHORT).show();
+                return false;
+            }
+
+            // Try and add any shortcuts
+            int newDropCount = 0;
+            final LauncherModel model = mLauncher.getModel();
+            final ClipData data = event.getClipData();
+            final int itemCount = data.getItemCount();
+            for (int i = 0; i < itemCount; ++i) {
+                final Intent intent = data.getItem(i).getIntent();
+                if (intent != null && model.validateShortcutIntent(intent)) {
+                    ShortcutInfo info = model.infoFromShortcutIntent(mContext, intent, data.
+                            getIcon());
+                    onDropExternal(x, y, info, layout);
+                    newDropCount++;
+                }
+            }
+
+            // Show error message if we couldn't accept any of the items
+            if (newDropCount <= 0) {
+                Toast.makeText(mContext, "Only Shortcut Intents accepted.",
+                        Toast.LENGTH_SHORT).show();
+            }
+
+            return true;
+        case DragEvent.ACTION_DRAG_ENDED:
+            // Hide the page outlines after the drop
+            layout.setHover(false);
+            layout.onDragExit();
+            hideOutlines();
+            return true;
+        }
+        return super.onDragEvent(event);
+    }
+
     /*
     *
     * Convert the 2D coordinate xy from the parent View's coordinate space to this CellLayout's
@@ -1382,7 +1498,7 @@
                     if (mDragTargetLayout != null) {
                         mDragTargetLayout.onDragExit();
                     }
-                    layout.onDragEnter(dragView);
+                    layout.onDragEnter();
                     mDragTargetLayout = layout;
                 }