diff --git a/Android.mk b/Android.mk
index 89e626b..844f052 100644
--- a/Android.mk
+++ b/Android.mk
@@ -21,9 +21,10 @@
 
 LOCAL_MODULE_TAGS := optional
 
-LOCAL_STATIC_JAVA_LIBRARIES := android-common
+LOCAL_STATIC_JAVA_LIBRARIES := android-common android-support-v13
 
-LOCAL_SRC_FILES := $(call all-subdir-java-files) $(call all-renderscript-files-under, src)
+LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-renderscript-files-under, src)
+
 
 LOCAL_PACKAGE_NAME := Launcher2
 LOCAL_CERTIFICATE := shared
@@ -34,4 +35,6 @@
 
 include $(BUILD_PACKAGE)
 
+include $(call all-subdir-makefiles)
+
 endif
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 01e2b77..5206896 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -100,6 +100,18 @@
                 android:resource="@xml/wallpaper_picker_preview" />
         </activity>
 
+        <activity android:name="com.android.launcher2.RocketLauncher"
+            android:label="@string/dream_name"
+            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
+            android:hardwareAccelerated="true"
+            >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.DREAM" />
+            </intent-filter>
+        </activity>
+
         <!-- Intent received used to install shortcuts from other applications -->
         <receiver
             android:name="com.android.launcher2.InstallShortcutReceiver"
diff --git a/res/drawable-hdpi/divider_launcher_holo.9.png b/res/drawable-hdpi/divider_launcher_holo.9.png
new file mode 100644
index 0000000..0a1bd2a
--- /dev/null
+++ b/res/drawable-hdpi/divider_launcher_holo.9.png
Binary files differ
diff --git a/res/drawable-large-hdpi/ic_generic_search.png b/res/drawable-hdpi/ic_generic_search.png
similarity index 100%
rename from res/drawable-large-hdpi/ic_generic_search.png
rename to res/drawable-hdpi/ic_generic_search.png
Binary files differ
diff --git a/res/drawable-large-hdpi/ic_voice_search.png b/res/drawable-hdpi/ic_voice_search.png
similarity index 100%
rename from res/drawable-large-hdpi/ic_voice_search.png
rename to res/drawable-hdpi/ic_voice_search.png
Binary files differ
diff --git a/res/drawable-land-hdpi/divider_launcher_holo.9.png b/res/drawable-land-hdpi/divider_launcher_holo.9.png
new file mode 100644
index 0000000..f07f6c4
--- /dev/null
+++ b/res/drawable-land-hdpi/divider_launcher_holo.9.png
Binary files differ
diff --git a/res/drawable-land-mdpi/divider_launcher_holo.9.png b/res/drawable-land-mdpi/divider_launcher_holo.9.png
new file mode 100644
index 0000000..ae77340
--- /dev/null
+++ b/res/drawable-land-mdpi/divider_launcher_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/divider_launcher_holo.9.png b/res/drawable-mdpi/divider_launcher_holo.9.png
new file mode 100644
index 0000000..6d101f4
--- /dev/null
+++ b/res/drawable-mdpi/divider_launcher_holo.9.png
Binary files differ
diff --git a/res/drawable-large-mdpi/ic_generic_search.png b/res/drawable-mdpi/ic_generic_search.png
similarity index 100%
rename from res/drawable-large-mdpi/ic_generic_search.png
rename to res/drawable-mdpi/ic_generic_search.png
Binary files differ
diff --git a/res/drawable-large-mdpi/ic_voice_search.png b/res/drawable-mdpi/ic_voice_search.png
similarity index 100%
rename from res/drawable-large-mdpi/ic_voice_search.png
rename to res/drawable-mdpi/ic_voice_search.png
Binary files differ
diff --git a/res/drawable/flying_icon_bg.xml b/res/drawable/flying_icon_bg.xml
new file mode 100644
index 0000000..affd975
--- /dev/null
+++ b/res/drawable/flying_icon_bg.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true" android:drawable="@drawable/homescreen_small_green" />
+    <item android:drawable="@android:color/transparent" />
+</selector>
diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml
index b2b2c9f..c8a82e6 100644
--- a/res/layout-land/launcher.xml
+++ b/res/layout-land/launcher.xml
@@ -41,6 +41,12 @@
 
     </com.android.launcher2.Workspace>
 
+    <include layout="@layout/qsb_bar"
+        android:id="@+id/qsb_bar"
+        android:layout_width="@dimen/qsb_bar_height"
+        android:layout_height="match_parent"
+        android:layout_gravity="left" />
+
     <include layout="@layout/apps_customize_pane"
         android:id="@+id/apps_customize_pane"
         android:layout_width="match_parent"
diff --git a/res/layout-land/workspace_screen.xml b/res/layout-land/workspace_screen.xml
index f2bac59..a9faf89 100644
--- a/res/layout-land/workspace_screen.xml
+++ b/res/layout-land/workspace_screen.xml
@@ -24,7 +24,7 @@
 
     launcher:cellWidth="@dimen/workspace_cell_width"
     launcher:cellHeight="@dimen/workspace_cell_height"
-    launcher:xAxisStartPadding="48dip"
+    launcher:xAxisStartPadding="@dimen/qsb_bar_height"
     launcher:xAxisEndPadding="0dip"
     launcher:yAxisStartPadding="0dip"
     launcher:yAxisEndPadding="0dip"/>
diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml
index c7bcbb0..f05f9b6 100644
--- a/res/layout-port/launcher.xml
+++ b/res/layout-port/launcher.xml
@@ -36,9 +36,14 @@
         <include android:id="@+id/cell3" layout="@layout/workspace_screen" />
         <include android:id="@+id/cell4" layout="@layout/workspace_screen" />
         <include android:id="@+id/cell5" layout="@layout/workspace_screen" />
-                
     </com.android.launcher2.Workspace>
 
+    <include layout="@layout/qsb_bar"
+        android:id="@+id/qsb_bar"
+        android:layout_width="fill_parent"
+        android:layout_height="@dimen/qsb_bar_height"
+        android:layout_gravity="top" />
+
     <include layout="@layout/apps_customize_pane"
         android:id="@+id/apps_customize_pane"
         android:layout_width="match_parent"
diff --git a/res/layout-port/workspace_screen.xml b/res/layout-port/workspace_screen.xml
index f400c40..7a6714f 100644
--- a/res/layout-port/workspace_screen.xml
+++ b/res/layout-port/workspace_screen.xml
@@ -24,7 +24,7 @@
 
     launcher:cellWidth="@dimen/workspace_cell_width"
     launcher:cellHeight="@dimen/workspace_cell_height"
-    launcher:yAxisStartPadding="8dip"
+    launcher:yAxisStartPadding="@dimen/qsb_bar_height"
     launcher:yAxisEndPadding="@dimen/button_bar_height"
     launcher:xAxisStartPadding="0dip"
     launcher:xAxisEndPadding="0dip" />
diff --git a/res/layout/add_list_item.xml b/res/layout/add_list_item.xml
index 62fc4f4..e937d7b 100644
--- a/res/layout/add_list_item.xml
+++ b/res/layout/add_list_item.xml
@@ -18,7 +18,7 @@
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
-    android:textAppearance="?android:attr/textAppearanceLargeInverse"
+    android:textAppearance="?android:attr/textAppearanceLarge"
     android:gravity="center_vertical"
     android:drawablePadding="14dip"
     android:paddingLeft="15dip"
diff --git a/res/layout/apps_customize_pane.xml b/res/layout/apps_customize_pane.xml
index 05884ef..e22ba12 100644
--- a/res/layout/apps_customize_pane.xml
+++ b/res/layout/apps_customize_pane.xml
@@ -20,7 +20,7 @@
         android:orientation="vertical"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@drawable/apps_customize_bg_gradient">
+        android:background="#FF000000">
         <!-- The layout_width of the tab bar gets overriden to align the content
              with the text in the tabs in AppsCustomizeTabHost. -->
         <FrameLayout
diff --git a/res/layout/qsb_bar.xml b/res/layout/qsb_bar.xml
new file mode 100644
index 0000000..5469224
--- /dev/null
+++ b/res/layout/qsb_bar.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher"
+    android:focusable="false">
+
+    <!-- Search buttons container -->
+    <LinearLayout
+        android:id="@+id/qsb_search_bar"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        style="@style/SearchBar">
+       <!-- Global search icon -->
+       <ImageView
+            style="@style/SearchButton"
+            android:id="@+id/search_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/ic_generic_search"
+            android:background="@drawable/button_bg"
+            android:onClick="onClickSearchButton"
+            android:focusable="true"
+            android:clickable="true"
+            android:contentDescription="@string/accessibility_search_button" />
+
+        <ImageView
+            style="@style/SearchButtonDivider"
+            android:id="@+id/search_divider"
+            android:src="@drawable/divider_launcher_holo"
+            android:onClick="onClickSearchButton"
+            android:focusable="false"
+            android:clickable="true" />
+
+        <!-- Voice search icon -->
+        <ImageView
+            style="@style/SearchButton"
+            android:id="@+id/voice_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@drawable/ic_voice_search"
+            android:background="@drawable/button_bg"
+            android:onClick="onClickVoiceButton"
+            android:focusable="true"
+            android:clickable="true"
+            android:contentDescription="@string/accessibility_voice_search_button" />
+    </LinearLayout>
+
+    <!-- Drag specific targets container -->
+    <LinearLayout
+        android:id="@+id/drag_target_bar"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="#FF00FF00"
+        android:visibility="gone">
+    </LinearLayout>
+</FrameLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
new file mode 100644
index 0000000..7adc72d
--- /dev/null
+++ b/res/values-af/strings.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/*
+* Copyright (C) 2008 The Android Open Source Project
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
+    <!-- no translation found for application_name (8424725141379931883) -->
+    <skip />
+    <string name="uid_name" msgid="3371120195364560632">"Android Kernprogramme"</string>
+    <!-- no translation found for folder_name (4588446541914685904) -->
+    <skip />
+    <!-- no translation found for chooser_wallpaper (5988031014201479733) -->
+    <skip />
+    <!-- no translation found for wallpaper_instructions (4215640646180727542) -->
+    <skip />
+    <!-- no translation found for pick_wallpaper (5630222540525626723) -->
+    <skip />
+    <!-- no translation found for activity_not_found (5591731020063337696) -->
+    <skip />
+    <string name="configure_wallpaper" msgid="2820186271419674623">"Stel op..."</string>
+    <!-- no translation found for widgets_tab_label (9145860100000983599) -->
+    <skip />
+    <!-- no translation found for folders_tab_label (1145293785541489736) -->
+    <skip />
+    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
+    <skip />
+    <!-- no translation found for wallpapers_tab_label (1617804870364119879) -->
+    <skip />
+    <!-- no translation found for applications_tab_label (2991364240020736760) -->
+    <skip />
+    <!-- no translation found for wallpapers_temp_tab_text (1660218201190495279) -->
+    <skip />
+    <!-- no translation found for all_apps_tab_all (2942727589595027258) -->
+    <skip />
+    <!-- no translation found for all_apps_tab_apps (5468972551904071712) -->
+    <skip />
+    <!-- no translation found for all_apps_tab_games (1855736784923494918) -->
+    <skip />
+    <!-- no translation found for all_apps_tab_downloaded (1488049110598641387) -->
+    <skip />
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (2284720393234453761) -->
+    <skip />
+    <!-- no translation found for market (2652226429823445833) -->
+    <skip />
+    <!-- no translation found for external_drop_widget_error (4976816434597126575) -->
+    <skip />
+    <!-- no translation found for external_drop_widget_pick_title (4481311720134376218) -->
+    <skip />
+    <string name="rename_folder_label" msgid="5646236631298452787">"Vouernaam"</string>
+    <!-- no translation found for rename_folder_title (4544573104191526550) -->
+    <skip />
+    <!-- no translation found for rename_action (6016003384693240896) -->
+    <skip />
+    <!-- no translation found for cancel_action (3811860427489435048) -->
+    <skip />
+    <string name="menu_item_add_item" msgid="6233177331075781114">"Voeg by Tuis-skerm"</string>
+    <string name="group_applications" msgid="4118484163419674240">"Programme"</string>
+    <string name="group_shortcuts" msgid="9133529424900391877">"Kortpaaie"</string>
+    <string name="group_folder" msgid="5143593791798929193">"Nuwe vouer"</string>
+    <string name="group_live_folders" msgid="2664945399140647217">"Vouers"</string>
+    <string name="group_widgets" msgid="6704978494073105844">"Legstukke"</string>
+    <string name="group_wallpapers" msgid="1568191644272224858">"Muurpapier"</string>
+    <!-- no translation found for add_folder (3521088587367839879) -->
+    <skip />
+    <!-- no translation found for add_clock (2337943840175865746) -->
+    <skip />
+    <!-- no translation found for add_photo_frame (3154058437359487954) -->
+    <skip />
+    <!-- no translation found for out_of_space (8365249326091984698) -->
+    <skip />
+    <string name="shortcut_installed" msgid="7071557296331322355">"Kortpad \"<xliff:g id="NAME">%s</xliff:g>\" is geskep."</string>
+    <string name="shortcut_uninstalled" msgid="2129499669449749995">"Kortpad \"<xliff:g id="NAME">%s</xliff:g>\" is verwyder."</string>
+    <string name="shortcut_duplicate" msgid="4757756326465060694">"Kortpad \"<xliff:g id="NAME">%s</xliff:g>\" bestaan reeds."</string>
+    <string name="title_select_shortcut" msgid="2858897527672831763">"Kies kortpad"</string>
+    <!-- no translation found for title_select_application (8031072293115454221) -->
+    <skip />
+    <string name="title_select_live_folder" msgid="3753447798805166749">"Kies vouer"</string>
+    <!-- no translation found for all_apps_button_label (2578400570124163469) -->
+    <skip />
+    <!-- no translation found for all_apps_home_button_label (1022222300329398558) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_workspace (7153615831493049150) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_all_apps (6664588234817475108) -->
+    <skip />
+    <!-- no translation found for accessibility_search_button (816822994629942611) -->
+    <skip />
+    <!-- no translation found for accessibility_voice_search_button (3938249215065842475) -->
+    <skip />
+    <!-- no translation found for accessibility_all_apps_button (1595097919145716305) -->
+    <skip />
+    <!-- no translation found for accessibility_customize_button (585539669413531163) -->
+    <skip />
+    <!-- no translation found for accessibility_delete_button (3628162007991023603) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_all_apps_system_app (3683920959591819044) -->
+    <skip />
+    <!-- no translation found for menu_add (3065046628354640854) -->
+    <skip />
+    <!-- no translation found for menu_manage_apps (2308685199463588895) -->
+    <skip />
+    <!-- no translation found for menu_wallpaper (5837429080911269832) -->
+    <skip />
+    <!-- no translation found for menu_search (4826514464423239041) -->
+    <skip />
+    <!-- no translation found for menu_notifications (6424587053194766192) -->
+    <skip />
+    <string name="menu_gestures" msgid="514678675575912237">"Handgebare"</string>
+    <!-- no translation found for menu_settings (6233960148378443661) -->
+    <skip />
+    <!-- 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_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 />
+    <!-- no translation found for permlab_install_shortcut (1201690825493376489) -->
+    <skip />
+    <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Stel \'n program in staat om kortpaaie by te voeg sonder gebruikerhandeling."</string>
+    <!-- no translation found for permlab_uninstall_shortcut (7696645932555926449) -->
+    <skip />
+    <string name="permdesc_uninstall_shortcut" msgid="959972195916090900">"Stel \'n program in staat om kortpaaie te verwyder sonder gebruikerhandeling."</string>
+    <string name="permlab_read_settings" msgid="3452408290738106747">"lees Tuis-instellings en -kortpaaie"</string>
+    <string name="permdesc_read_settings" msgid="8377434937176025492">"Stel \'n program in staat om die instellings en kortpaaie in Tuis te lees."</string>
+    <string name="permlab_write_settings" msgid="1360567537236705628">"skryf Tuis-instellings en -kortpaaie"</string>
+    <string name="permdesc_write_settings" msgid="1098648778383349818">"Stel program in staat om die instellings en kortpaaie in Tuis te verander."</string>
+    <string name="gadget_error_text" msgid="8359351016167075858">"Kon nie legstuk laai nie"</string>
+    <!-- no translation found for uninstall_system_app_text (7488523163288397451) -->
+    <skip />
+</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
new file mode 100644
index 0000000..55daece
--- /dev/null
+++ b/res/values-am/strings.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/*
+* Copyright (C) 2008 The Android Open Source Project
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
+    <string name="application_name" msgid="8424725141379931883">"አስነሺ"</string>
+    <string name="uid_name" msgid="3371120195364560632">"የAndroid ኮር ትግበራዎች"</string>
+    <!-- no translation found for folder_name (4588446541914685904) -->
+    <skip />
+    <!-- no translation found for chooser_wallpaper (5988031014201479733) -->
+    <skip />
+    <!-- no translation found for wallpaper_instructions (4215640646180727542) -->
+    <skip />
+    <string name="pick_wallpaper" msgid="5630222540525626723">"ልጥፎች"</string>
+    <!-- no translation found for activity_not_found (5591731020063337696) -->
+    <skip />
+    <string name="configure_wallpaper" msgid="2820186271419674623">"አዋቅር..."</string>
+    <string name="widgets_tab_label" msgid="9145860100000983599">" ፍርግሞች"</string>
+    <string name="folders_tab_label" msgid="1145293785541489736">"አቃፊዎች"</string>
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"ተጨማሪ"</string>
+    <string name="wallpapers_tab_label" msgid="1617804870364119879">"ልጥፎች"</string>
+    <!-- no translation found for applications_tab_label (2991364240020736760) -->
+    <skip />
+    <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>
+    <!-- no translation found for all_apps_tab_downloaded (1488049110598641387) -->
+    <skip />
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (2284720393234453761) -->
+    <skip />
+    <!-- no translation found for market (2652226429823445833) -->
+    <skip />
+    <!-- no translation found for external_drop_widget_error (4976816434597126575) -->
+    <skip />
+    <!-- no translation found for external_drop_widget_pick_title (4481311720134376218) -->
+    <skip />
+    <string name="rename_folder_label" msgid="5646236631298452787">"አቃፊ ስም"</string>
+    <!-- no translation found for rename_folder_title (4544573104191526550) -->
+    <skip />
+    <!-- no translation found for rename_action (6016003384693240896) -->
+    <skip />
+    <!-- no translation found for cancel_action (3811860427489435048) -->
+    <skip />
+    <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>
+    <string name="group_live_folders" msgid="2664945399140647217">"አቃፊዎች"</string>
+    <string name="group_widgets" msgid="6704978494073105844">"ፍርግሞች"</string>
+    <string name="group_wallpapers" msgid="1568191644272224858">"ልጣፍ"</string>
+    <!-- no translation found for add_folder (3521088587367839879) -->
+    <skip />
+    <!-- no translation found for add_clock (2337943840175865746) -->
+    <skip />
+    <!-- no translation found for add_photo_frame (3154058437359487954) -->
+    <skip />
+    <!-- no translation found for out_of_space (8365249326091984698) -->
+    <skip />
+    <string name="shortcut_installed" msgid="7071557296331322355">"አቋራጭ\"<xliff:g id="NAME">%s</xliff:g> \"ተፈጥሯል።"</string>
+    <string name="shortcut_uninstalled" msgid="2129499669449749995">"አቋራጭ \"<xliff:g id="NAME">%s</xliff:g>\" ተወግዶ ነበር።"</string>
+    <string name="shortcut_duplicate" msgid="4757756326465060694">"አቋራጭ \"<xliff:g id="NAME">%s</xliff:g>\" አስቀድሞ አለ።"</string>
+    <string name="title_select_shortcut" msgid="2858897527672831763">"አቋራጭ ምረጥ"</string>
+    <string name="title_select_application" msgid="8031072293115454221">"ትግበራ ይምረጡ"</string>
+    <string name="title_select_live_folder" msgid="3753447798805166749">"አቃፊ ምረጥ"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"ትግበራ"</string>
+    <string name="all_apps_home_button_label" msgid="1022222300329398558">"መነሻ"</string>
+    <!-- no translation found for delete_zone_label_workspace (7153615831493049150) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_all_apps (6664588234817475108) -->
+    <skip />
+    <!-- no translation found for accessibility_search_button (816822994629942611) -->
+    <skip />
+    <!-- no translation found for accessibility_voice_search_button (3938249215065842475) -->
+    <skip />
+    <!-- no translation found for accessibility_all_apps_button (1595097919145716305) -->
+    <skip />
+    <!-- no translation found for accessibility_customize_button (585539669413531163) -->
+    <skip />
+    <!-- no translation found for accessibility_delete_button (3628162007991023603) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_all_apps_system_app (3683920959591819044) -->
+    <skip />
+    <!-- no translation found for menu_add (3065046628354640854) -->
+    <skip />
+    <!-- no translation found for menu_manage_apps (2308685199463588895) -->
+    <skip />
+    <!-- no translation found for menu_wallpaper (5837429080911269832) -->
+    <skip />
+    <!-- no translation found for menu_search (4826514464423239041) -->
+    <skip />
+    <!-- no translation found for menu_notifications (6424587053194766192) -->
+    <skip />
+    <string name="menu_gestures" msgid="514678675575912237">"የሰውነትእንቅስቃሴዎች"</string>
+    <!-- no translation found for menu_settings (6233960148378443661) -->
+    <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>
+    <!-- no translation found for permlab_install_shortcut (1201690825493376489) -->
+    <skip />
+    <string name="permdesc_install_shortcut" msgid="7429365847558984148">"ያለተጠቃሚ ጣልቃገብነት ትግበራአቋራጭ ለማከል ይፈቅዳል።"</string>
+    <!-- no translation found for permlab_uninstall_shortcut (7696645932555926449) -->
+    <skip />
+    <string name="permdesc_uninstall_shortcut" msgid="959972195916090900">"ያለተጠቃሚ ጣልቃገብነት ትግበራአቋራጭ ለማስወገድ ይፈቅዳል።"</string>
+    <string name="permlab_read_settings" msgid="3452408290738106747">"የመነሻቅንብሮች እና አቋራጮችን አንብብ"</string>
+    <string name="permdesc_read_settings" msgid="8377434937176025492">"ቅንብሮችን እና አቋራጮችን በመነሻለማንበብ ትግበራ ይፈቅዳል።"</string>
+    <string name="permlab_write_settings" msgid="1360567537236705628">"መነሻ ቅንብሮች እና አቋራጮች ፃፍ"</string>
+    <string name="permdesc_write_settings" msgid="1098648778383349818">"ቅንብሮችን እና አቋራጮችን በመነሻለመለወጥ ትግበራ ይፈቅዳል።"</string>
+    <string name="gadget_error_text" msgid="8359351016167075858">"ፍርግም የመጫን ችግር"</string>
+    <string name="uninstall_system_app_text" msgid="7488523163288397451">"ይህ የስርዓት ትግበራ ነው እና አለማራገፍ አይቻልም።"</string>
+</resources>
diff --git a/res/values-ar-large/strings.xml b/res/values-ar-large/strings.xml
index 2182311..eb51f77 100644
--- a/res/values-ar-large/strings.xml
+++ b/res/values-ar-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"تحديد خلفية"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"لا تتوفر أية خلفيات"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"إلغاء"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"تحديد خلفية"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"لا تتوفر أية خلفيات"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"إلغاء"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index cb4c1f3..d07e42b 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"المشغل"</string>
     <string name="uid_name" msgid="3371120195364560632">"تطبيقات Android المركزية"</string>
     <string name="folder_name" msgid="4588446541914685904">"المجلد"</string>
diff --git a/res/values-bg-large/strings.xml b/res/values-bg-large/strings.xml
index 5ca1b46..5627dce 100644
--- a/res/values-bg-large/strings.xml
+++ b/res/values-bg-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Избор на тапет"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Няма налични тапети"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Отказ"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Избор на тапет"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Няма налични тапети"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Отказ"</string>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 0f0f07d..f471d08 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Стартов панел"</string>
     <string name="uid_name" msgid="3371120195364560632">"Основни приложения на Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Папка"</string>
diff --git a/res/values-ca-large/strings.xml b/res/values-ca-large/strings.xml
index b92811b..7252c3e 100644
--- a/res/values-ca-large/strings.xml
+++ b/res/values-ca-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Seleccionar un fons de pantalla"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"No hi ha fons de pantalla disponibles"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Cancel·la"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Selecció d\'un empaperat"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"No hi ha empaperats disponibles"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Cancel·la"</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 85058ba..0b79929 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Barra d\'execució ràpida"</string>
     <string name="uid_name" msgid="3371120195364560632">"Aplicacions principals d\'Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Carpeta"</string>
diff --git a/res/values-cs-large/strings.xml b/res/values-cs-large/strings.xml
index d3e5aa8..2387c68 100644
--- a/res/values-cs-large/strings.xml
+++ b/res/values-cs-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Výběr tapety"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"K dispozici nejsou žádné tapety"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Zrušit"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Výběr tapety"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"K dispozici nejsou žádné tapety"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Zrušit"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index af04cb6..99ccf90 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Složka"</string>
diff --git a/res/values-da-large/strings.xml b/res/values-da-large/strings.xml
index 76ee7b0..9bc5155 100644
--- a/res/values-da-large/strings.xml
+++ b/res/values-da-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Vælg tapet"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Ingen tilgængelige tapeter"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Annuller"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Vælg tapet"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Ingen tilgængelige tapeter"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Annuller"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 10bd77f..4cbb3e7 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android-kerneprogrammer"</string>
     <string name="folder_name" msgid="4588446541914685904">"Mappe"</string>
diff --git a/res/values-de-large/strings.xml b/res/values-de-large/strings.xml
index 86e2684..e101422 100644
--- a/res/values-de-large/strings.xml
+++ b/res/values-de-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Hintergrund auswählen"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Keine Hintergründe verfügbar"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Abbrechen"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Hintergrund auswählen"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Keine Hintergründe verfügbar"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Abbrechen"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 87124a3..05e7ca4 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Übersicht"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Ordner"</string>
diff --git a/res/values-el-large/strings.xml b/res/values-el-large/strings.xml
index 66cbfde..56d85ca 100644
--- a/res/values-el-large/strings.xml
+++ b/res/values-el-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Επιλογή ταπετσαρίας"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Δεν υπάρχουν διαθέσιμες ταπετσαρίες"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Ακύρωση"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Επιλογή ταπετσαρίας"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Δεν υπάρχουν διαθέσιμες ταπετσαρίες"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Ακύρωση"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 59ef926..1e32dee 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Βασικές εφαρμογές Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Φάκελος"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index f07752c..bdb3bab 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Folder"</string>
diff --git a/res/values-es-large/strings.xml b/res/values-es-large/strings.xml
index f43f72a..e018aee 100644
--- a/res/values-es-large/strings.xml
+++ b/res/values-es-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Seleccionar fondo de pantalla"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"No hay fondos de pantalla disponibles."</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Cancelar"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Seleccionar fondo de pantalla"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"No hay fondos de pantalla disponibles."</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Cancelar"</string>
 </resources>
diff --git a/res/values-es-rUS-large/strings.xml b/res/values-es-rUS-large/strings.xml
index 349e3eb..7cc6740 100644
--- a/res/values-es-rUS-large/strings.xml
+++ b/res/values-es-rUS-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Seleccionar fondo de pantalla"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"No hay fondos de pantalla disponibles"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Cancelar"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Seleccionar fondo de pantalla"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Ningún fondo de pantalla disponible"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Cancelar"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 46781f1..837b565 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Aplicaciones del núcleo de Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Carpeta"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 3d162b9..59df7ae 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Aplicaciones básicas de Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Carpeta"</string>
diff --git a/res/values-fa-large/strings.xml b/res/values-fa-large/strings.xml
index 159cc4f..7ec422f 100644
--- a/res/values-fa-large/strings.xml
+++ b/res/values-fa-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"انتخاب تصویر زمینه"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"هیچ تصویر زمینه ای موجود نیست"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"لغو"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"انتخاب تصویر زمینه"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"هیچ تصویر زمینه ای موجود نیست"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"لغو"</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 1170d79..2cc44bb 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"راه انداز"</string>
     <string name="uid_name" msgid="3371120195364560632">"برنامه های Android Core"</string>
     <string name="folder_name" msgid="4588446541914685904">"پوشه"</string>
diff --git a/res/values-fi-large/strings.xml b/res/values-fi-large/strings.xml
index 7559e16..f3baf00 100644
--- a/res/values-fi-large/strings.xml
+++ b/res/values-fi-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Valitse taustakuva"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Ei taustakuvia saatavilla"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Peruuta"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Valitse taustakuva"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Ei taustakuvia saatavilla"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Peruuta"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 4e40e56..9e60601 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Käynnistysohjelma"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core -sovellukset"</string>
     <string name="folder_name" msgid="4588446541914685904">"Kansio"</string>
diff --git a/res/values-fr-large/strings.xml b/res/values-fr-large/strings.xml
index 5c0aa4b..4fd5350 100644
--- a/res/values-fr-large/strings.xml
+++ b/res/values-fr-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Sélectionner un fond d\'écran"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Aucun fond d\'écran disponible"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Annuler"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Sélectionner un fond d\'écran"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Aucun fond d\'écran disponible."</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Annuler"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 83d71d8..987d5ff 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Lanceur d\'applications"</string>
     <string name="uid_name" msgid="3371120195364560632">"Applications de base Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Dossier"</string>
diff --git a/res/values-hr-large/strings.xml b/res/values-hr-large/strings.xml
index c791102..95c55b9 100644
--- a/res/values-hr-large/strings.xml
+++ b/res/values-hr-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Odaberite pozadinsku sliku"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Nema dostupnih pozadinskih slika"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Odustani"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Odaberite pozadinsku sliku"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Nema dostupnih pozadinskih slika"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Odustani"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 34487a5..ae6b9f7 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Pokretač"</string>
     <string name="uid_name" msgid="3371120195364560632">"Matične aplikacije za Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Mapa"</string>
diff --git a/res/values-hu-large/strings.xml b/res/values-hu-large/strings.xml
index 800581e..fe42077 100644
--- a/res/values-hu-large/strings.xml
+++ b/res/values-hu-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Háttérkép kiválasztása"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Nincs elérhető háttérkép"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Mégse"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Háttérkép kiválasztása"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Nincs elérhető háttérkép"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Mégse"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index dfa267b..57c305c 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Indító"</string>
     <string name="uid_name" msgid="3371120195364560632">"Alap Android-alkalmazások"</string>
     <string name="folder_name" msgid="4588446541914685904">"Mappa"</string>
diff --git a/res/values-in-large/strings.xml b/res/values-in-large/strings.xml
index 7062353..4064a49 100644
--- a/res/values-in-large/strings.xml
+++ b/res/values-in-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Pilih wallpaper"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Tidak tersedia wallpaper"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Batal"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Pilih wallpaper"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Tidak tersedia wallpaper"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Batal"</string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index d9a6d28..4b861ee 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Peluncur"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Map"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 0a1f4fd..8fed00c 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Avvio applicazioni"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Cartella"</string>
diff --git a/res/values-iw-large/strings.xml b/res/values-iw-large/strings.xml
index 72e6b0f..ab82b96 100644
--- a/res/values-iw-large/strings.xml
+++ b/res/values-iw-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"בחר טפט"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"אין טפטים זמינים"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"ביטול"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"בחר טפט"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"אין טפטים זמינים"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"ביטול"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 535cf73..14ab4ae 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"מפעיל"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"תיקיה"</string>
diff --git a/res/values-ja-large/strings.xml b/res/values-ja-large/strings.xml
index 3320532..24aea5e 100644
--- a/res/values-ja-large/strings.xml
+++ b/res/values-ja-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"壁紙の選択"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"利用できる壁紙がありません"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"キャンセル"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"壁紙の選択"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"利用できる壁紙がありません"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"キャンセル"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 4b2d31d..daa2a6a 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"ランチャー"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"フォルダ"</string>
diff --git a/res/values-ko-large/strings.xml b/res/values-ko-large/strings.xml
index 4c7e3c6..93203de 100644
--- a/res/values-ko-large/strings.xml
+++ b/res/values-ko-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"배경화면 선택"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"배경화면이 없습니다."</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"취소"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"배경화면 선택"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"배경화면이 없습니다."</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"취소"</string>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 9f6ee4a..783d891 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core 애플리케이션"</string>
     <string name="folder_name" msgid="4588446541914685904">"폴더"</string>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index b3d0b2e..13519e5 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -15,7 +15,11 @@
 -->
 
 <resources>
-    <dimen name="workspace_cell_width">96dip</dimen>
+<!-- QSB -->
+    <dimen name="toolbar_button_vertical_padding">12dip</dimen>
+    <dimen name="toolbar_button_horizontal_padding">12dip</dimen>
+
+    <dimen name="workspace_cell_width">106dip</dimen>
     <dimen name="workspace_cell_height">74dip</dimen>
     <dimen name="folder_cell_width">100dip</dimen>
     <dimen name="folder_cell_height">74dip</dimen>
diff --git a/res/values-land/styles.xml b/res/values-land/styles.xml
index 251c717..50aba09 100644
--- a/res/values-land/styles.xml
+++ b/res/values-land/styles.xml
@@ -18,6 +18,23 @@
 -->
 
 <resources>
+<!-- Search Bar -->
+    <style name="SearchBar">
+        <item name="android:orientation">vertical</item>
+    </style>
+    <style name="SearchButton">
+        <item name="android:layout_gravity">center_horizontal</item>
+        <item name="android:paddingTop">@dimen/toolbar_button_vertical_padding</item>
+        <item name="android:paddingBottom">@dimen/toolbar_button_vertical_padding</item>
+        <item name="android:paddingLeft">@dimen/toolbar_button_horizontal_padding</item>
+        <item name="android:paddingRight">@dimen/toolbar_button_horizontal_padding</item>
+    </style>
+    <style name="SearchButtonDivider">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_gravity">center_horizontal</item>
+    </style>
+
     <style name="HotseatButton">
         <item name="android:paddingTop">12dip</item>
         <item name="android:paddingBottom">12dip</item>
diff --git a/res/values-large/dimens.xml b/res/values-large/dimens.xml
index 10836b9..fa660e5 100644
--- a/res/values-large/dimens.xml
+++ b/res/values-large/dimens.xml
@@ -62,9 +62,6 @@
     <integer name="land_all_apps_view_cellCountX">7</integer>
     <integer name="land_all_apps_view_cellCountY">5</integer>
 
-    <dimen name="toolbar_button_vertical_padding">12dip</dimen>
-    <dimen name="toolbar_button_horizontal_padding">16dip</dimen>
-
     <!-- height & width of the drop rectangle for the trash icon -->
     <dimen name="delete_zone_vertical_drag_padding">20dip</dimen>
     <dimen name="delete_zone_horizontal_drag_padding">20dip</dimen>
diff --git a/res/values-lt-large/strings.xml b/res/values-lt-large/strings.xml
index 527a09b..cc8bb90 100644
--- a/res/values-lt-large/strings.xml
+++ b/res/values-lt-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Pasirinkti darbalaukio foną"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Nepasiekiami jokie darbalaukio fonai"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Atšaukti"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Pasirinkti darbalaukio foną"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Negalimi jokie darbalaukio fonai"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Atšaukti"</string>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index e84360d..0492757 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Paleidimo priemonė"</string>
     <string name="uid_name" msgid="3371120195364560632">"Pagrindinės „Android“ programos"</string>
     <string name="folder_name" msgid="4588446541914685904">"Aplankas"</string>
diff --git a/res/values-lv-large/strings.xml b/res/values-lv-large/strings.xml
index 167ee7a..a1cfaf0 100644
--- a/res/values-lv-large/strings.xml
+++ b/res/values-lv-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Fona tapetes atlase"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Tapetes nav pieejamas."</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Atcelt"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Fona tapetes atlase"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Fona tapetes nav pieejamas."</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Atcelt"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 963c332..9d83aa5 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Palaidējs"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android kodola lietojumprogrammas"</string>
     <string name="folder_name" msgid="4588446541914685904">"Mape"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
new file mode 100644
index 0000000..13e9259
--- /dev/null
+++ b/res/values-ms/strings.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/*
+* Copyright (C) 2008 The Android Open Source Project
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
+    <!-- outdated translation 5865630159700533006 -->     <string name="application_name" msgid="8424725141379931883">"Laman Utama"</string>
+    <string name="uid_name" msgid="3371120195364560632">"Apl Teras Android"</string>
+    <string name="folder_name" msgid="4588446541914685904">"Folder"</string>
+    <string name="chooser_wallpaper" msgid="5988031014201479733">"Pilih kertas dinding daripada"</string>
+    <string name="wallpaper_instructions" msgid="4215640646180727542">"Tetapkan kertas dinding"</string>
+    <!-- outdated translation 2674908923379130941 -->     <string name="pick_wallpaper" msgid="5630222540525626723">"Galeri Kertas Dinding"</string>
+    <!-- outdated translation 3571057450431950427 -->     <string name="activity_not_found" msgid="5591731020063337696">"Aplikasi tidak dipasang pada telefon anda."</string>
+    <!-- no translation found for configure_wallpaper (2820186271419674623) -->
+    <skip />
+    <!-- no translation found for widgets_tab_label (9145860100000983599) -->
+    <skip />
+    <!-- no translation found for folders_tab_label (1145293785541489736) -->
+    <skip />
+    <!-- no translation found for shortcuts_tab_label (8640731503933155644) -->
+    <skip />
+    <!-- no translation found for wallpapers_tab_label (1617804870364119879) -->
+    <skip />
+    <!-- no translation found for applications_tab_label (2991364240020736760) -->
+    <skip />
+    <!-- no translation found for wallpapers_temp_tab_text (1660218201190495279) -->
+    <skip />
+    <!-- no translation found for all_apps_tab_all (2942727589595027258) -->
+    <skip />
+    <!-- no translation found for all_apps_tab_apps (5468972551904071712) -->
+    <skip />
+    <!-- no translation found for all_apps_tab_games (1855736784923494918) -->
+    <skip />
+    <!-- no translation found for all_apps_tab_downloaded (1488049110598641387) -->
+    <skip />
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (2284720393234453761) -->
+    <skip />
+    <!-- no translation found for market (2652226429823445833) -->
+    <skip />
+    <!-- no translation found for external_drop_widget_error (4976816434597126575) -->
+    <skip />
+    <!-- no translation found for external_drop_widget_pick_title (4481311720134376218) -->
+    <skip />
+    <string name="rename_folder_label" msgid="5646236631298452787">"Nama folder"</string>
+    <string name="rename_folder_title" msgid="4544573104191526550">"Namakan semula folder"</string>
+    <string name="rename_action" msgid="6016003384693240896">"OK"</string>
+    <string name="cancel_action" msgid="3811860427489435048">"Batal"</string>
+    <string name="menu_item_add_item" msgid="6233177331075781114">"Tambah ke Skrin utama"</string>
+    <string name="group_applications" msgid="4118484163419674240">"Aplikasi"</string>
+    <string name="group_shortcuts" msgid="9133529424900391877">"Pintasan"</string>
+    <string name="group_folder" msgid="5143593791798929193">"Folder baru"</string>
+    <string name="group_live_folders" msgid="2664945399140647217">"Folder"</string>
+    <string name="group_widgets" msgid="6704978494073105844">"Widget"</string>
+    <string name="group_wallpapers" msgid="1568191644272224858">"Kertas dinding"</string>
+    <string name="add_folder" msgid="3521088587367839879">"Folder"</string>
+    <string name="add_clock" msgid="2337943840175865746">"Jam"</string>
+    <string name="add_photo_frame" msgid="3154058437359487954">"Bingkai gambar"</string>
+    <string name="out_of_space" msgid="8365249326091984698">"Tiada lagi ruang pada skrin Utama ini"</string>
+    <!-- no translation found for shortcut_installed (7071557296331322355) -->
+    <skip />
+    <!-- no translation found for shortcut_uninstalled (2129499669449749995) -->
+    <skip />
+    <!-- no translation found for shortcut_duplicate (4757756326465060694) -->
+    <skip />
+    <string name="title_select_shortcut" msgid="2858897527672831763">"Pilih pintasan"</string>
+    <!-- no translation found for title_select_application (8031072293115454221) -->
+    <skip />
+    <string name="title_select_live_folder" msgid="3753447798805166749">"Pilih folder"</string>
+    <!-- no translation found for all_apps_button_label (2578400570124163469) -->
+    <skip />
+    <!-- no translation found for all_apps_home_button_label (1022222300329398558) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_workspace (7153615831493049150) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_all_apps (6664588234817475108) -->
+    <skip />
+    <!-- no translation found for accessibility_search_button (816822994629942611) -->
+    <skip />
+    <!-- no translation found for accessibility_voice_search_button (3938249215065842475) -->
+    <skip />
+    <!-- no translation found for accessibility_all_apps_button (1595097919145716305) -->
+    <skip />
+    <!-- no translation found for accessibility_customize_button (585539669413531163) -->
+    <skip />
+    <!-- no translation found for accessibility_delete_button (3628162007991023603) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_all_apps_system_app (3683920959591819044) -->
+    <skip />
+    <string name="menu_add" msgid="3065046628354640854">"Tambah"</string>
+    <!-- no translation found for menu_manage_apps (2308685199463588895) -->
+    <skip />
+    <string name="menu_wallpaper" msgid="5837429080911269832">"Kertas dinding"</string>
+    <string name="menu_search" msgid="4826514464423239041">"Cari"</string>
+    <string name="menu_notifications" msgid="6424587053194766192">"Pemberitahuan"</string>
+    <string name="menu_gestures" msgid="514678675575912237">"Gerak isyarat"</string>
+    <string name="menu_settings" msgid="6233960148378443661">"Tetapan"</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_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">"pasang pintasan"</string>
+    <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Membenarkan aplikasi menambah pintasan tanpa campur tangan pengguna."</string>
+    <string name="permlab_uninstall_shortcut" msgid="7696645932555926449">"nyahpasang pintasan"</string>
+    <string name="permdesc_uninstall_shortcut" msgid="959972195916090900">"Membenarkan aplikasi mengalih keluar pintasan tanpa campur tangan pengguna."</string>
+    <string name="permlab_read_settings" msgid="3452408290738106747">"membaca tetapan dan pintasan Laman Utama"</string>
+    <string name="permdesc_read_settings" msgid="8377434937176025492">"Membenarkan aplikasi untuk membaca tetapan dan pintasan di Laman Utama."</string>
+    <string name="permlab_write_settings" msgid="1360567537236705628">"menulis tetapan dan pintasan Laman Utama"</string>
+    <string name="permdesc_write_settings" msgid="1098648778383349818">"Membenarkan aplikasi untuk menukar tetapan dan pintasan di Laman Utama."</string>
+    <string name="gadget_error_text" msgid="8359351016167075858">"Masalah memuatkan widget"</string>
+    <!-- no translation found for uninstall_system_app_text (7488523163288397451) -->
+    <skip />
+</resources>
diff --git a/res/values-nb-large/strings.xml b/res/values-nb-large/strings.xml
index dd58eae..52f392c 100644
--- a/res/values-nb-large/strings.xml
+++ b/res/values-nb-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Velg bakgrunnsbilde"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Ingen bakgrunner tilgjengelig"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Avbryt"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Velg bakgrunn"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Ingen bakgrunner er tilgjengelige"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Avbryt"</string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 382bac4..81f2f1a 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Utskytingsrampe"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android-kjerneapplikasjoner"</string>
     <string name="folder_name" msgid="4588446541914685904">"Mappe"</string>
diff --git a/res/values-nl-large/strings.xml b/res/values-nl-large/strings.xml
index 474f13b..c044921 100644
--- a/res/values-nl-large/strings.xml
+++ b/res/values-nl-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Achtergrond selecteren"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Geen achtergronden beschikbaar"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Annuleren"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Achtergrond selecteren"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Geen achtergronden beschikbaar"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Annuleren"</string>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index abcf29a..0538784 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android-kerntoepassingen"</string>
     <string name="folder_name" msgid="4588446541914685904">"Map"</string>
diff --git a/res/values-pl-large/strings.xml b/res/values-pl-large/strings.xml
index 51b2442..44fbf4f 100644
--- a/res/values-pl-large/strings.xml
+++ b/res/values-pl-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Wybierz tapetę"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Brak tapet"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Anuluj"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Wybierz tapetę"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Brak tapet"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Anuluj"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 97b54af..cf186c7 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Program uruchamiający"</string>
     <string name="uid_name" msgid="3371120195364560632">"Aplikacje główne systemu Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Folder"</string>
diff --git a/res/values-pt-large/strings.xml b/res/values-pt-large/strings.xml
index b283297..ee43758 100644
--- a/res/values-pt-large/strings.xml
+++ b/res/values-pt-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Selecionar plano de fundo"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Nenhum papel de parede disponível"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Cancelar"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Selecionar papel de parede"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Nenhum papel de parede disponível"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Cancelar"</string>
 </resources>
diff --git a/res/values-pt-rPT-large/strings.xml b/res/values-pt-rPT-large/strings.xml
index 9ec0e0f..b6c2d16 100644
--- a/res/values-pt-rPT-large/strings.xml
+++ b/res/values-pt-rPT-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Seleccionar imagem de fundo"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Nenhuma imagem de fundo disponível"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Cancelar"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Selecionar imagem de fundo"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Nenhuma imagem de fundo disponível"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Cancelar"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 71f634d..103af32 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Aplicações Principais do Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Pasta"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 2714fde..f83eaa9 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Principais aplicativos do Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Pasta"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index a8453ed..e9aca66 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Lantschader"</string>
     <string name="uid_name" msgid="3371120195364560632">"Applicaziuns da basa dad Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Ordinatur"</string>
diff --git a/res/values-ro-large/strings.xml b/res/values-ro-large/strings.xml
index 6bea7b5..0e7eaa3 100644
--- a/res/values-ro-large/strings.xml
+++ b/res/values-ro-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Selectaţi o imagine de fundal"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Nu există imagini de fundal disponibile"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Anulaţi"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Selectaţi o imagine de fundal"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Nu există imagini de fundal disponibile"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Anulaţi"</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 6bed5d0..bb112dd 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Lansator"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Dosar"</string>
diff --git a/res/values-ru-large/strings.xml b/res/values-ru-large/strings.xml
index 01796bc..592dc6b 100644
--- a/res/values-ru-large/strings.xml
+++ b/res/values-ru-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Выберите обои"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Нет доступных обоев"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Отмена"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Выберите обои"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Нет доступных обоев"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Отмена"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 0456e4c..60f63a1 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Основные приложения Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Папка"</string>
diff --git a/res/values-sk-large/strings.xml b/res/values-sk-large/strings.xml
index c857c3c..77cceb3 100644
--- a/res/values-sk-large/strings.xml
+++ b/res/values-sk-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Výber tapety"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Tapety nie sú k dispozícii"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Zrušiť"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Výber tapety"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"K dispozícii nie sú žiadne tapety"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Zrušiť"</string>
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 064309d..93ec647 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Spúšťač"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Priečinok"</string>
diff --git a/res/values-sl-large/strings.xml b/res/values-sl-large/strings.xml
index f007b98..abb4526 100644
--- a/res/values-sl-large/strings.xml
+++ b/res/values-sl-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Izberite sliko za ozadje"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Ni slik za ozadje"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Prekliči"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Izberite sliko za ozadje"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Ni slik za ozadje"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Prekliči"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 78b5187..98310c7 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Zaganjalnik"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Mapa"</string>
diff --git a/res/values-sr-large/strings.xml b/res/values-sr-large/strings.xml
index f716909..c559806 100644
--- a/res/values-sr-large/strings.xml
+++ b/res/values-sr-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Избор позадине"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Позадине нису доступне"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Откажи"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Избор позадине"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Позадине нису доступне"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Откажи"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index cbc4bf2..6315d40 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Покретач"</string>
     <string name="uid_name" msgid="3371120195364560632">"Основне Android апликације"</string>
     <string name="folder_name" msgid="4588446541914685904">"Директоријум"</string>
diff --git a/res/values-sv-large/strings.xml b/res/values-sv-large/strings.xml
index 907348a..bc60cbe 100644
--- a/res/values-sv-large/strings.xml
+++ b/res/values-sv-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Välj bakgrund"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Inga tillgängliga bakgrundsbilder"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Avbryt"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Välj bakgrund"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Inga tillgängliga bakgrunder"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Avbryt"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 68859e3..7b01015 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Startbild"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Mapp"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
new file mode 100644
index 0000000..3358e17
--- /dev/null
+++ b/res/values-sw/strings.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/*
+* Copyright (C) 2008 The Android Open Source Project
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
+    <string name="application_name" msgid="8424725141379931883">"Kizinduzi"</string>
+    <string name="uid_name" msgid="3371120195364560632">"Programu Kuu za Android"</string>
+    <!-- no translation found for folder_name (4588446541914685904) -->
+    <skip />
+    <!-- no translation found for chooser_wallpaper (5988031014201479733) -->
+    <skip />
+    <!-- no translation found for wallpaper_instructions (4215640646180727542) -->
+    <skip />
+    <string name="pick_wallpaper" msgid="5630222540525626723">"Taswira"</string>
+    <!-- no translation found for activity_not_found (5591731020063337696) -->
+    <skip />
+    <string name="configure_wallpaper" msgid="2820186271419674623">"Weka mipangilio.."</string>
+    <string name="widgets_tab_label" msgid="9145860100000983599">"Wijeti"</string>
+    <string name="folders_tab_label" msgid="1145293785541489736">"Mafolda"</string>
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Zaidi"</string>
+    <string name="wallpapers_tab_label" msgid="1617804870364119879">"Taswira"</string>
+    <!-- no translation found for applications_tab_label (2991364240020736760) -->
+    <skip />
+    <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Hiki kitakuwa kichupo cha taswira"</string>
+    <string name="all_apps_tab_all" msgid="2942727589595027258">"Zote"</string>
+    <string name="all_apps_tab_apps" msgid="5468972551904071712">"Programu"</string>
+    <string name="all_apps_tab_games" msgid="1855736784923494918">"Michezo"</string>
+    <!-- no translation found for all_apps_tab_downloaded (1488049110598641387) -->
+    <skip />
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (2284720393234453761) -->
+    <skip />
+    <!-- no translation found for market (2652226429823445833) -->
+    <skip />
+    <!-- no translation found for external_drop_widget_error (4976816434597126575) -->
+    <skip />
+    <!-- no translation found for external_drop_widget_pick_title (4481311720134376218) -->
+    <skip />
+    <string name="rename_folder_label" msgid="5646236631298452787">"Jina la folda"</string>
+    <!-- no translation found for rename_folder_title (4544573104191526550) -->
+    <skip />
+    <!-- no translation found for rename_action (6016003384693240896) -->
+    <skip />
+    <!-- no translation found for cancel_action (3811860427489435048) -->
+    <skip />
+    <string name="menu_item_add_item" msgid="6233177331075781114">"Ongeza kwa skrini ya Nyumbani"</string>
+    <string name="group_applications" msgid="4118484163419674240">"Programu"</string>
+    <string name="group_shortcuts" msgid="9133529424900391877">"Njia za mkato"</string>
+    <string name="group_folder" msgid="5143593791798929193">"Folda mpya"</string>
+    <string name="group_live_folders" msgid="2664945399140647217">"Mafolda"</string>
+    <string name="group_widgets" msgid="6704978494073105844">"Wijeti"</string>
+    <string name="group_wallpapers" msgid="1568191644272224858">"Pazia"</string>
+    <!-- no translation found for add_folder (3521088587367839879) -->
+    <skip />
+    <!-- no translation found for add_clock (2337943840175865746) -->
+    <skip />
+    <!-- no translation found for add_photo_frame (3154058437359487954) -->
+    <skip />
+    <!-- no translation found for out_of_space (8365249326091984698) -->
+    <skip />
+    <string name="shortcut_installed" msgid="7071557296331322355">"Njia ya mkato ya \"<xliff:g id="NAME">%s</xliff:g>\" imeundwa."</string>
+    <string name="shortcut_uninstalled" msgid="2129499669449749995">"Njia ya mkato ya \"<xliff:g id="NAME">%s</xliff:g>\" iliondolewa."</string>
+    <string name="shortcut_duplicate" msgid="4757756326465060694">"Njia ya mkato ya \"<xliff:g id="NAME">%s</xliff:g>\" tayari ipo."</string>
+    <string name="title_select_shortcut" msgid="2858897527672831763">"Chagua njia ya mkato"</string>
+    <string name="title_select_application" msgid="8031072293115454221">"Chagua programu"</string>
+    <string name="title_select_live_folder" msgid="3753447798805166749">"Chagua folda"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Programu"</string>
+    <string name="all_apps_home_button_label" msgid="1022222300329398558">"Nyumbani"</string>
+    <!-- no translation found for delete_zone_label_workspace (7153615831493049150) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_all_apps (6664588234817475108) -->
+    <skip />
+    <!-- no translation found for accessibility_search_button (816822994629942611) -->
+    <skip />
+    <!-- no translation found for accessibility_voice_search_button (3938249215065842475) -->
+    <skip />
+    <!-- no translation found for accessibility_all_apps_button (1595097919145716305) -->
+    <skip />
+    <!-- no translation found for accessibility_customize_button (585539669413531163) -->
+    <skip />
+    <!-- no translation found for accessibility_delete_button (3628162007991023603) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_all_apps_system_app (3683920959591819044) -->
+    <skip />
+    <!-- no translation found for menu_add (3065046628354640854) -->
+    <skip />
+    <!-- no translation found for menu_manage_apps (2308685199463588895) -->
+    <skip />
+    <!-- no translation found for menu_wallpaper (5837429080911269832) -->
+    <skip />
+    <!-- no translation found for menu_search (4826514464423239041) -->
+    <skip />
+    <!-- no translation found for menu_notifications (6424587053194766192) -->
+    <skip />
+    <string name="menu_gestures" msgid="514678675575912237">"Ishara"</string>
+    <!-- no translation found for menu_settings (6233960148378443661) -->
+    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Ondoa programu"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Maelezo ya programu"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"Programu 1 imechaguliwa"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"Wijeti 1 imechaguliwa"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"Folda 1 limechaguliwa"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">" Njia 1 ya mkato imechaguliwa"</string>
+    <!-- no translation found for permlab_install_shortcut (1201690825493376489) -->
+    <skip />
+    <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Huruhusu programu kuongeza njia za mkato bila mtumiaji kuhusika."</string>
+    <!-- no translation found for permlab_uninstall_shortcut (7696645932555926449) -->
+    <skip />
+    <string name="permdesc_uninstall_shortcut" msgid="959972195916090900">"Huruhusu programu kuondoa njia za mkato bila mtumiaji kuhusika."</string>
+    <string name="permlab_read_settings" msgid="3452408290738106747">"soma mipangilio ya Nyumbani na njia za mkato"</string>
+    <string name="permdesc_read_settings" msgid="8377434937176025492">"Huruhusu programu kusoma mipangilio na njia za mkato katika Nyumbani."</string>
+    <string name="permlab_write_settings" msgid="1360567537236705628">"andika mipangilio ya Nyumbani na njia za mkato"</string>
+    <string name="permdesc_write_settings" msgid="1098648778383349818">"Huruhusu programu kubadilisha mipangilio na njia za mkato Nyumbani."</string>
+    <string name="gadget_error_text" msgid="8359351016167075858">"Tatizo la kupakia wijeti"</string>
+    <string name="uninstall_system_app_text" msgid="7488523163288397451">"Hii ni programu ya mfumo na haiwezi kuondolewa."</string>
+</resources>
diff --git a/res/values-th-large/strings.xml b/res/values-th-large/strings.xml
index 38c7d85..1cfb978 100644
--- a/res/values-th-large/strings.xml
+++ b/res/values-th-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"เลือกวอลเปเปอร์"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"ไม่มีวอลเปเปอร์ให้ใช้งาน"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"ยกเลิก"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"เลือกวอลเปเปอร์"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"ไม่มีวอลเปเปอร์ให้ใช้งาน"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"ยกเลิก"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 1562135..cbee52c 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"ตัวเรียกใช้งาน"</string>
     <string name="uid_name" msgid="3371120195364560632">"แอปหลัก Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"โฟลเดอร์"</string>
diff --git a/res/values-tl-large/strings.xml b/res/values-tl-large/strings.xml
index 7eadb6d..9b1cfa7 100644
--- a/res/values-tl-large/strings.xml
+++ b/res/values-tl-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Pumili ng wallpaper"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Walang available na mga wallpaper"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Kanselahin"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Pumili ng wallpaper"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Walang available na mga wallpaper"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Kanselahin"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 50ed317..5ff0174 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Folder"</string>
diff --git a/res/values-tr-large/strings.xml b/res/values-tr-large/strings.xml
index a81e998..3c5d759 100644
--- a/res/values-tr-large/strings.xml
+++ b/res/values-tr-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Duvar kağıdı seçin"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Hiç duvar kağıdı yok"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"İptal"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Duvar kağıdı seçin"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Hiç duvar kağıdı yok"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"İptal"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 2057828..b7c2dfc 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="4588446541914685904">"Klasör"</string>
diff --git a/res/values-uk-large/strings.xml b/res/values-uk-large/strings.xml
index 4950142..aab00c5 100644
--- a/res/values-uk-large/strings.xml
+++ b/res/values-uk-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"Вибрати фоновий малюнок"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"Фонові малюнки недоступні"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"Скасувати"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Вибрати фоновий малюнок"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Фонові малюнки недоступні"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"Скасувати"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index b3f0846..77ab693 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Пан. запуску"</string>
     <string name="uid_name" msgid="3371120195364560632">"Служби Android Core"</string>
     <string name="folder_name" msgid="4588446541914685904">"Папка"</string>
diff --git a/res/values-vi-large/strings.xml b/res/values-vi-large/strings.xml
index c8ce028..a994fc5 100644
--- a/res/values-vi-large/strings.xml
+++ b/res/values-vi-large/strings.xml
@@ -20,6 +20,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="wallpaper_dialog_title" msgid="8362944198120933329">"Chọn hình nền"</string>
-    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Không có sẵn hình nền nào"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"Không có hình nền nào"</string>
     <string name="wallpaper_cancel" msgid="5942480248232268588">"Hủy"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 9238c4a..e96b68b 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"Trình khởi chạy"</string>
     <string name="uid_name" msgid="3371120195364560632">"Ứng dụng Lõi Android"</string>
     <string name="folder_name" msgid="4588446541914685904">"Thư mục"</string>
diff --git a/res/values-zh-rCN-large/strings.xml b/res/values-zh-rCN-large/strings.xml
index 323cce2..c950b46 100644
--- a/res/values-zh-rCN-large/strings.xml
+++ b/res/values-zh-rCN-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"选择壁纸"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"无可用壁纸"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"取消"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"选择壁纸"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"无可用壁纸"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"取消"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index b2f228c..60aafc9 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"启动器"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android 核心应用程序"</string>
     <string name="folder_name" msgid="4588446541914685904">"文件夹"</string>
diff --git a/res/values-zh-rTW-large/strings.xml b/res/values-zh-rTW-large/strings.xml
index 793b58d..f821f5c 100644
--- a/res/values-zh-rTW-large/strings.xml
+++ b/res/values-zh-rTW-large/strings.xml
@@ -19,7 +19,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="wallpaper_dialog_title" msgid="5764793286524787718">"選取桌布"</string>
-    <string name="wallpaper_chooser_empty" msgid="7358237455389125747">"沒有可用的桌布"</string>
-    <string name="wallpaper_cancel" msgid="6502936522490675611">"取消"</string>
+    <string name="wallpaper_dialog_title" msgid="8362944198120933329">"選取桌布"</string>
+    <string name="wallpaper_chooser_empty" msgid="6543937491391049913">"沒有可用的桌布"</string>
+    <string name="wallpaper_cancel" msgid="5942480248232268588">"取消"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index f172ef6..4abe756 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -19,6 +19,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
     <string name="application_name" msgid="8424725141379931883">"啟動器"</string>
     <string name="uid_name" msgid="3371120195364560632">"Android 核心應用程式"</string>
     <string name="folder_name" msgid="4588446541914685904">"資料夾"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
new file mode 100644
index 0000000..81fec63
--- /dev/null
+++ b/res/values-zu/strings.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/*
+* Copyright (C) 2008 The Android Open Source Project
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- no translation found for live_wallpaper_picker_class_name (2908396359221567921) -->
+    <skip />
+    <string name="application_name" msgid="8424725141379931883">"Isiqalisi"</string>
+    <string name="uid_name" msgid="3371120195364560632">"I-Android Core Apps"</string>
+    <!-- no translation found for folder_name (4588446541914685904) -->
+    <skip />
+    <!-- no translation found for chooser_wallpaper (5988031014201479733) -->
+    <skip />
+    <!-- no translation found for wallpaper_instructions (4215640646180727542) -->
+    <skip />
+    <string name="pick_wallpaper" msgid="5630222540525626723">"Amaphephadonga"</string>
+    <!-- no translation found for activity_not_found (5591731020063337696) -->
+    <skip />
+    <string name="configure_wallpaper" msgid="2820186271419674623">"Misa..."</string>
+    <string name="widgets_tab_label" msgid="9145860100000983599">"Amawijethi"</string>
+    <string name="folders_tab_label" msgid="1145293785541489736">"Amafolda"</string>
+    <string name="shortcuts_tab_label" msgid="8640731503933155644">"Okungaphezulu"</string>
+    <string name="wallpapers_tab_label" msgid="1617804870364119879">"Amaphephadonga"</string>
+    <!-- no translation found for applications_tab_label (2991364240020736760) -->
+    <skip />
+    <string name="wallpapers_temp_tab_text" msgid="1660218201190495279">"Lokhu kuzoba isithikithana samaphephadonga"</string>
+    <string name="all_apps_tab_all" msgid="2942727589595027258">"Konke"</string>
+    <string name="all_apps_tab_apps" msgid="5468972551904071712">"Izinhlelo Zokusebenza"</string>
+    <string name="all_apps_tab_games" msgid="1855736784923494918">"Imidlalo"</string>
+    <!-- no translation found for all_apps_tab_downloaded (1488049110598641387) -->
+    <skip />
+    <!-- no translation found for all_apps_no_games (5293893733372793696) -->
+    <skip />
+    <!-- no translation found for all_apps_no_downloads (2284720393234453761) -->
+    <skip />
+    <!-- no translation found for market (2652226429823445833) -->
+    <skip />
+    <!-- no translation found for external_drop_widget_error (4976816434597126575) -->
+    <skip />
+    <!-- no translation found for external_drop_widget_pick_title (4481311720134376218) -->
+    <skip />
+    <string name="rename_folder_label" msgid="5646236631298452787">"Igama lefolda"</string>
+    <!-- no translation found for rename_folder_title (4544573104191526550) -->
+    <skip />
+    <!-- no translation found for rename_action (6016003384693240896) -->
+    <skip />
+    <!-- no translation found for cancel_action (3811860427489435048) -->
+    <skip />
+    <string name="menu_item_add_item" msgid="6233177331075781114">"Faka kwisikrini saseKhaya"</string>
+    <string name="group_applications" msgid="4118484163419674240">"Izinhlelo zokusebenza"</string>
+    <string name="group_shortcuts" msgid="9133529424900391877">"Izinqamuleli"</string>
+    <string name="group_folder" msgid="5143593791798929193">"Ifolda entsha"</string>
+    <string name="group_live_folders" msgid="2664945399140647217">"Amafolda"</string>
+    <string name="group_widgets" msgid="6704978494073105844">"Izinqunjwana"</string>
+    <string name="group_wallpapers" msgid="1568191644272224858">"Amaphephadonga"</string>
+    <!-- no translation found for add_folder (3521088587367839879) -->
+    <skip />
+    <!-- no translation found for add_clock (2337943840175865746) -->
+    <skip />
+    <!-- no translation found for add_photo_frame (3154058437359487954) -->
+    <skip />
+    <!-- no translation found for out_of_space (8365249326091984698) -->
+    <skip />
+    <string name="shortcut_installed" msgid="7071557296331322355">"Isinqamuleli \"<xliff:g id="NAME">%s</xliff:g>\" senziwe"</string>
+    <string name="shortcut_uninstalled" msgid="2129499669449749995">"Isinqamuleli \"<xliff:g id="NAME">%s</xliff:g>\" sikhishiwe."</string>
+    <string name="shortcut_duplicate" msgid="4757756326465060694">"Isinqamuleli \"<xliff:g id="NAME">%s</xliff:g>\" sivele sikhona"</string>
+    <string name="title_select_shortcut" msgid="2858897527672831763">"Khetha isinqamuleli"</string>
+    <string name="title_select_application" msgid="8031072293115454221">"Khetha uhlelo lokusebenza"</string>
+    <string name="title_select_live_folder" msgid="3753447798805166749">"Khetha ifolda"</string>
+    <string name="all_apps_button_label" msgid="2578400570124163469">"Izinhlelo zokusebenza"</string>
+    <string name="all_apps_home_button_label" msgid="1022222300329398558">"Ekhaya"</string>
+    <!-- no translation found for delete_zone_label_workspace (7153615831493049150) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_all_apps (6664588234817475108) -->
+    <skip />
+    <!-- no translation found for accessibility_search_button (816822994629942611) -->
+    <skip />
+    <!-- no translation found for accessibility_voice_search_button (3938249215065842475) -->
+    <skip />
+    <!-- no translation found for accessibility_all_apps_button (1595097919145716305) -->
+    <skip />
+    <!-- no translation found for accessibility_customize_button (585539669413531163) -->
+    <skip />
+    <!-- no translation found for accessibility_delete_button (3628162007991023603) -->
+    <skip />
+    <!-- no translation found for delete_zone_label_all_apps_system_app (3683920959591819044) -->
+    <skip />
+    <!-- no translation found for menu_add (3065046628354640854) -->
+    <skip />
+    <!-- no translation found for menu_manage_apps (2308685199463588895) -->
+    <skip />
+    <!-- no translation found for menu_wallpaper (5837429080911269832) -->
+    <skip />
+    <!-- no translation found for menu_search (4826514464423239041) -->
+    <skip />
+    <!-- no translation found for menu_notifications (6424587053194766192) -->
+    <skip />
+    <string name="menu_gestures" msgid="514678675575912237">"Izimpawu"</string>
+    <!-- no translation found for menu_settings (6233960148378443661) -->
+    <skip />
+    <string name="cab_menu_delete_app" msgid="1242619904941293871">"Khipha uhlelo lokusebenza"</string>
+    <string name="cab_menu_app_info" msgid="5180426909324882018">"Imininingwane yohlelo lokusebenza"</string>
+    <string name="cab_app_selection_text" msgid="606113924828167756">"Kukhethwe uhlelo lokusebenza olungu-1"</string>
+    <string name="cab_widget_selection_text" msgid="962527270506951955">"kukhethwe iwijethi engu-1"</string>
+    <string name="cab_folder_selection_text" msgid="8916111874189565067">"kukhethwe ifolda engu-1"</string>
+    <string name="cab_shortcut_selection_text" msgid="8115847384500412878">"kukhethwe isinqamuleli esingu-1"</string>
+    <!-- no translation found for permlab_install_shortcut (1201690825493376489) -->
+    <skip />
+    <string name="permdesc_install_shortcut" msgid="7429365847558984148">"Ivumela uhlelo lokusebenza ukufaka izinqamuleli ngaphandle kokungenela komsebenzisi."</string>
+    <!-- no translation found for permlab_uninstall_shortcut (7696645932555926449) -->
+    <skip />
+    <string name="permdesc_uninstall_shortcut" msgid="959972195916090900">"Ivumela uhlelo lokusebenza ukukhipha izinqamuleli ngaphandle kokungenela komsebenzisi."</string>
+    <string name="permlab_read_settings" msgid="3452408290738106747">"funda izilungiselelo zaseKhaya nezinqamuleli"</string>
+    <string name="permdesc_read_settings" msgid="8377434937176025492">"Ivumela uhlelo lokusebenza ukufunda izilungiselelo nezinqamuleli Ekhaya."</string>
+    <string name="permlab_write_settings" msgid="1360567537236705628">"bhala izilungiselelo zaseKhaya nezinqamuleli"</string>
+    <string name="permdesc_write_settings" msgid="1098648778383349818">"Ivumela izinhlelo ukushintsha izilungiselelo nezinqamuleli Ekhaya."</string>
+    <string name="gadget_error_text" msgid="8359351016167075858">"Inkinga yokulayisha isinqunjwana"</string>
+    <string name="uninstall_system_app_text" msgid="7488523163288397451">"Lolu uhlelo lokusebenza lwesistimu futhi alikwazi ukukhishwa."</string>
+</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 99b1240..9d159f9 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -15,6 +15,13 @@
 -->
 
 <resources>
+<!-- Workspace -->
+    <dimen name="qsb_bar_height">56dp</dimen>
+
+<!-- QSB -->
+    <dimen name="toolbar_button_vertical_padding">12dip</dimen>
+    <dimen name="toolbar_button_horizontal_padding">16dip</dimen>
+
 <!-- AllApps/Customize/AppsCustomize -->
     <!-- Size of icons in Workspace/AppsCustomize -->
     <dimen name="app_icon_size">50dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7e8bec0..32e649d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -74,6 +74,10 @@
     <!--  Tile of the tab for applications that were downloaded from market [CHAR_LIMIT=24] -->
     <string name="all_apps_tab_downloaded">My apps</string>
 
+    <!-- AppsCustomize pane -->
+    <!-- Message to tell the user to long-press on a widget to add it [CHAR_LIMIT=50] -->
+    <string name="long_press_widget_to_add">Long-press to pick up a widget</string>
+
     <!-- All Apps pane -->
     <!-- Message to show when there are no games [CHAR_LIMIT=25] -->
     <string name="all_apps_no_games">No games found.</string>
@@ -244,4 +248,7 @@
 
     <!--  Text to inform the user that they can't uninstall a system application -->
     <string name="uninstall_system_app_text">This is a system application and cannot be uninstalled.</string>
+
+    <!-- Title of the Android Dreams (screensaver) module -->
+    <string name="dream_name">Rocket Launcher</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index abe6ac4..c3e6ce9 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -68,6 +68,23 @@
         <item name="android:layout_marginRight">10dip</item>
     </style>
 
+    <style name="SearchBar">
+        <item name="android:orientation">horizontal</item>
+    </style>
+    <style name="SearchButton">
+        <item name="android:layout_gravity">center_vertical</item>
+        <item name="android:paddingTop">@dimen/toolbar_button_vertical_padding</item>
+        <item name="android:paddingBottom">@dimen/toolbar_button_vertical_padding</item>
+        <item name="android:paddingLeft">@dimen/toolbar_button_horizontal_padding</item>
+        <item name="android:paddingRight">@dimen/toolbar_button_horizontal_padding</item>
+    </style>
+    <style name="SearchButtonDivider">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">match_parent</item>
+        <item name="android:layout_gravity">center_vertical</item>
+    </style>
+
+
     <style name="TabIndicator">
         <item name="android:layout_width">wrap_content</item>
         <item name="android:layout_height">match_parent</item>
@@ -85,13 +102,6 @@
         <item name="android:shadowRadius">1.0</item>
     </style>
 
-    <style name="SearchButton" parent="@android:style/Widget.Button.Small">
-        <item name="android:paddingTop">7dip</item>
-        <item name="android:paddingBottom">9dip</item>
-        <item name="android:paddingLeft">10dip</item>
-        <item name="android:paddingRight">10dip</item>
-    </style>
-
     <style name="MarketButton">
         <item name="android:paddingRight">20dp</item>
         <item name="android:text">@string/market</item>
diff --git a/src/com/android/launcher2/AddAdapter.java b/src/com/android/launcher2/AddAdapter.java
index 6f97d72..d1076b1 100644
--- a/src/com/android/launcher2/AddAdapter.java
+++ b/src/com/android/launcher2/AddAdapter.java
@@ -40,6 +40,7 @@
     
     public static final int ITEM_SHORTCUT = 0;
     public static final int ITEM_APPWIDGET = 1;
+    public static final int ITEM_APPLICATION = 2;
     public static final int ITEM_WALLPAPER = 3;
     
     /**
@@ -69,8 +70,8 @@
         // Create default actions
         Resources res = launcher.getResources();
         
-        mItems.add(new ListItem(res, R.string.group_shortcuts,
-                R.drawable.ic_launcher_shortcut, ITEM_SHORTCUT));
+        mItems.add(new ListItem(res, R.string.group_applications,
+                R.drawable.ic_launcher_application, ITEM_APPLICATION));
 
         mItems.add(new ListItem(res, R.string.group_widgets,
                 R.drawable.ic_launcher_appwidget, ITEM_APPWIDGET));
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 4500744..bd70463 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -25,8 +25,10 @@
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
 import android.animation.ObjectAnimator;
 import android.animation.PropertyValuesHolder;
+import android.animation.ValueAnimator;
 import android.app.WallpaperManager;
 import android.appwidget.AppWidgetManager;
 import android.appwidget.AppWidgetProviderInfo;
@@ -53,10 +55,12 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.animation.AccelerateInterpolator;
 import android.view.animation.DecelerateInterpolator;
 import android.view.animation.LinearInterpolator;
 import android.widget.ImageView;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import com.android.launcher.R;
 
@@ -341,31 +345,21 @@
                     });
                 }
             } else {
-                // Add the widget to the current workspace screen
-                Workspace w = mLauncher.getWorkspace();
-                int currentWorkspaceScreen = mLauncher.getCurrentWorkspaceScreen();
-                final CellLayout cl = (CellLayout) w.getChildAt(currentWorkspaceScreen);
-                final View dragView = v.findViewById(R.id.widget_preview);
-                final ItemInfo itemInfo = (ItemInfo) v.getTag();
-                animateClickFeedback(v, new Runnable() {
-                    @Override
-                    public void run() {
-                        cl.calculateSpans(itemInfo);
-                        if (cl.findCellForSpan(null, itemInfo.spanX, itemInfo.spanY)) {
-                            if (LauncherApplication.isScreenLarge()) {
-                                animateItemOntoScreen(dragView, cl, itemInfo);
-                            } else {
-                                mLauncher.addExternalItemToScreen(itemInfo, cl);
-                                itemInfo.dropPos = null;
-                            }
+                // Let the user know that they have to long press to add a widget
+                Toast.makeText(getContext(), R.string.long_press_widget_to_add,
+                        Toast.LENGTH_SHORT).show();
 
-                            // Hide the pane so we can see the workspace we dropped on
-                            mLauncher.showWorkspace(true);
-                        } else {
-                            mLauncher.showOutOfSpaceMessage();
-                        }
-                    }
-                });
+                // Create a little animation to show that the widget can move
+                float offsetY = getResources().getDimensionPixelSize(R.dimen.dragViewOffsetY);
+                final ImageView p = (ImageView) v.findViewById(R.id.widget_preview);
+                AnimatorSet bounce = new AnimatorSet();
+                ValueAnimator tyuAnim = ObjectAnimator.ofFloat(p, "translationY", offsetY);
+                tyuAnim.setDuration(125);
+                ValueAnimator tydAnim = ObjectAnimator.ofFloat(p, "translationY", 0f);
+                tydAnim.setDuration(100);
+                bounce.play(tyuAnim).before(tydAnim);
+                bounce.setInterpolator(new AccelerateInterpolator());
+                bounce.start();
             }
         }
     }
diff --git a/src/com/android/launcher2/AppsCustomizeTabHost.java b/src/com/android/launcher2/AppsCustomizeTabHost.java
index e2d21b6..cd8e7ef 100644
--- a/src/com/android/launcher2/AppsCustomizeTabHost.java
+++ b/src/com/android/launcher2/AppsCustomizeTabHost.java
@@ -42,6 +42,13 @@
         mLayoutInflater = LayoutInflater.from(context);
     }
 
+    void selectAppsTab() {
+        setCurrentTabByTag(APPS_TAB_TAG);
+    }
+    void selectWidgetsTab() {
+        setCurrentTabByTag(WIDGETS_TAB_TAG);
+    }
+
     /**
      * Setup the tab host and create all necessary tabs.
      */
diff --git a/src/com/android/launcher2/CachedTextView.java b/src/com/android/launcher2/CachedTextView.java
index d0f6dd8..ac2cc3b 100644
--- a/src/com/android/launcher2/CachedTextView.java
+++ b/src/com/android/launcher2/CachedTextView.java
@@ -107,7 +107,7 @@
         int width = (int) (textCacheRight - mTextCacheLeft + (2 * xCharWidth));
         int height = (int) (textCacheBottom - mTextCacheTop);
 
-        if (width != 0 && height != 0) {
+        if (width > 0 && height > 0) {
             if (mCache != null) {
                 if (mCache.getWidth() != width || mCache.getHeight() != height) {
                     mCache.recycle();
diff --git a/src/com/android/launcher2/IconCache.java b/src/com/android/launcher2/IconCache.java
index 7e37afe..5c07cfb 100644
--- a/src/com/android/launcher2/IconCache.java
+++ b/src/com/android/launcher2/IconCache.java
@@ -24,6 +24,7 @@
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.drawable.Drawable;
+import android.util.Pair;
 import android.util.DisplayMetrics;
 
 import java.util.HashMap;
@@ -187,4 +188,16 @@
         }
         return entry;
     }
+
+    public HashMap<ComponentName,Bitmap> getAllIcons() {
+        synchronized (mCache) {
+            HashMap<ComponentName,Bitmap> set = new HashMap<ComponentName,Bitmap>();
+            int i = 0;
+            for (ComponentName cn : mCache.keySet()) {
+                final CacheEntry e = mCache.get(cn);
+                set.put(cn, e.icon);
+            }
+            return set;
+        }
+    }
 }
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 2a16e99..5cf8e9c 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -2230,11 +2230,7 @@
                 mWorkspace.setAllowLongPress(false);
                 mWorkspace.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS,
                         HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
-                if (LauncherApplication.isScreenLarge()) {
-                    addItems();
-                } else {
-                    startWallpaper();
-                }
+                addItems();
             } else {
                 if (!(itemUnderLongClick instanceof Folder)) {
                     // User long pressed on an item
@@ -2970,9 +2966,8 @@
             // Change the state *after* we've called all the transition code
             mState = State.ALL_APPS;
         } else {
-            View appsCustomizePane = findViewById(R.id.apps_customize_pane);
             cameraZoomOut(State.APPS_CUSTOMIZE, animated, false);
-            appsCustomizePane.requestFocus();
+            mAppsCustomizeTabHost.requestFocus();
 
             // Change the state *after* we've called all the transition code
             mState = State.APPS_CUSTOMIZE;
@@ -3157,22 +3152,34 @@
     }
 
     private void updateGlobalSearchIcon() {
-        if (LauncherApplication.isScreenLarge()) {
-            final View searchButton = findViewById(R.id.search_button);
-            final View searchDivider = findViewById(R.id.search_divider);
+        final ImageView searchButton = (ImageView) findViewById(R.id.search_button);
+        final View searchDivider = findViewById(R.id.search_divider);
 
-            final SearchManager searchManager =
-                    (SearchManager) getSystemService(Context.SEARCH_SERVICE);
-            ComponentName activityName = searchManager.getGlobalSearchActivity();
-            if (activityName != null) {
+        final SearchManager searchManager =
+                (SearchManager) getSystemService(Context.SEARCH_SERVICE);
+        ComponentName activityName = searchManager.getGlobalSearchActivity();
+        if (activityName != null) {
+            // In landscape mode on the Phone UI, we only have enough space to show the magnifying
+            // glass icon
+            boolean iconLoaded = false;
+            if (!LauncherApplication.isScreenLarge()) {
+                // TODO-APPS_CUSTOMIZE: Remove when the QSB fixes itself?
+                int orientation = getResources().getConfiguration().orientation;
+                if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
+                    searchButton.setImageResource(R.drawable.ic_generic_search);
+                    iconLoaded = true;
+                    sGlobalSearchIcon = null;
+                }
+            }
+            if (!iconLoaded) {
                 sGlobalSearchIcon = updateButtonWithIconFromExternalActivity(
                         R.id.search_button, activityName, R.drawable.ic_generic_search);
-                searchButton.setVisibility(View.VISIBLE);
-                searchDivider.setVisibility(View.VISIBLE);
-            } else {
-                searchButton.setVisibility(View.GONE);
-                searchDivider.setVisibility(View.GONE);
             }
+            searchButton.setVisibility(View.VISIBLE);
+            searchDivider.setVisibility(View.VISIBLE);
+        } else {
+            searchButton.setVisibility(View.GONE);
+            searchDivider.setVisibility(View.GONE);
         }
     }
 
@@ -3181,21 +3188,19 @@
     }
 
     private void updateVoiceSearchIcon() {
-        if (LauncherApplication.isScreenLarge()) {
-            final View searchDivider = findViewById(R.id.search_divider);
-            final View voiceButton = findViewById(R.id.voice_button);
+        final View searchDivider = findViewById(R.id.search_divider);
+        final View voiceButton = findViewById(R.id.voice_button);
 
-            Intent intent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH);
-            ComponentName activityName = intent.resolveActivity(getPackageManager());
-            if (activityName != null) {
-                sVoiceSearchIcon = updateButtonWithIconFromExternalActivity(
-                        R.id.voice_button, activityName, R.drawable.ic_voice_search);
-                searchDivider.setVisibility(View.VISIBLE);
-                voiceButton.setVisibility(View.VISIBLE);
-            } else {
-                searchDivider.setVisibility(View.GONE);
-                voiceButton.setVisibility(View.GONE);
-            }
+        Intent intent = new Intent(RecognizerIntent.ACTION_WEB_SEARCH);
+        ComponentName activityName = intent.resolveActivity(getPackageManager());
+        if (activityName != null) {
+            sVoiceSearchIcon = updateButtonWithIconFromExternalActivity(
+                    R.id.voice_button, activityName, R.drawable.ic_voice_search);
+            searchDivider.setVisibility(View.VISIBLE);
+            voiceButton.setVisibility(View.VISIBLE);
+        } else {
+            searchDivider.setVisibility(View.GONE);
+            voiceButton.setVisibility(View.GONE);
         }
     }
 
@@ -3242,12 +3247,11 @@
         Dialog createDialog() {
             mAdapter = new AddAdapter(Launcher.this);
 
-            final AlertDialog.Builder builder = new AlertDialog.Builder(Launcher.this);
+            final AlertDialog.Builder builder = new AlertDialog.Builder(Launcher.this, 
+                    AlertDialog.THEME_HOLO_DARK);
             builder.setTitle(getString(R.string.menu_item_add_item));
             builder.setAdapter(mAdapter, this);
 
-            builder.setInverseBackgroundForced(true);
-
             AlertDialog dialog = builder.create();
             dialog.setOnCancelListener(this);
             dialog.setOnDismissListener(this);
@@ -3262,6 +3266,8 @@
         }
 
         public void onDismiss(DialogInterface dialog) {
+            mWaitingForResult = false;
+            cleanup();
         }
 
         private void cleanup() {
@@ -3279,22 +3285,26 @@
             Resources res = getResources();
             cleanup();
 
-            switch (which) {
+            AddAdapter.ListItem item = (AddAdapter.ListItem) mAdapter.getItem(which);
+            switch (item.actionTag) {
                 case AddAdapter.ITEM_SHORTCUT: {
                     pickShortcut();
                     break;
                 }
-
-                case AddAdapter.ITEM_APPWIDGET: {
-                    int appWidgetId = Launcher.this.mAppWidgetHost.allocateAppWidgetId();
-
-                    Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
-                    pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
-                    // start the pick activity
-                    startActivityForResult(pickIntent, REQUEST_PICK_APPWIDGET);
+                case AddAdapter.ITEM_APPLICATION: {
+                    if (mAppsCustomizeTabHost != null) {
+                        mAppsCustomizeTabHost.selectAppsTab();
+                    }
+                    showAllApps(true);
                     break;
                 }
-
+                case AddAdapter.ITEM_APPWIDGET: {
+                    if (mAppsCustomizeTabHost != null) {
+                        mAppsCustomizeTabHost.selectWidgetsTab();
+                    }
+                    showAllApps(true);
+                    break;
+                }
                 case AddAdapter.ITEM_WALLPAPER: {
                     startWallpaper();
                     break;
diff --git a/src/com/android/launcher2/RocketLauncher.java b/src/com/android/launcher2/RocketLauncher.java
new file mode 100644
index 0000000..1c6510f
--- /dev/null
+++ b/src/com/android/launcher2/RocketLauncher.java
@@ -0,0 +1,426 @@
+/*);
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// TODO:
+// background stellar matter:
+//  - add some slow horizontal parallax motion, or perhaps veeeeery gradual outward drift
+
+package com.android.launcher2;
+
+import android.animation.AnimatorSet;
+import android.animation.PropertyValuesHolder;
+import android.animation.ObjectAnimator;
+import android.animation.TimeAnimator;
+import android.app.Activity;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.support.v13.dreams.BasicDream;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Matrix;
+import android.graphics.Paint;
+import android.graphics.Point;
+import android.graphics.Rect;
+import android.graphics.RectF;
+import android.os.Handler;
+import android.util.AttributeSet;
+import android.util.DisplayMetrics;
+import android.util.Pair;
+import android.view.Gravity;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import java.util.HashMap;
+import java.util.Random;
+
+import com.android.launcher.R;
+
+public class RocketLauncher extends BasicDream {
+    public static final boolean ROCKET_LAUNCHER = true;
+
+    public static class Board extends FrameLayout
+    {
+        public static final boolean FIXED_STARS = true;
+        public static final boolean FLYING_STARS = true;
+        public static final int NUM_ICONS = 20;
+
+        public static final float MANEUVERING_THRUST_SCALE = 0.1f; // tenth speed
+        private boolean mManeuveringThrusters = false;
+        private float mSpeedScale = 1.0f;
+
+        public static final int LAUNCH_ZOOM_TIME = 400; // ms
+
+        HashMap<ComponentName, Bitmap> mIcons;
+        ComponentName[] mComponentNames;
+
+        static Random sRNG = new Random();
+
+        static float lerp(float a, float b, float f) {
+            return (b-a)*f + a;
+        }
+
+        static float randfrange(float a, float b) {
+            return lerp(a, b, sRNG.nextFloat());
+        }
+
+        static int randsign() {
+            return sRNG.nextBoolean() ? 1 : -1;
+        }
+
+        static <E> E pick(E[] array) {
+            if (array.length == 0) return null;
+            return array[sRNG.nextInt(array.length)];
+        }
+
+        public class FlyingIcon extends ImageView {
+            public static final float VMAX = 1000.0f;
+            public static final float VMIN = 100.0f;
+            public static final float ANGULAR_VMAX = 45f;
+            public static final float ANGULAR_VMIN = 0f;
+            public static final float SCALE_MIN = 0.5f;
+            public static final float SCALE_MAX = 4f;
+
+            public float v, vr;
+
+            public final float[] hsv = new float[3];
+
+            public float angle, anglex, angley;
+            public float fuse;
+            public float dist;
+            public float endscale;
+            public float boardCenterX, boardCenterY;
+
+            public ComponentName component;
+
+            public FlyingIcon(Context context, AttributeSet as) {
+                super(context, as);
+                setLayerType(View.LAYER_TYPE_HARDWARE, null);
+
+                setBackgroundResource(R.drawable.flying_icon_bg);
+                //android.util.Log.d("RocketLauncher", "ctor: " + this);
+                hsv[1] = 1f;
+                hsv[2] = 1f;
+            }
+
+            @Override
+            public boolean onTouchEvent(MotionEvent event) {
+                if (!mManeuveringThrusters || component == null) {
+                    return false;
+                }
+                if (getAlpha() < 0.5f) {
+                    setPressed(false);
+                    return false;
+                }
+
+                switch (event.getAction()) {
+                    case MotionEvent.ACTION_DOWN:
+                        setPressed(true);
+                        Board.this.resetWarpTimer();
+                        break;
+                    case MotionEvent.ACTION_MOVE:
+                        final Rect hit = new Rect();
+                        final Point offset = new Point();
+                        getGlobalVisibleRect(hit, offset);
+                        final int globx = (int) event.getX() + offset.x;
+                        final int globy = (int) event.getY() + offset.y;
+                        setPressed(hit.contains(globx, globy));
+                        Board.this.resetWarpTimer();
+                        break;
+                    case MotionEvent.ACTION_UP:
+                        if (isPressed()) {
+                            setPressed(false);
+                            postDelayed(new Runnable() {
+                                public void run() {
+                                    try {
+                                        getContext().startActivity(new Intent(Intent.ACTION_MAIN)
+                                            .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+                                            .setComponent(component));
+                                    } catch (android.content.ActivityNotFoundException e) {
+                                    } catch (SecurityException e) {
+                                    }
+                                }
+                            }, LAUNCH_ZOOM_TIME);
+                            endscale = 0;
+                            AnimatorSet s = new AnimatorSet();
+                            s.playTogether(
+                                ObjectAnimator.ofFloat(this, "scaleX", 15f),
+                                ObjectAnimator.ofFloat(this, "scaleY", 15f),
+                                ObjectAnimator.ofFloat(this, "alpha", 0f)
+                            );
+
+                            // make sure things are still moving until the very last instant the
+                            // activity is visible
+                            s.setDuration((int)(LAUNCH_ZOOM_TIME * 1.25));
+                            s.setInterpolator(new android.view.animation.AccelerateInterpolator(3));
+                            s.start();
+                        }
+                        break;
+                }
+                return true;
+            }
+
+            public String toString() {
+                return String.format("<'%s' @ (%.1f, %.1f) v=%.1f a=%.1f dist/fuse=%.1f/%.1f>",
+                        "icon", getX(), getY(), v, angle, dist, fuse);
+            }
+
+            public void randomizeIcon() {
+                component = pick(mComponentNames);
+                setImageBitmap(mIcons.get(component));
+            }
+
+            public void randomize() {
+                v = randfrange(VMIN, VMAX);
+                angle = randfrange(0, 360f);
+                anglex = (float) Math.sin(angle / 180. * Math.PI);
+                angley = (float) Math.cos(angle / 180. * Math.PI);
+                vr = randfrange(ANGULAR_VMIN, ANGULAR_VMAX) * randsign();
+                endscale = randfrange(SCALE_MIN, SCALE_MAX);
+
+                randomizeIcon();
+            }
+            public void reset() {
+                randomize();
+                boardCenterX = (Board.this.getWidth() - getWidth()) / 2;
+                boardCenterY = (Board.this.getHeight() - getHeight()) / 2;
+                setX(boardCenterX);
+                setY(boardCenterY);
+                fuse = (float) Math.max(boardCenterX, boardCenterY);
+                setRotation(180-angle);
+                setScaleX(0f);
+                setScaleY(0f);
+                dist = 0;
+                setAlpha(0f);
+            }
+            public void update(float dt) {
+                dist += v * dt;
+                setX(getX() + anglex * v * dt);
+                setY(getY() + angley * v * dt);
+                //setRotation(getRotation() + vr * dt);
+                if (endscale > 0) {
+                    float scale = lerp(0, endscale, (float) Math.sqrt(dist / fuse));
+                        setScaleX(scale * lerp(1f, 0.75f, (float) Math.pow((v-VMIN)/(VMAX-VMIN),3)));
+                        setScaleY(scale * lerp(1f, 1.5f, (float) Math.pow((v-VMIN)/(VMAX-VMIN),3)));
+                    final float q1 = fuse*0.15f;
+                    final float q4 = fuse*0.75f;
+                    if (dist < q1) {
+                        setAlpha((float) Math.sqrt(dist/q1));
+                    } else if (dist > q4) {
+                        setAlpha((dist >= fuse) ? 0f : (1f-(float)Math.pow((dist-q4)/(fuse-q4),2)));
+                    } else {
+                        setAlpha(1f);
+                    }
+                }
+            }
+        }
+
+        public class FlyingStar extends FlyingIcon {
+            public FlyingStar(Context context, AttributeSet as) {
+                super(context, as);
+            }
+            public void randomizeIcon() {
+                setImageResource(R.drawable.widget_resize_handle_bottom);
+            }
+            public void randomize() {
+                super.randomize();
+                v = randfrange(VMAX*0.75f, VMAX*2f); // fasticate
+                endscale = randfrange(1f, 2f); // ensmallen
+            }
+        }
+
+        TimeAnimator mAnim;
+
+        public Board(Context context, AttributeSet as) {
+            super(context, as);
+
+            setBackgroundColor(0xFF000000);
+
+            LauncherApplication app = (LauncherApplication)context.getApplicationContext();
+            mIcons = app.getIconCache().getAllIcons();
+            mComponentNames = new ComponentName[mIcons.size()];
+            mComponentNames = mIcons.keySet().toArray(mComponentNames);
+        }
+
+        private void reset() {
+            removeAllViews();
+
+            final ViewGroup.LayoutParams wrap = new ViewGroup.LayoutParams(
+                        ViewGroup.LayoutParams.WRAP_CONTENT,
+                        ViewGroup.LayoutParams.WRAP_CONTENT);
+
+            if (FIXED_STARS) {
+                for(int i=0; i<20; i++) {
+                    ImageView fixedStar = new ImageView(getContext(), null);
+                    fixedStar.setImageResource(R.drawable.widget_resize_handle_bottom);
+                    final float s = randfrange(0.25f, 0.75f);
+                    fixedStar.setScaleX(s);
+                    fixedStar.setScaleY(s);
+                    fixedStar.setAlpha(0.75f);
+                    addView(fixedStar, wrap);
+                    fixedStar.setX(randfrange(0, getWidth()));
+                    fixedStar.setY(randfrange(0, getHeight()));
+                }
+            }
+
+            for(int i=0; i<NUM_ICONS*2; i++) {
+                FlyingIcon nv = (FLYING_STARS && (i < NUM_ICONS))
+                    ? new FlyingStar(getContext(), null)
+                    : new FlyingIcon(getContext(), null);
+                addView(nv, wrap);
+                nv.reset();
+            }
+
+            mAnim = new TimeAnimator();
+            mAnim.setTimeListener(new TimeAnimator.TimeListener() {
+                public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) {
+                    // setRotation(totalTime * 0.01f); // not as cool as you would think
+
+                    final int START_ZOOM_TIME = 3000;
+                    if (totalTime < START_ZOOM_TIME) {
+                        final float x = totalTime/(float)START_ZOOM_TIME;
+                        final float s = 1f-(float)Math.pow(x-1, 4);
+                        setScaleX(s); setScaleY(s);
+                    } else {
+                        setScaleX(1.0f); setScaleY(1.0f);
+                    }
+
+                    if (mManeuveringThrusters) {
+                        if (mSpeedScale > MANEUVERING_THRUST_SCALE) {
+                            mSpeedScale -= (2*deltaTime/1000f);
+                        }
+                        if (mSpeedScale < MANEUVERING_THRUST_SCALE) {
+                            mSpeedScale = MANEUVERING_THRUST_SCALE;
+                        }
+                    } else {
+                        if (mSpeedScale < 1.0f) {
+                            mSpeedScale += (deltaTime/1000f);
+                        }
+                        if (mSpeedScale > 1.0f) {
+                            mSpeedScale = 1.0f;
+                        }
+                    }
+
+                    for (int i=0; i<getChildCount(); i++) {
+                        View v = getChildAt(i);
+                        if (!(v instanceof FlyingIcon)) continue;
+                        FlyingIcon nv = (FlyingIcon) v;
+                        nv.update(deltaTime / 1000f * mSpeedScale);
+                        final float scaledWidth = nv.getWidth() * nv.getScaleX();
+                        final float scaledHeight = nv.getHeight() * nv.getScaleY();
+                        if (   nv.getX() + scaledWidth < 0
+                            || nv.getX() - scaledWidth > getWidth()
+                            || nv.getY() + scaledHeight < 0 
+                            || nv.getY() - scaledHeight > getHeight())
+                        {
+                            nv.reset();
+                        }
+                    }
+                }
+            });
+        }
+
+        @Override
+        protected void onAttachedToWindow() {
+            super.onAttachedToWindow();
+            setLayerType(View.LAYER_TYPE_HARDWARE, null);
+            setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
+
+            reset();
+            mAnim.start();
+        }
+
+        protected void onSizeChanged (int w, int h, int oldw, int oldh) {
+            super.onSizeChanged(w,h,oldw,oldh);
+            mAnim.cancel();
+            reset();
+            mAnim.start();
+        }
+
+
+        @Override
+        protected void onDetachedFromWindow() {
+            super.onDetachedFromWindow();
+            mAnim.cancel();
+        }
+
+        @Override
+        public boolean isOpaque() {
+            return true;
+        }
+
+        @Override
+        public boolean onInterceptTouchEvent(MotionEvent e) {
+            // we want to eat touch events ourselves if we're in warp speed
+            return (!(ROCKET_LAUNCHER && mManeuveringThrusters));
+        }
+
+        final Runnable mEngageWarp = new Runnable() {
+            @Override
+            public void run() {
+                mManeuveringThrusters = false;
+            }
+        };
+        public void resetWarpTimer() {
+            final Handler h = getHandler();
+            h.removeCallbacks(mEngageWarp);
+            h.postDelayed(mEngageWarp, 5000);
+        }
+
+        @Override
+        public boolean onTouchEvent(MotionEvent event) {
+            if (!ROCKET_LAUNCHER) {
+                return true;
+            }
+
+            if (event.getAction() == MotionEvent.ACTION_DOWN) {
+                if (!mManeuveringThrusters) {
+                    mManeuveringThrusters = true;
+                    resetWarpTimer();
+                    return true;
+                }
+            }
+
+            return false;
+        }
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+
+        DisplayMetrics metrics = new DisplayMetrics();
+        getWindowManager().getDefaultDisplay().getMetrics(metrics);
+        final int longside = metrics.widthPixels > metrics.heightPixels 
+            ? metrics.widthPixels : metrics.heightPixels;
+
+        Board b = new Board(this, null);
+        setContentView(b, new ViewGroup.LayoutParams(longside, longside));
+        b.setX((metrics.widthPixels - longside) / 2);
+        b.setY((metrics.heightPixels - longside) / 2);
+    }
+
+    @Override
+    public void onUserInteraction() {
+        if (!ROCKET_LAUNCHER) {
+            finish();
+        }
+    }
+}
diff --git a/tests/Android.mk b/tests/Android.mk
new file mode 100644
index 0000000..84e9559
--- /dev/null
+++ b/tests/Android.mk
@@ -0,0 +1,15 @@
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+include $(call all-subdir-makefiles)
diff --git a/tests/stress/Android.mk b/tests/stress/Android.mk
new file mode 100644
index 0000000..da22bb9
--- /dev/null
+++ b/tests/stress/Android.mk
@@ -0,0 +1,33 @@
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+# We only want this apk build for tests.
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_JAVA_LIBRARIES := android.test.runner
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := LauncherRotationStressTest
+
+LOCAL_CERTIFICATE := shared
+
+LOCAL_INSTRUMENTATION_FOR := Launcher2
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_PACKAGE)
diff --git a/tests/stress/AndroidManifest.xml b/tests/stress/AndroidManifest.xml
new file mode 100644
index 0000000..ce5dbe4
--- /dev/null
+++ b/tests/stress/AndroidManifest.xml
@@ -0,0 +1,31 @@
+<?xml version="2.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.launcher.stress.launcherrotation">
+
+    <uses-sdk android:minSdkVersion="8" />
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+    </application>
+
+    <instrumentation
+        android:name="android.test.InstrumentationTestRunner"
+        android:targetPackage="com.android.launcher"
+        android:label="Rotation stress test using Launcher2">
+    </instrumentation>
+</manifest>
diff --git a/tests/stress/src/com/android/launcher2/stress/LauncherRotationStressTest.java b/tests/stress/src/com/android/launcher2/stress/LauncherRotationStressTest.java
new file mode 100644
index 0000000..3d787f2
--- /dev/null
+++ b/tests/stress/src/com/android/launcher2/stress/LauncherRotationStressTest.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher2.stress;
+
+
+import com.android.launcher2.Launcher;
+
+import android.content.pm.ActivityInfo;
+import android.os.SystemClock;
+import android.test.ActivityInstrumentationTestCase2;
+import android.test.TimedTest;
+import android.util.Log;
+
+/**
+ * Run rotation stress test using Launcher2 for 50 iterations.
+ */
+public class LauncherRotationStressTest extends ActivityInstrumentationTestCase2<Launcher> {
+
+    private static final int NUM_ITERATIONS = 50;
+    private static final String LOG_TAG = "LauncherRotationStressTest";
+
+    public LauncherRotationStressTest() {
+        super(Launcher.class);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    @TimedTest(includeDetailedStats=true)
+    public void testLauncherRotationStress() throws Exception {
+        Launcher launcher = getActivity();
+        for (int i = 0; i < NUM_ITERATIONS; i++) {
+            Log.i(LOG_TAG, "Starting LauncherRotationStressTest " + (i + 1) + " of " +
+                  NUM_ITERATIONS);
+            getInstrumentation().waitForIdleSync();
+            SystemClock.sleep(500);
+            launcher.setRequestedOrientation(
+                    ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+            getInstrumentation().waitForIdleSync();
+            SystemClock.sleep(500);
+            launcher.setRequestedOrientation(
+                    ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
+            Log.i(LOG_TAG, "Finished LauncherRotationStressTest " + (i + 1) + " of " +
+                  NUM_ITERATIONS);
+        }
+    }
+}
