Merge "Remove beta tag for theme icon toggle" into main
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 11f638c..058ea61 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -119,11 +119,11 @@
     <string name="beta_title" msgid="8703819523760746458">"Бэта"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Змяніць сетку праграм"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Колеры шпалер"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Значкі, тэкст і іншае адпавядаюць колерам вашых шпалер"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Значкі і іншае змесціва адпавядаюць колерам шпалер"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Колер шпалер"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Асноўныя колеры"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Іншыя колеры"</string>
-    <string name="preset_color_subheader" msgid="8230588536141279371">"Выбірайце колеры для значкоў, гадзінніка і іншых выяў"</string>
+    <string name="preset_color_subheader" msgid="8230588536141279371">"Выбірайце колеры для значкоў, гадзінніка і іншага змесціва"</string>
     <string name="color_changed" msgid="7029571720331641235">"Колер зменены"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Дынамічны"</string>
     <string name="color_picker_title" msgid="6666830057938082864">"Сістэмныя колеры"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index aafab61..c153934 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -119,7 +119,7 @@
     <string name="beta_title" msgid="8703819523760746458">"বিটা"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"অ্যাপ গ্রিড পরিবর্তন করুন"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"ওয়ালপেপারের রঙ"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"ওয়ালপেপারে আইকন, টেক্সট ও আরও কিছু রঙের সাথে মিলে যায়"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"ওয়ালপেপারে আইকন, টেক্সট ও এগুলির সাথে মানানসই আরও রঙ"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"ওয়ালপেপারের রঙ"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"প্রাথমিক রঙ"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"অন্য রঙ"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 1373d33..f76a199 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -147,7 +147,7 @@
     <string name="lock_screen_notifications_section_title" msgid="906673283764252102">"Notif. en la pantalla de bloqueo"</string>
     <string name="lock_screen_notifications_section_description" msgid="3321937285144466046">"Gestiona cómo aparecen las notificaciones y qué se muestra"</string>
     <string name="more_settings_section_title" msgid="6854797937797818510">"Más ajustes (pantalla de bloqueo)"</string>
-    <string name="more_settings_section_description" msgid="1860115709122398325">"Privacidad, Está Sonando y más"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Privacidad, Está sonando y más"</string>
     <string name="more_colors" msgid="3191071655353004591">"Más colores"</string>
     <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Tema dinámico principal"</string>
     <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Tema neutro principal"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 4ba4882..ba97afc 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -118,7 +118,7 @@
     <string name="themed_icon_title" msgid="7312460430471956558">"Icônes du thème"</string>
     <string name="beta_title" msgid="8703819523760746458">"Bêta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Modifiez la grille d\'applis"</string>
-    <string name="wallpaper_color_tab" msgid="1447926591721403840">"Couleurs fond d\'écran"</string>
+    <string name="wallpaper_color_tab" msgid="1447926591721403840">"Couleurs de fond d\'écran"</string>
     <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Icônes, texte, etc., assortis aux couleurs du fond d\'écran"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Couleur du fond d\'écran"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Couleurs de base"</string>
@@ -126,7 +126,7 @@
     <string name="preset_color_subheader" msgid="8230588536141279371">"Choisissez une couleur (pour icônes, horloge, etc.)"</string>
     <string name="color_changed" msgid="7029571720331641235">"Couleur changée"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dynamique"</string>
-    <string name="color_picker_title" msgid="6666830057938082864">"Couleurs système"</string>
+    <string name="color_picker_title" msgid="6666830057938082864">"Couleurs du système"</string>
     <string name="system_colors_title" msgid="8011422955674152731">"Couleurs"</string>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Raccourci gauche"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Raccourci droit"</string>
@@ -146,7 +146,7 @@
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Afficher les notifications sur l\'écran de verrouillage"</string>
     <string name="lock_screen_notifications_section_title" msgid="906673283764252102">"Notif. sur l\'écran de verrouil."</string>
     <string name="lock_screen_notifications_section_description" msgid="3321937285144466046">"Gérez comment les notifications apparaissent et quoi afficher"</string>
-    <string name="more_settings_section_title" msgid="6854797937797818510">"Paramètres écran de verrouillage"</string>
+    <string name="more_settings_section_title" msgid="6854797937797818510">"Autres paramètres de l\'écran de verrouillage"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Confidentialité, En cours de lecture, etc."</string>
     <string name="more_colors" msgid="3191071655353004591">"Plus de couleurs"</string>
     <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Thème dynamique principal"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index ce8bc7e..c32848a 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -115,7 +115,7 @@
     <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensidade de cor"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tema escuro"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Desactivouse temporalmente debido ao Aforro de batería"</string>
-    <string name="themed_icon_title" msgid="7312460430471956558">"Tema das iconas"</string>
+    <string name="themed_icon_title" msgid="7312460430471956558">"Iconas temáticas"</string>
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Cambia a grade de aplicacións"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Cores do fondo"</string>
@@ -146,7 +146,7 @@
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Mostrar notificacións na pantalla de bloqueo"</string>
     <string name="lock_screen_notifications_section_title" msgid="906673283764252102">"Notif. na pantalla de bloqueo"</string>
     <string name="lock_screen_notifications_section_description" msgid="3321937285144466046">"Xestiona como aparecen as notificacións e que queres que se mostre"</string>
-    <string name="more_settings_section_title" msgid="6854797937797818510">"Máis opcións pantalla de bloqueo"</string>
+    <string name="more_settings_section_title" msgid="6854797937797818510">"Máis opcións da pantalla de bloqueo"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privacidade, Está soando e moito máis"</string>
     <string name="more_colors" msgid="3191071655353004591">"Máis cores"</string>
     <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Tema dinámico con cores primarias"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 19b4559..213bd1d 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -122,7 +122,7 @@
     <string name="wallpaper_color_subheader" msgid="4044464573669965670">"वॉलपेपर में आइकॉन, टेक्स्ट वगैरह के लिए मिलते-जुलते रंग"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"वॉलपेपर का रंग"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"सामान्य रंग"</string>
-    <string name="preset_color_tab_2" msgid="1444107326712562538">"दूसरे रंग"</string>
+    <string name="preset_color_tab_2" msgid="1444107326712562538">"अन्य रंग"</string>
     <string name="preset_color_subheader" msgid="8230588536141279371">"डिवाइस के आइकॉन, घड़ी वगैरह के लिए रंग चुनें"</string>
     <string name="color_changed" msgid="7029571720331641235">"रंग बदल दिया गया है"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"डाइनैमिक"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 9712803..c7539be 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -148,7 +148,7 @@
     <string name="lock_screen_notifications_section_description" msgid="3321937285144466046">"Хабарландырулардың қалай және не көрсететінін басқарыңыз."</string>
     <string name="more_settings_section_title" msgid="6854797937797818510">"Басқа құлып экраны параметрлері"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Құпиялық, Now Playing және басқа функциялар"</string>
-    <string name="more_colors" msgid="3191071655353004591">"Қосымша түстер"</string>
+    <string name="more_colors" msgid="3191071655353004591">"Басқа да түстер"</string>
     <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Негізгі динамикалық тақырып"</string>
     <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Негізгі бейтарап тақырып"</string>
     <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Негізгі қанық тақырып"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 9176025..65b4a28 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -147,7 +147,7 @@
     <string name="lock_screen_notifications_section_title" msgid="906673283764252102">"잠금 화면에 표시할 알림"</string>
     <string name="lock_screen_notifications_section_description" msgid="3321937285144466046">"알림 표시 방식 및 표시할 항목 관리"</string>
     <string name="more_settings_section_title" msgid="6854797937797818510">"잠금 화면 설정 더보기"</string>
-    <string name="more_settings_section_description" msgid="1860115709122398325">"개인 정보 보호, Now Playing 등"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"개인 정보 보호, 나우 플레잉 등"</string>
     <string name="more_colors" msgid="3191071655353004591">"색상 더보기"</string>
     <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"기본 동적 테마"</string>
     <string name="content_description_neutral_color_option" msgid="3385443834001275301">"기본 보통 테마"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 857c1ae..a417a2e 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -115,7 +115,7 @@
     <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"कलर इन्टेन्सिटी"</string>
     <string name="mode_title" msgid="2394873501427436055">"अँध्यारो थिम"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"ब्याट्री सेभर अन भएकाले केही समयका लागि अफ गरिएको छ"</string>
-    <string name="themed_icon_title" msgid="7312460430471956558">"थिम भएका आइकन"</string>
+    <string name="themed_icon_title" msgid="7312460430471956558">"थिमयुक्त आइकन"</string>
     <string name="beta_title" msgid="8703819523760746458">"बिटा"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"एप ग्रिड बदल्नुहोस्"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"वालपेपरका रङहरू"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index cb1590c..1223425 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -147,7 +147,7 @@
     <string name="lock_screen_notifications_section_title" msgid="906673283764252102">"ଲକ ସ୍କ୍ରିନରେ ବିଜ୍ଞପ୍ତି"</string>
     <string name="lock_screen_notifications_section_description" msgid="3321937285144466046">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ କିପରି ଦେଖାଯିବ ଏବଂ କଣ ଦେଖାଇବ ତାହା ପରିଚାଳନା କରନ୍ତୁ"</string>
     <string name="more_settings_section_title" msgid="6854797937797818510">"ଅଧିକ ଲକ ସ୍କ୍ରିନ ସେଟିଂସ"</string>
-    <string name="more_settings_section_description" msgid="1860115709122398325">"ଗୋପନୀୟତା, ବର୍ତ୍ତମାନ ପ୍ଲେ ହେଉଛି ଏବଂ ଆହୁରି ଅନେକ କିଛି"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"ଗୋପନୀୟତା, ବର୍ତ୍ତମାନ ଚାଲୁଛି ଏବଂ ଆହୁରି ଅନେକ କିଛି"</string>
     <string name="more_colors" msgid="3191071655353004591">"ଅଧିକ ରଙ୍ଗ"</string>
     <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"ପ୍ରାଥମିକ ଡାଇନାମିକ ଥିମ"</string>
     <string name="content_description_neutral_color_option" msgid="3385443834001275301">"ପ୍ରାଥମିକ ନ୍ୟୁଟ୍ରାଲ ଥିମ"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 6e2e16e..0656501 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -123,7 +123,7 @@
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Rangi ya mandhari"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Rangi za msingi"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Rangi nyinginezo"</string>
-    <string name="preset_color_subheader" msgid="8230588536141279371">"Chagua rangi yoyote uitumie kwenye aikoni, saa na zaidi"</string>
+    <string name="preset_color_subheader" msgid="8230588536141279371">"Chagua rangi yoyote uitumie kwenye aikoni, saa na kwingineko"</string>
     <string name="color_changed" msgid="7029571720331641235">"Rangi imebadilishwa"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Inayobadilika"</string>
     <string name="color_picker_title" msgid="6666830057938082864">"Rangi za mfumo"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 3fc8244..71d1966 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -115,18 +115,18 @@
     <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"రంగు తీవ్రత"</string>
     <string name="mode_title" msgid="2394873501427436055">"డార్క్ థీమ్‌"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"బ్యాటరీ సేవర్ కారణంగా తాత్కాలికంగా డిజేబుల్‌ చేయబడింది"</string>
-    <string name="themed_icon_title" msgid="7312460430471956558">"రూపానికి తగిన చిహ్నాలు"</string>
+    <string name="themed_icon_title" msgid="7312460430471956558">"థీమ్‌కు తగిన చిహ్నాలు"</string>
     <string name="beta_title" msgid="8703819523760746458">"బీటా"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"యాప్ గ్రిడ్‌ను మార్చండి"</string>
-    <string name="wallpaper_color_tab" msgid="1447926591721403840">"వాల్‌పేపర్ రంగులు"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"మీ వాల్‌పేపర్‌లో చిహ్నాలు, టెక్స్ట్, అలాగే మరిన్ని మ్యాచ్ అయ్యే రంగులు ఉన్నాయి"</string>
+    <string name="wallpaper_color_tab" msgid="1447926591721403840">"వాల్‌పేపర్ కలర్స్‌"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"ఐకాన్స్, టెక్స్ట్&amp;మరిన్ని వాల్‌పేపర్ రంగులకు సరిపోతాయి."</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"వాల్‌పేపర్ రంగు"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"ప్రాథమిక రంగులు"</string>
-    <string name="preset_color_tab_2" msgid="1444107326712562538">"ఇతర రంగులు"</string>
+    <string name="preset_color_tab_2" msgid="1444107326712562538">"ఇతర కలర్స్‌"</string>
     <string name="preset_color_subheader" msgid="8230588536141279371">"మీ చిహ్నాలు, గడియారం, మరిన్నింటి కోసం రంగును ఎంచుకోండి"</string>
     <string name="color_changed" msgid="7029571720331641235">"రంగు మార్చబడింది"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"డైనమిక్"</string>
-    <string name="color_picker_title" msgid="6666830057938082864">"సిస్టమ్ రంగులు"</string>
+    <string name="color_picker_title" msgid="6666830057938082864">"సిస్టమ్ కలర్స్‌"</string>
     <string name="system_colors_title" msgid="8011422955674152731">"రంగులు"</string>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ఎడమ షార్ట్‌కట్"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"కుడి షార్ట్‌కట్"</string>
@@ -137,7 +137,7 @@
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"పూర్తయింది"</string>
     <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"షార్ట్‌కట్‌లు"</string>
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"షార్ట్‌కట్‌లు"</string>
-    <string name="color_contrast_section_title" msgid="7194809124718896091">"రంగు కాంట్రాస్ట్"</string>
+    <string name="color_contrast_section_title" msgid="7194809124718896091">"కలర్ కాంట్రాస్ట్"</string>
     <string name="color_contrast_default_title" msgid="7954235103549276978">"డిఫాల్ట్"</string>
     <string name="color_contrast_medium_title" msgid="8071574793250090215">"మధ్యస్థం"</string>
     <string name="color_contrast_high_title" msgid="5554685752479470200">"ఎక్కువ"</string>
@@ -148,7 +148,7 @@
     <string name="lock_screen_notifications_section_description" msgid="3321937285144466046">"నోటిఫికేషన్‌లు ఎలా కనిపించాలి, ఎలాంటివి చూపాలో మేనేజ్ చేయండి"</string>
     <string name="more_settings_section_title" msgid="6854797937797818510">"మరిన్ని లాక్ స్క్రీన్ సెట్టింగ్‌లు"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"గోప్యత, Now Playing, ఇంకా మరిన్ని"</string>
-    <string name="more_colors" msgid="3191071655353004591">"మరిన్ని రంగులు"</string>
+    <string name="more_colors" msgid="3191071655353004591">"మరిన్ని కలర్స్"</string>
     <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"ప్రాథమిక డైనమిక్ రూపం"</string>
     <string name="content_description_neutral_color_option" msgid="3385443834001275301">"ప్రాథమిక న్యూట్రల్ రూపం"</string>
     <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"ప్రాథమిక వైబ్రెంట్ రూపం"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index dd8b63b..3edfd5f 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -115,15 +115,15 @@
     <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Renk yoğunluğu"</string>
     <string name="mode_title" msgid="2394873501427436055">"Koyu tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Pil Tasarrufu nedeniyle geçici olarak devre dışı bırakıldı"</string>
-    <string name="themed_icon_title" msgid="7312460430471956558">"Tema simgeleri"</string>
+    <string name="themed_icon_title" msgid="7312460430471956558">"Temalı simgeler"</string>
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Uygulama ızgarasını değiştirin"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Duvar kağıdı renkleri"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Simge, metin ve diğerleri için duvar kağıdınızla eşleşen renkler"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Simge ve metinler gibi öğelerin renkleri, duvar kağıdınızla eşleşir"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Duvar kağıdı rengi"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Temel renkler"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Diğer renkler"</string>
-    <string name="preset_color_subheader" msgid="8230588536141279371">"Simge, saat ve diğerleri için istediğiniz rengi seçin"</string>
+    <string name="preset_color_subheader" msgid="8230588536141279371">"Simgeler ve saat gibi öğeler için istediğiniz rengi seçin"</string>
     <string name="color_changed" msgid="7029571720331641235">"Renk değişti"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamik"</string>
     <string name="color_picker_title" msgid="6666830057938082864">"Sistem renkleri"</string>
@@ -148,7 +148,7 @@
     <string name="lock_screen_notifications_section_description" msgid="3321937285144466046">"Bildirimlerin nasıl görüneceğini ve nelerin gösterileceğini yönetin"</string>
     <string name="more_settings_section_title" msgid="6854797937797818510">"Diğer kilit ekranı ayarları"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Gizlilik, Ne Çalıyor? ve daha fazlası"</string>
-    <string name="more_colors" msgid="3191071655353004591">"Diğer Renkler"</string>
+    <string name="more_colors" msgid="3191071655353004591">"Diğer renkler"</string>
     <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Birincil dinamik tema"</string>
     <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Birincil nötr tema"</string>
     <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Birincil canlı tema"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 68b8427..a1a88e8 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -17,7 +17,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_name" msgid="1647136562008520313">"壁纸与个性化"</string>
+    <string name="app_name" msgid="1647136562008520313">"壁纸与风格"</string>
     <string name="theme_title" msgid="2144932106319405101">"样式"</string>
     <string name="clock_title" msgid="2126046720254613991">"时钟"</string>
     <string name="clock_description" msgid="3563839327378948">"选择自定义钟面"</string>
diff --git a/src/com/android/customization/model/color/ColorProvider.kt b/src/com/android/customization/model/color/ColorProvider.kt
index ef5e3d6..5c2b891 100644
--- a/src/com/android/customization/model/color/ColorProvider.kt
+++ b/src/com/android/customization/model/color/ColorProvider.kt
@@ -117,16 +117,19 @@
         }
 
         scope.launch {
+            // Wait for the previous preset color loading job to finish before evaluating whether to
+            // start a new one
             loaderJob?.join()
             if (presetColorBundles == null || reload) {
-                try {
-                    loaderJob = launch { loadPreset(isNewPickerUi) }
-                } catch (e: Throwable) {
-                    colorsAvailable = false
-                    callback?.onError(e)
-                    return@launch
+                loaderJob = launch {
+                    try {
+                        loadPreset(isNewPickerUi)
+                        callback?.onOptionsLoaded(buildFinalList(isNewPickerUi))
+                    } catch (e: Throwable) {
+                        colorsAvailable = false
+                        callback?.onError(e)
+                    }
                 }
-                callback?.onOptionsLoaded(buildFinalList(isNewPickerUi))
             } else {
                 callback?.onOptionsLoaded(buildFinalList(isNewPickerUi))
             }
diff --git a/src/com/android/customization/model/grid/DefaultShapeGridManager.kt b/src/com/android/customization/model/grid/DefaultShapeGridManager.kt
index 6f20dd3..f8b0c3a 100644
--- a/src/com/android/customization/model/grid/DefaultShapeGridManager.kt
+++ b/src/com/android/customization/model/grid/DefaultShapeGridManager.kt
@@ -18,7 +18,9 @@
 
 import android.content.ContentValues
 import android.content.Context
+import android.content.res.Resources
 import android.graphics.drawable.Drawable
+import android.util.Log
 import androidx.core.content.res.ResourcesCompat
 import com.android.wallpaper.R
 import com.android.wallpaper.picker.di.modules.BackgroundDispatcher
@@ -156,15 +158,26 @@
         )
     }
 
-    override fun getGridOptionDrawble(iconId: Int): Drawable? {
-        return ResourcesCompat.getDrawable(
-            context.packageManager.getResourcesForApplication(APP_RESOURCES_PACKAGE_NAME),
-            iconId,
-            /* theme = */ null,
-        )
+    override fun getGridOptionDrawable(iconId: Int): Drawable? {
+        try {
+            val drawable =
+                ResourcesCompat.getDrawable(
+                    context.packageManager.getResourcesForApplication(APP_RESOURCES_PACKAGE_NAME),
+                    iconId,
+                    /* theme = */ null,
+                )
+            return drawable
+        } catch (exception: Resources.NotFoundException) {
+            Log.w(
+                TAG,
+                "Unable to find drawable resource from package $APP_RESOURCES_PACKAGE_NAME with resource ID $iconId",
+            )
+            return null
+        }
     }
 
     companion object {
+        const val TAG = "DefaultShapeGridManager"
         const val SHAPE_OPTIONS: String = "shape_options"
         const val GRID_OPTIONS: String = "list_options"
         const val SHAPE_GRID: String = "default_grid"
diff --git a/src/com/android/customization/model/grid/ShapeGridManager.kt b/src/com/android/customization/model/grid/ShapeGridManager.kt
index 7a74b8d..7699783 100644
--- a/src/com/android/customization/model/grid/ShapeGridManager.kt
+++ b/src/com/android/customization/model/grid/ShapeGridManager.kt
@@ -26,5 +26,5 @@
 
     fun applyShapeGridOption(shapeKey: String, gridKey: String): Int
 
-    fun getGridOptionDrawble(iconId: Int): Drawable?
+    fun getGridOptionDrawable(iconId: Int): Drawable?
 }
diff --git a/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt b/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt
index 27bc42c..dccef6e 100644
--- a/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt
+++ b/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt
@@ -467,15 +467,16 @@
                 it.pivotY = it.height / 2F
             }
 
-            val controller = clockViewFactory.getController(clockId)
-            if (isMiddleView) {
-                clockScaleView.scaleX = 1f
-                clockScaleView.scaleY = 1f
-                controller.largeClock.animations.onPickerCarouselSwiping(1F)
-            } else {
-                clockScaleView.scaleX = clockViewScale
-                clockScaleView.scaleY = clockViewScale
-                controller.largeClock.animations.onPickerCarouselSwiping(0F)
+            clockViewFactory.getController(clockId)?.let { controller ->
+                if (isMiddleView) {
+                    clockScaleView.scaleX = 1f
+                    clockScaleView.scaleY = 1f
+                    controller.largeClock.animations.onPickerCarouselSwiping(1F)
+                } else {
+                    clockScaleView.scaleX = clockViewScale
+                    clockScaleView.scaleY = clockViewScale
+                    controller.largeClock.animations.onPickerCarouselSwiping(0F)
+                }
             }
         }
 
diff --git a/src/com/android/customization/picker/clock/ui/view/ThemePickerClockViewFactory.kt b/src/com/android/customization/picker/clock/ui/view/ThemePickerClockViewFactory.kt
index 73ebb0f..c48d810 100644
--- a/src/com/android/customization/picker/clock/ui/view/ThemePickerClockViewFactory.kt
+++ b/src/com/android/customization/picker/clock/ui/view/ThemePickerClockViewFactory.kt
@@ -43,7 +43,7 @@
 class ThemePickerClockViewFactory
 @Inject
 constructor(
-    activity: Activity,
+    private val activity: Activity,
     private val wallpaperManager: WallpaperManager,
     private val registry: ClockRegistry,
 ) : ClockViewFactory {
@@ -55,9 +55,9 @@
     private val clockControllers: ConcurrentHashMap<String, ClockController> = ConcurrentHashMap()
     private val smallClockFrames: HashMap<String, FrameLayout> = HashMap()
 
-    override fun getController(clockId: String): ClockController {
+    override fun getController(clockId: String): ClockController? {
         return clockControllers[clockId]
-            ?: initClockController(clockId).also { clockControllers[clockId] = it }
+            ?: initClockController(clockId)?.also { clockControllers[clockId] = it }
     }
 
     /**
@@ -66,10 +66,10 @@
      */
     override fun getLargeView(clockId: String): View {
         assert(!Flags.newCustomizationPickerUi())
-        return getController(clockId).largeClock.let {
+        return getController(clockId)?.largeClock?.let {
             it.animations.onPickerCarouselSwiping(1F)
             it.view
-        }
+        } ?: FrameLayout(activity)
     }
 
     /**
@@ -83,9 +83,9 @@
                 (layoutParams as FrameLayout.LayoutParams).topMargin = getSmallClockTopMargin()
                 (layoutParams as FrameLayout.LayoutParams).marginStart = getSmallClockStartPadding()
             }
-                ?: createSmallClockFrame().also {
-                    it.addView(getController(clockId).smallClock.view)
-                    smallClockFrames[clockId] = it
+                ?: createSmallClockFrame().also { frame ->
+                    getController(clockId)?.let { frame.addView(it.smallClock.view) }
+                    smallClockFrames[clockId] = frame
                 }
         smallClockFrame.translationX = 0F
         smallClockFrame.translationY = 0F
@@ -130,14 +130,14 @@
     }
 
     override fun updateColor(clockId: String, @ColorInt seedColor: Int?) {
-        getController(clockId).let {
+        getController(clockId)?.let {
             it.largeClock.run { events.onThemeChanged(theme.copy(seedColor = seedColor)) }
             it.smallClock.run { events.onThemeChanged(theme.copy(seedColor = seedColor)) }
         }
     }
 
     override fun updateFontAxes(clockId: String, settings: List<ClockFontAxisSetting>) {
-        getController(clockId).let { it.events.onFontAxesChanged(settings) }
+        getController(clockId)?.let { it.events.onFontAxesChanged(settings) }
     }
 
     override fun updateRegionDarkness() {
@@ -155,8 +155,8 @@
 
     override fun updateTimeFormat(clockId: String) {
         getController(clockId)
-            .events
-            .onTimeFormatChanged(android.text.format.DateFormat.is24HourFormat(appContext))
+            ?.events
+            ?.onTimeFormatChanged(android.text.format.DateFormat.is24HourFormat(appContext))
     }
 
     override fun registerTimeTicker(owner: LifecycleOwner) {
@@ -190,33 +190,32 @@
         }
     }
 
-    private fun initClockController(clockId: String): ClockController {
+    private fun initClockController(clockId: String): ClockController? {
         val isWallpaperDark = isLockscreenWallpaperDark()
-        val controller =
-            registry.createExampleClock(clockId).also { it?.initialize(isWallpaperDark, 0f, 0f) }
-        checkNotNull(controller)
+        return registry.createExampleClock(clockId)?.also { controller ->
+            controller.initialize(isWallpaperDark, 0f, 0f)
 
-        // Initialize large clock
-        controller.largeClock.events.onFontSettingChanged(
-            resources
-                .getDimensionPixelSize(
-                    com.android.systemui.customization.R.dimen.large_clock_text_size
-                )
-                .toFloat()
-        )
-        controller.largeClock.events.onTargetRegionChanged(getLargeClockRegion())
+            // Initialize large clock
+            controller.largeClock.events.onFontSettingChanged(
+                resources
+                    .getDimensionPixelSize(
+                        com.android.systemui.customization.R.dimen.large_clock_text_size
+                    )
+                    .toFloat()
+            )
+            controller.largeClock.events.onTargetRegionChanged(getLargeClockRegion())
 
-        // Initialize small clock
-        controller.smallClock.events.onFontSettingChanged(
-            resources
-                .getDimensionPixelSize(
-                    com.android.systemui.customization.R.dimen.small_clock_text_size
-                )
-                .toFloat()
-        )
-        controller.smallClock.events.onTargetRegionChanged(getSmallClockRegion())
-        controller.events.onWeatherDataChanged(WeatherData.getPlaceholderWeatherData())
-        return controller
+            // Initialize small clock
+            controller.smallClock.events.onFontSettingChanged(
+                resources
+                    .getDimensionPixelSize(
+                        com.android.systemui.customization.R.dimen.small_clock_text_size
+                    )
+                    .toFloat()
+            )
+            controller.smallClock.events.onTargetRegionChanged(getSmallClockRegion())
+            controller.events.onWeatherDataChanged(WeatherData.getPlaceholderWeatherData())
+        }
     }
 
     /**
diff --git a/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModel.kt b/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModel.kt
index 28f58c4..874b49d 100644
--- a/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModel.kt
+++ b/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModel.kt
@@ -32,6 +32,7 @@
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.filterNotNull
 import kotlinx.coroutines.flow.flatMapLatest
 import kotlinx.coroutines.flow.flowOn
 import kotlinx.coroutines.flow.map
@@ -57,14 +58,22 @@
             .mapLatest { allClocks ->
                 // Delay to avoid the case that the full list of clocks is not initiated.
                 delay(CLOCKS_EVENT_UPDATE_DELAY_MILLIS)
-                allClocks.map {
-                    val contentDescription =
-                        resources.getString(
-                            R.string.select_clock_action_description,
-                            clockViewFactory.getController(it.clockId).config.description
-                        )
-                    ClockCarouselItemViewModel(it.clockId, it.isSelected, contentDescription)
-                }
+                allClocks
+                    .map { model ->
+                        clockViewFactory.getController(model.clockId)?.let { clock ->
+                            val contentDescription =
+                                resources.getString(
+                                    R.string.select_clock_action_description,
+                                    clock.config.description,
+                                )
+                            ClockCarouselItemViewModel(
+                                model.clockId,
+                                model.isSelected,
+                                contentDescription,
+                            )
+                        }
+                    }
+                    .filterNotNull()
             }
             // makes sure that the operations above this statement are executed on I/O dispatcher
             // while parallelism limits the number of threads this can run on which makes sure that
@@ -126,6 +135,7 @@
             .mapNotNull { it }
 
     private var setSelectedClockJob: Job? = null
+
     fun setSelectedClock(clockId: String) {
         setSelectedClockJob?.cancel()
         setSelectedClockJob =
diff --git a/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl.kt b/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl.kt
index 43d510c..7e63834 100644
--- a/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl.kt
+++ b/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl.kt
@@ -33,7 +33,6 @@
 import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.asStateFlow
 import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.suspendCancellableCoroutine
 
 // TODO (b/262924623): refactor to remove dependency on ColorCustomizationManager & ColorOption
@@ -58,68 +57,61 @@
 
     override val colorOptions: Flow<Map<ColorType, List<ColorOptionModel>>> =
         combine(homeWallpaperColors, lockWallpaperColors) { homeColors, lockColors ->
-                homeColors to lockColors
-            }
-            .map { (homeColors, lockColors) ->
-                suspendCancellableCoroutine { continuation ->
-                    if (
-                        homeColors is WallpaperColorsModel.Loading ||
-                            lockColors is WallpaperColorsModel.Loading
-                    ) {
-                        continuation.resumeWith(
-                            Result.success(
-                                mapOf(
-                                    ColorType.WALLPAPER_COLOR to listOf(),
-                                    ColorType.PRESET_COLOR to listOf(),
-                                )
+            suspendCancellableCoroutine { continuation ->
+                if (
+                    homeColors is WallpaperColorsModel.Loading ||
+                        lockColors is WallpaperColorsModel.Loading
+                ) {
+                    continuation.resumeWith(
+                        Result.success(
+                            mapOf(
+                                ColorType.WALLPAPER_COLOR to listOf(),
+                                ColorType.PRESET_COLOR to listOf(),
                             )
                         )
-                        return@suspendCancellableCoroutine
-                    }
-                    val homeColorsLoaded = homeColors as WallpaperColorsModel.Loaded
-                    val lockColorsLoaded = lockColors as WallpaperColorsModel.Loaded
-                    colorManager.setWallpaperColors(
-                        homeColorsLoaded.colors,
-                        lockColorsLoaded.colors,
                     )
-                    colorManager.fetchOptions(
-                        object : CustomizationManager.OptionsFetchedListener<ColorOption?> {
-                            override fun onOptionsLoaded(options: MutableList<ColorOption?>?) {
-                                val wallpaperColorOptions: MutableList<ColorOptionModel> =
-                                    mutableListOf()
-                                val presetColorOptions: MutableList<ColorOptionModel> =
-                                    mutableListOf()
-                                options?.forEach { option ->
-                                    when ((option as ColorOptionImpl).type) {
-                                        ColorType.WALLPAPER_COLOR ->
-                                            wallpaperColorOptions.add(option.toModel())
-                                        ColorType.PRESET_COLOR ->
-                                            presetColorOptions.add(option.toModel())
-                                    }
-                                }
-                                continuation.resumeWith(
-                                    Result.success(
-                                        mapOf(
-                                            ColorType.WALLPAPER_COLOR to wallpaperColorOptions,
-                                            ColorType.PRESET_COLOR to presetColorOptions,
-                                        )
-                                    )
-                                )
-                            }
-
-                            override fun onError(throwable: Throwable?) {
-                                Log.e(TAG, "Error loading theme bundles", throwable)
-                                continuation.resumeWith(
-                                    Result.failure(
-                                        throwable ?: Throwable("Error loading theme bundles")
-                                    )
-                                )
-                            }
-                        },
-                        /* reload= */ false,
-                    )
+                    return@suspendCancellableCoroutine
                 }
+                val homeColorsLoaded = homeColors as WallpaperColorsModel.Loaded
+                val lockColorsLoaded = lockColors as WallpaperColorsModel.Loaded
+                colorManager.setWallpaperColors(homeColorsLoaded.colors, lockColorsLoaded.colors)
+                colorManager.fetchOptions(
+                    object : CustomizationManager.OptionsFetchedListener<ColorOption?> {
+                        override fun onOptionsLoaded(options: MutableList<ColorOption?>?) {
+                            val wallpaperColorOptions: MutableList<ColorOptionModel> =
+                                mutableListOf()
+                            val presetColorOptions: MutableList<ColorOptionModel> = mutableListOf()
+                            options?.forEach { option ->
+                                when ((option as ColorOptionImpl).type) {
+                                    ColorType.WALLPAPER_COLOR ->
+                                        wallpaperColorOptions.add(option.toModel())
+                                    ColorType.PRESET_COLOR ->
+                                        presetColorOptions.add(option.toModel())
+                                }
+                            }
+                            continuation.resumeWith(
+                                Result.success(
+                                    mapOf(
+                                        ColorType.WALLPAPER_COLOR to wallpaperColorOptions,
+                                        ColorType.PRESET_COLOR to presetColorOptions,
+                                    )
+                                )
+                            )
+                        }
+
+                        override fun onError(throwable: Throwable?) {
+                            Log.e(TAG, "Error loading theme bundles", throwable)
+                            continuation.resumeWith(
+                                Result.failure(
+                                    throwable ?: Throwable("Error loading theme bundles")
+                                )
+                            )
+                        }
+                    },
+                    /* reload= */ false,
+                )
             }
+        }
 
     override suspend fun select(colorOptionModel: ColorOptionModel) {
         _isApplyingSystemColor.value = true
diff --git a/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl2.kt b/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl2.kt
index 96f9368..c925748 100644
--- a/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl2.kt
+++ b/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl2.kt
@@ -78,8 +78,7 @@
             .map { (_, colors) -> colors }
 
     override val colorOptions: Flow<Map<ColorType, List<ColorOption>>> =
-        combine(homeWallpaperColors, lockWallpaperColors, ::Pair)
-            .map { (homeColors, lockColors) ->
+        combine(homeWallpaperColors, lockWallpaperColors) { homeColors, lockColors ->
                 suspendCancellableCoroutine { continuation ->
                     colorManager.setWallpaperColors(homeColors, lockColors)
                     colorManager.fetchOptions(
diff --git a/src/com/android/customization/picker/grid/data/repository/ShapeGridRepository.kt b/src/com/android/customization/picker/grid/data/repository/ShapeGridRepository.kt
index 84462ad..93a2d01 100644
--- a/src/com/android/customization/picker/grid/data/repository/ShapeGridRepository.kt
+++ b/src/com/android/customization/picker/grid/data/repository/ShapeGridRepository.kt
@@ -72,6 +72,6 @@
         }
 
     fun getGridOptionDrawable(iconId: Int): Drawable? {
-        return manager.getGridOptionDrawble(iconId)
+        return manager.getGridOptionDrawable(iconId)
     }
 }
diff --git a/src/com/android/wallpaper/customization/ui/binder/ColorsFloatingSheetBinder.kt b/src/com/android/wallpaper/customization/ui/binder/ColorsFloatingSheetBinder.kt
index bac650f..c2109ae 100644
--- a/src/com/android/wallpaper/customization/ui/binder/ColorsFloatingSheetBinder.kt
+++ b/src/com/android/wallpaper/customization/ui/binder/ColorsFloatingSheetBinder.kt
@@ -42,6 +42,7 @@
 import com.android.wallpaper.picker.option.ui.adapter.OptionItemAdapter2
 import java.lang.ref.WeakReference
 import kotlinx.coroutines.DisposableHandle
+import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.launch
 
 object ColorsFloatingSheetBinder {
@@ -52,7 +53,8 @@
         colorUpdateViewModel: ColorUpdateViewModel,
         lifecycleOwner: LifecycleOwner,
     ) {
-        val viewModel = optionsViewModel.colorPickerViewModel2
+        val colorsViewModel = optionsViewModel.colorPickerViewModel2
+        val darkModeViewModel = optionsViewModel.darkModeViewModel
         val isFloatingSheetActive = { optionsViewModel.selectedOption.value == COLORS }
 
         ColorUpdateBinder.bind(
@@ -119,7 +121,7 @@
 
         DarkModeBinder.bind(
             darkModeToggle = view.findViewById(R.id.dark_mode_toggle),
-            viewModel = optionsViewModel.darkModeViewModel,
+            viewModel = darkModeViewModel,
             colorUpdateViewModel = colorUpdateViewModel,
             shouldAnimateColor = isFloatingSheetActive,
             lifecycleOwner = lifecycleOwner,
@@ -127,12 +129,12 @@
 
         lifecycleOwner.lifecycleScope.launch {
             lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
-                launch { viewModel.colorTypeTabs.collect { tabAdapter.submitList(it) } }
+                launch { colorsViewModel.colorTypeTabs.collect { tabAdapter.submitList(it) } }
 
-                launch { viewModel.colorTypeTabSubheader.collect { subhead.text = it } }
+                launch { colorsViewModel.colorTypeTabSubheader.collect { subhead.text = it } }
 
                 launch {
-                    viewModel.colorOptions.collect { colorOptions ->
+                    colorsViewModel.colorOptions.collect { colorOptions ->
                         colorsAdapter.setItems(colorOptions) {
                             var indexToFocus = colorOptions.indexOfFirst { it.isSelected.value }
                             indexToFocus = if (indexToFocus < 0) 0 else indexToFocus
@@ -143,14 +145,27 @@
                 }
 
                 launch {
-                    viewModel.previewingColorOption.collect { colorOption ->
-                        if (colorOption != null) {
-                            colorUpdateViewModel.previewColors(
-                                colorOption.seedColor,
-                                colorOption.style,
-                            )
-                        } else colorUpdateViewModel.resetPreview()
-                    }
+                    combine(
+                            colorsViewModel.previewingColorOption,
+                            colorsViewModel.selectedColorOption,
+                            darkModeViewModel.overridingIsDarkMode,
+                            ::Triple,
+                        )
+                        .collect { (previewColor, selectedColor, overridingIsDarkMode) ->
+                            if (previewColor != null || overridingIsDarkMode != null) {
+                                val previewColorOption = previewColor ?: selectedColor
+                                val previewIsDarkMode =
+                                    overridingIsDarkMode
+                                        ?: view.resources.configuration.isNightModeActive
+                                previewColorOption?.let {
+                                    colorUpdateViewModel.previewColors(
+                                        previewColorOption.seedColor,
+                                        previewColorOption.style,
+                                        previewIsDarkMode,
+                                    )
+                                }
+                            } else colorUpdateViewModel.resetPreview()
+                        }
                 }
             }
         }
diff --git a/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt b/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt
index b44b152..9ce7b61 100644
--- a/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt
+++ b/src/com/android/wallpaper/customization/ui/binder/ThemePickerCustomizationOptionBinder.kt
@@ -418,7 +418,7 @@
                             clockHostView.removeAllViews()
                             // For new customization picker, we should get views from clocklayout
                             if (Flags.newCustomizationPickerUi()) {
-                                clockViewFactory.getController(clock.clockId).let { clockController
+                                clockViewFactory.getController(clock.clockId)?.let { clockController
                                     ->
                                     val udfpsTop =
                                         clockPickerViewModel.getUdfpsLocation()?.let {
diff --git a/src/com/android/wallpaper/customization/ui/viewmodel/ShapeGridPickerViewModel.kt b/src/com/android/wallpaper/customization/ui/viewmodel/ShapeGridPickerViewModel.kt
index ce97154..fe1c6f8 100644
--- a/src/com/android/wallpaper/customization/ui/viewmodel/ShapeGridPickerViewModel.kt
+++ b/src/com/android/wallpaper/customization/ui/viewmodel/ShapeGridPickerViewModel.kt
@@ -17,11 +17,14 @@
 package com.android.wallpaper.customization.ui.viewmodel
 
 import android.content.Context
+import android.content.res.Resources
 import android.graphics.drawable.Drawable
+import com.android.customization.model.ResourceConstants
 import com.android.customization.model.grid.GridOptionModel
 import com.android.customization.model.grid.ShapeOptionModel
 import com.android.customization.picker.grid.domain.interactor.ShapeGridInteractor
 import com.android.customization.picker.grid.ui.viewmodel.ShapeIconViewModel
+import com.android.customization.widget.GridTileDrawable
 import com.android.themepicker.R
 import com.android.wallpaper.picker.common.icon.ui.viewmodel.Icon
 import com.android.wallpaper.picker.common.text.ui.viewmodel.Text
@@ -186,6 +189,21 @@
     }
 
     private fun toGridOptionItemViewModel(option: GridOptionModel): OptionItemViewModel2<Drawable> {
+        // Fallback to use GridTileDrawable when no resource found for the icon ID
+        val drawable =
+            interactor.getGridOptionDrawable(option.iconId)
+                ?: GridTileDrawable(
+                    option.cols,
+                    option.rows,
+                    context.resources.getString(
+                        Resources.getSystem()
+                            .getIdentifier(
+                                ResourceConstants.CONFIG_ICON_MASK,
+                                "string",
+                                ResourceConstants.ANDROID_PACKAGE,
+                            )
+                    ),
+                )
         val isSelected =
             previewingGridKey
                 .map { it == option.key }
@@ -194,10 +212,9 @@
                     started = SharingStarted.Lazily,
                     initialValue = false,
                 )
-
         return OptionItemViewModel2(
             key = MutableStateFlow(option.key),
-            payload = interactor.getGridOptionDrawable(option.iconId),
+            payload = drawable,
             text = Text.Loaded(option.title),
             isSelected = isSelected,
             onClicked =
diff --git a/src/com/android/wallpaper/picker/common/preview/ui/binder/ThemePickerWorkspaceCallbackBinder.kt b/src/com/android/wallpaper/picker/common/preview/ui/binder/ThemePickerWorkspaceCallbackBinder.kt
index 9fc59c7..1f2a0f3 100644
--- a/src/com/android/wallpaper/picker/common/preview/ui/binder/ThemePickerWorkspaceCallbackBinder.kt
+++ b/src/com/android/wallpaper/picker/common/preview/ui/binder/ThemePickerWorkspaceCallbackBinder.kt
@@ -146,14 +146,14 @@
                             )
                             .collect { (previewingClock, previewingClockSize) ->
                                 val hideSmartspace =
-                                    clockViewFactory.getController(previewingClock.clockId).let {
+                                    clockViewFactory.getController(previewingClock.clockId)?.let {
                                         when (previewingClockSize) {
                                             ClockSize.DYNAMIC ->
                                                 it.largeClock.config.hasCustomWeatherDataDisplay
                                             ClockSize.SMALL ->
                                                 it.smallClock.config.hasCustomWeatherDataDisplay
                                         }
-                                    }
+                                    } ?: false
                                 workspaceCallback.sendMessage(
                                     MESSAGE_ID_HIDE_SMART_SPACE,
                                     Bundle().apply {
diff --git a/tests/common/src/com/android/customization/model/grid/FakeShapeGridManager.kt b/tests/common/src/com/android/customization/model/grid/FakeShapeGridManager.kt
index 6269fee..b39988a 100644
--- a/tests/common/src/com/android/customization/model/grid/FakeShapeGridManager.kt
+++ b/tests/common/src/com/android/customization/model/grid/FakeShapeGridManager.kt
@@ -42,7 +42,7 @@
         return 0
     }
 
-    override fun getGridOptionDrawble(iconId: Int): Drawable? {
+    override fun getGridOptionDrawable(iconId: Int): Drawable? {
         return when (iconId) {
             0 -> gridOptionDrawable0
             1 -> gridOptionDrawable1
@@ -95,13 +95,6 @@
                     isCurrent = false,
                 ),
                 ShapeOptionModel(
-                    key = "sunny",
-                    title = "sunny",
-                    path =
-                        "M42.846 4.873C46.084-.531 53.916-.531 57.154 4.873L60.796 10.951C62.685 14.103 66.414 15.647 69.978 14.754L76.851 13.032C82.962 11.5 88.5 17.038 86.968 23.149L85.246 30.022C84.353 33.586 85.897 37.315 89.049 39.204L95.127 42.846C100.531 46.084 100.531 53.916 95.127 57.154L89.049 60.796C85.897 62.685 84.353 66.414 85.246 69.978L86.968 76.851C88.5 82.962 82.962 88.5 76.851 86.968L69.978 85.246C66.414 84.353 62.685 85.898 60.796 89.049L57.154 95.127C53.916 100.531 46.084 100.531 42.846 95.127L39.204 89.049C37.315 85.898 33.586 84.353 30.022 85.246L23.149 86.968C17.038 88.5 11.5 82.962 13.032 76.851L14.754 69.978C15.647 66.414 14.103 62.685 10.951 60.796L4.873 57.154C-.531 53.916-.531 46.084 4.873 42.846L10.951 39.204C14.103 37.315 15.647 33.586 14.754 30.022L13.032 23.149C11.5 17.038 17.038 11.5 23.149 13.032L30.022 14.754C33.586 15.647 37.315 14.103 39.204 10.951L42.846 4.873Z",
-                    isCurrent = false,
-                ),
-                ShapeOptionModel(
                     key = "circle",
                     title = "circle",
                     path =
diff --git a/tests/robotests/src/com/android/customization/picker/clock/ui/FakeClockViewFactory.kt b/tests/robotests/src/com/android/customization/picker/clock/ui/FakeClockViewFactory.kt
index 418b439..d6286a4 100644
--- a/tests/robotests/src/com/android/customization/picker/clock/ui/FakeClockViewFactory.kt
+++ b/tests/robotests/src/com/android/customization/picker/clock/ui/FakeClockViewFactory.kt
@@ -35,7 +35,7 @@
         override fun dump(pw: PrintWriter) = TODO("Not yet implemented")
     }
 
-    override fun getController(clockId: String): ClockController = clockControllers[clockId]!!
+    override fun getController(clockId: String): ClockController? = clockControllers[clockId]
 
     override fun getLargeView(clockId: String): View {
         TODO("Not yet implemented")
diff --git a/tests/robotests/src/com/android/customization/picker/grid/data/repository/ShapeGridRepositoryTest.kt b/tests/robotests/src/com/android/customization/picker/grid/data/repository/ShapeGridRepositoryTest.kt
index 985d983..5fa1545 100644
--- a/tests/robotests/src/com/android/customization/picker/grid/data/repository/ShapeGridRepositoryTest.kt
+++ b/tests/robotests/src/com/android/customization/picker/grid/data/repository/ShapeGridRepositoryTest.kt
@@ -104,11 +104,14 @@
     fun selectedShapeOption_shouldUpdateAfterApplyShapeGridOption() =
         testScope.runTest {
             val selectedShapeOption = collectLastValue(underTest.selectedShapeOption)
+            val expectedShapeKey = "circle"
+            val expectedShapeOption =
+                FakeShapeGridManager.DEFAULT_SHAPE_OPTION_LIST.first { it.key == expectedShapeKey }
+                    .copy(isCurrent = true)
 
-            underTest.applySelectedOption("circle", "practical")
+            underTest.applySelectedOption(expectedShapeKey, "practical")
 
-            assertThat(selectedShapeOption())
-                .isEqualTo(FakeShapeGridManager.DEFAULT_SHAPE_OPTION_LIST[4].copy(isCurrent = true))
+            assertThat(selectedShapeOption()).isEqualTo(expectedShapeOption)
         }
 
     @Test
diff --git a/tests/robotests/src/com/android/customization/picker/grid/domain/interactor/ShapeGridInteractorTest.kt b/tests/robotests/src/com/android/customization/picker/grid/domain/interactor/ShapeGridInteractorTest.kt
index c0f519c..3886690 100644
--- a/tests/robotests/src/com/android/customization/picker/grid/domain/interactor/ShapeGridInteractorTest.kt
+++ b/tests/robotests/src/com/android/customization/picker/grid/domain/interactor/ShapeGridInteractorTest.kt
@@ -96,11 +96,14 @@
     fun selectedShapeOption_shouldUpdateAfterApplyGridOption() =
         testScope.runTest {
             val selectedShapeOption = collectLastValue(underTest.selectedShapeOption)
+            val expectedShapeKey = "circle"
+            val expectedShapeOption =
+                FakeShapeGridManager.DEFAULT_SHAPE_OPTION_LIST.first { it.key == expectedShapeKey }
+                    .copy(isCurrent = true)
 
-            underTest.applySelectedOption("circle", "practical")
+            underTest.applySelectedOption(expectedShapeKey, "practical")
 
-            assertThat(selectedShapeOption())
-                .isEqualTo(FakeShapeGridManager.DEFAULT_SHAPE_OPTION_LIST[4].copy(isCurrent = true))
+            assertThat(selectedShapeOption()).isEqualTo(expectedShapeOption)
         }
 
     @Test
diff --git a/tests/robotests/src/com/android/wallpaper/customization/ui/viewmodel/ShapeGridPickerViewModelTest.kt b/tests/robotests/src/com/android/wallpaper/customization/ui/viewmodel/ShapeGridPickerViewModelTest.kt
index 0bf5125..15d1487 100644
--- a/tests/robotests/src/com/android/wallpaper/customization/ui/viewmodel/ShapeGridPickerViewModelTest.kt
+++ b/tests/robotests/src/com/android/wallpaper/customization/ui/viewmodel/ShapeGridPickerViewModelTest.kt
@@ -116,8 +116,8 @@
         testScope.runTest {
             val shapeOptions = collectLastValue(underTest.shapeOptions)
             val previewingShapeKey = collectLastValue(underTest.previewingShapeKey)
-            val onCircleOptionClicked =
-                shapeOptions()?.get(4)?.onClicked?.let { collectLastValue(it) }
+            val circleOption = shapeOptions()?.firstOrNull { it.key.value == "circle" }
+            val onCircleOptionClicked = circleOption?.onClicked?.let { collectLastValue(it) }
             checkNotNull(onCircleOptionClicked)
 
             onCircleOptionClicked()?.invoke()