merge in jb-release history after reset to jb-dev
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 4d8b381..7d18d99 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Lanseerpoort"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Kernprogramme"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Kies muurpapier uit"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 375ba31..ab828cf 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"አስነሺ"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"የAndroid ኮር ትግበራዎች"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"ልጣፍ ምረጥ ከ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index d86eeb8..bb0fc48 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"المشغل"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"تطبيقات Android المركزية"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"اختيار خلفية من"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index d04ee34..8187f0f 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Панэль запуску"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Асноўныя прыкладанні для Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Выбраць шпалеры"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index dc0814a..e38d62c 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Стартов панел"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Основни приложения на Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Избор на тапет от"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index a71b9f1..22d5c63 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Barra d\'execució ràpida"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Aplicacions principals d\'Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Selecciona fons de pantalla de"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index fb61ec7..f1bace6 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Vybrat tapetu z"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 0014d40..c581102 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android-kerneprogrammer"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Vælg baggrund fra"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 92f1809..5dc3460 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Übersicht"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Hintergrund auswählen von"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 2d12ca9..cacc5ee 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Βασικές εφαρμογές Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Επιλογή ταπετσαρίας από"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 941fa8e..76246d9 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Choose wallpaper from"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index fecbc40..d831d50 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Aplicaciones del núcleo de Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Elegir un fondo de pantalla de"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index dda1d9e..7950a60 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Aplicaciones básicas de Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Seleccionar fondo de pantalla de"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 93fd351..7f41e14 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Käivitaja"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Androidi tuumrakendused"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Taustapildi valimiskoht:"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index ea42c45..d381660 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"راه انداز"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"برنامه های Android Core"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"انتخاب تصویر زمینه از"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index a069565..2d64230 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Käynnistysohjelma"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core -sovellukset"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Valitse taustakuva"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 515ae7f..0c36614 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Lanceur d\'applications"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Applications de base Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Sélectionnez un fond d\'écran dans"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 200382c..77f4b86 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"लॉन्चर"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android मुख्य एप्लिकेशन"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"वॉलपेपर यहां से चुनें:"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 4da1f90..8ff377a 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Pokretač"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Matične aplikacije za Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Odabir pozadinske slike iz"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 7c5b878..a085dbe 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Indító"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Alap Android-alkalmazások"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Válasszon tapétát innen:"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index f85e480..de042ba 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Peluncur"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Pilih wallpaper dari"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 8381be2..84d8b75 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Avvio applicazioni"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Scegli sfondo da"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 4978ea5..9a8a410 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"מפעיל"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"יישומי ליבה של Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"בחר טפט מ-"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 9038cc2..e8f7a10 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"ランチャー"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"壁紙の選択"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 8b6e563..06e3fa7 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core 애플리케이션"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"배경화면 선택"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 73810a9..778eece 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Paleidimo priemonė"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Pagrindinės „Android“ programos"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Pasirinkti darbalaukio foną iš"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 8eaffc4..ece00fa 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Palaidējs"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android kodola lietojumprogrammas"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Fona tapetes izvēle:"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 29b8f7d..a66c882 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Pelancar"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Apl Teras Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Pilih kertas dinding dari"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index b795c05..038fefe 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Utskytingsrampe"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android-kjerneapplikasjoner"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Velg bakgrunnsbilde fra"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 3758b55..eb87f98 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android-kerntoepassingen"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Achtergrond kiezen van"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 2e434bd..83beefb 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Program uruchamiający"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Aplikacje główne systemu Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Wybierz tapetę z"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 8f0a4f3..c3c5a28 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Aplicações Principais do Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Escolher imagem de fundo de"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index e5fff9c..7eb4f07 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Principais aplicativos do Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Selecionar plano de fundo de"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index be22d75..5056d07 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Lantschader"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Applicaziuns da basa dad Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <!-- no translation found for chooser_wallpaper (6063168087625352235) -->
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 957310a..0449308 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Lansator"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Alegeţi imaginea de fundal din"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index f12d681..8b53be0 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Основные приложения"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Установка обоев"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 55d2b6b..cacff8f 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Spúšťač"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Vybrať tapetu z"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index d8df7f4..dfe4a0c 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Zaganjalnik"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Izberite sliko za ozadje"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 9aa5aef..a8a2131 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Покретач"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Основне Android апликације"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Избор позадине из"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 46bd262..f11cad7 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Startbild"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Välj bakgrund från"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 83db081..6b10119 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Kizinduzi"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Programu Kuu za Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Chagua mandhari kutoka"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index ba6d0c6..3d0a49c 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"ตัวเรียกใช้งาน"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"แอปหลัก Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"เลือกวอลเปเปอร์จาก"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 9e79b89..99cd481 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Pumili ng wallpaper mula sa"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 81ba10a..7767660 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Launcher"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Duvar kağıdı seçin:"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index bf8f165..dd2818f 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Пан. запуску"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Служби Android Core"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Вибрати фоновий малюнок з"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 345e4b2..dc6d7f1 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Trình khởi chạy"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Ứng dụng Lõi Android"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Chọn hình nền từ"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index e430420..5043c22 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"启动器"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android 核心应用"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"选择壁纸来源"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index e5c072e..fbb5db7 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"啟動器"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"Android 核心應用程式"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"選擇桌布來源"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index ddff5b7..37a5cfe 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -20,6 +20,8 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="application_name" msgid="8424725141379931883">"Isiqalisi"</string>
+    <!-- no translation found for home (5921706419368316758) -->
+    <skip />
     <string name="uid_name" msgid="3371120195364560632">"I-Android Core Apps"</string>
     <string name="folder_name" msgid="8551881338202938211"></string>
     <string name="chooser_wallpaper" msgid="6063168087625352235">"Khetha iphephalodonga kwi"</string>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 9ed824b..cd939db 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -171,4 +171,8 @@
         <attr name="title" format="reference" />
         <attr name="uri" format="string" />
     </declare-styleable>
+    <declare-styleable name="Extra">
+        <attr name="key" format="string" />
+        <attr name="value" format="string" />
+    </declare-styleable>
 </resources>
diff --git a/src/com/android/launcher2/AppWidgetResizeFrame.java b/src/com/android/launcher2/AppWidgetResizeFrame.java
index 7281a6f..8824686 100644
--- a/src/com/android/launcher2/AppWidgetResizeFrame.java
+++ b/src/com/android/launcher2/AppWidgetResizeFrame.java
@@ -79,7 +79,7 @@
         mWorkspace = (Workspace) dragLayer.findViewById(R.id.workspace);
 
         final AppWidgetProviderInfo info = widgetView.getAppWidgetInfo();
-        int[] result = mLauncher.getMinSpanForWidget(info);
+        int[] result = Launcher.getMinSpanForWidget(mLauncher, info);
         mMinHSpan = result[0];
         mMinVSpan = result[1];
 
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 3936e59..fe9334b 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -481,8 +481,8 @@
         for (AppWidgetProviderInfo widget : widgets) {
             if (widget.minWidth > 0 && widget.minHeight > 0) {
                 // Ensure that all widgets we show can be added on a workspace of this size
-                int[] spanXY = mLauncher.getSpanForWidget(widget);
-                int[] minSpanXY = mLauncher.getMinSpanForWidget(widget);
+                int[] spanXY = Launcher.getSpanForWidget(mLauncher, widget);
+                int[] minSpanXY = Launcher.getMinSpanForWidget(mLauncher, widget);
                 int minSpanX = Math.min(spanXY[0], minSpanXY[0]);
                 int minSpanY = Math.min(spanXY[1], minSpanXY[1]);
                 if (minSpanX <= LauncherModel.getCellCountX() &&
@@ -758,7 +758,7 @@
             // drop in Workspace
             mLauncher.exitSpringLoadedDragMode();
         }
-        mLauncher.unlockScreenOrientation();
+        mLauncher.unlockScreenOrientation(false);
     }
 
     @Override
@@ -1225,10 +1225,10 @@
                 createItemInfo = new PendingAddWidgetInfo(info, null, null);
 
                 // Determine the widget spans and min resize spans.
-                int[] spanXY = mLauncher.getSpanForWidget(info);
+                int[] spanXY = Launcher.getSpanForWidget(mLauncher, info);
                 createItemInfo.spanX = spanXY[0];
                 createItemInfo.spanY = spanXY[1];
-                int[] minSpanXY = mLauncher.getMinSpanForWidget(info);
+                int[] minSpanXY = Launcher.getMinSpanForWidget(mLauncher, info);
                 createItemInfo.minSpanX = minSpanXY[0];
                 createItemInfo.minSpanY = minSpanXY[1];
 
@@ -1315,7 +1315,7 @@
             Object rawInfo = items.get(i);
             if (rawInfo instanceof AppWidgetProviderInfo) {
                 AppWidgetProviderInfo info = (AppWidgetProviderInfo) rawInfo;
-                int[] cellSpans = mLauncher.getSpanForWidget(info);
+                int[] cellSpans = Launcher.getSpanForWidget(mLauncher, info);
 
                 int maxWidth = Math.min(data.maxImageWidth,
                         mWidgetSpacingLayout.estimateCellWidth(cellSpans[0]));
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index 2772d5c..1223d1c 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -976,8 +976,8 @@
         int numHeightGaps = mCountY - 1;
 
         if (mOriginalWidthGap < 0 || mOriginalHeightGap < 0) {
-            int hSpace = widthSpecSize - mPaddingLeft - mPaddingRight;
-            int vSpace = heightSpecSize - mPaddingTop - mPaddingBottom;
+            int hSpace = widthSpecSize - getPaddingLeft() - getPaddingRight();
+            int vSpace = heightSpecSize - getPaddingTop() - getPaddingBottom();
             int hFreeSpace = hSpace - (mCountX * mCellWidth);
             int vFreeSpace = vSpace - (mCountY * mCellHeight);
             mWidthGap = Math.min(mMaxGap, numWidthGaps > 0 ? (hFreeSpace / numWidthGaps) : 0);
@@ -1746,6 +1746,8 @@
 
     private boolean rearrangementExists(int cellX, int cellY, int spanX, int spanY, int[] direction,
             View ignoreView, ItemConfiguration solution) {
+        // Return early if get invalid cell positions
+        if (cellX < 0 || cellY < 0) return false;
 
         mIntersectingViews.clear();
         mOccupiedRect.set(cellX, cellY, cellX + spanX, cellY + spanY);
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index cb737ff..e5baf62 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -385,15 +385,8 @@
         }
         mSearchDropTargetBar.onSearchPackagesChanged(searchVisible, voiceVisible);
 
-        final String forceEnableRotation =
-                SystemProperties.get(FORCE_ENABLE_ROTATION_PROPERTY, "false");
-
-        boolean enableRotation = getResources().getBoolean(R.bool.allow_rotation);
-
         // On large interfaces, we want the screen to auto-rotate based on the current orientation
-        if (enableRotation || "true".equalsIgnoreCase(forceEnableRotation)) {
-            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
-        }
+        unlockScreenOrientation(true);
     }
 
     private void checkForLocaleChange() {
@@ -1000,29 +993,30 @@
         }
     }
 
-    int[] getSpanForWidget(ComponentName component, int minWidth, int minHeight) {
-        Rect padding = AppWidgetHostView.getDefaultPaddingForWidget(this, component, null);
+    static int[] getSpanForWidget(Context context, ComponentName component, int minWidth,
+            int minHeight) {
+        Rect padding = AppWidgetHostView.getDefaultPaddingForWidget(context, component, null);
         // We want to account for the extra amount of padding that we are adding to the widget
         // to ensure that it gets the full amount of space that it has requested
         int requiredWidth = minWidth + padding.left + padding.right;
         int requiredHeight = minHeight + padding.top + padding.bottom;
-        return CellLayout.rectToCell(getResources(), requiredWidth, requiredHeight, null);
+        return CellLayout.rectToCell(context.getResources(), requiredWidth, requiredHeight, null);
     }
 
-    int[] getSpanForWidget(AppWidgetProviderInfo info) {
-        return getSpanForWidget(info.provider, info.minWidth, info.minHeight);
+    static int[] getSpanForWidget(Context context, AppWidgetProviderInfo info) {
+        return getSpanForWidget(context, info.provider, info.minWidth, info.minHeight);
     }
 
-    int[] getMinSpanForWidget(AppWidgetProviderInfo info) {
-        return getSpanForWidget(info.provider, info.minResizeWidth, info.minResizeHeight);
+    static int[] getMinSpanForWidget(Context context, AppWidgetProviderInfo info) {
+        return getSpanForWidget(context, info.provider, info.minResizeWidth, info.minResizeHeight);
     }
 
-    int[] getSpanForWidget(PendingAddWidgetInfo info) {
-        return getSpanForWidget(info.componentName, info.minWidth, info.minHeight);
+    static int[] getSpanForWidget(Context context, PendingAddWidgetInfo info) {
+        return getSpanForWidget(context, info.componentName, info.minWidth, info.minHeight);
     }
 
-    int[] getMinSpanForWidget(PendingAddWidgetInfo info) {
-        return getSpanForWidget(info.componentName, info.minResizeWidth,
+    static int[] getMinSpanForWidget(Context context, PendingAddWidgetInfo info) {
+        return getSpanForWidget(context, info.componentName, info.minResizeWidth,
                 info.minResizeHeight);
     }
 
@@ -1041,8 +1035,8 @@
         // Calculate the grid spans needed to fit this widget
         CellLayout layout = getCellLayout(container, screen);
 
-        int[] minSpanXY = getMinSpanForWidget(appWidgetInfo);
-        int[] spanXY = getSpanForWidget(appWidgetInfo);
+        int[] minSpanXY = getMinSpanForWidget(this, appWidgetInfo);
+        int[] spanXY = getSpanForWidget(this, appWidgetInfo);
 
         // Try finding open space on Launcher screen
         // We have saved the position to which the widget was dragged-- this really only matters
@@ -1540,34 +1534,6 @@
             Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_CONFIGURE);
             intent.setComponent(appWidget.configure);
             intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
-            if (info != null) {
-                if (info.mimeType != null && !info.mimeType.isEmpty()) {
-                    intent.putExtra(InstallWidgetReceiver.
-                            EXTRA_APPWIDGET_CONFIGURATION_DATA_MIME_TYPE, info.mimeType);
-
-                    final String mimeType = info.mimeType;
-                    final ClipData clipData = (ClipData) info.configurationData;
-                    final ClipDescription clipDesc = clipData.getDescription();
-                    for (int i = 0; i < clipDesc.getMimeTypeCount(); ++i) {
-                        if (clipDesc.getMimeType(i).equals(mimeType)) {
-                            final ClipData.Item item = clipData.getItemAt(i);
-                            final CharSequence stringData = item.getText();
-                            final Uri uriData = item.getUri();
-                            final Intent intentData = item.getIntent();
-                            final String key = InstallWidgetReceiver.
-                                    EXTRA_APPWIDGET_CONFIGURATION_DATA;
-                            if (uriData != null) {
-                                intent.putExtra(key, uriData);
-                            } else if (intentData != null) {
-                                intent.putExtra(key, intentData);
-                            } else if (stringData != null) {
-                                intent.putExtra(key, stringData);
-                            }
-                            break;
-                        }
-                    }
-                }
-            }
             startActivityForResultSafely(intent, REQUEST_CREATE_APPWIDGET);
             mWidgetBeingBoundOrConfigured = info;
         } else {
@@ -3385,16 +3351,31 @@
         return oriMap[(d.getRotation() + indexOffset) % 4];
     }
 
-    public void lockScreenOrientation() {
-        setRequestedOrientation(mapConfigurationOriActivityInfoOri(getResources()
-                .getConfiguration().orientation));
+    public boolean isRotationEnabled() {
+        boolean forceEnableRotation = "true".equalsIgnoreCase(SystemProperties.get(
+                FORCE_ENABLE_ROTATION_PROPERTY, "false"));
+        boolean enableRotation = forceEnableRotation ||
+                getResources().getBoolean(R.bool.allow_rotation);
+        return enableRotation;
     }
-    public void unlockScreenOrientation() {
-        mHandler.postDelayed(new Runnable() {
-            public void run() {
+    public void lockScreenOrientation() {
+        if (isRotationEnabled()) {
+            setRequestedOrientation(mapConfigurationOriActivityInfoOri(getResources()
+                    .getConfiguration().orientation));
+        }
+    }
+    public void unlockScreenOrientation(boolean immediate) {
+        if (isRotationEnabled()) {
+            if (immediate) {
                 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
+            } else {
+                mHandler.postDelayed(new Runnable() {
+                    public void run() {
+                        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
+                    }
+                }, mRestoreScreenOrientationDelay);
             }
-        }, mRestoreScreenOrientationDelay);
+        }
     }
 
     /* Cling related */
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index 6d1cc75..b76df39 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -1175,6 +1175,9 @@
                                 appWidgetInfo.cellY = c.getInt(cellYIndex);
                                 appWidgetInfo.spanX = c.getInt(spanXIndex);
                                 appWidgetInfo.spanY = c.getInt(spanYIndex);
+                                int[] minSpan = Launcher.getMinSpanForWidget(context, provider);
+                                appWidgetInfo.minSpanX = minSpan[0];
+                                appWidgetInfo.minSpanY = minSpan[1];
 
                                 container = c.getInt(containerIndex);
                                 if (container != LauncherSettings.Favorites.CONTAINER_DESKTOP &&
diff --git a/src/com/android/launcher2/LauncherProvider.java b/src/com/android/launcher2/LauncherProvider.java
index 297c097..5e572a5 100644
--- a/src/com/android/launcher2/LauncherProvider.java
+++ b/src/com/android/launcher2/LauncherProvider.java
@@ -42,6 +42,7 @@
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.net.Uri;
+import android.os.Bundle;
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.AttributeSet;
@@ -74,6 +75,9 @@
     static final String DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED =
             "DB_CREATED_BUT_DEFAULT_WORKSPACE_NOT_LOADED";
 
+    private static final String ACTION_APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE =
+            "com.android.launcher.action.APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE";
+
     /**
      * {@link Uri} triggered at any registered {@link android.database.ContentObserver} when
      * {@link AppWidgetHost#deleteHost()} is called during database creation.
@@ -219,6 +223,7 @@
         private static final String TAG_APPWIDGET = "appwidget";
         private static final String TAG_SHORTCUT = "shortcut";
         private static final String TAG_FOLDER = "folder";
+        private static final String TAG_EXTRA = "extra";
 
         private final Context mContext;
         private final AppWidgetHost mAppWidgetHost;
@@ -820,7 +825,7 @@
                     } else if (TAG_CLOCK.equals(name)) {
                         added = addClockWidget(db, values);
                     } else if (TAG_APPWIDGET.equals(name)) {
-                        added = addAppWidget(db, values, a, packageManager);
+                        added = addAppWidget(parser, attrs, type, db, values, a, packageManager);
                     } else if (TAG_SHORTCUT.equals(name)) {
                         long id = addUriShortcut(db, values, a);
                         added = id >= 0;
@@ -972,17 +977,18 @@
 
         private boolean addSearchWidget(SQLiteDatabase db, ContentValues values) {
             ComponentName cn = getSearchWidgetProvider();
-            return addAppWidget(db, values, cn, 4, 1);
+            return addAppWidget(db, values, cn, 4, 1, null);
         }
 
         private boolean addClockWidget(SQLiteDatabase db, ContentValues values) {
             ComponentName cn = new ComponentName("com.android.alarmclock",
                     "com.android.alarmclock.AnalogAppWidgetProvider");
-            return addAppWidget(db, values, cn, 2, 2);
+            return addAppWidget(db, values, cn, 2, 2, null);
         }
 
-        private boolean addAppWidget(SQLiteDatabase db, ContentValues values, TypedArray a,
-                PackageManager packageManager) {
+        private boolean addAppWidget(XmlResourceParser parser, AttributeSet attrs, int type,
+                SQLiteDatabase db, ContentValues values, TypedArray a,
+                PackageManager packageManager) throws XmlPullParserException, IOException {
 
             String packageName = a.getString(R.styleable.Favorite_packageName);
             String className = a.getString(R.styleable.Favorite_className);
@@ -1009,14 +1015,39 @@
             if (hasPackage) {
                 int spanX = a.getInt(R.styleable.Favorite_spanX, 0);
                 int spanY = a.getInt(R.styleable.Favorite_spanY, 0);
-                return addAppWidget(db, values, cn, spanX, spanY);
+
+                // Read the extras
+                Bundle extras = new Bundle();
+                int widgetDepth = parser.getDepth();
+                while ((type = parser.next()) != XmlPullParser.END_TAG ||
+                        parser.getDepth() > widgetDepth) {
+                    if (type != XmlPullParser.START_TAG) {
+                        continue;
+                    }
+
+                    TypedArray ar = mContext.obtainStyledAttributes(attrs, R.styleable.Extra);
+                    if (TAG_EXTRA.equals(parser.getName())) {
+                        String key = ar.getString(R.styleable.Extra_key);
+                        String value = ar.getString(R.styleable.Extra_value);
+                        if (key != null && value != null) {
+                            extras.putString(key, value);
+                        } else {
+                            throw new RuntimeException("Widget extras must have a key and value");
+                        }
+                    } else {
+                        throw new RuntimeException("Widgets can contain only extras");
+                    }
+                    ar.recycle();
+                }
+
+                return addAppWidget(db, values, cn, spanX, spanY, extras);
             }
 
             return false;
         }
 
         private boolean addAppWidget(SQLiteDatabase db, ContentValues values, ComponentName cn,
-                int spanX, int spanY) {
+                int spanX, int spanY, Bundle extras) {
             boolean allocatedAppWidgets = false;
             final AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(mContext);
 
@@ -1034,6 +1065,15 @@
 
                 // TODO: need to check return value
                 appWidgetManager.bindAppWidgetIdIfAllowed(appWidgetId, cn);
+
+                // Send a broadcast to configure the widget
+                if (extras != null && !extras.isEmpty()) {
+                    Intent intent = new Intent(ACTION_APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE);
+                    intent.setComponent(cn);
+                    intent.putExtras(extras);
+                    intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
+                    mContext.sendBroadcast(intent);
+                }
             } catch (RuntimeException ex) {
                 Log.e(TAG, "Problem allocating appWidgetId", ex);
             }
diff --git a/src/com/android/launcher2/PagedViewWidget.java b/src/com/android/launcher2/PagedViewWidget.java
index 670717e..774bf1f 100644
--- a/src/com/android/launcher2/PagedViewWidget.java
+++ b/src/com/android/launcher2/PagedViewWidget.java
@@ -92,7 +92,9 @@
         name.setText(info.label);
         final TextView dims = (TextView) findViewById(R.id.widget_dims);
         if (dims != null) {
-            dims.setText(String.format(mDimensionsFormatString, cellSpan[0], cellSpan[1]));
+            int hSpan = Math.min(cellSpan[0], LauncherModel.getCellCountX());
+            int vSpan = Math.min(cellSpan[1], LauncherModel.getCellCountY());
+            dims.setText(String.format(mDimensionsFormatString, hSpan, vSpan));
         }
     }
 
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 404efc2..ec18fb3 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -386,7 +386,7 @@
     public void onDragEnd() {
         mIsDragOccuring = false;
         updateChildrenLayersEnabled();
-        mLauncher.unlockScreenOrientation();
+        mLauncher.unlockScreenOrientation(false);
     }
 
     /**