Merge "Properly catch exceptions" am: 3740fa075d am: 564698b620 am: e21cfa7521 am: 6a2ab5cf9a

Original change: https://android-review.googlesource.com/c/platform/packages/apps/ThemePicker/+/1157411

Change-Id: I99dbabe672a5fc457a4a19f2dfab25b76e632199
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 8cfc463..e326df1 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g>-horlosievoorskou"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oeps! Iets het skeefgeloop."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Kleur/ikone"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Voorskou van lettertipe, ikone, programvorm en kleur"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 724d06a..e64036a 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -27,14 +27,10 @@
     <string name="apply_btn" msgid="7965877231041987336">"ተግብር"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"የቅጥ ቅድመ-እይታ"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"የፍርግርግ ቅድመ-እይታ"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"የቅርጸ-ቁምፊ ቅድመ-እይታ"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"የአዶ ቅድመ-እይታ"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"የቀለም ቅድመ-እይታ"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"የቅርጽ ቅድመ-እይታ"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>፣ አሁን ላይ ተፈጻሚ ሆኗል"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied and previewed"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, currently previewed"</string>
@@ -76,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"የ<xliff:g id="ID_1">%1$s</xliff:g> ሰዓት ቅድመ-እይታ"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"ውይ! የሆነ ችግር ተፈጥሯል።"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"ቀለም / አዶዎች"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"የቅርጸ-ቁምፊ፣ የአዶዎች፣ የመተግበሪያ ቅርጽ እና የቀለም ቅድመ-እይታ"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 7e36d26..7e65ae6 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"معاينة الساعة <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"عفوًا! حدث خطأ ما."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"اللون / الرموز"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"معاينة الخط والرموز وشكل التطبيق واللون"</string>
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 35b4b09..ec1fe4c 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ঘড়ীৰ পূৰ্বদৰ্শন"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"দুঃখিত! কিবা ভুল হ’ল।"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"ৰং / চিহ্ন"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"ফণ্ট, চিহ্নসমূহ, এপৰ আকৃতি আৰু ৰঙৰ পূৰ্বদৰ্শন"</string>
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index e58ad29..cf29dc0 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g>, saatın önizlənməsi"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ups! Xəta baş verdi."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Rəng / İkonalar"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Şrift, ikonalar, tətbiq forması və rəng önizləməsi"</string>
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 8a8c07f..a72911c 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Папярэдні прагляд гадзінніка <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Памылка! Нешта пайшло не так."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Колер / значкі"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Перадпрагляд формы і колеру шрыфту, значкоў і праграмы"</string>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 76d5a4c..0b1f098 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Визуализация на циферблата <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ами сега! Нещо се обърка."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Цвят/икони"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Визуализация на шрифта, иконите, цвета и формата на приложенията"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index c6c96f7..b67a327 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Náhled ciferníku <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Jejda. Něco se pokazilo."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Barva/ikony"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Náhled písma, ikon, barvy a tvaru aplikací"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 0f30f2a..f7caefd 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -27,14 +27,10 @@
     <string name="apply_btn" msgid="7965877231041987336">"Anwenden"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Designvorschau"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Rastervorschau"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Schriftartvorschau"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Symbolvorschau"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Farbvorschau"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Formvorschau"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, wird aktuell angewendet"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, derzeit angewendet und in der Vorschau"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, derzeit in der Vorschau"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index e7d34aa..00dcc87 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Kellon esikatselu: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Hups! Jotain meni pieleen.."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Värit ja kuvakkeet"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Fontin, kuvakkeiden, sovelluksen muodon ja värin esikatselu"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 3688458..51bbab7 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> aperçu d\'horloge"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Petit problème… Une erreur s\'est produite."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Couleur/Icônes"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Aperçu de la police, des icônes, de la forme de l\'application et de la couleur"</string>
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 30980b1..29b0438 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Vista previa do reloxo <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ai! Produciuse un erro."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Cores/iconas"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Vista previa de tipo de letra, iconas, forma da aplicación e cor"</string>
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 77e14f8..043f016 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -27,14 +27,10 @@
     <string name="apply_btn" msgid="7965877231041987336">"લાગુ કરો"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"શૈલીનો પ્રીવ્યૂ કરો"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ગ્રિડનો પ્રીવ્યૂ કરો"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"ફોન્ટનો પ્રીવ્યૂ"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"આઇકનનો પ્રીવ્યૂ"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"રંગનો પ્રીવ્યૂ"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"આકારનો પ્રીવ્યૂ"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, હાલમાં લાગુ કરેલી થીમ"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>ને, હાલમાં લાગુ કરીને પ્રીવ્યૂ કરવામાં આવી રહ્યું છે"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>ને, હાલમાં પ્રીવ્યૂ કરવામાં આવી રહ્યું છે"</string>
@@ -76,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ઘડિયાળનું પ્રીવ્યૂ"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"અરેરે! કંઈક ખોટું થયું."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"રંગ / આઇકન"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"ફોન્ટ, આઇકન, ઍપના આકાર અને રંગનો પ્રીવ્યૂ"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 6f494de..a4ca287 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> – óra előnézete"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Hoppá! Valami hiba történt."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Szín/ikonok"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Betűtípus, ikonok, forma és szín előnézete"</string>
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 6f1512d..8790e97 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ժամացույցի նախադիտում"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Սխալ առաջացավ։"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Գույն / Պատկերակներ"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Օգտագործեք տառատեսակների, պատկերակների, ձևերի և գույների նախադիտումը։"</string>
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 8ac1838..a5d536d 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> forskoðun klukku"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Úbbs! Eitthvað fór úrskeiðis."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Litur / tákn"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Forskoðun leturgerðar, tákna, lögunar forrits og litar"</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 137789a..9aa357c 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Anteprima dell\'orologio <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Spiacenti. Si è verificato un problema."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colore/Icone"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Anteprima di carattere, icone, forma dell\'app e colore"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index d45d3c6..f0cfce6 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"תצוגה מקדימה של שעון <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"אופס! משהו השתבש."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"צבע/סמלים"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"תצוגה מקדימה של הגופן, הסמלים, צורת האפליקציה והצבע"</string>
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 1364e01..1b838a0 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> сағатын алдын ала қарау"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Қап! Бірдеңе дұрыс болмады."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Түс/Белгішелер"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Қаріпті, белгішелерді, қолданба пішінін алдын ала қарау"</string>
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 3fc84dd..7dd54b5 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ಗಡಿಯಾರ ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"ಓಹ್! ಯಾವುದೋ ತಪ್ಪು ಸಂಭವಿಸಿದೆ."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"ಬಣ್ಣ / ಐಕಾನ್‌ಗಳು"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"ಫಾಂಟ್, ಐಕಾನ್‌ಗಳು, ಆ್ಯಪ್ ಆಕಾರ ಮತ್ತು ಬಣ್ಣ"</string>
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index ca4eed4..a013670 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> саатын алдын ала көрүү"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ой! Бир жерден ката кетти."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Түс / Сүрөтчөлөр"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Ариптерди, сүрөтчөлөрдү, колдонмонун формасын жана түстү алдын ала көрүү"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 0297f29..663eb5b 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g>: pulksteņa priekšskatījums"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Diemžēl radās problēma."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Krāsa un ikonas"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Fonta, ikonu, lietotnes formas un krāsas priekšskatījums"</string>
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 8ac69b6..5692c7b 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -27,14 +27,10 @@
     <string name="apply_btn" msgid="7965877231041987336">"പ്രയോഗിക്കുക"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"സ്‌റ്റൈൽ പ്രിവ്യൂ"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ഗ്രിഡ് പ്രിവ്യൂ"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"ഫോണ്ട് പ്രിവ്യൂ"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"ഐക്കൺ പ്രിവ്യൂ"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"വർണ്ണ പ്രിവ്യൂ"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"ആകൃതി പ്രിവ്യൂ"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, നിലവിൽ ബാധകമാക്കിയത്"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, നിലവിൽ ബാധകമാക്കി പ്രിവ്യൂ ചെയ്യുന്നു"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, നിലവിൽ പ്രിവ്യൂ ചെയ്യുന്നു"</string>
@@ -76,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ക്ലോക്ക് പ്രിവ്യൂ"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"ക്ഷമിക്കണം! എന്തോ കുഴപ്പമുണ്ടായി."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"നിറം / ഐക്കണുകൾ"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"ഫോണ്ട്, ഐക്കണുകൾ, ആപ്പിന്റെ ആകൃതി, നിറം എന്നിവയുടെ പ്രിവ്യു"</string>
 </resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 03d8adb..6e4f8b7 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -27,14 +27,10 @@
     <string name="apply_btn" msgid="7965877231041987336">"लागू करा"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"शैली पूर्वावलोकन"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ग्रिड पूर्वावलोकन"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"फाँटचे पूर्वावलोकन"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"आयकनचे पूर्वावलोकन"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"रंगाचे पूर्वावलोकन"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"आकाराचे पूर्वावलोकन"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, सध्या लागू केले"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> सध्या लागू केले आहे आणि त्याचे पूर्वावलोकन केले आहे"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> चे सध्या पूर्वावलोकन करत आहे"</string>
@@ -76,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> घड्याळाचे पूर्वावलोकन"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"अरेरे! काहीतरी चूक झाली."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"रंग / आयकन"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"फॉंट, आयकन, ॲपचा आकार आणि रंग यांचे पूर्वावलोकन करा"</string>
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index d0e227b..fe3a208 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> pratonton jam"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Op! Berlaku kesilapan."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Warna / Ikon"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Pratonton fon, ikon, bentuk apl dan warna"</string>
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 2777261..ac36950 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> घडीको पूर्वावलोकन"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"हत्तेरिका! केही चिज गडबड भयो।"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"रङ / आइकनहरू"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"फन्ट, आइकन, एपको आकृति र रङको प्रिभ्यू"</string>
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 6d1badb..ebeea57 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -27,14 +27,10 @@
     <string name="apply_btn" msgid="7965877231041987336">"ପ୍ରୟୋଗ କରନ୍ତୁ"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"ଷ୍ଟାଇଲ୍ ପ୍ରିଭ୍ୟୁ"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ଗ୍ରିଡ୍ ପ୍ରିଭ୍ୟୁ"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"ଫଣ୍ଟ ପ୍ରିଭ୍ୟୁ"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"ଆଇକନ୍ ପ୍ରିଭ୍ୟୁ"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"ରଙ୍ଗ ପ୍ରିଭ୍ୟୁ"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"ଆକାର ପ୍ରିଭ୍ୟୁ"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, ବର୍ତ୍ତମାନ ଲାଗୁ ହୋଇଛି"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, ବର୍ତ୍ତମାନ ଲାଗୁ ହୋଇଛି ଏବଂ ଏହାର ପ୍ରିଭ୍ୟୁ କରାଯାଇଛି"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>ର, ବର୍ତ୍ତମାନ ପ୍ରିଭ୍ୟୁ କରାଯାଇଛି"</string>
@@ -76,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ଘଣ୍ଟାର ପୂର୍ବାବଲୋକନ"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"ଓହୋଃ, କିଛି ଭୁଲ ହୋଇଗଲା।"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"ରଙ୍ଗ / ଆଇକନଗୁଡ଼ିକ"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"ଫଣ୍ଟ, ଆଇକନ୍, ଆପ୍ ଆକାର ଏବଂ ରଙ୍ଗର ପ୍ରିଭ୍ୟୁ"</string>
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index f61182b..507424f 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ਘੜੀ ਦੀ ਪੂਰਵ-ਝਲਕ"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"ਓਹੋ! ਕੋਈ ਗੜਬੜ ਹੋਈ।"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"ਰੰਗ / ਪ੍ਰਤੀਕ"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"ਫ਼ੌਂਟ, ਪ੍ਰਤੀਕਾਂ, ਐਪ ਆਕਾਰ ਅਤੇ ਰੰਗ ਦੀ ਪੂਰਵ-ਝਲਕ ਦੇਖੋ"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 0b3bdc6..7f04d1e 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Podgląd zegara <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ups. Coś poszło nie tak."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Kolory/ikony"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Podgląd czcionki, ikon, kształtu aplikacji i koloru"</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 2631b1d..b37639b 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Previzualizarea ceasului <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Hopa! Ceva nu a funcționat cum trebuie."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Culoare/pictograme"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Previzualizați fontul, pictogramele, forma aplicației și culoarea"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index a497f91..c13ab50 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g>: предварительный просмотр циферблата"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Произошла ошибка."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Цвета и значки"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Используйте предпросмотр шрифтов, значков, форм и цветов."</string>
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 10cc0d6..edf3528 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Pamja paraprake e orës <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Mos! Ndodhi një gabim."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Ngjyra / Ikonat"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Pamja paraprake e fontit, ikonave, formës së aplikacionit dhe ngjyrës"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index ecd3e85..5829cff 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Förhandsvisning av urtavlan <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Hoppsan! Något gick fel."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Färg/ikoner"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Förhandsgranskning av teckensnitt, ikoner, appform och färg"</string>
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index da70d01..cd9b011 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> கடிகார மாதிரிக்காட்சி"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"அச்சச்சோ! ஏதோ தவறாகிவிட்டது."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"வண்ணம் / ஐகான்கள்"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"எழுத்துரு, ஐகான்கள், ஆப்ஸ் வடிவம், வண்ணம் ஆகியவற்றின் மாதிரிக்காட்சி"</string>
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 8e03819..ffc2605 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -27,14 +27,10 @@
     <string name="apply_btn" msgid="7965877231041987336">"వర్తింపజేయి"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"స్టైల్ ప్రివ్యూ"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"గ్రిడ్ ప్రివ్యూ"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"ఫాంట్ ప్రివ్యూ"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"చిహ్నం ప్రివ్యూ"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"రంగు ప్రివ్యూ"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"ఆకారం ప్రివ్యూ"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, ప్రస్తుతం వర్తింపజేయబడింది"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, ప్రస్తుతం వర్తింప చేయబడి ప్రివ్యూ చేయబడింది"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, ప్రస్తుతం ప్రివ్యూ చేయబడింది"</string>
@@ -76,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> గడియార ప్రివ్యూ"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"అయ్యో, ఏదో తప్పు జరిగింది."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"రంగు / చిహ్నాలు"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"ఫాంట్, చిహ్నాలు, యాప్ ఆకారం, రంగుల ప్రివ్యూ"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index b8de739..339d30c 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Bản xem trước đồng hồ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Rất tiếc! Đã xảy ra lỗi."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Màu/Biểu tượng"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Bản xem trước phông chữ, biểu tượng, hình dạng của ứng dụng và màu sắc"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 3a85558..ce7e527 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g>时钟预览"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"糟糕!遇到了问题。"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"颜色/图标"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"字体、图标、应用形状和颜色的预览"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 74166e0..b2a6ec4 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -72,6 +72,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"「<xliff:g id="ID_1">%1$s</xliff:g>」時鐘預覽"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"糟糕!發生錯誤。"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"顏色/圖示"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"預覽字型、圖示、應用程式形狀和顏色"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 12596ab..3e4ddcf 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -76,6 +76,5 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ukubuka kuqala iwashi"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Hawu! Kukhona okungahambile kahle."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Umbala / Izithonjana"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Ukubuka kuqala kwefonti, izithonjana, umumo wohlelo lokusebenza, nombala"</string>
 </resources>
diff --git a/src/com/android/customization/module/DefaultCustomizationInjector.java b/src/com/android/customization/module/DefaultCustomizationInjector.java
index e18cb2d..b8cdc6d 100644
--- a/src/com/android/customization/module/DefaultCustomizationInjector.java
+++ b/src/com/android/customization/module/DefaultCustomizationInjector.java
@@ -15,7 +15,12 @@
  */
 package com.android.customization.module;
 
+import static com.android.customization.picker.CustomizationPickerActivity.WALLPAPER_FLAVOR_EXTRA;
+import static com.android.customization.picker.CustomizationPickerActivity.WALLPAPER_FOCUS;
+
 import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
 
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
@@ -23,6 +28,7 @@
 import com.android.customization.model.theme.OverlayManagerCompat;
 import com.android.customization.model.theme.ThemeBundleProvider;
 import com.android.customization.model.theme.ThemeManager;
+import com.android.customization.picker.CustomizationPickerActivity;
 import com.android.wallpaper.model.CategoryProvider;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.BaseWallpaperInjector;
@@ -95,6 +101,16 @@
     }
 
     @Override
+    public Intent getDeepLinkRedirectIntent(Context context, Uri uri) {
+        Intent intent = new Intent();
+        intent.setClass(context, CustomizationPickerActivity.class);
+        intent.setData(uri);
+        intent.putExtra(WALLPAPER_FLAVOR_EXTRA, WALLPAPER_FOCUS);
+        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+        return intent;
+    }
+
+    @Override
     public synchronized PerformanceMonitor getPerformanceMonitor() {
         if (mPerformanceMonitor == null) {
             mPerformanceMonitor = new PerformanceMonitor() {
diff --git a/src/com/android/customization/picker/CustomizationPickerActivity.java b/src/com/android/customization/picker/CustomizationPickerActivity.java
index 240f879..86845fc 100644
--- a/src/com/android/customization/picker/CustomizationPickerActivity.java
+++ b/src/com/android/customization/picker/CustomizationPickerActivity.java
@@ -70,11 +70,13 @@
 import com.android.wallpaper.picker.BottomActionBarFragment;
 import com.android.wallpaper.picker.CategoryFragment;
 import com.android.wallpaper.picker.CategoryFragment.CategoryFragmentHost;
+import com.android.wallpaper.picker.FragmentTransactionChecker;
 import com.android.wallpaper.picker.MyPhotosStarter;
 import com.android.wallpaper.picker.MyPhotosStarter.PermissionChangedListener;
 import com.android.wallpaper.picker.TopLevelPickerActivity;
 import com.android.wallpaper.picker.WallpaperPickerDelegate;
 import com.android.wallpaper.picker.WallpapersUiContainer;
+import com.android.wallpaper.util.DeepLinkUtils;
 import com.android.wallpaper.widget.BottomActionBar;
 import com.android.wallpaper.widget.BottomActionBar.BottomActionBarHost;
 
@@ -89,12 +91,12 @@
  */
 public class CustomizationPickerActivity extends FragmentActivity implements WallpapersUiContainer,
         CategoryFragmentHost, ThemeFragmentHost, GridFragmentHost, ClockFragmentHost,
-        BottomActionBarHost {
+        BottomActionBarHost, FragmentTransactionChecker {
 
-    private static final String TAG = "CustomizationPickerActivity";
-    @VisibleForTesting static final String WALLPAPER_FLAVOR_EXTRA =
+    public static final String WALLPAPER_FLAVOR_EXTRA =
             "com.android.launcher3.WALLPAPER_FLAVOR";
-    @VisibleForTesting static final String WALLPAPER_FOCUS = "focus_wallpaper";
+    public static final String WALLPAPER_FOCUS = "focus_wallpaper";
+    private static final String TAG = "CustomizationPickerActivity";
     @VisibleForTesting static final String WALLPAPER_ONLY = "wallpaper_only";
 
     private WallpaperPickerDelegate mDelegate;
@@ -104,8 +106,7 @@
     private static final Map<Integer, CustomizationSection> mSections = new HashMap<>();
     private CategoryFragment mWallpaperCategoryFragment;
     private BottomActionBar mBottomActionBar;
-
-    private boolean mWallpaperCategoryInitialized;
+    private boolean mIsSafeToCommitFragmentTransaction;
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -113,7 +114,6 @@
         mDelegate = new WallpaperPickerDelegate(this, this, injector);
         mUserEventLogger = injector.getUserEventLogger(this);
         initSections();
-        mWallpaperCategoryInitialized = false;
 
         // Restore this Activity's state before restoring contained Fragments state.
         super.onCreate(savedInstanceState);
@@ -157,6 +157,7 @@
     @Override
     protected void onResume() {
         super.onResume();
+        mIsSafeToCommitFragmentTransaction = true;
         boolean wallpaperOnly =
                 WALLPAPER_ONLY.equals(getIntent().getStringExtra(WALLPAPER_FLAVOR_EXTRA));
         boolean provisioned = Settings.Global.getInt(getContentResolver(),
@@ -180,6 +181,12 @@
     }
 
     @Override
+    protected void onPause() {
+        super.onPause();
+        mIsSafeToCommitFragmentTransaction = false;
+    }
+
+    @Override
     protected void onNewIntent(Intent intent) {
         super.onNewIntent(intent);
         if (WALLPAPER_ONLY.equals(intent.getStringExtra(WALLPAPER_FLAVOR_EXTRA))) {
@@ -190,6 +197,9 @@
 
     private void skipToWallpaperPicker() {
         Intent intent = new Intent(this, TopLevelPickerActivity.class);
+        if (DeepLinkUtils.isDeepLink(getIntent())) {
+            intent.setData(getIntent().getData());
+        }
         startActivity(intent);
         finish();
     }
@@ -372,6 +382,11 @@
     }
 
     @Override
+    public void fetchCategories() {
+        mDelegate.initialize(!mDelegate.getCategoryProvider().isCategoriesFetched());
+    }
+
+    @Override
     public void onWallpapersReady() {
 
     }
@@ -441,6 +456,11 @@
         return mBottomActionBar;
     }
 
+    @Override
+    public boolean isSafeToCommitFragmentTransaction() {
+        return mIsSafeToCommitFragmentTransaction;
+    }
+
     /**
      * Represents a section of the Picker (eg "ThemeBundle", "Clock", etc).
      * There should be a concrete subclass per available section, providing the corresponding
@@ -471,7 +491,6 @@
      * {@link CustomizationSection} corresponding to the "Wallpaper" section of the Picker.
      */
     private class WallpaperSection extends CustomizationSection {
-        private boolean mForceCategoryRefresh;
 
         private WallpaperSection(int id) {
             super(id, null);
@@ -482,18 +501,9 @@
             if (mWallpaperCategoryFragment == null) {
                 mWallpaperCategoryFragment = CategoryFragment.newInstance(
                         getString(R.string.wallpaper_title));
-                mForceCategoryRefresh = true;
             }
             return mWallpaperCategoryFragment;
         }
-
-        @Override
-        void onVisible() {
-            if (!mWallpaperCategoryInitialized) {
-                mDelegate.initialize(mForceCategoryRefresh);
-            }
-            mWallpaperCategoryInitialized = true;
-        }
     }
 
     private class ThemeSection extends CustomizationSection<ThemeBundle> {
diff --git a/src/com/android/customization/picker/WallpaperPreviewer.java b/src/com/android/customization/picker/WallpaperPreviewer.java
index ba750c9..21ec51d 100644
--- a/src/com/android/customization/picker/WallpaperPreviewer.java
+++ b/src/com/android/customization/picker/WallpaperPreviewer.java
@@ -15,9 +15,6 @@
  */
 package com.android.customization.picker;
 
-import static android.view.View.MeasureSpec.EXACTLY;
-import static android.view.View.MeasureSpec.makeMeasureSpec;
-
 import android.app.Activity;
 import android.app.WallpaperColors;
 import android.content.Intent;
@@ -25,8 +22,6 @@
 import android.graphics.RectF;
 import android.service.wallpaper.WallpaperService;
 import android.view.Surface;
-import android.view.SurfaceControlViewHost;
-import android.view.SurfaceHolder;
 import android.view.SurfaceView;
 import android.view.View;
 import android.view.ViewGroup;
@@ -35,7 +30,6 @@
 import androidx.annotation.MainThread;
 import androidx.annotation.Nullable;
 import androidx.cardview.widget.CardView;
-import androidx.core.content.ContextCompat;
 import androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
@@ -47,6 +41,7 @@
 import com.android.wallpaper.util.SizeCalculator;
 import com.android.wallpaper.util.WallpaperConnection;
 import com.android.wallpaper.util.WallpaperConnection.WallpaperConnectionListener;
+import com.android.wallpaper.util.WallpaperSurfaceCallback;
 import com.android.wallpaper.widget.LiveTileOverlay;
 import com.android.wallpaper.widget.WallpaperColorsLoader;
 
@@ -60,14 +55,10 @@
     private final Activity mActivity;
     private final ImageView mHomePreview;
     private final SurfaceView mWallpaperSurface;
-    private final WallpaperSurfaceCallback mWallpaperSurfaceCallback =
-            new WallpaperSurfaceCallback();
 
+    private WallpaperSurfaceCallback mWallpaperSurfaceCallback;
     private WallpaperInfo mWallpaper;
     private WallpaperConnection mWallpaperConnection;
-    // Home workspace surface is behind the app window, and so must the home image wallpaper like
-    // the live wallpaper. This view is rendered on mWallpaperSurface for home image wallpaper.
-    private ImageView mHomeImageWallpaper;
     @Nullable private WallpaperColorsListener mWallpaperColorsListener;
 
     /** Interface for getting {@link WallpaperColors} from wallpaper. */
@@ -83,6 +74,8 @@
         mActivity = activity;
         mHomePreview = homePreview;
         mWallpaperSurface = wallpaperSurface;
+        mWallpaperSurfaceCallback = new WallpaperSurfaceCallback(activity, mHomePreview,
+                mWallpaperSurface, this::setUpWallpaperPreview);
         mWallpaperSurface.setZOrderMediaOverlay(false);
         mWallpaperSurface.getHolder().addCallback(mWallpaperSurfaceCallback);
 
@@ -153,18 +146,19 @@
     }
 
     private void setUpWallpaperPreview() {
-        if (mWallpaper != null && mHomeImageWallpaper != null) {
+        ImageView homeImageWallpaper = mWallpaperSurfaceCallback.getHomeImageWallpaper();
+        if (mWallpaper != null && homeImageWallpaper != null) {
             boolean renderInImageWallpaperSurface = !(mWallpaper instanceof LiveWallpaperInfo);
             mWallpaper.getThumbAsset(mActivity.getApplicationContext())
                     .loadPreviewImage(mActivity,
-                            renderInImageWallpaperSurface ? mHomeImageWallpaper : mHomePreview,
+                            renderInImageWallpaperSurface ? homeImageWallpaper : mHomePreview,
                             mActivity.getResources().getColor(R.color.secondary_color));
             LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
             if (mWallpaper instanceof LiveWallpaperInfo) {
                 mWallpaper.getThumbAsset(mActivity.getApplicationContext())
                         .loadPreviewImage(
                                 mActivity,
-                                mHomeImageWallpaper,
+                                homeImageWallpaper,
                                 mActivity.getColor(R.color.secondary_color));
                 setUpLiveWallpaperPreview(mWallpaper);
             } else {
@@ -193,34 +187,44 @@
         if (mWallpaperConnection != null) {
             mWallpaperConnection.disconnect();
         }
+        if (WallpaperConnection.isPreviewAvailable()) {
+            mHomePreview.getLocationOnScreen(mLivePreviewLocation);
+            mPreviewGlobalRect.set(0, 0, mHomePreview.getMeasuredWidth(),
+                    mHomePreview.getMeasuredHeight());
+            mPreviewLocalRect.set(mPreviewGlobalRect);
+            mPreviewGlobalRect.offset(mLivePreviewLocation[0], mLivePreviewLocation[1]);
 
-        mHomePreview.getLocationOnScreen(mLivePreviewLocation);
-        mPreviewGlobalRect.set(0, 0, mHomePreview.getMeasuredWidth(),
-                mHomePreview.getMeasuredHeight());
-        mPreviewLocalRect.set(mPreviewGlobalRect);
-        mPreviewGlobalRect.offset(mLivePreviewLocation[0], mLivePreviewLocation[1]);
-
-        mWallpaperConnection = new WallpaperConnection(
-                getWallpaperIntent(homeWallpaper.getWallpaperComponent()), mActivity,
-                new WallpaperConnectionListener() {
-                    @Override
-                    public void onWallpaperColorsChanged(WallpaperColors colors, int displayId) {
-                        if (mWallpaperColorsListener != null) {
-                            mWallpaperColorsListener.onWallpaperColorsChanged(colors);
+            mWallpaperConnection = new WallpaperConnection(
+                    getWallpaperIntent(homeWallpaper.getWallpaperComponent()), mActivity,
+                    new WallpaperConnectionListener() {
+                        @Override
+                        public void onWallpaperColorsChanged(WallpaperColors colors,
+                                int displayId) {
+                            if (mWallpaperColorsListener != null) {
+                                mWallpaperColorsListener.onWallpaperColorsChanged(colors);
+                            }
                         }
-                    }
-                }, mPreviewGlobalRect);
+                    }, mPreviewGlobalRect);
 
-        LiveTileOverlay.INSTANCE.update(new RectF(mPreviewLocalRect),
-                ((CardView) mHomePreview.getParent()).getRadius());
+            LiveTileOverlay.INSTANCE.update(new RectF(mPreviewLocalRect),
+                    ((CardView) mHomePreview.getParent()).getRadius());
 
-        mWallpaperConnection.setVisibility(true);
-        mHomePreview.post(() -> {
-            if (mWallpaperConnection != null && !mWallpaperConnection.connect()) {
-                mWallpaperConnection = null;
-                LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
+            mWallpaperConnection.setVisibility(true);
+            mHomePreview.post(() -> {
+                if (mWallpaperConnection != null && !mWallpaperConnection.connect()) {
+                    mWallpaperConnection = null;
+                    LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
+                }
+            });
+        } else {
+            // Load wallpaper color from the thumbnail.
+            if (mWallpaperColorsListener != null) {
+                WallpaperColorsLoader.getWallpaperColors(
+                        mActivity,
+                        mWallpaper.getThumbAsset(mActivity),
+                        mWallpaperColorsListener::onWallpaperColorsChanged);
             }
-        });
+        }
     }
 
     /** Updates the preview card view corner radius to match the device corner radius. */
@@ -239,44 +243,4 @@
         return new Intent(WallpaperService.SERVICE_INTERFACE)
                 .setClassName(info.getPackageName(), info.getServiceName());
     }
-
-    private class WallpaperSurfaceCallback implements SurfaceHolder.Callback {
-
-        private Surface mLastSurface;
-        private SurfaceControlViewHost mHost;
-
-        @Override
-        public void surfaceCreated(SurfaceHolder holder) {
-            if (mLastSurface != holder.getSurface()) {
-                mLastSurface = holder.getSurface();
-                mHomeImageWallpaper = new ImageView(mActivity);
-                mHomeImageWallpaper.setBackgroundColor(
-                        ContextCompat.getColor(mActivity, R.color.primary_color));
-                mHomeImageWallpaper.measure(makeMeasureSpec(mHomePreview.getWidth(), EXACTLY),
-                        makeMeasureSpec(mHomePreview.getHeight(), EXACTLY));
-                mHomeImageWallpaper.layout(0, 0, mHomePreview.getWidth(), mHomePreview.getHeight());
-
-                cleanUp();
-                mHost = new SurfaceControlViewHost(mActivity,
-                        mActivity.getDisplay(), mWallpaperSurface.getHostToken());
-                mHost.setView(mHomeImageWallpaper, mHomeImageWallpaper.getWidth(),
-                        mHomeImageWallpaper.getHeight());
-                mWallpaperSurface.setChildSurfacePackage(mHost.getSurfacePackage());
-            }
-            setUpWallpaperPreview();
-        }
-
-        @Override
-        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
-
-        @Override
-        public void surfaceDestroyed(SurfaceHolder holder) {}
-
-        public void cleanUp() {
-            if (mHost != null) {
-                mHost.release();
-                mHost = null;
-            }
-        }
-    }
 }
diff --git a/src_override/com/android/wallpaper/module/WallpapersInjector.java b/src_override/com/android/wallpaper/module/WallpapersInjector.java
index b9a6952..d113c1b 100755
--- a/src_override/com/android/wallpaper/module/WallpapersInjector.java
+++ b/src_override/com/android/wallpaper/module/WallpapersInjector.java
@@ -16,6 +16,8 @@
 package com.android.wallpaper.module;
 
 import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
 
 import androidx.fragment.app.Fragment;
 
@@ -23,6 +25,7 @@
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.monitor.PerformanceMonitor;
 import com.android.wallpaper.picker.ImagePreviewFragment;
+import com.android.wallpaper.picker.TopLevelPickerActivity;
 
 /**
  * A concrete, real implementation of the dependency provider.
@@ -75,6 +78,15 @@
     }
 
     @Override
+    public Intent getDeepLinkRedirectIntent(Context context, Uri uri) {
+        Intent intent = new Intent();
+        intent.setClass(context, TopLevelPickerActivity.class);
+        intent.setData(uri);
+        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+        return intent;
+    }
+
+    @Override
     public synchronized PerformanceMonitor getPerformanceMonitor() {
         if (mPerformanceMonitor == null) {
             mPerformanceMonitor = new PerformanceMonitor() {