Merge Android 14 QPR2 to AOSP main

Bug: 319669529
Merged-In: I08772f7df3f3c78e2b7c94bcadce1e0784255a77
Change-Id: I964ee4c686efede980f593364e4de38e3330eba0
diff --git a/Android.bp b/Android.bp
index 4dbe399..d3a7c51 100644
--- a/Android.bp
+++ b/Android.bp
@@ -35,6 +35,13 @@
     ],
 }
 
+// Production-only files that should be excluded in tests.
+filegroup {
+    name: "ThemePicker_src_prod",
+    visibility: [":__subpackages__"],
+    srcs: ["src_override/com/android/customization/picker/CustomizationPickerApplication.java"],
+}
+
 filegroup {
     name: "ThemePicker_Manifest",
     srcs: [
@@ -66,8 +73,9 @@
         + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR"
 }
 
+// Common defaults that doesn't have ThemePicker specifics.
 java_defaults {
-    name: "ThemePicker_defaults",
+    name: "ThemePicker_common_defaults",
 
     static_libs: [
         "guava",
@@ -92,7 +100,6 @@
     srcs: [
         ":WallpaperPicker2_srcs",
         ":ThemePicker_srcs",
-        ":ThemePicker_src_overrides",
     ],
 
     required: ["android.software.theme_picker.xml"],
@@ -111,6 +118,12 @@
     system_ext_specific: true,
 }
 
+java_defaults {
+    name: "ThemePicker_defaults",
+    defaults: ["ThemePicker_common_defaults"],
+    srcs: [":ThemePicker_src_overrides"],
+}
+
 prebuilt_etc {
     name: "android.software.theme_picker.xml",
     system_ext_specific: true,
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
index b659bfa..a165f4b 100644
--- a/PREUPLOAD.cfg
+++ b/PREUPLOAD.cfg
@@ -2,3 +2,5 @@
 checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --sha ${PREUPLOAD_COMMIT}
 
 ktfmt_hook = ${REPO_ROOT}/external/ktfmt/ktfmt.py --check -i ${REPO_ROOT}/packages/apps/ThemePicker/ktfmt_includes.txt ${PREUPLOAD_FILES}
+
+flag_hook = ${REPO_ROOT}/frameworks/base/packages/SystemUI/flag_check.py --msg=${PREUPLOAD_COMMIT_MESSAGE} --files=${PREUPLOAD_FILES} --project=${REPO_PATH}
diff --git a/TEST_MAPPING b/TEST_MAPPING
index 6345ffb..560897b 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -2,6 +2,7 @@
   "presubmit": [
     {
       "name": "WallpaperPickerGoogleTests",
+      "keywords": ["internal"],
       "options": [
         {
           "exclude-annotation": "org.junit.Ignore"
diff --git a/res/layout-land/activity_custom_theme.xml b/res/layout-land/activity_custom_theme.xml
deleted file mode 100644
index 59296df..0000000
--- a/res/layout-land/activity_custom_theme.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context="com.android.customization.picker.theme.CustomThemeActivity">
-
-    <FrameLayout
-        android:id="@+id/fragment_container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="bottom"
-        android:orientation="horizontal">
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:layout_weight="1"
-            android:layout_gravity="bottom"/>
-
-        <FrameLayout
-            android:id="@+id/custom_theme_nav"
-            android:layout_width="0dp"
-            android:layout_height="@dimen/custom_theme_nav_height"
-            android:layout_weight="1"
-            android:paddingHorizontal="12dp">
-            <Button
-                android:id="@+id/previous_button"
-                style="@style/ActionSecondaryButton"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="start|center_vertical"
-                android:text="@string/custom_theme_previous"/>
-            <Button
-                android:id="@+id/next_button"
-                style="@style/ActionPrimaryButton"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="end|center_vertical"
-                android:text="@string/custom_theme_next"/>
-        </FrameLayout>
-    </LinearLayout>
-
-</FrameLayout>
diff --git a/res/layout-land/fragment_custom_theme_component.xml b/res/layout-land/fragment_custom_theme_component.xml
deleted file mode 100644
index 2679bdf..0000000
--- a/res/layout-land/fragment_custom_theme_component.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:background="?android:colorPrimary">
-    <include layout="@layout/section_header"/>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="horizontal">
-
-        <FrameLayout
-            android:id="@+id/component_preview_container"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:background="?android:colorPrimary">
-            <include
-                android:id="@+id/component_preview_content"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginHorizontal="@dimen/preview_page_horizontal_margin"
-                android:layout_marginTop="@dimen/preview_page_top_margin"
-                android:layout_marginBottom="@dimen/component_preview_page_bottom_margin"
-                layout="@layout/theme_component_preview"/>
-        </FrameLayout>
-        <View
-            android:layout_width="1dp"
-            android:layout_height="match_parent"
-            android:background="?android:colorForeground"/>
-        <LinearLayout
-            android:id="@+id/options_section"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:paddingTop="10dp"
-            android:paddingBottom="@dimen/custom_theme_nav_height"
-            android:orientation="vertical">
-
-            <TextView
-                android:id="@+id/component_options_title"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:layout_margin="10dp"
-                android:textAlignment="center"
-                android:textAppearance="@style/TitleTextAppearance"/>
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/options_container"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="1"/>
-
-        </LinearLayout>
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout-land/fragment_custom_theme_name.xml b/res/layout-land/fragment_custom_theme_name.xml
deleted file mode 100644
index a60b9c2..0000000
--- a/res/layout-land/fragment_custom_theme_name.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:background="?android:colorPrimary">
-    <include layout="@layout/section_header"/>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="horizontal">
-        <FrameLayout
-            android:id="@+id/component_preview_container"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:paddingTop="@dimen/preview_content_padding_top"
-            android:paddingBottom="@dimen/preview_content_padding_bottom"
-            android:clipToPadding="false"
-            android:background="?android:colorSecondary">
-            <include layout="@layout/theme_preview_card"/>
-        </FrameLayout>
-        <LinearLayout
-            android:id="@+id/options_section"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:paddingTop="10dp"
-            android:paddingBottom="@dimen/custom_theme_nav_height"
-            android:paddingVertical="10dp"
-            android:clipToPadding="false"
-            android:orientation="vertical">
-
-            <TextView
-                android:id="@+id/component_options_title"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:layout_margin="10dp"
-                android:textAlignment="center"
-                android:textAppearance="@style/TitleTextAppearance"/>
-
-            <FrameLayout
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/options_container_height"
-                android:layout_gravity="center">
-
-                <EditText
-                    style="@style/CustomThemeNameEditText"
-                    android:id="@+id/custom_theme_name"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center"
-                    android:minWidth="300dp"/>
-            </FrameLayout>
-
-        </LinearLayout>
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout-land/fragment_theme_picker.xml b/res/layout-land/fragment_theme_picker.xml
deleted file mode 100644
index d358037..0000000
--- a/res/layout-land/fragment_theme_picker.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:background="?android:colorPrimary">
-    <include layout="@layout/section_header"/>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-        <LinearLayout
-            android:id="@+id/content_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="horizontal">
-
-            <FrameLayout
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1">
-                <FrameLayout
-                    android:id="@+id/preview_card_container"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:paddingTop="@dimen/preview_content_padding_top"
-                    android:paddingBottom="@dimen/preview_content_padding_bottom"
-                    android:clipToPadding="false"
-                    android:background="?android:colorSecondary">
-                    <include layout="@layout/theme_preview_card"/>
-                </FrameLayout>
-            </FrameLayout>
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/options_container"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:paddingVertical="10dp" />
-        </LinearLayout>
-
-        <androidx.core.widget.ContentLoadingProgressBar
-            android:id="@+id/loading_indicator"
-            style="@android:style/Widget.DeviceDefault.ProgressBar"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="200dp"
-            android:layout_gravity="center_horizontal|top"
-            android:indeterminate="true"/>
-
-        <FrameLayout
-            android:id="@+id/error_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:visibility="gone">
-            <TextView
-                android:id="@+id/error_message"
-                style="@style/TitleTextAppearance"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:gravity="center"
-                android:text="@string/something_went_wrong"/>
-        </FrameLayout>
-    </FrameLayout>
-</LinearLayout>
diff --git a/res/layout/activity_custom_theme.xml b/res/layout/activity_custom_theme.xml
deleted file mode 100644
index 24d58b7..0000000
--- a/res/layout/activity_custom_theme.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical"
-    tools:context="com.android.customization.picker.theme.CustomThemeActivity">
-
-    <FrameLayout
-        android:id="@+id/fragment_container"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1"/>
-
-    <FrameLayout
-        android:id="@+id/custom_theme_nav"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/custom_theme_nav_height"
-        android:paddingHorizontal="12dp"
-        android:background="?android:colorPrimary">
-        <Button
-            android:id="@+id/previous_button"
-            style="@style/ActionSecondaryButton"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="start|center_vertical"
-            android:text="@string/custom_theme_previous"/>
-        <Button
-            android:id="@+id/next_button"
-            style="@style/ActionPrimaryButton"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="end|center_vertical"
-            android:text="@string/custom_theme_next"/>
-    </FrameLayout>
-</LinearLayout>
diff --git a/res/layout/clock_color_option.xml b/res/layout/clock_color_option.xml
index e5aa3d6..6d82062 100644
--- a/res/layout/clock_color_option.xml
+++ b/res/layout/clock_color_option.xml
@@ -22,7 +22,7 @@
     android:orientation="vertical"
     android:clipChildren="false">
 
-    <include layout="@layout/color_option_2"/>
+    <include layout="@layout/color_option"/>
 
     <TextView
         android:id="@+id/text"
diff --git a/res/layout/clock_size_radio_button_group.xml b/res/layout/clock_size_radio_button_group.xml
deleted file mode 100644
index 56d0ab7..0000000
--- a/res/layout/clock_size_radio_button_group.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><!--
-  ~ Copyright (C) 2023 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:id="@+id/button_container_dynamic"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="8dp"
-        android:orientation="horizontal">
-
-        <RadioButton
-            android:id="@+id/radio_button_dynamic"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:layout_marginEnd="8dp"
-            android:clickable="false" />
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-
-            <TextView
-                style="@style/SectionTitleTextStyle"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/clock_size_dynamic" />
-
-            <TextView
-                style="@style/SectionSubtitleTextStyle"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/clock_size_dynamic_description" />
-        </LinearLayout>
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/button_container_small"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:minHeight="@dimen/touch_target_min_height"
-        android:orientation="horizontal">
-
-        <RadioButton
-            android:id="@+id/radio_button_large"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:layout_marginEnd="8dp"
-            android:clickable="false" />
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-            <TextView
-                style="@style/SectionTitleTextStyle"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/clock_size_small" />
-
-            <TextView
-                style="@style/SectionSubtitleTextStyle"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/clock_size_small_description" />
-        </LinearLayout>
-    </LinearLayout>
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/color_option.xml b/res/layout/color_option.xml
index d9a7136..dff03d0 100644
--- a/res/layout/color_option.xml
+++ b/res/layout/color_option.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?><!--
-     Copyright (C) 2022 The Android Open Source Project
+     Copyright (C) 2023 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,91 +13,39 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<!-- Enclosing layout must be match_parent so that we can center content within -->
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
+<!-- Content description is set programmatically on the parent FrameLayout -->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="@dimen/option_item_size"
     android:layout_height="wrap_content"
-    android:layout_gravity="center"
-    android:clipChildren="false"
-    android:gravity="center"
-    android:padding="@dimen/option_tile_grid_tile_padding_min">
+    android:orientation="vertical"
+    android:clipChildren="false">
+    <FrameLayout
+        android:id="@+id/icon_container"
+        android:layout_width="@dimen/option_item_size"
+        android:layout_height="@dimen/option_item_size"
+        android:clipChildren="false">
 
-    <!--
-        This displays the background. It is dynamically sized, constrained remain square and
-        have a maximum size, and be centered within its parent.
-     -->
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:layout_gravity="center"
-        android:background="@drawable/option_border_color"
-        android:gravity="center"
-        android:padding="@dimen/option_tile_grid_icon_padding_min"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintDimensionRatio="1:1"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintWidth_max="@dimen/option_tile_width">
+        <ImageView
+            android:id="@id/selection_border"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="@drawable/option_item_border"
+            android:alpha="0"
+            android:importantForAccessibility="no" />
 
-        <!-- This is the color wheel itself, constrained to a maximum size and centered -->
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/option_tile"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:layout_gravity="center"
-            android:gravity="center"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHeight_max="@dimen/component_color_chip_small_diameter_default"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintWidth_max="@dimen/component_color_chip_small_diameter_default">
+        <ImageView
+            android:id="@id/background"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="@drawable/option_item_background"
+            android:importantForAccessibility="no" />
 
-            <ImageView
-                android:id="@+id/color_preview_0"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                android:adjustViewBounds="true"
-                android:src="@drawable/color_chip_seed_filled0"
-                app:layout_constraintHeight_percent=".50"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintWidth_percent=".50" />
+        <com.android.customization.picker.color.ui.view.ColorOptionIconView
+            android:id="@+id/foreground"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_margin="@dimen/color_seed_chip_margin2"/>
+    </FrameLayout>
+</LinearLayout>
 
-            <ImageView
-                android:id="@+id/color_preview_1"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                android:adjustViewBounds="true"
-                android:src="@drawable/color_chip_seed_filled2"
-                app:layout_constraintHeight_percent=".50"
-                app:layout_constraintLeft_toRightOf="@id/color_preview_0"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintWidth_percent=".50" />
-
-            <ImageView
-                android:id="@+id/color_preview_2"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                android:adjustViewBounds="true"
-                android:src="@drawable/color_chip_seed_filled1"
-                app:layout_constraintHeight_percent=".50"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/color_preview_0"
-                app:layout_constraintWidth_percent=".50" />
-
-            <ImageView
-                android:id="@+id/color_preview_3"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                android:adjustViewBounds="true"
-                android:src="@drawable/color_chip_seed_filled3"
-                app:layout_constraintHeight_percent=".50"
-                app:layout_constraintLeft_toRightOf="@id/color_preview_2"
-                app:layout_constraintTop_toBottomOf="@id/color_preview_1"
-                app:layout_constraintWidth_percent=".50" />
-        </androidx.constraintlayout.widget.ConstraintLayout>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/color_option_2.xml b/res/layout/color_option_2.xml
deleted file mode 100644
index dff03d0..0000000
--- a/res/layout/color_option_2.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><!--
-     Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<!-- Content description is set programmatically on the parent FrameLayout -->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="@dimen/option_item_size"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:clipChildren="false">
-    <FrameLayout
-        android:id="@+id/icon_container"
-        android:layout_width="@dimen/option_item_size"
-        android:layout_height="@dimen/option_item_size"
-        android:clipChildren="false">
-
-        <ImageView
-            android:id="@id/selection_border"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="@drawable/option_item_border"
-            android:alpha="0"
-            android:importantForAccessibility="no" />
-
-        <ImageView
-            android:id="@id/background"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="@drawable/option_item_background"
-            android:importantForAccessibility="no" />
-
-        <com.android.customization.picker.color.ui.view.ColorOptionIconView
-            android:id="@+id/foreground"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_margin="@dimen/color_seed_chip_margin2"/>
-    </FrameLayout>
-</LinearLayout>
-
diff --git a/res/layout/color_options_view.xml b/res/layout/color_options_view.xml
deleted file mode 100644
index 65028a6..0000000
--- a/res/layout/color_options_view.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2022 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/color_option_container"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal"
-        android:orientation="horizontal" />
-</FrameLayout>
diff --git a/res/layout/color_pages_view.xml b/res/layout/color_pages_view.xml
deleted file mode 100644
index 3ccbd41..0000000
--- a/res/layout/color_pages_view.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2022 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <androidx.viewpager2.widget.ViewPager2
-        android:id="@+id/color_page_container"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"/>
-    <com.android.wallpaper.widget.PageIndicator
-        android:id="@+id/color_page_indicator"
-        android:layout_marginTop="@dimen/color_page_indicator_margin_top"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:visibility="gone"
-        android:layout_gravity="center"/>
-</LinearLayout>
diff --git a/res/layout/color_section_view2.xml b/res/layout/color_section_view.xml
similarity index 97%
rename from res/layout/color_section_view2.xml
rename to res/layout/color_section_view.xml
index 9dbdf15..cfa9be3 100644
--- a/res/layout/color_section_view2.xml
+++ b/res/layout/color_section_view.xml
@@ -14,7 +14,7 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<com.android.customization.picker.color.ui.view.ColorSectionView2 xmlns:android="http://schemas.android.com/apk/res/android"
+<com.android.customization.picker.color.ui.view.ColorSectionView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
@@ -64,4 +64,4 @@
         android:textColor="@color/system_primary"
         android:visibility="gone"
         tools:ignore="UseCompatTextViewDrawableXml" />
-</com.android.customization.picker.color.ui.view.ColorSectionView2>
+</com.android.customization.picker.color.ui.view.ColorSectionView>
diff --git a/res/layout/custom_theme_option.xml b/res/layout/custom_theme_option.xml
deleted file mode 100644
index aff43a9..0000000
--- a/res/layout/custom_theme_option.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingHorizontal="@dimen/option_padding_horizontal"
-    android:paddingBottom="@dimen/option_bottom_margin"
-    android:clipChildren="false"
-    android:clipToPadding="false"
-    android:orientation="vertical">
-
-    <TextView
-        android:id="@+id/option_label"
-        android:layout_width="@dimen/option_tile_width"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal"
-        android:layout_marginBottom="@dimen/theme_option_label_margin"
-        android:ellipsize="end"
-        android:gravity="center_horizontal"
-        android:maxLines="1"
-        android:textAppearance="@style/OptionTitleTextAppearance"/>
-    <FrameLayout
-        android:id="@+id/option_tile"
-        android:layout_width="@dimen/option_tile_width"
-        android:layout_height="@dimen/option_tile_width"
-        android:layout_gravity="center_horizontal"
-        android:paddingHorizontal="@dimen/option_tile_padding_horizontal"
-        android:paddingVertical="@dimen/option_tile_padding_vertical"
-        android:background="@drawable/option_border_custom">
-        <ImageView
-            android:layout_width="@dimen/option_icon_size"
-            android:layout_height="@dimen/option_icon_size"
-            android:layout_gravity="center"
-            android:src="@drawable/ic_add_24px"
-            android:tint="?android:attr/colorAccent" />
-    </FrameLayout>
-</LinearLayout>
diff --git a/res/layout/fragment_clock_settings.xml b/res/layout/fragment_clock_settings.xml
index 5736265..75dae7e 100644
--- a/res/layout/fragment_clock_settings.xml
+++ b/res/layout/fragment_clock_settings.xml
@@ -14,7 +14,6 @@
   ~ limitations under the License.
   ~
   -->
-
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
@@ -153,17 +152,37 @@
                     android:layout_gravity="center_vertical"
                     android:minHeight="48dp"
                     android:thumb="@null"
+                    android:contentDescription="@string/accessibility_clock_slider_description"
                     android:background="@null"
                     android:paddingHorizontal="16dp"
                     android:progressDrawable="@drawable/saturation_progress_drawable"
                     android:splitTrack="false" />
             </LinearLayout>
 
-            <com.android.customization.picker.clock.ui.view.ClockSizeRadioButtonGroup
+            <RadioGroup
                 android:id="@+id/clock_size_radio_button_group"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:paddingHorizontal="16dp" />
+                android:orientation="vertical"
+                android:layout_marginHorizontal="16dp">
+                <!-- The radio button text is set when binding the view -->
+                <RadioButton android:id="@+id/radio_dynamic"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:paddingStart="8dp"
+                    android:maxLines="3"
+                    android:ellipsize="end"
+                    android:singleLine="false"
+                    android:layout_marginBottom="8dp"/>
+                <!-- The radio button text is set when binding the view -->
+                <RadioButton android:id="@+id/radio_small"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:paddingStart="8dp"
+                    android:maxLines="3"
+                    android:ellipsize="end"
+                    android:singleLine="false" />
+            </RadioGroup>
         </FrameLayout>
     </LinearLayout>
 </LinearLayout>
diff --git a/res/layout/fragment_color_picker.xml b/res/layout/fragment_color_picker.xml
index ebff6a4..d33fb1f 100644
--- a/res/layout/fragment_color_picker.xml
+++ b/res/layout/fragment_color_picker.xml
@@ -133,7 +133,7 @@
             It's critical for any TextViews inside the included layout to have text.
             -->
             <include
-                layout="@layout/color_option_2"
+                layout="@layout/color_option"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="invisible" />
diff --git a/res/layout/fragment_custom_theme_component.xml b/res/layout/fragment_custom_theme_component.xml
deleted file mode 100644
index 7bae84b..0000000
--- a/res/layout/fragment_custom_theme_component.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:background="?android:colorPrimary">
-    <include layout="@layout/section_header"/>
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <FrameLayout
-            android:id="@+id/component_preview_container"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:background="?android:colorPrimary"
-            app:layout_constrainedHeight="true"
-            app:layout_constraintBottom_toTopOf="@+id/divider"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.0"
-            app:layout_constraintHeight_percent="@dimen/preview_pager_maximum_height_ratio">
-
-            <include
-                android:id="@+id/component_preview_content"
-                layout="@layout/theme_component_preview"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"/>
-        </FrameLayout>
-
-        <View
-            android:id="@+id/divider"
-            android:layout_width="match_parent"
-            android:layout_height="1dp"
-            android:background="?android:colorForeground"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/component_preview_container"
-            app:layout_constraintBottom_toTopOf="@+id/component_scroll_view"/>
-
-        <ScrollView
-            android:id="@+id/component_scroll_view"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/divider"
-            app:layout_constraintBottom_toBottomOf="parent">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="vertical">
-        
-                <TextView
-                    android:id="@+id/component_options_title"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginVertical="18dp"
-                    android:layout_marginHorizontal="16dp"
-                    android:textAlignment="center"
-                    android:textAppearance="@style/TitleTextAppearance"
-                    android:textSize="@dimen/component_options_title_size" />
-
-                <androidx.recyclerview.widget.RecyclerView
-                    android:id="@+id/options_container"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_horizontal"/>
-            </LinearLayout>
-        </ScrollView>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</LinearLayout>
diff --git a/res/layout/fragment_custom_theme_name.xml b/res/layout/fragment_custom_theme_name.xml
deleted file mode 100644
index 98edd29..0000000
--- a/res/layout/fragment_custom_theme_name.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-    <include layout="@layout/section_header"/>
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <FrameLayout
-            android:id="@+id/component_preview_container"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:paddingTop="@dimen/preview_content_padding_top"
-            android:paddingBottom="@dimen/preview_content_padding_bottom"
-            android:clipToPadding="false"
-            app:layout_constrainedHeight="true"
-            app:layout_constraintBottom_toTopOf="@+id/component_scroll_view"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.0"
-            app:layout_constraintHeight_percent="@dimen/preview_pager_maximum_height_ratio">
-
-            <include layout="@layout/theme_preview_card"/>
-        </FrameLayout>
-
-        <ScrollView
-                android:id="@+id/component_scroll_view"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:background="?android:colorPrimary"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/component_preview_container"
-                app:layout_constraintBottom_toBottomOf="parent">
-
-            <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="vertical">
-
-                <TextView
-                        android:id="@+id/component_options_title"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginVertical="18dp"
-                        android:layout_marginHorizontal="16dp"
-                        android:textAlignment="center"
-                        android:textAppearance="@style/TitleTextAppearance"
-                        android:textSize="@dimen/component_options_title_size"/>
-
-                <EditText
-                        android:id="@+id/custom_theme_name"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginVertical="16dp"
-                        android:layout_marginHorizontal="16dp"
-                        android:layout_gravity="center|top"
-                        android:importantForAutofill="no"
-                        android:minWidth="300dp"
-                        style="@style/CustomThemeNameEditText"/>
-            </LinearLayout>
-        </ScrollView>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</LinearLayout>
diff --git a/res/layout/fragment_grid.xml b/res/layout/fragment_grid.xml
index 8c97d45..f022268 100644
--- a/res/layout/fragment_grid.xml
+++ b/res/layout/fragment_grid.xml
@@ -81,7 +81,7 @@
             It's critical for any TextViews inside the included layout to have text.
             -->
             <include
-                layout="@layout/grid_option_2"
+                layout="@layout/grid_option"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="invisible" />
diff --git a/res/layout/fragment_theme_full_preview.xml b/res/layout/fragment_theme_full_preview.xml
deleted file mode 100644
index 762af07..0000000
--- a/res/layout/fragment_theme_full_preview.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2020 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <include layout="@layout/section_header"/>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1"
-        android:paddingTop="@dimen/full_preview_page_default_padding_top"
-        android:paddingBottom="@dimen/full_preview_page_default_padding_bottom"
-        android:clipToPadding="false">
-
-        <include layout="@layout/theme_preview_card"/>
-    </FrameLayout>
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/fragment_theme_picker.xml b/res/layout/fragment_theme_picker.xml
deleted file mode 100644
index 0ecfdd0..0000000
--- a/res/layout/fragment_theme_picker.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-    <include layout="@layout/section_header"/>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/content_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent">
-            <FrameLayout
-                android:id="@+id/preview_card_container"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:paddingTop="@dimen/preview_content_padding_top"
-                android:paddingBottom="@dimen/preview_content_padding_bottom"
-                android:clipToPadding="false"
-                app:layout_constrainedHeight="true"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toTopOf="@id/options_container"
-                app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
-                app:layout_constraintVertical_bias="0.0"
-                app:layout_constraintHeight_percent="@dimen/preview_pager_maximum_height_ratio">
-                <include layout="@layout/theme_preview_card"/>
-            </FrameLayout>
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/options_container"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_gravity="bottom|center_horizontal"
-                android:layout_marginTop="10dp"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/preview_card_container"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintVertical_bias="1.0"/>
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-        <androidx.core.widget.ContentLoadingProgressBar
-            android:id="@+id/loading_indicator"
-            style="@android:style/Widget.DeviceDefault.ProgressBar"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="200dp"
-            android:layout_gravity="center_horizontal|top"
-            android:indeterminate="true"/>
-
-        <FrameLayout
-            android:id="@+id/error_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:visibility="gone">
-            <TextView
-                android:id="@+id/error_message"
-                style="@style/TitleTextAppearance"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:gravity="center"
-                android:text="@string/something_went_wrong"/>
-        </FrameLayout>
-    </FrameLayout>
-</LinearLayout>
diff --git a/res/layout/grid_option.xml b/res/layout/grid_option.xml
index 0931dea..efed018 100644
--- a/res/layout/grid_option.xml
+++ b/res/layout/grid_option.xml
@@ -1,47 +1,70 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-     Copyright (C) 2019 The Android Open Source Project
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~
+  -->
 
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="@dimen/option_item_size"
     android:layout_height="wrap_content"
-    android:paddingBottom="@dimen/option_bottom_margin"
-    android:clipChildren="false"
-    android:clipToPadding="false"
-    android:orientation="vertical">
+    android:orientation="vertical"
+    android:gravity="center_horizontal"
+    android:clipChildren="false">
 
     <FrameLayout
-        android:id="@+id/option_tile"
-        android:layout_width="@dimen/option_tile_width"
-        android:layout_height="@dimen/option_tile_width"
-        android:layout_gravity="center_horizontal"
-        android:padding="@dimen/option_tile_padding_vertical"
-        android:background="@drawable/option_border"
-        android:gravity="center">
+        android:layout_width="@dimen/option_item_size"
+        android:layout_height="@dimen/option_item_size"
+        android:clipChildren="false">
+
         <ImageView
-            android:id="@+id/grid_option_thumbnail"
+            android:id="@id/selection_border"
             android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
+            android:layout_height="match_parent"
+            android:background="@drawable/option_item_border"
+            android:alpha="0"
+            android:importantForAccessibility="no" />
+
+        <ImageView
+            android:id="@id/background"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="@drawable/option_item_background"
+            android:importantForAccessibility="no" />
+
+        <ImageView
+            android:id="@id/foreground"
+            android:layout_width="58dp"
+            android:layout_height="58dp"
+            android:layout_gravity="center" />
+
     </FrameLayout>
 
+    <View
+        android:layout_width="0dp"
+        android:layout_height="8dp" />
+
     <TextView
-        android:id="@+id/option_label"
+        android:id="@id/text"
         android:layout_width="wrap_content"
-        android:layout_height="24dp"
-        android:layout_gravity="center_horizontal"
-        android:layout_marginTop="@dimen/theme_option_label_margin"
-        android:gravity="center"
-        android:textAppearance="@style/OptionTitleTextAppearance" />
+        android:layout_height="wrap_content"
+        android:textColor="@color/system_on_surface"
+        android:singleLine="true"
+        android:ellipsize="end"
+        android:text="Placeholder for stable size calculation, please do not remove."
+        tools:ignore="HardcodedText" />
+
 </LinearLayout>
diff --git a/res/layout/grid_option_2.xml b/res/layout/grid_option_2.xml
deleted file mode 100644
index efed018..0000000
--- a/res/layout/grid_option_2.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2023 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="@dimen/option_item_size"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:gravity="center_horizontal"
-    android:clipChildren="false">
-
-    <FrameLayout
-        android:layout_width="@dimen/option_item_size"
-        android:layout_height="@dimen/option_item_size"
-        android:clipChildren="false">
-
-        <ImageView
-            android:id="@id/selection_border"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="@drawable/option_item_border"
-            android:alpha="0"
-            android:importantForAccessibility="no" />
-
-        <ImageView
-            android:id="@id/background"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="@drawable/option_item_background"
-            android:importantForAccessibility="no" />
-
-        <ImageView
-            android:id="@id/foreground"
-            android:layout_width="58dp"
-            android:layout_height="58dp"
-            android:layout_gravity="center" />
-
-    </FrameLayout>
-
-    <View
-        android:layout_width="0dp"
-        android:layout_height="8dp" />
-
-    <TextView
-        android:id="@id/text"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:textColor="@color/system_on_surface"
-        android:singleLine="true"
-        android:ellipsize="end"
-        android:text="Placeholder for stable size calculation, please do not remove."
-        tools:ignore="HardcodedText" />
-
-</LinearLayout>
diff --git a/res/layout/grid_section_view.xml b/res/layout/grid_section_view.xml
index a7b2b1f..b423ea7 100644
--- a/res/layout/grid_section_view.xml
+++ b/res/layout/grid_section_view.xml
@@ -14,7 +14,7 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<com.android.customization.picker.grid.GridSectionView
+<com.android.customization.picker.grid.ui.view.GridSectionView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
@@ -53,4 +53,4 @@
         android:background="@drawable/picker_section_icon_background"
         android:contentDescription="@string/gird_picker_entry_content_description" />
 
-</com.android.customization.picker.grid.GridSectionView>
\ No newline at end of file
+</com.android.customization.picker.grid.ui.view.GridSectionView>
\ No newline at end of file
diff --git a/res/layout/notification_section.xml b/res/layout/notification_section.xml
index f490e00..3e29a4e 100644
--- a/res/layout/notification_section.xml
+++ b/res/layout/notification_section.xml
@@ -39,6 +39,7 @@
         android:id="@+id/switcher"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:focusable="false"
         android:clickable="false"
         android:layout_gravity="center"
         style="@style/Switch.SettingsLib"
diff --git a/res/layout/preview_card_color_content.xml b/res/layout/preview_card_color_content.xml
deleted file mode 100644
index 9ab90c1..0000000
--- a/res/layout/preview_card_color_content.xml
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:layout_gravity="center"
-    android:gravity="center_horizontal"
-    android:orientation="vertical">
-    <LinearLayout
-        android:layout_width="@dimen/preview_theme_color_component_size"
-        android:layout_height="wrap_content"
-        android:gravity="center|bottom"
-        android:orientation="horizontal">
-        <FrameLayout
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1">
-            <ImageView
-                android:layout_width="@dimen/preview_theme_icon_size"
-                android:layout_height="@dimen/preview_theme_icon_size"
-                android:layout_gravity="center"
-                android:id="@+id/preview_color_qs_0_bg"/>
-            <ImageView
-                android:layout_width="@dimen/preview_theme_tile_size"
-                android:layout_height="@dimen/preview_theme_tile_size"
-                android:layout_gravity="center"
-                android:id="@+id/preview_color_qs_0_icon"
-                android:tint="@color/tile_enabled_icon_color"/>
-        </FrameLayout>
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="0" />
-        <FrameLayout
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1">
-            <ImageView
-                android:layout_width="@dimen/preview_theme_icon_size"
-                android:layout_height="@dimen/preview_theme_icon_size"
-                android:layout_gravity="center"
-                android:id="@+id/preview_color_qs_1_bg"/>
-            <ImageView
-                android:layout_width="@dimen/preview_theme_tile_size"
-                android:layout_height="@dimen/preview_theme_tile_size"
-                android:layout_gravity="center"
-                android:id="@+id/preview_color_qs_1_icon"
-                android:tint="@color/tile_enabled_icon_color"/>
-        </FrameLayout>
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="0" />
-        <FrameLayout
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1">
-            <ImageView
-                android:layout_width="@dimen/preview_theme_icon_size"
-                android:layout_height="@dimen/preview_theme_icon_size"
-                android:layout_gravity="center"
-                android:id="@+id/preview_color_qs_2_bg"/>
-            <ImageView
-                android:layout_width="@dimen/preview_theme_tile_size"
-                android:layout_height="@dimen/preview_theme_tile_size"
-                android:layout_gravity="center"
-                android:id="@+id/preview_color_qs_2_icon"
-                android:color="@color/tile_enabled_icon_color"/>
-        </FrameLayout>
-    </LinearLayout>
-    <Space
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1" />
-    <LinearLayout
-        android:layout_width="@dimen/preview_theme_color_component_size"
-        android:layout_height="wrap_content"
-        android:layout_weight="0"
-        android:orientation="horizontal"
-        android:gravity="center">
-        <SeekBar
-            android:id="@+id/preview_seekbar"
-            android:layout_height="wrap_content"
-            android:layout_width="match_parent"
-            android:tint="@color/theme_preview_icon_color"
-            android:maxHeight="2dp"
-            android:progress="1"
-            android:clickable="true"
-            android:max="3"/>
-    </LinearLayout>
-    <Space
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1" />
-    <LinearLayout
-        android:layout_width="@dimen/preview_theme_color_component_size"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:orientation="horizontal">
-        <FrameLayout
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1">
-            <CheckBox
-                android:id="@+id/preview_check_selected"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:checked="true"
-                android:enabled="false"/>
-        </FrameLayout>
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="0" />
-        <FrameLayout
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1">
-            <RadioButton
-                android:id="@+id/preview_radio_selected"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:checked="true"
-                android:enabled="false"/>
-        </FrameLayout>
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="0" />
-        <FrameLayout
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1">
-            <Switch
-                android:id="@+id/preview_toggle_selected"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:checked="true"
-                android:enabled="false"/>
-        </FrameLayout>
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout/preview_card_font_content.xml b/res/layout/preview_card_font_content.xml
deleted file mode 100644
index 408778e..0000000
--- a/res/layout/preview_card_font_content.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:layout_gravity="center"
-    android:orientation="vertical"
-    tools:showIn="@layout/theme_preview_card">
-    <TextView
-        style="@style/FontCardTitleStyle"
-        android:id="@+id/font_card_title"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:gravity="center_horizontal"
-        android:maxLines="1"
-        android:text="@string/font_card_title"/>
-    <Space
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1"/>
-    <View
-        android:id="@+id/font_card_divider"
-        android:layout_width="16dp"
-        android:layout_height="2dp"
-        android:layout_gravity="center"
-        android:background="?android:colorAccent"/>
-    <Space
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1"/>
-    <TextView
-        style="@style/FontCardBodyTextStyle"
-        android:id="@+id/font_card_body"
-        android:layout_height="wrap_content"
-        android:layout_gravity="bottom|center_horizontal"
-        android:gravity="center_horizontal"
-        android:text="@string/font_card_body"/>
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/preview_card_icon_content.xml b/res/layout/preview_card_icon_content.xml
deleted file mode 100644
index 29620c8..0000000
--- a/res/layout/preview_card_icon_content.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:layout_gravity="center"
-    android:gravity="center_horizontal"
-    android:orientation="vertical">
-    <LinearLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center_horizontal"
-        android:orientation="horizontal">
-        <ImageView
-            android:id="@+id/preview_icon_0"
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1"
-            android:tint="@color/theme_preview_icon_color"/>
-        <Space
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="match_parent"
-            android:layout_weight="0" />
-        <ImageView
-            android:id="@+id/preview_icon_1"
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1"
-            android:tint="@color/theme_preview_icon_color"/>
-        <Space
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="match_parent"
-            android:layout_weight="0" />
-        <ImageView
-            android:id="@+id/preview_icon_2"
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1"
-            android:tint="@color/theme_preview_icon_color"/>
-    </LinearLayout>
-    <Space
-        android:layout_width="match_parent"
-        android:layout_height="68dp" />
-    <LinearLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="bottom|center_horizontal"
-        android:orientation="horizontal">
-        <ImageView
-            android:id="@+id/preview_icon_3"
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1"
-            android:tint="@color/theme_preview_icon_color"/>
-        <Space
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="match_parent"
-            android:layout_weight="0" />
-        <ImageView
-            android:id="@+id/preview_icon_4"
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1"
-            android:tint="@color/theme_preview_icon_color"/>
-        <Space
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="match_parent"
-            android:layout_weight="0" />
-        <ImageView
-            android:id="@+id/preview_icon_5"
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_weight="1"
-            android:tint="@color/theme_preview_icon_color"/>
-    </LinearLayout>
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/preview_card_shape_content.xml b/res/layout/preview_card_shape_content.xml
deleted file mode 100644
index 0afa6bc..0000000
--- a/res/layout/preview_card_shape_content.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:layout_gravity="center"
-    android:gravity="center_horizontal"
-    android:orientation="vertical">
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:gravity="center_horizontal"
-            android:orientation="horizontal">
-                <FrameLayout
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1">
-                        <ImageView
-                            android:id="@+id/shape_preview_icon_0"
-                            android:layout_width="@dimen/preview_theme_shape_size"
-                            android:layout_height="@dimen/preview_theme_shape_size"
-                            android:layout_gravity="center_horizontal"
-                            android:layout_margin="4dp"
-                            android:elevation="4dp"/>
-                </FrameLayout>
-                <Space
-                    android:layout_width="@dimen/preview_theme_shape_size"
-                    android:layout_height="match_parent"
-                    android:layout_weight="0" />
-                <FrameLayout
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1">
-                        <ImageView
-                            android:id="@+id/shape_preview_icon_1"
-                            android:layout_width="@dimen/preview_theme_shape_size"
-                            android:layout_height="@dimen/preview_theme_shape_size"
-                            android:layout_gravity="center_horizontal"
-                            android:layout_margin="4dp"
-                            android:elevation="4dp"/>
-                </FrameLayout>
-                <Space
-                    android:layout_width="@dimen/preview_theme_shape_size"
-                    android:layout_height="match_parent"
-                    android:layout_weight="0" />
-                <FrameLayout
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1">
-                        <ImageView
-                            android:id="@+id/shape_preview_icon_2"
-                            android:layout_width="@dimen/preview_theme_shape_size"
-                            android:layout_height="@dimen/preview_theme_shape_size"
-                            android:layout_gravity="center_horizontal"
-                            android:layout_margin="4dp"
-                            android:elevation="4dp"/>
-                </FrameLayout>
-        </LinearLayout>
-        <Space
-            android:layout_width="match_parent"
-            android:layout_height="60dp" />
-        <LinearLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:gravity="bottom|center_horizontal"
-            android:orientation="horizontal">
-                <FrameLayout
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1">
-                        <ImageView
-                            android:id="@+id/shape_preview_icon_3"
-                            android:layout_width="@dimen/preview_theme_shape_size"
-                            android:layout_height="@dimen/preview_theme_shape_size"
-                            android:layout_gravity="center_horizontal"
-                            android:layout_margin="4dp"
-                            android:elevation="4dp"/>
-                </FrameLayout>
-                <Space
-                    android:layout_width="@dimen/preview_theme_shape_size"
-                    android:layout_height="match_parent"
-                    android:layout_weight="0" />
-                <FrameLayout
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1">
-                        <ImageView
-                            android:id="@+id/shape_preview_icon_4"
-                            android:layout_width="@dimen/preview_theme_shape_size"
-                            android:layout_height="@dimen/preview_theme_shape_size"
-                            android:layout_gravity="center_horizontal"
-                            android:layout_margin="4dp"
-                            android:elevation="4dp"/>
-                </FrameLayout>
-                <Space
-                    android:layout_width="@dimen/preview_theme_shape_size"
-                    android:layout_height="match_parent"
-                    android:layout_weight="0" />
-                <FrameLayout
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1">
-                        <ImageView
-                            android:id="@+id/shape_preview_icon_5"
-                            android:layout_width="@dimen/preview_theme_shape_size"
-                            android:layout_height="@dimen/preview_theme_shape_size"
-                            android:layout_margin="4dp"
-                            android:layout_gravity="center_horizontal"
-                            android:elevation="4dp"/>
-                </FrameLayout>
-        </LinearLayout>
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/theme_color_option.xml b/res/layout/theme_color_option.xml
deleted file mode 100644
index 8d55626..0000000
--- a/res/layout/theme_color_option.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:layout_gravity="center"
-    android:layout_marginTop="28dp"
-    android:layout_marginHorizontal="@dimen/component_options_margin_horizontal">
-
-    <ImageView
-        android:id="@+id/option_tile"
-        android:layout_width="@dimen/component_color_chip_container_size"
-        android:layout_height="@dimen/component_color_chip_container_size"
-        android:layout_gravity="center"
-        android:scaleType="center"/>
-</FrameLayout>
diff --git a/res/layout/theme_component_preview.xml b/res/layout/theme_component_preview.xml
deleted file mode 100644
index 67abe6b..0000000
--- a/res/layout/theme_component_preview.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<androidx.constraintlayout.widget.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/theme_preview_card_background"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:clipToPadding="false"
-    android:maxHeight="@dimen/preview_theme_max_height"
-    android:minHeight="@dimen/preview_theme_min_height"
-    android:paddingTop="64dp">
-
-        <TextView
-            android:id="@+id/theme_preview_card_header"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal"
-            android:drawablePadding="@dimen/theme_preview_header_drawable_padding"
-            android:textAppearance="@style/CardTitleTextAppearance"
-            android:importantForAccessibility="no"
-            app:layout_constraintBottom_toTopOf="@id/theme_preview_card_body_container"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHorizontal_bias="0.5"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_chainStyle="spread_inside"
-            tools:text="Default"/>
-
-        <FrameLayout
-            android:id="@+id/theme_preview_card_body_container"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginTop="@dimen/preview_theme_content_margin"
-            android:clipChildren="false"
-            android:importantForAccessibility="noHideDescendants"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHeight_max="@dimen/preview_theme_content_max_height"
-            app:layout_constraintHeight_min="@dimen/preview_theme_content_min_height"
-            app:layout_constraintHorizontal_bias="0.5"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/theme_preview_card_header"/>
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/theme_font_option.xml b/res/layout/theme_font_option.xml
deleted file mode 100644
index dea4f78..0000000
--- a/res/layout/theme_font_option.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="wrap_content"
-              android:layout_height="wrap_content"
-              android:orientation="vertical">
-
-    <FrameLayout
-        android:id="@+id/option_tile"
-        android:layout_width="@dimen/option_tile_width"
-        android:layout_height="@dimen/option_tile_width"
-        android:layout_gravity="center_horizontal"
-        android:paddingHorizontal="@dimen/option_tile_padding_horizontal"
-        android:paddingVertical="@dimen/option_tile_padding_vertical"
-        android:layout_marginHorizontal="@dimen/component_options_margin_horizontal"
-        android:background="@drawable/option_border">
-        <TextView
-            android:id="@+id/thumbnail_text"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center"
-            android:textSize="@dimen/font_comonent_option_thumbnail_size"
-            android:textAlignment="center"
-            android:textColor="?android:attr/colorForeground"
-            android:text="@string/font_component_option_thumbnail"/>
-    </FrameLayout>
-</LinearLayout>
diff --git a/res/layout/theme_icon_option.xml b/res/layout/theme_icon_option.xml
deleted file mode 100644
index 292b8cd..0000000
--- a/res/layout/theme_icon_option.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="wrap_content"
-              android:layout_height="wrap_content"
-              android:orientation="vertical">
-
-    <FrameLayout
-        android:id="@+id/option_tile"
-        android:layout_width="@dimen/option_tile_width"
-        android:layout_height="@dimen/option_tile_width"
-        android:layout_gravity="center_horizontal"
-        android:paddingHorizontal="@dimen/option_tile_padding_horizontal"
-        android:paddingVertical="@dimen/option_tile_padding_vertical"
-        android:layout_marginHorizontal="@dimen/component_options_margin_horizontal"
-        android:background="@drawable/option_border">
-        <ImageView
-            android:id="@+id/option_icon"
-            android:layout_width="@dimen/component_icon_thumb_size"
-            android:layout_height="@dimen/component_icon_thumb_size"
-            android:layout_gravity="center"
-            android:tint="?android:colorForeground"/>
-    </FrameLayout>
-</LinearLayout>
diff --git a/res/layout/theme_info_view.xml b/res/layout/theme_info_view.xml
deleted file mode 100644
index 085a35e..0000000
--- a/res/layout/theme_info_view.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2020 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<com.android.customization.picker.theme.ThemeInfoView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:gravity="center_horizontal"
-    android:orientation="vertical"
-    android:padding="@dimen/wallpaper_info_pane_padding"
-    android:theme="@style/WallpaperPicker.BottomPaneStyle">
-
-    <TextView
-        android:id="@+id/style_info_title"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="@dimen/theme_info_margin"
-        android:gravity="center"
-        android:lineHeight="24dp"
-        android:textAppearance="@style/SubtitleTextAppearance"
-        android:textColor="?android:textColorPrimary"
-        android:textSize="16sp"
-        android:text="@string/style_info_description"/>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:gravity="center">
-
-        <TextView
-            android:id="@+id/font_preview"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center"
-            android:layout_marginHorizontal="@dimen/theme_info_margin"
-            android:importantForAccessibility="no"
-            android:textSize="@dimen/theme_info_text_size"
-            android:textColor="?android:attr/colorForeground"
-            android:text="@string/font_component_option_thumbnail"/>
-
-        <ImageView
-            android:id="@+id/qs_preview_icon"
-            android:layout_width="@dimen/theme_info_icon_size"
-            android:layout_height="@dimen/theme_info_icon_size"
-            android:layout_marginHorizontal="@dimen/theme_info_margin"
-            android:tint="?android:textColorPrimary"/>
-
-        <ImageView
-            android:id="@+id/app_preview_icon"
-            android:layout_width="@dimen/theme_info_icon_size"
-            android:layout_height="@dimen/theme_info_icon_size"
-            android:layout_marginHorizontal="@dimen/theme_info_margin"
-            android:layout_marginVertical="@dimen/theme_info_app_preview_icon_margin"
-            android:elevation="@dimen/theme_info_app_preview_icon_elevation"/>
-
-        <ImageView
-            android:id="@+id/shape_preview_icon"
-            android:layout_width="@dimen/theme_info_icon_size"
-            android:layout_height="@dimen/theme_info_icon_size"
-            android:layout_marginHorizontal="@dimen/theme_info_margin"/>
-    </LinearLayout>
-</com.android.customization.picker.theme.ThemeInfoView>
\ No newline at end of file
diff --git a/res/layout/theme_option.xml b/res/layout/theme_option.xml
deleted file mode 100644
index bdf82d0..0000000
--- a/res/layout/theme_option.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingHorizontal="@dimen/option_padding_horizontal"
-    android:paddingBottom="@dimen/option_bottom_margin"
-    android:clipChildren="false"
-    android:clipToPadding="false"
-    android:orientation="vertical">
-
-    <TextView
-        android:id="@+id/option_label"
-        android:layout_width="@dimen/option_tile_width"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal"
-        android:layout_marginBottom="@dimen/theme_option_label_margin"
-        android:ellipsize="end"
-        android:gravity="center_horizontal"
-        android:maxLines="1"
-        android:textAppearance="@style/OptionTitleTextAppearance"/>
-    <RelativeLayout
-        android:id="@+id/option_tile"
-        android:layout_width="@dimen/option_tile_width"
-        android:layout_height="@dimen/option_tile_width"
-        android:layout_gravity="center_horizontal"
-        android:paddingHorizontal="@dimen/option_tile_padding_horizontal"
-        android:paddingVertical="@dimen/option_tile_padding_vertical"
-        android:background="@drawable/option_border">
-        <ImageView
-            android:id="@+id/theme_option_icon"
-            android:layout_width="@dimen/theme_option_icon_sample_width"
-            android:layout_height="@dimen/theme_option_icon_sample_height"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentStart="true"
-            android:tint="?android:colorForeground"/>
-        <ImageView
-            android:id="@+id/theme_option_shape"
-            android:layout_width="@dimen/theme_option_shape_sample_width"
-            android:layout_height="@dimen/theme_option_shape_sample_height"
-            android:layout_alignBottom="@+id/theme_option_icon"
-            android:layout_toEndOf="@id/theme_option_icon"
-            android:layout_marginStart="@dimen/theme_option_sample_margin"/>
-        <TextView
-            android:id="@+id/theme_option_font"
-            android:layout_width="@dimen/theme_option_font_sample_width"
-            android:layout_height="@dimen/theme_option_font_sample_height"
-            android:layout_gravity="center"
-            android:layout_below="@id/theme_option_icon"
-            android:layout_marginTop="@dimen/option_bottom_margin"
-            android:autoSizeMaxTextSize="@dimen/theme_option_font_text_size"
-            android:autoSizeMinTextSize="@dimen/theme_option_font_min_text_size"
-            android:autoSizeTextType="uniform"
-            android:gravity="center"
-            android:letterSpacing=".2"
-            android:text="@string/theme_font_example"
-            android:textAlignment="center"
-            android:textSize="@dimen/theme_option_font_text_size" />
-    </RelativeLayout>
-</LinearLayout>
diff --git a/res/layout/theme_preview_app_icon_shape.xml b/res/layout/theme_preview_app_icon_shape.xml
deleted file mode 100644
index fe95f90..0000000
--- a/res/layout/theme_preview_app_icon_shape.xml
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2020 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<androidx.constraintlayout.widget.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/app_row_0"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toTopOf="@id/app_row_1">
-
-        <LinearLayout
-            android:id="@+id/app_item_0"
-            android:layout_width="@dimen/preview_theme_app_icon_size"
-            android:layout_height="wrap_content"
-            android:gravity="center_horizontal"
-            android:orientation="vertical"
-            android:clipChildren="false"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/app_item_1"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent">
-            <ImageView
-                android:id="@+id/shape_preview_icon_0"
-                android:layout_width="@dimen/preview_theme_app_icon_size"
-                android:layout_height="@dimen/preview_theme_app_icon_size"
-                android:elevation="4dp"/>
-            <TextView
-                android:id="@+id/shape_preview_icon_app_name_0"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="@dimen/preview_theme_app_icon_shape_text_margin_top"
-                android:textSize="@dimen/preview_theme_app_icon_shape_text_size"
-                android:lineHeight="20dp"
-                android:singleLine="true"/>
-        </LinearLayout>
-
-        <LinearLayout
-            android:id="@+id/app_item_1"
-            android:layout_width="@dimen/preview_theme_app_icon_size"
-            android:layout_height="wrap_content"
-            android:gravity="center_horizontal"
-            android:orientation="vertical"
-            android:clipChildren="false"
-            app:layout_constraintStart_toEndOf="@id/app_item_0"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent">
-            <ImageView
-                android:id="@+id/shape_preview_icon_1"
-                android:layout_width="@dimen/preview_theme_app_icon_size"
-                android:layout_height="@dimen/preview_theme_app_icon_size"
-                android:elevation="4dp"/>
-            <TextView
-                android:id="@+id/shape_preview_icon_app_name_1"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="@dimen/preview_theme_app_icon_shape_text_margin_top"
-                android:textSize="@dimen/preview_theme_app_icon_shape_text_size"
-                android:lineHeight="20dp"
-                android:singleLine="true"/>
-        </LinearLayout>
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/app_row_1"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/app_row_0"
-        app:layout_constraintBottom_toBottomOf="parent">
-        <LinearLayout
-            android:id="@+id/app_item_2"
-            android:layout_width="@dimen/preview_theme_app_icon_size"
-            android:layout_height="wrap_content"
-            android:gravity="center_horizontal"
-            android:orientation="vertical"
-            android:clipChildren="false"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/app_item_3"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent">
-            <ImageView
-                android:id="@+id/shape_preview_icon_2"
-                android:layout_width="@dimen/preview_theme_app_icon_size"
-                android:layout_height="@dimen/preview_theme_app_icon_size"
-                android:elevation="4dp"/>
-            <TextView
-                android:id="@+id/shape_preview_icon_app_name_2"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="@dimen/preview_theme_app_icon_shape_text_margin_top"
-                android:textSize="@dimen/preview_theme_app_icon_shape_text_size"
-                android:lineHeight="20dp"
-                android:singleLine="true"/>
-        </LinearLayout>
-
-        <LinearLayout
-            android:id="@+id/app_item_3"
-            android:layout_width="@dimen/preview_theme_app_icon_size"
-            android:layout_height="wrap_content"
-            android:gravity="center_horizontal"
-            android:orientation="vertical"
-            android:clipChildren="false"
-            app:layout_constraintStart_toEndOf="@id/app_item_2"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent">
-            <ImageView
-                android:id="@+id/shape_preview_icon_3"
-                android:layout_width="@dimen/preview_theme_app_icon_size"
-                android:layout_height="@dimen/preview_theme_app_icon_size"
-                android:elevation="4dp"/>
-            <TextView
-                android:id="@+id/shape_preview_icon_app_name_3"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="@dimen/preview_theme_app_icon_shape_text_margin_top"
-                android:textSize="@dimen/preview_theme_app_icon_shape_text_size"
-                android:lineHeight="20dp"
-                android:singleLine="true"/>
-        </LinearLayout>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/theme_preview_card.xml b/res/layout/theme_preview_card.xml
deleted file mode 100644
index 4fc8995..0000000
--- a/res/layout/theme_preview_card.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2020 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<androidx.cardview.widget.CardView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/FullContentPreviewCard"
-    android:id="@+id/theme_preview_card"
-    android:contentDescription="@string/theme_preview_card_content_description"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:layout_gravity="center">
-
-    <ImageView
-        android:id="@+id/wallpaper_preview_image"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="?android:colorPrimary" />
-
-    <SurfaceView
-        android:id="@+id/wallpaper_preview_surface"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
-
-    <FrameLayout
-        android:id="@+id/theme_preview_container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:importantForAccessibility="noHideDescendants" />
-</androidx.cardview.widget.CardView>
\ No newline at end of file
diff --git a/res/layout/theme_preview_color_icons.xml b/res/layout/theme_preview_color_icons.xml
deleted file mode 100644
index e87a7a1..0000000
--- a/res/layout/theme_preview_color_icons.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2020 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<androidx.cardview.widget.CardView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/color_icons_section"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:paddingHorizontal="@dimen/preview_theme_color_icons_padding_horizontal"
-        android:paddingTop="@dimen/preview_theme_color_icons_padding_top"
-        android:paddingBottom="@dimen/preview_theme_color_icons_padding_bottom"
-        android:orientation="vertical"
-        android:background="?android:colorBackground">
-
-        <!-- Title -->
-        <TextView
-            android:id="@+id/color_icons_section_title"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/theme_preview_icons_section_title"
-            android:textSize="@dimen/preview_theme_color_icons_title_text_size"
-            android:textColor="?android:textColorSecondary"
-            android:lineHeight="16dp"
-            android:gravity="center"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toTopOf="@id/qs_icons"
-            app:layout_constraintVertical_bias="0.0"
-            app:layout_constraintVertical_chainStyle="spread_inside" />
-
-        <!-- QS icons -->
-        <LinearLayout
-            android:id="@+id/qs_icons"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/color_icons_section_title"
-            app:layout_constraintBottom_toTopOf="@id/button_icons">
-            <FrameLayout
-                android:layout_width="@dimen/preview_theme_color_icons_icon_size"
-                android:layout_height="@dimen/preview_theme_color_icons_icon_size">
-                <ImageView
-                    android:id="@+id/preview_color_qs_0_bg"
-                    android:layout_width="@dimen/preview_theme_color_icons_icon_size"
-                    android:layout_height="@dimen/preview_theme_color_icons_icon_size"/>
-                <ImageView
-                    android:id="@+id/preview_color_qs_0_icon"
-                    android:layout_width="@dimen/preview_theme_color_icons_tile_size"
-                    android:layout_height="@dimen/preview_theme_color_icons_tile_size"
-                    android:tint="?android:textColorPrimary"
-                    android:layout_gravity="center"/>
-            </FrameLayout>
-            <Space
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"/>
-            <FrameLayout
-                android:layout_width="@dimen/preview_theme_color_icons_icon_size"
-                android:layout_height="@dimen/preview_theme_color_icons_icon_size"
-                android:layout_gravity="center_horizontal">
-                <ImageView
-                    android:id="@+id/preview_color_qs_1_bg"
-                    android:layout_width="@dimen/preview_theme_color_icons_icon_size"
-                    android:layout_height="@dimen/preview_theme_color_icons_icon_size"/>
-                <ImageView
-                    android:id="@+id/preview_color_qs_1_icon"
-                    android:layout_width="@dimen/preview_theme_color_icons_tile_size"
-                    android:layout_height="@dimen/preview_theme_color_icons_tile_size"
-                    android:tint="?android:textColorPrimary"
-                    android:layout_gravity="center"/>
-            </FrameLayout>
-            <Space
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"/>
-            <FrameLayout
-                android:layout_width="@dimen/preview_theme_color_icons_icon_size"
-                android:layout_height="@dimen/preview_theme_color_icons_icon_size">
-                <ImageView
-                    android:id="@+id/preview_color_qs_2_bg"
-                    android:layout_width="@dimen/preview_theme_color_icons_icon_size"
-                    android:layout_height="@dimen/preview_theme_color_icons_icon_size"/>
-                <ImageView
-                    android:id="@+id/preview_color_qs_2_icon"
-                    android:layout_width="@dimen/preview_theme_color_icons_tile_size"
-                    android:layout_height="@dimen/preview_theme_color_icons_tile_size"
-                    android:tint="?android:textColorPrimary"
-                    android:layout_gravity="center"/>
-            </FrameLayout>
-            <Space
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"/>
-            <FrameLayout
-                android:layout_width="@dimen/preview_theme_color_icons_icon_size"
-                android:layout_height="@dimen/preview_theme_color_icons_icon_size">
-                <ImageView
-                    android:id="@+id/preview_color_qs_3_bg"
-                    android:layout_width="@dimen/preview_theme_color_icons_icon_size"
-                    android:layout_height="@dimen/preview_theme_color_icons_icon_size"/>
-                <ImageView
-                    android:id="@+id/preview_color_qs_3_icon"
-                    android:layout_width="@dimen/preview_theme_color_icons_tile_size"
-                    android:layout_height="@dimen/preview_theme_color_icons_tile_size"
-                    android:tint="?android:textColorPrimary"
-                    android:layout_gravity="center"/>
-            </FrameLayout>
-        </LinearLayout>
-
-        <!-- Icons of CheckBox/RadioButton/Switch. -->
-        <RelativeLayout
-            android:id="@+id/button_icons"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/qs_icons"
-            app:layout_constraintBottom_toBottomOf="parent">
-            <FrameLayout
-                android:layout_width="@dimen/preview_theme_icon_size"
-                android:layout_height="@dimen/preview_theme_icon_size"
-                android:layout_alignParentStart="true">
-                <CheckBox
-                    android:id="@+id/preview_check_selected"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center"
-                    android:checked="true"
-                    android:enabled="false"/>
-            </FrameLayout>
-
-            <FrameLayout
-                android:layout_width="@dimen/preview_theme_icon_size"
-                android:layout_height="@dimen/preview_theme_icon_size"
-                android:layout_centerHorizontal="true">
-                <RadioButton
-                    android:id="@+id/preview_radio_selected"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center"
-                    android:checked="true"
-                    android:enabled="false"/>
-            </FrameLayout>
-
-            <FrameLayout
-                android:layout_width="wrap_content"
-                android:layout_height="@dimen/preview_theme_icon_size"
-                android:layout_alignParentEnd="true">
-                <Switch
-                    android:id="@+id/preview_toggle_selected"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center"
-                    android:checked="true"
-                    android:enabled="false"/>
-            </FrameLayout>
-        </RelativeLayout>
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.cardview.widget.CardView>
diff --git a/res/layout/theme_preview_content.xml b/res/layout/theme_preview_content.xml
deleted file mode 100644
index 4b29617..0000000
--- a/res/layout/theme_preview_content.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2020 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<androidx.constraintlayout.widget.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:paddingTop="@dimen/preview_theme_content_padding_top"
-    android:paddingBottom="@dimen/preview_theme_content_padding_bottom"
-    android:clipToPadding="false"
-    android:clipChildren="false">
-
-    <FrameLayout
-        android:id="@+id/topbar_container"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginHorizontal="@dimen/preview_theme_topbar_container_margin_horizontal"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toTopOf="@id/smart_space_date"
-        app:layout_constraintVertical_bias="0.0"
-        app:layout_constraintVertical_chainStyle="spread_inside">
-        <include layout="@layout/theme_preview_topbar" />
-    </FrameLayout>
-
-    <TextView
-        android:id="@+id/smart_space_date"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:textSize="@dimen/preview_theme_smart_space_date_size"
-        android:singleLine="true"
-        android:gravity="center|bottom"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/topbar_container"
-        app:layout_constraintBottom_toTopOf="@id/app_icon_shape_container"
-        app:layout_constraintHeight_percent="0.1" />
-
-    <FrameLayout
-        android:id="@+id/app_icon_shape_container"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/smart_space_date"
-        app:layout_constraintBottom_toTopOf="@id/color_icons_container"
-        app:layout_constraintHeight_percent="0.49">
-        <include layout="@layout/theme_preview_app_icon_shape" />
-    </FrameLayout>
-
-    <FrameLayout
-        android:id="@+id/color_icons_container"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_marginHorizontal="@dimen/preview_theme_color_icons_container_margin_horizontal"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/app_icon_shape_container"
-        app:layout_constraintBottom_toTopOf="@id/theme_qsb_container"
-        app:layout_constraintHeight_percent="0.275">
-        <include layout="@layout/theme_preview_color_icons" />
-    </FrameLayout>
-
-    <FrameLayout
-        android:id="@+id/theme_qsb_container"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_marginHorizontal="@dimen/preview_theme_qsb_container_margin_horizontal"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/color_icons_container"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintHeight_percent="0.1">
-        <include layout="@layout/theme_cover_qsb" />
-    </FrameLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/theme_preview_topbar.xml b/res/layout/theme_preview_topbar.xml
deleted file mode 100644
index af69de9..0000000
--- a/res/layout/theme_preview_topbar.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/theme_preview_top_bar"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    tools:visibility="visible"
-    tools:showIn="@layout/theme_preview_card">
-    <TextView
-        android:id="@+id/theme_preview_clock"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="start|center_vertical"
-        android:textColor="?android:textColorSecondary"
-        android:textSize="@dimen/preview_theme_cover_topbar_clock_size"
-        tools:text="8:10"/>
-    <LinearLayout
-        android:id="@+id/theme_preview_top_bar_icons"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="end|center_vertical"
-        android:orientation="horizontal">
-        <ImageView
-            android:id="@+id/preview_icon_0"
-            android:layout_width="@dimen/preview_theme_cover_topbar_icon_size"
-            android:layout_height="@dimen/preview_theme_cover_topbar_icon_size"
-            android:tint="?android:textColorSecondary"/>
-        <ImageView
-            android:id="@+id/preview_icon_1"
-            android:layout_width="@dimen/preview_theme_cover_topbar_icon_size"
-            android:layout_height="@dimen/preview_theme_cover_topbar_icon_size"
-            android:layout_marginHorizontal="8dp"
-            android:tint="?android:textColorSecondary"/>
-        <ImageView
-            android:id="@+id/preview_icon_2"
-            android:layout_width="@dimen/preview_theme_cover_topbar_icon_size"
-            android:layout_height="@dimen/preview_theme_cover_topbar_icon_size"
-            android:tint="?android:textColorSecondary"/>
-    </LinearLayout>
-</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/theme_shape_option.xml b/res/layout/theme_shape_option.xml
deleted file mode 100644
index c5682c0..0000000
--- a/res/layout/theme_shape_option.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="wrap_content"
-              android:layout_height="wrap_content"
-              android:orientation="vertical">
-    <FrameLayout
-        android:id="@+id/option_tile"
-        android:layout_width="@dimen/option_tile_width"
-        android:layout_height="@dimen/option_tile_width"
-        android:layout_gravity="center"
-        android:layout_marginHorizontal="@dimen/component_options_margin_horizontal">
-        <ImageView
-            android:id="@+id/shape_thumbnail"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_gravity="center"/>
-    </FrameLayout>
-</LinearLayout>
diff --git a/res/menu/custom_theme_editor_menu.xml b/res/menu/custom_theme_editor_menu.xml
deleted file mode 100644
index 7019181..0000000
--- a/res/menu/custom_theme_editor_menu.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
-    <item
-        android:id="@+id/custom_theme_delete"
-        android:title="@string/custom_theme_delete"
-        android:icon="@drawable/ic_delete_24px"
-        android:showAsAction="always"/>
-</menu>
\ No newline at end of file
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index e016927..f6ba1f8 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Gepasmaakte horlosie"</string>
     <string name="clock_description" msgid="3563839327378948">"Kies gepasmaakte horlosie"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Verander ’n gepasmaakte horlosie"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Horlosie-instellings"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Horlosieskermopsie <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Horlosiekleur en grootte"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Horlosiekleur en grootte"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Kleur"</string>
@@ -40,7 +41,8 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Horlosiegrootte verander na gelang van sluitskerminhoud"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Groot"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Klein"</string>
-    <string name="grid_title" msgid="1688173478777254123">"Programrooster"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"’n Klein horlosie word in die hoek van jou skerm gewys"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Approoster"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Pas toe"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tik om te wysig"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Hou huidige muurpapier"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Voeg jou gunstelinglettertipes op elke skerm by"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Kies \'n roostergrootte"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Roostergrootteverandering sal werkspasie herlaai; kan paar sekondes neem."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Herlaai tans werkspasie met %1$s rooster"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Kon nie werkspasie met %1$s rooster herlaai nie"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Styl is suksesvol gestel"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Horlosie is suksesvol gestel"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Rooster is suksesvol gestel"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Gepasmaakte kleur"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Gepasmaakte vorm"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Gepasmaakte stylnaam"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Kleurintensiteit"</string>
     <string name="mode_title" msgid="2394873501427436055">"Donkertema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Tydelik gedeaktiveer vanweë Batterybespaarder"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema het verander"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Links-kortpad"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Regs-kortpad"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Geen"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Merk die volgende as jy “<xliff:g id="APPNAME">%1$s</xliff:g>” wil kies"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Kan nie kortpad byvoeg nie"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Maak <xliff:g id="APPNAME">%1$s</xliff:g> oop"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Om die <xliff:g id="APPNAME">%1$s</xliff:g>-app as ’n kortpad by te voeg, moet jy seker maak dat"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Klaar"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Geen"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Wys kennisgewings op die sluitskerm"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Versteek kennisgewings op die sluitskerm"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Meer sluitskermopsies"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privaatheid, Wat Speel, en meer"</string>
     <string name="more_colors" msgid="3191071655353004591">"Nog kleure"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primêre omvattende tema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primêre neutrale tema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primêre intense tema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primêre ekspressiewe tema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Verstekkleuropsie"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Kleuropsie <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Swiep links om ’n ander horlosieskerm te kies"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Swiep regs om ’n ander horlosieskerm te kies"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Gepasmaakte horlosies"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 2c61157..d377f40 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"ብጁ ሰዓት"</string>
     <string name="clock_description" msgid="3563839327378948">"ብጁ ሰዓት ይምረጡ"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"ብጁ ሰዓትን ይለውጡ"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"የClock ቅንብሮች"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"የሰዓት ፊት አማራጭ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"የClock ቀለም እና መጠን"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"የClock ቀለም እና መጠን"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>፣ <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"ቀለም"</string>
@@ -37,19 +38,20 @@
     <string name="clock_color_teal" msgid="7499223425741344251">"ደማቅ አረንጓዴ-ሰማያዊ"</string>
     <string name="clock_size" msgid="5028923902364418263">"መጠን"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ተለዋዋጭ"</string>
-    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"የClock መጠን በማያ ገጽ ቁልፍ ይዘት መሰረት ይለወጣል"</string>
+    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"የClock መጠን በማያ ገፅ ቁልፍ ይዘት መሰረት ይለወጣል"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"ትልቅ"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"ትንሽ"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"በእርስዎ ማያ ገፅ ጥግ ላይ ትንሽ ሰዓት ይታያል"</string>
     <string name="grid_title" msgid="1688173478777254123">"የመተግበሪያ ፍርግርግ"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"ተግብር"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"ለማርትዕ መታ ያድርጉ"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"የአሁኑን ልጣፍ ያቆዩት"</string>
-    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"የቅጥ ቅድመ-እይታ"</string>
-    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"የፍርግርግ ቅድመ-እይታ"</string>
-    <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="theme_preview_card_content_description" msgid="5989222908619535533">"የቅጥ ቅድመ-ዕይታ"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"የፍርግርግ ቅድመ-ዕይታ"</string>
+    <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>
@@ -62,9 +64,12 @@
     <string name="preview_name_shape" msgid="5676971146080968721">"ቅርጽ"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"ልጣፍ"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"የእርስዎን ተወዳጅ ቁፊዎች ወደ ሁሉም ማያ ገጽ ያክሉ"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"የእርስዎን ተወዳጅ ቁፊዎች ወደ ሁሉም ማያ ገፅ ያክሉ"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"የፍርግርግ መጠን ይምረጡ"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"የፍርግርግ መጠንን መለወጥ መሥሪያ ቦታን ዳግም ይጭናል እና ጥቂት ደቂቃዎችን ሊወስድ ይችላል።"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"በ%1$s ፍርግርግ መሥሪያ ቦታን እንደገና መጫን"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"በ%1$s ፍርግርግ መሥሪያ ቦታን እንደገና መጫን አልተሳካም"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"ቅጥ በተሳካ ሁኔታ ተቀናብሯል"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ሰዓት በተሳካ ሁኔታ ተቀናብሯል"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ፍርግርግ በተሳካ ሁኔታ ተቀናብሯል"</string>
@@ -89,15 +94,16 @@
     <string name="use_style_instead_body" msgid="3051937045807471496">"የመረጧቸው ክፍላተ አካላት የ <xliff:g id="ID_1">%1$s</xliff:g> ቅጥ ጋር ይዛመዳሉ። በምትኩ <xliff:g id="ID_2">%1$s</xliff:g> መጠቀም ይፈልጋሉ?"</string>
     <string name="use_style_button" msgid="1754493078383627019">"<xliff:g id="ID_1">%1$s</xliff:g>ን ይጠቀሙ"</string>
     <string name="no_thanks" msgid="7286616980115687627">"አይ፣ አመሰግናለሁ"</string>
-    <string name="clock_preview_content_description" msgid="5460561185905717460">"የ<xliff:g id="ID_1">%1$s</xliff:g> ሰዓት ቅድመ-እይታ"</string>
+    <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>
-    <string name="style_info_description" msgid="2612473574431003251">"የቅርጸ-ቁምፊ፣ የአዶዎች፣ የመተግበሪያ ቅርጽ እና የቀለም ቅድመ-እይታ"</string>
+    <string name="style_info_description" msgid="2612473574431003251">"የቅርጸ-ቁምፊ፣ የአዶዎች፣ የመተግበሪያ ቅርጽ እና የቀለም ቅድመ-ዕይታ"</string>
     <string name="accessibility_custom_font_title" msgid="966867359157303705">"ብጁ ቅርጸ-ቁምፊ"</string>
     <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"ብጁ አዶ"</string>
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"ብጁ ቀለም"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"ብጁ ቅርጽ"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"ብጁ የቅጥ ስም"</string>
+    <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="mode_changed" msgid="2243581369395418584">"ገጽታ ተቀይሯል"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"የግራ አቋራጭ"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"የቀኝ አቋራጭ"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"ምንም"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"«<xliff:g id="APPNAME">%1$s</xliff:g>»ን ለመምረጥ የሚከተሉትን ይፈትሹ"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"አቋራጭን ማከል አልተቻለም"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ይክፈቱ"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"የ<xliff:g id="APPNAME">%1$s</xliff:g> መተግበሪያን እንደ አቋራጭ ለማከል የሚከተሉትን ማድረግዎን እርግጠኛ ይሁኑ"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ተከናውኗል"</string>
@@ -124,13 +130,17 @@
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"አቋራጮች"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>፣ <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ምንም"</string>
-    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"በማያ ገጽ ቁልፉ ላይ ማሳወቂያዎችን አሳይ"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"በማያ ገጽ ቁልፉ ላይ ማሳወቂያዎችን ደብቅ"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"በማያ ገፅ ቁልፉ ላይ ማሳወቂያዎችን አሳይ"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"ተጨማሪ የማያ ገፅ ቁልፍ አማራጮች"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"የመጀመሪያ ንቁ ገጽታ"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"የመጀመሪያ ገላጭ ገጽታ"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ነባሪ የቀለም አማራጭ"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"የቀለም አማራጭ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"የተለየ የሰዓት መልክ ለመምረጥ ወደ ግራ ያንሸራትቱ"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"የተለየ የሰዓት መልክ ለመምረጥ ወደ ቀኝ ያንሸራትቱ"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"ብጁ ሰዓቶች"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index f3a3fae..86670d7 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"خلفية شاشة ساعة مخصّصة"</string>
     <string name="clock_description" msgid="3563839327378948">"اختيار خلفية شاشة ساعة مخصّصة"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"تغيير خلفية شاشة ساعة مخصّصة"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"إعدادات الساعة"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"خيار تصميم الساعة: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"لون الساعة وحجمها"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"لون الساعة وحجمها"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g> و<xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"اللون"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"يتغير حجم الساعة وفقًا للمحتوى على شاشة القفل."</string>
     <string name="clock_size_large" msgid="3143248715744138979">"كبير"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"صغير"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"تظهر ساعة صغيرة في زاوية الشاشة."</string>
     <string name="grid_title" msgid="1688173478777254123">"شبكة التطبيقات"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"تطبيق"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"انقُر للتعديل."</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"يمكنك إضافة خطوطك المفضّلة إلى كل شاشة."</string>
     <string name="grid_options_title" msgid="7071930966989877023">"اختيار حجم الشبكة"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"سيؤدي تغيير حجم الشبكة إلى إعادة تحميل مساحة العمل وقد يستغرق ذلك بضع ثوانٍ."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"إعادة تحميل مساحة العمل باستخدام شبكة %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"تعذّرت إعادة تحميل مساحة العمل باستخدام شبكة %1$s."</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"تم ضبط النمط."</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"تم ضبط الساعة."</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"تم ضبط الشبكة."</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"لون مخصص"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"شكل مخصص"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"اسم نمط مخصص"</string>
+    <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="mode_changed" msgid="2243581369395418584">"تم تغيير المظهر."</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"اختصار اليمين"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"اختصار اليسار"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"بدون أزرار"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"لاختيار \"<xliff:g id="APPNAME">%1$s</xliff:g>\"، تأكّد مما يلي:"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"تعذُّر إضافة الاختصار"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"فتح <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"لإضافة تطبيق \"<xliff:g id="APPNAME">%1$s</xliff:g>\" كاختصار، تأكَّد من"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"تم"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"\"<xliff:g id="FIRST">%1$s</xliff:g>\" و\"<xliff:g id="SECOND">%2$s</xliff:g>\""</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"بدون اختصارات"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"إظهار الإشعارات على شاشة القفل"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"إخفاء الإشعارات على شاشة القفل"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"المزيد من خيارات شاشة القفل"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"مظهر أساسي نابض بالحياة"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"مظهر أساسي معبِّر"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"خيار اللون التلقائي"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"خيار اللون <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"مرِّر سريعًا لليمين لاختيار تصميم ساعة مختلف."</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"مرِّر سريعًا لليسار لاختيار تصميم ساعة مختلف."</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"تصميمات ساعة مخصّصة"</string>
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 6279d5d..ac66386 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"কাষ্টম ঘড়ী"</string>
     <string name="clock_description" msgid="3563839327378948">"কাষ্টম ঘড়ী বাছক"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"কাষ্টম ঘড়ী সলনি কৰক"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"ঘড়ীৰ ছেটিং"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ক্লক ফে’চৰ বিকল্প <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"ঘড়ীৰ ৰং আৰু আকাৰ"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"ঘড়ীৰ ৰং আৰু আকাৰ"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"ৰং"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"বন্ধ স্ক্ৰীনৰ সমল অনুসৰি ঘড়ীৰ আকাৰ সলনি হয়"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"ডাঙৰ"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"সৰু"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"আপোনাৰ স্ক্ৰীনখনৰ চুকত এটা সৰু ঘড়ীয়ে দেখুৱায়"</string>
     <string name="grid_title" msgid="1688173478777254123">"এপৰ গ্ৰিড"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"প্ৰয়োগ কৰক"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"সম্পাদনা কৰিবলৈ টিপক"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"প্ৰত্যেকখন স্ক্ৰীনত আপোনাৰ প্ৰিয় ফ’ণ্ট যোগ দিয়ক"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"এটা গ্ৰিডৰ আকাৰ বাছনি কৰক"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"গ্ৰিড আকাৰ সলনি কৰিলে ৱৰ্কস্পেছ পুনৰ ল’ড হ’ব আৰু কেইছেকেণ্ডমান সময় লাগিব পাৰে।"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s গ্ৰিডৰ সৈতে ৱৰ্কস্পেছ পুনৰ ল’ড কৰি থকা হৈছে"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s গ্ৰিডৰ সৈতে ৱৰ্কস্পেছ পুনৰ ল’ড কৰিব পৰা নগ’ল"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"শৈলী সফলতাৰে ছেট কৰা হ’ল"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ঘড়ী সফলতাৰে ছেট কৰা হ’ল"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"গ্ৰিড সফলতাৰে ছেট কৰা হ’ল"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"কাষ্টম ৰং"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"কাষ্টম আকৃতি"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"কাষ্টম শৈলীৰ নাম"</string>
+    <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="mode_changed" msgid="2243581369395418584">"থীম সলনি কৰা হৈছে"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"বাওঁ শ্বৰ্টকাট"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"সোঁ শ্বৰ্টকাট"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"নাই"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` বাছনি কৰিবলৈ এয়া পৰীক্ষা কৰক"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"শ্বৰ্টকাট যোগ কৰিব নোৱাৰি"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> খোলক"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> এপ্‌টোক এটা শ্বৰ্টকাট হিচাপে যোগ দিবলৈ, এইকেইটা কথা নিশ্চিত কৰক"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"কৰা হ’ল"</string>
@@ -124,13 +130,17 @@
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"শ্বৰ্টকাট"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"নাই"</string>
-    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"বন্ধ স্ক্ৰীনত জাননী দেখুৱাওক"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"বন্ধ স্ক্ৰীনত জাননী লুকুৱাওক"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"লক স্ক্ৰীনত জাননী দেখুৱাওক"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"লক স্ক্ৰীনৰ অধিক বিকল্প"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"প্ৰাথমিক জীৱন্ত থীম"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"প্ৰাথমিক অভিব্যক্তিপূৰ্ণ থীম"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ডিফ’ল্ট ৰঙৰ বিকল্প"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"ৰঙৰ বিকল্প <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"অন্য কোনো ক্লক ফে’চ বাছনি কৰিবলৈ বাওঁফাললৈ ছোৱাইপ কৰক"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"অন্য কোনো ক্লক ফে’চ বাছনি কৰিবলৈ সোঁফাললৈ ছোৱাইপ কৰক"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"কাষ্টম ঘড়ী"</string>
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 8a971ed..8b04e46 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Fərdi Saat"</string>
     <string name="clock_description" msgid="3563839327378948">"Fərdi saat seç"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Fərdi saatı dəyişdir"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Saat Ayarları"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Siferblat seçimi <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Saat rəngi və ölçü"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Saat rəngi və ölçüsü"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Rəng"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Saat ölçüsü kilid ekranının məzmununa görə dəyişir"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Böyük"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Kiçik"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Ekranın mərkəzində kiçik saat görünür"</string>
     <string name="grid_title" msgid="1688173478777254123">"Tətbiq toru"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Tətbiq edin"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Redaktə etmək üçün klikləyin"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Sevimli şriftlərinizi hər ekrana əlavə edin"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Tor ölçüsü seçin"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Tor ölçüsü dəyişəndə iş yeri yenidən yüklənəcək."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s toru ilə iş yeri yenidən yüklənir"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s toru ilə iş yeri yenidən yüklənmədi"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Üslub uğurla ayarlandı"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Saat uğurla ayarlandı"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Tor uğurla ayarlandı"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Fərdi rəng"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Fərdi forma"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Fərdi üslub adı"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Rəng intensivliyi"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tünd tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Enerjiyə Qənaət rejiminə görə müvəqqəti deaktivdir"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema dəyişdirildi"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Sol qısayol"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Sağ qısayol"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Heç biri"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"\"<xliff:g id="APPNAME">%1$s</xliff:g>\" seçmək üçün aşağıdakıları yoxlayın"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Qısayol əlavə etmək olmur"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> linkini açın"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> tətbiqini qısayol kimi əlavə etmək üçün bunları təmin edin:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Hazırdır"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Heç biri"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Kilid ekranında bildirişləri göstərin"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Kilid ekranında bildirişləri gizlədin"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Digər kilid ekranı seçimləri"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Məxfilik, İndi Efirdə və s."</string>
     <string name="more_colors" msgid="3191071655353004591">"Digər rənglər"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Əsas dinamik tema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Əsas neytral tema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Əsas canlı tema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Əsas ekspressiv tema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Defolt rəng seçimi"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Rəng seçimi <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Fərqli siferblat seçmək üçün sola sürüşdürün"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Fərqli siferblat seçmək üçün sağa sürüşdürün"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Fərdi saatlar"</string>
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index f887be1..423424c 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Prilagođeni sat"</string>
     <string name="clock_description" msgid="3563839327378948">"Prilagođeni sat"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Promenite prilagođeni sat"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Podešavanja sata"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opcija brojčanika <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Boja i veličina sata"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Boja i veličina sata"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Boja"</string>
@@ -39,7 +40,8 @@
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamički"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Veličina sata se menja u skladu sa sadržajem zaključanog ekrana"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Veliko"</string>
-    <string name="clock_size_small" msgid="2280449912094164133">"Malo"</string>
+    <string name="clock_size_small" msgid="2280449912094164133">"Mali"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Mali sat se prikazuje u uglu ekrana"</string>
     <string name="grid_title" msgid="1688173478777254123">"Mreža apl."</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Primeni"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Dodirnite da biste izmenili"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Dodajte omiljene fontove na svaki ekran"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Odaberite veličinu mreže"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Nova veličina mreže ponovo učitava radni prostor za par sekundi."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Radni prostor se ponovo učitava uz mrežu %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Ponovno učitavanje radnog prostora uz mrežu %1$s nije uspelo"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stil je podešen"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Podešavanje sata je uspelo"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Mreža je podešena"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Prilagođena boja"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Prilagođeni oblik"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Prilagođeni naziv stila"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intenzitet boja"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tamna tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Privremeno je onemogućeno zbog uštede baterije"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema je promenjena"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Leva prečica"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Desna prečica"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ništa"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Da biste izabrali „<xliff:g id="APPNAME">%1$s</xliff:g>“, proverite sledeće"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Dodavanje prečice nije uspelo"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otvorite: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Da biste dodali aplikaciju <xliff:g id="APPNAME">%1$s</xliff:g> kao prečicu, uverite se"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gotovo"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ništa"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Prikazuj obaveštenja na zaključanom ekranu"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Sakrij obaveštenja na zaključanom ekranu"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Još opcija za zaključani ekran"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privatnost, Trenutno svira i drugo"</string>
     <string name="more_colors" msgid="3191071655353004591">"Još boja"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primarna dinamična tema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primarna neutralna tema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primarna intenzivna tema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primarna ekspresivna tema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Podrazumevana opcija boje"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opcija boje <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Prevucite nalevo da biste odabrali drugi brojčanik"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Prevucite nadesno da biste odabrali drugi brojčanik"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Prilagođeni satovi"</string>
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index fec9d8b..dc2321d 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Гадзіннік"</string>
     <string name="clock_description" msgid="3563839327378948">"Выбар цыферблата"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Змяненне цыферблата"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Гадзіннік"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Выбраны цыферблат: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Колер/памер гадз-ка"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Колер і памер гадзінніка"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Колер"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Памер гадзінніка змяняецца ў залежнасці ад змесціва на экране блакіроўкі"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Вялікі"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Дробны"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Невялікі гадзіннік у вугле экрана"</string>
     <string name="grid_title" msgid="1688173478777254123">"Сетка праграм"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Ужыць"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Дакраніцеся, каб рэдагаваць"</string>
@@ -55,7 +57,7 @@
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, цяпер папярэдне паказваецца"</string>
     <string name="option_change_applied_previewed_description" msgid="9197311327728570816">"<xliff:g id="ID_1">%1$s</xliff:g>, змяніце выбранае і папярэдне прагледжанае"</string>
     <string name="theme_description" msgid="3697012391785254635">"Шрыфт: <xliff:g id="ID_1">%1$s</xliff:g>, значкі: <xliff:g id="ID_2">%2$s</xliff:g>, фігура: <xliff:g id="ID_3">%3$s</xliff:g>, колер: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"Стандартна"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"Стандарт"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"Шрыфт"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Значок"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Колер"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Дадавайце любімыя шрыфты на кожны экран"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Выберыце памер сеткі"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Пры змене памеру сеткі будзе абноўлена працоўная вобласць. Увесь працэс можа заняць некалькі секунд."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Ідзе абнаўленне працоўнай вобласці з сеткай %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Не ўдалося абнавіць працоўную вобласць з сеткай %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Стыль паспяхова зададзены"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Гадзіннік паспяхова зададзены"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Сетка паспяхова зададзена"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Карыстальніцкі колер"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Карыстальніцкая форма"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Назва карыстальніцкага стылю"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Тэма зменена"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Ярлык \"улева\""</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Ярлык \"управа\""</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Няма"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Каб выбраць праграму \"<xliff:g id="APPNAME">%1$s</xliff:g>\", зрабіце наступнае"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Не ўдалося дадаць ярлык."</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Адкрыць \"<xliff:g id="APPNAME">%1$s</xliff:g>\""</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Каб дадаць ярлык для праграмы \"<xliff:g id="APPNAME">%1$s</xliff:g>\", патрабуюцца наступныя ўмовы:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Гатова"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Няма"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Паказваць апавяшчэнні на экране блакіроўкі"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Не паказваць апавяшчэнні на экране блакіроўкі"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Больш параметраў экрана блакіроўкі"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Яскравая асноўная тэма"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Выразная асноўная тэма"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Стандартны варыянт колеру"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Варыянт колеру <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Каб выбраць іншы цыферблат, правядзіце пальцам улева"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Каб выбраць іншы цыферблат, правядзіце пальцам управа"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Карыстальніцкія цыферблаты"</string>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index eb5386d..0e1fbc7 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Персонал. циферблат"</string>
     <string name="clock_description" msgid="3563839327378948">"Персон. циферблат: Избор"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Промяна на персонализиран циферблат"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Часовник: Настройки"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Опция за циферблата: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Часовн.: Цвят и размер"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Часовн.: Цвят и размер"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Цвят"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Размерът на часовника се променя според съдържанието на заключения екран"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Голям"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Малък"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"В ъгъла на екрана се показва малък часовник"</string>
     <string name="grid_title" msgid="1688173478777254123">"Решетка с прил."</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Прилагане"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Докоснете, за да редактирате"</string>
@@ -55,7 +57,7 @@
     <string name="option_previewed_description" msgid="3467217598865047661">"Понастоящем е визуализирана опцията „<xliff:g id="ID_1">%1$s</xliff:g>“"</string>
     <string name="option_change_applied_previewed_description" msgid="9197311327728570816">"Промяна на избраната и визуализирана опция „<xliff:g id="ID_1">%1$s</xliff:g>“"</string>
     <string name="theme_description" msgid="3697012391785254635">"Шрифт: <xliff:g id="ID_1">%1$s</xliff:g> – икони: <xliff:g id="ID_2">%2$s</xliff:g> – форма: <xliff:g id="ID_3">%3$s</xliff:g> – цвят: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"Основно"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"Основен"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"Шрифт"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Икона"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Цвят"</string>
@@ -64,7 +66,10 @@
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Добавете любимите си шрифтове на всеки екран"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Избиране на размер на решетката"</string>
-    <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Преоразм. на решетката презарежда раб. простр. и отнема няколко сек."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Работното пространство се презарежда с решетка с размер %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Презареждането на работното пространство с решетка с размер %1$s не бе успешно"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Стилът бе зададен успешно"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Часовникът бе зададен успешно"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Решетката бе зададена успешно"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Персонализиран цвят"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Персонализирана фигура"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Име на персонализирания стил"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Темата бе променена"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Ляв пряк път"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Десен пряк път"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Без"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"За да изберете <xliff:g id="APPNAME">%1$s</xliff:g>, проверете следното:"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Прекият път не може да се добави"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Отваряне на <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"За да добавите пряк път към приложението <xliff:g id="APPNAME">%1$s</xliff:g>, трябва да се уверите в следното:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Готово"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Няма"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Показване на известията на заключения екран"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Скриване на известията на заключения екран"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Още опции за заключения екран"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Ярък цвят от основната тема"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Експресивен цвят от основната тема"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Опция за цвета по подразбиране"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Опция за цвета: <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Плъзнете наляво, за да изберете друг циферблат"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Плъзнете надясно, за да изберете друг циферблат"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Персонализирани часовници"</string>
 </resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index b3a323a..f4f4a92 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -22,8 +22,9 @@
     <string name="clock_title" msgid="1974314575211361352">"কাস্টম ঘড়ি"</string>
     <string name="clock_description" msgid="3563839327378948">"কাস্টম ঘড়ি বেছে নিন"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"কাস্টম ঘড়ি পরিবর্তন করুন"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"ঘড়ির \'সেটিংস\'"</string>
-    <string name="clock_color_and_size_title" msgid="7146791234905111351">"ঘড়ির রঙ &amp; সাইজ"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ঘড়ির ডায়ালের বিকল্প <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"ঘড়ির রঙ &amp; সাইজ"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"ঘড়ির রঙ ও সাইজ"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"রঙ"</string>
     <string name="clock_color_red" msgid="3843504214807597810">"লাল"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"লক স্ক্রিনের কন্টেন্ট অনুযায়ী ঘড়ির সাইজ পরিবর্তন হয়"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"বড়"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"ছোট করুন"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"স্ক্রিনের কোনায় একটি ছোট ঘড়ি দেখানো হয়"</string>
     <string name="grid_title" msgid="1688173478777254123">"অ্যাপ গ্রিড"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"প্রয়োগ করুন"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"এডিট করতে ট্যাপ করুন"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"প্রতিটি স্ক্রিনে আপনার পছন্দের ফন্ট যোগ করুন"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"গ্রিডের সাইজ বেছে নিন"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"গ্রিড সাইজ বদলালে ওয়ার্কস্পেস রিলোড করা হবে ও এতে কয়েক সেকেন্ড লাগতে পারে।"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s গ্রিড সহ ওয়ার্কস্পেস রিলোড করা হচ্ছে"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s গ্রিড সহ ওয়ার্কস্পেস রিলোড করা যায়নি"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"স্টাইল সফলভাবে সেট করা হয়েছে"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ঘড়ি সফলভাবে সেট করা হয়েছে"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"গ্রিড সফলভাবে সেট করা হয়েছে"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"কাস্টম রঙ"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"কাস্টম আকৃতি"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"কাস্টম স্টাইলের নাম"</string>
+    <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="mode_changed" msgid="2243581369395418584">"থিম পরিবর্তন করা হয়েছে"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"বাঁদিকের শর্টকাট"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"ডানদিকের শর্টকাট"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"কোনওটিই নয়"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` বেছে নিতে, এগুলি চেক করুন"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"শর্টকার্ট যোগ করা যাচ্ছে না"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> খুলুন"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"শর্টকাট হিসেবে <xliff:g id="APPNAME">%1$s</xliff:g> অ্যাপ যোগ করতে, এইসব বিষয় নিশ্চিত করতে হবে"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"হয়ে গেছে"</string>
@@ -124,13 +130,17 @@
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"শর্টকাট"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"কোনও শর্টকাট নেই"</string>
-    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"লক স্ক্রিনে বিজ্ঞপ্তি দেখান"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"লক স্ক্রিনে বিজ্ঞপ্তি লুকান"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"লক স্ক্রিনে বিজ্ঞপ্তি দেখুন"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"লক স্ক্রিনের আরও বিকল্প"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"প্রাইমারি ভাইব্রেন্ট থিম"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"প্রাইমারি এক্সপ্রেসিভ থিম"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"রঙের ডিফল্ট বিকল্প"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"রঙের বিকল্প <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"অন্য ধরনের ঘড়ির ডায়াল বেছে নিতে বাঁদিকে সোয়াইপ করুন"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"অন্য ধরনের ঘড়ির ডায়াল বেছে নিতে ডানদিকে সোয়াইপ করুন"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"কাস্টমাইজ করা ঘড়ি"</string>
 </resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index c2fd8a8..fc1ff2f 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Prilagođeni sat"</string>
     <string name="clock_description" msgid="3563839327378948">"Odabir prilagođ. sata"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Promijenite prilagođeni sat"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Postavke Sata"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opcija brojčanika <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Boja i veličina sata"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Boja i veličina sata"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Boja"</string>
@@ -36,10 +37,11 @@
     <string name="clock_color_gray" msgid="9221530636948859231">"Siva"</string>
     <string name="clock_color_teal" msgid="7499223425741344251">"Tirkizna"</string>
     <string name="clock_size" msgid="5028923902364418263">"Veličina"</string>
-    <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamički"</string>
+    <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamično"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Veličina sata se mijenja u skladu sa sadržajem na zaključanom ekranu"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Veliko"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Malo"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Mali sat se prikazuje u uglu vašeg ekrana"</string>
     <string name="grid_title" msgid="1688173478777254123">"Mreža aplikacija"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Primijeni"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Dodirnite da uredite"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Dodajte omiljene fontove na svaki ekran"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Odaberite veličinu mreže"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Mijenjanje vel. mreže može potrajati nekoliko s."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Ponovno učitavanje radnog prostora s mrežom %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Ponovno učitavanje radnog prostora s mrežom %1$s nije uspjelo"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stil je uspješno postavljen"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Sat je uspješno postavljen"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Mreža je uspješno postavljena"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Prilagođena boja"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Prilagođeni oblik"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Naziv prilagođenog stila"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intenzitet boja"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tamna tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Privremeno onemogućeno zbog uštede baterije"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema je promijenjena"</string>
@@ -111,12 +117,12 @@
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Druge boje"</string>
     <string name="preset_color_subheader" msgid="8230588536141279371">"Odaberite bilo koju boju za ikone, sat i drugo"</string>
     <string name="color_changed" msgid="7029571720331641235">"Boja je promijenjena"</string>
-    <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamički"</string>
+    <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamično"</string>
     <string name="color_picker_title" msgid="6666830057938082864">"Boje sistema"</string>
-    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Prečica lijevo"</string>
-    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Prečica desno"</string>
+    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Lijeva prečica"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Desna prečica"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ništa"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Da odaberete aplikaciju \"<xliff:g id="APPNAME">%1$s</xliff:g>\" provjerite sljedeće"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Nije moguće dodati prečicu"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otvori aplikaciju <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Da dodate aplikaciju <xliff:g id="APPNAME">%1$s</xliff:g> kao prečicu, pobrinite se za sljedeće"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gotovo"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ništa"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Prikaz obavještenja na zaključanom ekranu"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Sakrivanje obavještenja na zaključanom ekranu"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Više opcija zaključavanja ekrana"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privatnost, Trenutno se reproducira i drugo"</string>
     <string name="more_colors" msgid="3191071655353004591">"Više boja"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primarna dinamična tema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primarna neutralna tema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primarna živahna tema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primarna ekspresivna tema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Zadana opcija boje"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opcija boje <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Odabir drugog brojčanika prevlačenjem ulijevo"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Odabir drugog brojčanika prevlačenjem udesno"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Prilagođeni satovi"</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index fa98f97..99c8479 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -22,8 +22,9 @@
     <string name="clock_title" msgid="1974314575211361352">"Rellotge pers."</string>
     <string name="clock_description" msgid="3563839327378948">"Tria rellotge pers."</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Canvia un rellotge personalitzat"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Config. rellotge"</string>
-    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Color i mida rellotge"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opció d\'esfera de rellotge <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Color i mida rellotge"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Color i mida del rellotge"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Color"</string>
     <string name="clock_color_red" msgid="3843504214807597810">"Vermell"</string>
@@ -36,10 +37,11 @@
     <string name="clock_color_gray" msgid="9221530636948859231">"Gris"</string>
     <string name="clock_color_teal" msgid="7499223425741344251">"Verd blavós"</string>
     <string name="clock_size" msgid="5028923902364418263">"Mida"</string>
-    <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinàmica"</string>
+    <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinàmic"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"La mida del rellotge canvia d\'acord amb el contingut de la pantalla de bloqueig"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Gran"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Petit"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Es mostra un rellotge petit a l\'extrem de la pantalla"</string>
     <string name="grid_title" msgid="1688173478777254123">"Quadrícula d\'apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplica"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toca per editar"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Afegeix els teus tipus de lletra preferits a cada pantalla"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Tria una mida de quadrícula"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Canviar la quadrícula recarrega l\'àrea de treball i tarda uns segons."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"S\'està tornant a carregar l\'àrea de treball amb la quadrícula %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"No s\'ha pogut tornar a carregar l\'àrea de treball amb la quadrícula %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"L\'estil s\'ha definit correctament"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"El rellotge s\'ha definit correctament"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"La quadrícula s\'ha definit correctament"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Color personalitzat"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalitzada"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nom d\'estil personalitzat"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensitat de color"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tema fosc"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Desactivat temporalment per Estalvi de bateria"</string>
     <string name="mode_changed" msgid="2243581369395418584">"S\'ha canviat el tema"</string>
@@ -105,8 +111,8 @@
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Canvia la quadrícula d\'aplicacions"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Colors del fons"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Icones, text i més poden combinar amb els colors del fons"</string>
-    <string name="wallpaper_color_title" msgid="5687965239180986458">"Color del fons de pantalla"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Combina el color d\'icones, text i més amb el fons"</string>
+    <string name="wallpaper_color_title" msgid="5687965239180986458">"Color de fons de pantalla"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Colors bàsics"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Altres colors"</string>
     <string name="preset_color_subheader" msgid="8230588536141279371">"Tria qualsevol color per a les icones, el rellotge i més"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Drecera de l\'esquerra"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Drecera de la dreta"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Cap"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Per seleccionar <xliff:g id="APPNAME">%1$s</xliff:g>, comprova el següent"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"La drecera no es pot afegir"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Obre <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Per afegir l\'aplicació <xliff:g id="APPNAME">%1$s</xliff:g> com a drecera, assegura\'t que:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Fet"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Cap"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Mostra les notificacions a la pantalla de bloqueig"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Amaga les notificacions a la pantalla de bloqueig"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Opcions de pantalla de bloqueig"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Privadesa, Està sonant i més"</string>
     <string name="more_colors" msgid="3191071655353004591">"Més colors"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Tema dinàmic principal"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Tema neutral principal"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Tema intens principal"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tema expressiu principal"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Opció de color predeterminada"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opció de color <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Llisca a l\'esquerra per triar una altra esfera de rellotge"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Llisca a la dreta per triar una altra esfera de rellotge"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Rellotges personalitzats"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index f853901..4eb0eb4 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Vlastní hodiny"</string>
     <string name="clock_description" msgid="3563839327378948">"Výběr vlastních hodin"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Změna vlastních hodin"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Nastavení hodin"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Možnost ciferníku <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Barva a velikost"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Barva a velikost"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Barva"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Velikost hodin se mění podle obsahu obrazovky uzamčení"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Velká"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Malé"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"V rohu obrazovky se zobrazují malé hodiny"</string>
     <string name="grid_title" msgid="1688173478777254123">"Mřížka aplikací"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Použít"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Klepnutím upravte"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Přidejte si oblíbená písma na všechny obrazovky"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Vyberte velikost mřížky"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> × <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Změna velikosti mřížky povede k opětovnému načtení pracovního prostoru, což může trvat několik sekund."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Opětovné načítání pracovního prostoru s mřížkou %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Opětovné načtení pracovního prostoru s mřížkou %1$s se nezdařilo"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Styl byl úspěšně nastaven"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Hodiny byly úspěšně nastaveny"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Mřížka byla úspěšně nastavena"</string>
@@ -98,10 +103,11 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Vlastní barva"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Vlastní tvar"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Název vlastního stylu"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intenzita barvy"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tmavý motiv"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Dočasně deaktivováno spořičem baterie"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Motiv byl změněn"</string>
-    <string name="themed_icon_title" msgid="7312460430471956558">"Tematické ikony"</string>
+    <string name="themed_icon_title" msgid="7312460430471956558">"Přebarvené ikony"</string>
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Změnit mřížku aplikací"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Barvy tapety"</string>
@@ -112,25 +118,29 @@
     <string name="preset_color_subheader" msgid="8230588536141279371">"Vyberte barvu pro ikony, hodiny atd."</string>
     <string name="color_changed" msgid="7029571720331641235">"Barva byla změněna"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dynamické"</string>
-    <string name="color_picker_title" msgid="6666830057938082864">"Barvy systému"</string>
+    <string name="color_picker_title" msgid="6666830057938082864">"Systémové barvy"</string>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Zkratka vlevo"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Zkratka vpravo"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Žádné"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Aby bylo možné vybrat aplikaci <xliff:g id="APPNAME">%1$s</xliff:g>, zkontrolujte následující"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Zástupce nelze přidat"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otevřít aplikaci <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Podmínky pro to, aby aplikaci <xliff:g id="APPNAME">%1$s</xliff:g> bylo možné přidat jako zkratku:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Hotovo"</string>
-    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Zástupci"</string>
-    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Zástupci"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Zkratky"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Zkratky"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Žádné"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Zobrazovat oznámení na obrazovce uzamčení"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Skrýt oznámení na obrazovce uzamčení"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Další možnosti obrazovky uzamčení"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Soukromí, Co to hraje a další"</string>
     <string name="more_colors" msgid="3191071655353004591">"Další barvy"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primární dynamický motiv"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primární neutrální motiv"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primární živý motiv"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primární expresivní motiv"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Výchozí barevná varianta"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Barevná varianta <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Přejetím doleva vyberete jiný ciferník"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Přejetím doprava vyberete jiný ciferník"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Vlastní hodiny"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 8dbb97c..4319b93 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Tilpasset ur"</string>
     <string name="clock_description" msgid="3563839327378948">"Vælg tilpasset ur"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Juster et tilpasset ur"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Indstillinger for Ur"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Valgmulighed for urskive <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Urets farve og str."</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Urets farve og størrelse"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Farve"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Størrelsen på uret ændrer sig baseret på indhold på låseskærmen"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Stor"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Lille"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Et lille ur vises i hjørnet af skærmen"</string>
     <string name="grid_title" msgid="1688173478777254123">"Appgitter"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Anvend"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tryk for at redigere"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Føj dine foretrukne skrifttyper til alle skærmbilleder"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Vælg gitterstørrelse"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Når du ændrer gitterstørrelsen genindlæses arbejdsområdet, hvilket kan tage et par sekunder."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Genindlæser arbejdsområde med gitteret %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Arbejdsområdet med gitteret %1$s kunne ikke genindlæses"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stilen er nu angivet"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Uret er nu indstillet"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Gitteret er nu oprettet"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Tilpasset farve"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Tilpasset form"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Navn på tilpasset stil"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Farveintensitet"</string>
     <string name="mode_title" msgid="2394873501427436055">"Mørkt tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Midlertidigt deaktiveret på grund af Batterisparefunktion"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Temaet er ændret"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Venstre genvej"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Højre genvej"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ingen"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Hvis du vil vælge \"<xliff:g id="APPNAME">%1$s</xliff:g>\", skal du tjekke følgende"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Genvejen kan ikke tilføjes"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Åbn <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Før du tilføjer <xliff:g id="APPNAME">%1$s</xliff:g>-appen som en genvej, skal du sørge for følgende:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Udfør"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ingen"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Vis notifikationer på låseskærmen"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Skjul notifikationer på låseskærmen"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Flere muligheder for låseskærm"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Privatliv, Find sangen m.m."</string>
     <string name="more_colors" msgid="3191071655353004591">"Flere farver"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primært dynamisk tema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primært neutralt tema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primært farverigt tema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primært varieret tema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Standardfarve"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Farvevalg <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Stryg til venstre for at vælge en anden urskive"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Stryg til højre for at vælge en anden urskive"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Tilpassede urskiver"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 2683947..09e70ec 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -17,12 +17,13 @@
 
 <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">"Hintergrund &amp; Stil"</string>
+    <string name="app_name" msgid="1647136562008520313">"Hintergrund und Stil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Design"</string>
     <string name="clock_title" msgid="1974314575211361352">"Benutzerdefinierte Uhr"</string>
     <string name="clock_description" msgid="3563839327378948">"Benutzerdefinierte Uhr wählen"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Benutzerdefinierte Uhr ändern"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Uhr-Einstellungen"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Zifferblatt-Option <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Uhr-Farbe &amp; -Größe"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Uhr-Farbe &amp; -Größe"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Farbe"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Die Größe der Uhr ändert sich je nach Inhalt auf dem Sperrbildschirm"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Groß"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Klein"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Eine kleine Uhr wird in der Ecke des Displays angezeigt"</string>
     <string name="grid_title" msgid="1688173478777254123">"App-Raster"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Anwenden"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Zum Bearbeiten tippen"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Füg jedem Bildschirm deine bevorzugten Schriftarten hinzu"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Rastergröße auswählen"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Durch Ändern der Rastergröße wird der Arbeitsbereich neu geladen. Dies kann ein paar Sekunden dauern."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Arbeitsbereich wird mit Rastergröße %1$s neu geladen"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Arbeitsbereich konnte mit Rastergröße %1$s nicht neu geladen werden"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Design festgelegt"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Uhr festgelegt"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Raster festgelegt"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Benutzerdefinierte Farbe"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Benutzerdefiniertes Format"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Name des benutzerdefinierten Stils"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Farbintensität"</string>
     <string name="mode_title" msgid="2394873501427436055">"Dunkles Design"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Wegen Energiesparmodus vorübergehend deaktiviert"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Design geändert"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Linke Verknüpf."</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Rechte Verknüpf."</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Keine"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Prüfe Folgendes, um <xliff:g id="APPNAME">%1$s</xliff:g>` auszuwählen"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Verknüpfung kann nicht hinzugefügt werden"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> öffnen"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Wenn du die <xliff:g id="APPNAME">%1$s</xliff:g> App als eine Verknüpfung hinzufügen möchtest, müssen folgende Bedingungen erfüllt sein"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Fertig"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Keine"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Benachrichtigungen auf dem Sperrbildschirm einblenden"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Benachrichtigungen auf dem Sperrbildschirm ausblenden"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Weitere Sperrbildschirmoptionen"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Datenschutz, Now Playing und mehr"</string>
     <string name="more_colors" msgid="3191071655353004591">"Weitere Farben"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primäres dynamisches Design"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primäres neutrales Design"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primäres lebhaftes Design"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primäres ausdrucksstarkes Design"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Standardfarboption"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Farboption <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Nach links wischen, um ein anderes Zifferblatt auszuwählen"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Nach rechts wischen, um ein anderes Zifferblatt auszuwählen"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Individuelle Zifferblätter"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 38a4cf6..189068f 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Προσαρ. ρολόι"</string>
     <string name="clock_description" msgid="3563839327378948">"Επιλογή προσαρ. ρολογιού"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Αλλαγή προσαρ. ρολογιού"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Ρυθμ. ρολογιού"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Επιλογή όψης ρολογιού <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Χρώμα/μέγεθ. ρολογ."</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Χρώμα και μέγεθος"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Χρώμα"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Το μέγεθος του ρολογιού αλλάζει ανάλογα με το περιεχόμενο της οθόνης κλειδώματος"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Μεγάλο"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Μικρό"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Ένα μικρό ρολόι εμφανίζεται στη γωνία της οθόνης"</string>
     <string name="grid_title" msgid="1688173478777254123">"Πλέγμα εφαρμ."</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Εφαρμογή"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Πατήστε για επεξεργασία"</string>
@@ -55,7 +57,7 @@
     <string name="option_previewed_description" msgid="3467217598865047661">"Αυτήν τη στιγμή εμφανίζεται σε προεπισκόπηση η επιλογή <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="option_change_applied_previewed_description" msgid="9197311327728570816">"<xliff:g id="ID_1">%1$s</xliff:g>, η αλλαγή επιλέχθηκε και προβλήθηκε σε προεπισκόπηση"</string>
     <string name="theme_description" msgid="3697012391785254635">"Γραμματοσειρά: <xliff:g id="ID_1">%1$s</xliff:g>, εικονίδια: <xliff:g id="ID_2">%2$s</xliff:g>, σχήμα: <xliff:g id="ID_3">%3$s</xliff:g>, χρώμα: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"Προεπιλογή"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"Προεπιλ."</string>
     <string name="preview_name_font" msgid="4465423899630037038">"Γραμματοσειρά"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Εικονίδιο"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Χρώμα"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Προσθέστε τις αγαπημένες σας γραμματοσειρές σε κάθε οθόνη"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Επιλέξτε μέγεθος πλέγματος"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Αλλάζ. μέγεθος πλέγμ. επαναλαμβ. η φόρτ. χώρου εργ. σε λίγα δευτ."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Επανάληψη φόρτωσης χώρου εργασίας με πλέγμα %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Απέτυχε η επανάληψη φόρτωσης του χώρου εργασίας με πλέγμα %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Επιτυχής ρύθμιση στιλ"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Επιτυχής ρύθμιση ρολογιού"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Επιτυχής ρύθμιση πλέγματος"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Προσαρμοσμένο χρώμα"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Προσαρμοσμένο σχήμα"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Προσαρμοσμένο όνομα στιλ"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Το θέμα άλλαξε"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Αριστερή συντόμ."</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Δεξιά συντόμευση"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Καμία"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Για να επιλέξετε \"<xliff:g id="APPNAME">%1$s</xliff:g>\", ελέγξτε τα εξής"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Δεν είναι δυνατή η προσθήκη συντόμευσης"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Άνοιγμα <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Για να προσθέσετε την εφαρμογή <xliff:g id="APPNAME">%1$s</xliff:g> ως συντόμευση, βεβαιωθείτε ότι"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Τέλος"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Καμία"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Εμφάνιση ειδοποιήσεων στην οθόνη κλειδώματος"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Απόκρυψη ειδοποιήσεων στην οθόνη κλειδώματος"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Περισσότ. επιλογές οθόνης κλειδ."</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Κύριο ζωηρό θέμα"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Κύριο εκφραστικό θέμα"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Επιλογή προεπιλεγμένου χρώματος"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Επιλογή χρώματος <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Σύρετε προς τα αριστερά για να επιλέξετε μια διαφορετική όψη ρολογιού"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Σύρετε προς τα δεξιά για να επιλέξετε μια διαφορετική όψη ρολογιού"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Προσαρμοσμένα ρολόγια"</string>
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 0a0d7fb..c452160 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -22,8 +22,9 @@
     <string name="clock_title" msgid="1974314575211361352">"Custom clock"</string>
     <string name="clock_description" msgid="3563839327378948">"Pick a custom clock"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Change a custom clock"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Clock settings"</string>
-    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Clock colour &amp; size"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Clock face option <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Clock colour &amp; size"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Clock colour and size"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Colour"</string>
     <string name="clock_color_red" msgid="3843504214807597810">"Red"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Clock size changes according to lock screen content"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Large"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Small"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"A small clock shows in the corner of your screen"</string>
     <string name="grid_title" msgid="1688173478777254123">"App grid"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Apply"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tap to edit"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Add your favourite fonts to every screen"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Choose a grid size"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Changing grid size will reload workspace and may take a few seconds."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Reloading workspace with %1$s grid"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Failed to reload workspace with %1$s grid"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Style set successfully"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Clock set successfully"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Grid set successfully"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Customised colour"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Custom shape"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Custom style name"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Colour intensity"</string>
     <string name="mode_title" msgid="2394873501427436055">"Dark theme"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Temporarily disabled due to Battery Saver"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Theme changed"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Left shortcut"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Right shortcut"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"None"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"To select \'<xliff:g id="APPNAME">%1$s</xliff:g>\' check the following"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Can\'t add shortcut"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Open <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"To add the <xliff:g id="APPNAME">%1$s</xliff:g> app as a shortcut, make sure"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Done"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"None"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Show notifications on the lock screen"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Hide notifications on the lock screen"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"More lock screen options"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privacy, Now Playing and more"</string>
     <string name="more_colors" msgid="3191071655353004591">"More colours"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primary dynamic theme"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primary neutral theme"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primary vibrant theme"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primary expressive theme"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Default colour option"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Colour option <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Swipe left to choose a different clock face"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Swipe right to choose a different clock face"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Custom clocks"</string>
 </resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index d0ef6ac..55e0760 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -19,45 +19,29 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="1647136562008520313">"Wallpaper and style"</string>
     <string name="theme_title" msgid="2144932106319405101">"Style"</string>
-    <string name="clock_title" msgid="1974314575211361352">"Custom clock"</string>
+    <string name="clock_title" msgid="1974314575211361352">"Custom Clock"</string>
     <string name="clock_description" msgid="3563839327378948">"Pick a custom clock"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Change a custom clock"</string>
-    <!-- no translation found for clock_settings_title (2940654205471453913) -->
-    <skip />
-    <!-- no translation found for clock_color_and_size_title (7146791234905111351) -->
-    <skip />
-    <!-- no translation found for clock_color_and_size_description (6578061553012886817) -->
-    <skip />
-    <!-- no translation found for clock_color (8081608867289156163) -->
-    <skip />
-    <!-- no translation found for clock_color_red (3843504214807597810) -->
-    <skip />
-    <!-- no translation found for clock_color_orange (4175805201144275804) -->
-    <skip />
-    <!-- no translation found for clock_color_yellow (7391699163247349977) -->
-    <skip />
-    <!-- no translation found for clock_color_green (1991157556500156596) -->
-    <skip />
-    <!-- no translation found for clock_color_blue (4037792003465759149) -->
-    <skip />
-    <!-- no translation found for clock_color_indigo (8910855386698452917) -->
-    <skip />
-    <!-- no translation found for clock_color_violet (3454503847169375826) -->
-    <skip />
-    <!-- no translation found for clock_color_gray (9221530636948859231) -->
-    <skip />
-    <!-- no translation found for clock_color_teal (7499223425741344251) -->
-    <skip />
-    <!-- no translation found for clock_size (5028923902364418263) -->
-    <skip />
-    <!-- no translation found for clock_size_dynamic (1023930312455061642) -->
-    <skip />
-    <!-- no translation found for clock_size_dynamic_description (2776620745774561662) -->
-    <skip />
-    <!-- no translation found for clock_size_large (3143248715744138979) -->
-    <skip />
-    <!-- no translation found for clock_size_small (2280449912094164133) -->
-    <skip />
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Clock face option <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Clock color &amp; size"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Clock color &amp; size"</string>
+    <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="clock_color" msgid="8081608867289156163">"Color"</string>
+    <string name="clock_color_red" msgid="3843504214807597810">"Red"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Orange"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Yellow"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Green"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Blue"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violet"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Grey"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Teal"</string>
+    <string name="clock_size" msgid="5028923902364418263">"Size"</string>
+    <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamic"</string>
+    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Clock size changes according to lock screen content"</string>
+    <string name="clock_size_large" msgid="3143248715744138979">"Large"</string>
+    <string name="clock_size_small" msgid="2280449912094164133">"Small"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"A small clock shows in the corner of your screen"</string>
     <string name="grid_title" msgid="1688173478777254123">"App grid"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Apply"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tap to edit"</string>
@@ -66,23 +50,26 @@
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Grid preview"</string>
     <string name="font_preview_content_description" msgid="128230439293337891">"Font preview"</string>
     <string name="icon_preview_content_description" msgid="7761101284351952890">"Icon preview"</string>
-    <string name="color_preview_content_description" msgid="4879120462082058124">"Colour preview"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Color preview"</string>
     <string name="shape_preview_content_description" msgid="6479487796176550432">"Shape preview"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied"</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>
     <string name="option_change_applied_previewed_description" msgid="9197311327728570816">"<xliff:g id="ID_1">%1$s</xliff:g>, change selected and previewed"</string>
-    <string name="theme_description" msgid="3697012391785254635">"Font: <xliff:g id="ID_1">%1$s</xliff:g>, icons: <xliff:g id="ID_2">%2$s</xliff:g>, shape: <xliff:g id="ID_3">%3$s</xliff:g>, colour: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
+    <string name="theme_description" msgid="3697012391785254635">"Font: <xliff:g id="ID_1">%1$s</xliff:g>, icons: <xliff:g id="ID_2">%2$s</xliff:g>, shape: <xliff:g id="ID_3">%3$s</xliff:g>, color: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
     <string name="default_theme_title" msgid="2555741736622366797">"Default"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"Font"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Icon"</string>
-    <string name="preview_name_color" msgid="8776203144994416172">"Colour"</string>
+    <string name="preview_name_color" msgid="8776203144994416172">"Color"</string>
     <string name="preview_name_shape" msgid="5676971146080968721">"Shape"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Wallpaper"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"Add your favourite fonts to every screen"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"Add your favorite fonts to every screen"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Choose a grid size"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Changing grid size will reload workspace and may take a few seconds."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Reloading workspace with %1$s grid"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Failed to reload workspace with %1$s grid"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Style set successfully"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Clock set successfully"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Grid set successfully"</string>
@@ -95,7 +82,7 @@
     <string name="custom_theme_delete" msgid="4744494663184126202">"Delete"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Choose font"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"Choose icons"</string>
-    <string name="color_component_title" msgid="1194089273921078816">"Choose colour"</string>
+    <string name="color_component_title" msgid="1194089273921078816">"Choose color"</string>
     <string name="shape_component_title" msgid="8366847436022025538">"Choose shape"</string>
     <string name="name_component_title" msgid="532425087968663437">"Name your style"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"Icons <xliff:g id="ID_1">%1$d</xliff:g>"</string>
@@ -109,66 +96,51 @@
     <string name="no_thanks" msgid="7286616980115687627">"No, thanks"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> clock preview"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oops! Something went wrong."</string>
-    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colour/Icons"</string>
-    <string name="style_info_description" msgid="2612473574431003251">"Preview of font, icons, app shape and colour"</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Color / Icons"</string>
+    <string name="style_info_description" msgid="2612473574431003251">"Preview of font, icons, app shape, and color"</string>
     <string name="accessibility_custom_font_title" msgid="966867359157303705">"Custom font"</string>
     <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Custom icon"</string>
-    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Customised colour"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Custom color"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Custom shape"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Custom style name"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Color intensity"</string>
     <string name="mode_title" msgid="2394873501427436055">"Dark theme"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Temporarily disabled due to Battery Saver"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Theme changed"</string>
     <string name="themed_icon_title" msgid="7312460430471956558">"Themed icons"</string>
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Change app grid"</string>
-    <string name="wallpaper_color_tab" msgid="1447926591721403840">"Wallpaper colours"</string>
-    <!-- no translation found for wallpaper_color_subheader (4044464573669965670) -->
-    <skip />
-    <string name="wallpaper_color_title" msgid="5687965239180986458">"Wallpaper colour"</string>
-    <string name="preset_color_tab" msgid="3133391839341329314">"Basic colours"</string>
-    <!-- no translation found for preset_color_tab_2 (1444107326712562538) -->
-    <skip />
-    <!-- no translation found for preset_color_subheader (8230588536141279371) -->
-    <skip />
-    <string name="color_changed" msgid="7029571720331641235">"Colour changed"</string>
+    <string name="wallpaper_color_tab" msgid="1447926591721403840">"Wallpaper colors"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Icons, text, and more match colors in your wallpaper"</string>
+    <string name="wallpaper_color_title" msgid="5687965239180986458">"Wallpaper color"</string>
+    <string name="preset_color_tab" msgid="3133391839341329314">"Basic colors"</string>
+    <string name="preset_color_tab_2" msgid="1444107326712562538">"Other colors"</string>
+    <string name="preset_color_subheader" msgid="8230588536141279371">"Choose any color for your icons, clock, and more"</string>
+    <string name="color_changed" msgid="7029571720331641235">"Color changed"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dynamic"</string>
-    <!-- no translation found for color_picker_title (6666830057938082864) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_start (8747677880200629719) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (2525487375680217083) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (3389730825561696493) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
-    <!-- no translation found for show_notifications_on_lock_screen (4157744243084646720) -->
-    <skip />
-    <!-- no translation found for hide_notifications_on_lock_screen (7413548956484779174) -->
-    <skip />
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
-    <!-- no translation found for more_colors (3191071655353004591) -->
-    <skip />
-    <!-- no translation found for content_description_default_color_option (7011899327541080695) -->
-    <skip />
-    <!-- no translation found for content_description_color_option (4169813692012119578) -->
-    <skip />
+    <string name="color_picker_title" msgid="6666830057938082864">"System colors"</string>
+    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Left shortcut"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Right shortcut"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"None"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Can\'t add shortcut"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Open <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"To add the <xliff:g id="APPNAME">%1$s</xliff:g> app as a shortcut, make sure"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Done"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Shortcuts"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Shortcuts"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"None"</string>
+    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Show notifications on the lock screen"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"More lock screen options"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Privacy, Now Playing, and more"</string>
+    <string name="more_colors" msgid="3191071655353004591">"More Colors"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primary dynamic theme"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primary neutral theme"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primary vibrant theme"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primary expressive theme"</string>
+    <string name="content_description_default_color_option" msgid="7011899327541080695">"Default color option"</string>
+    <string name="content_description_color_option" msgid="4169813692012119578">"Color option <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Swipe left to choose a different clock face"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Swipe right to choose a different clock face"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Custom Clocks"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 0a0d7fb..c452160 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -22,8 +22,9 @@
     <string name="clock_title" msgid="1974314575211361352">"Custom clock"</string>
     <string name="clock_description" msgid="3563839327378948">"Pick a custom clock"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Change a custom clock"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Clock settings"</string>
-    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Clock colour &amp; size"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Clock face option <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Clock colour &amp; size"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Clock colour and size"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Colour"</string>
     <string name="clock_color_red" msgid="3843504214807597810">"Red"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Clock size changes according to lock screen content"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Large"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Small"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"A small clock shows in the corner of your screen"</string>
     <string name="grid_title" msgid="1688173478777254123">"App grid"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Apply"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tap to edit"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Add your favourite fonts to every screen"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Choose a grid size"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Changing grid size will reload workspace and may take a few seconds."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Reloading workspace with %1$s grid"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Failed to reload workspace with %1$s grid"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Style set successfully"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Clock set successfully"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Grid set successfully"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Customised colour"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Custom shape"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Custom style name"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Colour intensity"</string>
     <string name="mode_title" msgid="2394873501427436055">"Dark theme"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Temporarily disabled due to Battery Saver"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Theme changed"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Left shortcut"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Right shortcut"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"None"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"To select \'<xliff:g id="APPNAME">%1$s</xliff:g>\' check the following"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Can\'t add shortcut"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Open <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"To add the <xliff:g id="APPNAME">%1$s</xliff:g> app as a shortcut, make sure"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Done"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"None"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Show notifications on the lock screen"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Hide notifications on the lock screen"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"More lock screen options"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privacy, Now Playing and more"</string>
     <string name="more_colors" msgid="3191071655353004591">"More colours"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primary dynamic theme"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primary neutral theme"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primary vibrant theme"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primary expressive theme"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Default colour option"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Colour option <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Swipe left to choose a different clock face"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Swipe right to choose a different clock face"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Custom clocks"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 0a0d7fb..c452160 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -22,8 +22,9 @@
     <string name="clock_title" msgid="1974314575211361352">"Custom clock"</string>
     <string name="clock_description" msgid="3563839327378948">"Pick a custom clock"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Change a custom clock"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Clock settings"</string>
-    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Clock colour &amp; size"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Clock face option <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Clock colour &amp; size"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Clock colour and size"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Colour"</string>
     <string name="clock_color_red" msgid="3843504214807597810">"Red"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Clock size changes according to lock screen content"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Large"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Small"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"A small clock shows in the corner of your screen"</string>
     <string name="grid_title" msgid="1688173478777254123">"App grid"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Apply"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tap to edit"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Add your favourite fonts to every screen"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Choose a grid size"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Changing grid size will reload workspace and may take a few seconds."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Reloading workspace with %1$s grid"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Failed to reload workspace with %1$s grid"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Style set successfully"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Clock set successfully"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Grid set successfully"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Customised colour"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Custom shape"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Custom style name"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Colour intensity"</string>
     <string name="mode_title" msgid="2394873501427436055">"Dark theme"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Temporarily disabled due to Battery Saver"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Theme changed"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Left shortcut"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Right shortcut"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"None"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"To select \'<xliff:g id="APPNAME">%1$s</xliff:g>\' check the following"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Can\'t add shortcut"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Open <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"To add the <xliff:g id="APPNAME">%1$s</xliff:g> app as a shortcut, make sure"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Done"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"None"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Show notifications on the lock screen"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Hide notifications on the lock screen"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"More lock screen options"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privacy, Now Playing and more"</string>
     <string name="more_colors" msgid="3191071655353004591">"More colours"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primary dynamic theme"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primary neutral theme"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primary vibrant theme"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primary expressive theme"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Default colour option"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Colour option <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Swipe left to choose a different clock face"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Swipe right to choose a different clock face"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Custom clocks"</string>
 </resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index dc90fe4..b470745 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‎Custom Clock‎‏‎‎‏‎"</string>
     <string name="clock_description" msgid="3563839327378948">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‎‎‎‎‎‏‎‎‎Pick a custom clock‎‏‎‎‏‎"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‎‎‏‏‏‎‎‎‎‏‎‏‏‎‎Change a custom clock‎‏‎‎‏‎"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‏‏‏‏‎‏‎‎‏‏‎‏‎‏‏‎‏‎‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎Clock Settings‎‏‎‎‏‎"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‎‎‎‎Clock face option ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎‏‏‏‏‎Clock color &amp; size‎‏‎‎‏‎"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‏‎Clock color &amp; size‎‏‎‎‏‎"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎<xliff:g id="ID_2">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="clock_color" msgid="8081608867289156163">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎Color‎‏‎‎‏‎"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‏‏‎‎Clock size changes according to lock screen content‎‏‎‎‏‎"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎‏‏‎‏‏‏‎‎‎‏‏‎Large‎‏‎‎‏‎"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‏‏‎‎‎‎‏‎‎‏‎‏‎‎‏‎‏‎Small‎‏‎‎‏‎"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‎‎‎‎‎‎‎A small clock shows in the corner of your screen‎‏‎‎‏‎"</string>
     <string name="grid_title" msgid="1688173478777254123">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎App grid‎‏‎‎‏‎"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‏‏‎‎‎‏‎‏‏‎‏‏‎‏‏‏‎Apply‎‏‎‎‏‎"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎Tap to edit‎‏‎‎‏‎"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎Add your favorite fonts to every screen‎‏‎‎‏‎"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎Choose a grid size‎‏‎‎‏‎"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎x‎‏‎‎‏‏‎<xliff:g id="ID_2">%2$d</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‎‎‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‎‏‎‎‎‏‏‎‏‏‎‏‎Changing grid size will reload workspace and may take a few seconds.‎‏‎‎‏‎"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎Reloading workspace with %1$s grid‎‏‎‎‏‎"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‎‎Failed to reload workspace with %1$s grid‎‏‎‎‏‎"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‎Style set successfully‎‏‎‎‏‎"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‏‏‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‎‏‎‏‏‎‏‏‏‎Clock set successfully‎‏‎‎‏‎"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎Grid set successfully‎‏‎‎‏‎"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎Custom color‎‏‎‎‏‎"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎Custom shape‎‏‎‎‏‎"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‏‎‎Custom style name‎‏‎‎‏‎"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎Color intensity‎‏‎‎‏‎"</string>
     <string name="mode_title" msgid="2394873501427436055">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‏‏‏‎Dark theme‎‏‎‎‏‎"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎Temporarily disabled due to Battery Saver‎‏‎‎‏‎"</string>
     <string name="mode_changed" msgid="2243581369395418584">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‎‎‎‎Theme changed‎‏‎‎‏‎"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‏‎‏‏‏‎Left shortcut‎‏‎‎‏‎"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎Right shortcut‎‏‎‎‏‎"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‎‎‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‎‎‎None‎‏‎‎‏‎"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‏‎‏‎To select `‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎` check the following‎‏‎‎‏‎"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‎‏‎‏‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‏‎‎Can\'t add shortcut‎‏‎‎‏‎"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‎‎‏‏‏‏‏‏‎‎Open ‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‏‎‏‎‎‎‎‏‎‎To add the ‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ app as a shortcut, make sure‎‏‎‎‏‎"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‎‏‏‎‎‎Done‎‏‎‎‏‎"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎<xliff:g id="FIRST">%1$s</xliff:g>‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎<xliff:g id="SECOND">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‎‎‎‏‏‎None‎‏‎‎‏‎"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‎‏‎‎‎‏‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎Show notifications on the lock screen‎‏‎‎‏‎"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎Hide notifications on the lock screen‎‏‎‎‏‎"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎More lock screen options‎‏‎‎‏‎"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‎‎‎‏‏‏‎‏‎‏‎Privacy, Now Playing, and more‎‏‎‎‏‎"</string>
     <string name="more_colors" msgid="3191071655353004591">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‎‎‎‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎More Colors‎‏‎‎‏‎"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‎‎Primary dynamic theme‎‏‎‎‏‎"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎Primary neutral theme‎‏‎‎‏‎"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‎‏‎Primary vibrant theme‎‏‎‎‏‎"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎Primary expressive theme‎‏‎‎‏‎"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‎‏‏‎‏‎‏‎‏‎‏‏‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‎‏‏‏‎Default color option‎‏‎‎‏‎"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‏‏‎‏‎‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‏‎‎Color option ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎Swipe left to choose a different clock face‎‏‎‎‏‎"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‎Swipe right to choose a different clock face‎‏‎‎‏‎"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‎‏‏‎Custom Clocks‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 1d6b3b2..8e6ddfd 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Reloj person."</string>
     <string name="clock_description" msgid="3563839327378948">"Elige un reloj"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Cambia el reloj personalizado"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Config Reloj"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opción de cara de reloj <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Color, tamaño de reloj"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Reloj: color, tamaño"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Color"</string>
@@ -37,9 +38,10 @@
     <string name="clock_color_teal" msgid="7499223425741344251">"Verde azulado"</string>
     <string name="clock_size" msgid="5028923902364418263">"Tamaño"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinámico"</string>
-    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Cambios del tamaño del reloj según el contenido de la pantalla de bloqueo"</string>
+    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"El tamaño del reloj cambia según el contenido de la pantalla de bloqueo"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Grande"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Pequeño"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Aparece un reloj pequeño en la esquina de tu pantalla"</string>
     <string name="grid_title" msgid="1688173478777254123">"Cuadr. de apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicar"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Presiona para editar"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Agrega tus fuentes favoritas a cada pantalla"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Elige un tamaño de cuadrícula"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Cambiar la cuadrícula podrá tomar unos segundos."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Volviendo a cargar el espacio de trabajo con la cuadrícula %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"No se pudo volver a cargar el espacio de trabajo con la cuadrícula %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Se estableció correctamente el estilo"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Se estableció correctamente el reloj"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Se estableció correctamente la cuadrícula"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Color personalizado"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalizada"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nombre de estilo personalizado"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensidad de color"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tema oscuro"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Se inhabilitó temporalmente debido al Ahorro de batería"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Se cambió el tema"</string>
@@ -113,24 +119,28 @@
     <string name="color_changed" msgid="7029571720331641235">"Se cambió el color"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinámico"</string>
     <string name="color_picker_title" msgid="6666830057938082864">"Colores del sistema"</string>
-    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Atajo izquierdo"</string>
-    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Atajo derecho"</string>
+    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Acceso izquierdo"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Acceso derecho"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ninguno"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Para seleccionar \"<xliff:g id="APPNAME">%1$s</xliff:g>\", verifica lo siguiente"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"No se puede agregar el acceso directo"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para agregar la app <xliff:g id="APPNAME">%1$s</xliff:g> como acceso directo, asegúrate que se cumplan los siguientes requisitos:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Listo"</string>
-    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Comb. de teclas"</string>
-    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Comb. de teclas"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Accesos directos"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Accesos directos"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ninguno"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Mostrar las notificaciones en la pantalla de bloqueo"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Esconder las notificaciones en la pantalla de bloqueo"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Opciones de pantalla de bloqueo"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Tema intenso principal"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tema expresivo principal"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Opción de color predeterminada"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opción en color <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Desliza el dedo hacia la izquierda para elegir otra cara de reloj"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Desliza el dedo hacia la derecha para elegir otra cara de reloj"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Relojes personalizados"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 0752e5c..6e58709 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Reloj personalizado"</string>
     <string name="clock_description" msgid="3563839327378948">"Elige un reloj personalizado"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Cambiar reloj personalizado"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Ajustes del reloj"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opción de formato del reloj <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Color/tamaño (reloj)"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Color y tamaño del reloj"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Color"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"El tamaño del reloj cambia en función del contenido de la pantalla de bloqueo"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Grande"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Pequeño"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Se muestra un pequeño reloj en la esquina de la pantalla"</string>
     <string name="grid_title" msgid="1688173478777254123">"Cuadrícula de apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicar"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toca para editar"</string>
@@ -55,7 +57,7 @@
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> (vista previa en curso)"</string>
     <string name="option_change_applied_previewed_description" msgid="9197311327728570816">"<xliff:g id="ID_1">%1$s</xliff:g>, cambio seleccionado y con vista previa"</string>
     <string name="theme_description" msgid="3697012391785254635">"Fuente: <xliff:g id="ID_1">%1$s</xliff:g>; iconos: <xliff:g id="ID_2">%2$s</xliff:g>; forma: <xliff:g id="ID_3">%3$s</xliff:g>; color: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"Predeterminado"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"Predeter­minado"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"Fuente"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Icono"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Color"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Añade tus fuentes favoritas a cada pantalla"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Elige un tamaño de cuadrícula"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Cambiar la cuadrícula volverá a cargar el espacio de trabajo"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Volviendo a cargar el espacio de trabajo con una cuadrícula de %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"No se ha podido volver a cargar el espacio de trabajo con una cuadrícula de %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Estilo aplicado correctamente"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Reloj puesto correctamente"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Cuadrícula configurada correctamente"</string>
@@ -98,10 +103,11 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Color personalizado"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalizada"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nombre de estilo personalizado"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensidad del color"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tema oscuro"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Inhabilitado temporalmente debido a Ahorro de batería"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema cambiado"</string>
-    <string name="themed_icon_title" msgid="7312460430471956558">"Iconos con tema"</string>
+    <string name="themed_icon_title" msgid="7312460430471956558">"Iconos temáticos"</string>
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Cambiar cuadrícula de aplicaciones"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Colores del fondo"</string>
@@ -113,10 +119,10 @@
     <string name="color_changed" msgid="7029571720331641235">"Color cambiado"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinámico"</string>
     <string name="color_picker_title" msgid="6666830057938082864">"Colores del sistema"</string>
-    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Atajo izquierdo"</string>
-    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Atajo derecho"</string>
+    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Acceso izquierdo"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Acceso derecho"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ninguno"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Para seleccionar <xliff:g id="APPNAME">%1$s</xliff:g>, comprueba lo siguiente"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"No puede añadir el acceso directo"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para añadir la aplicación <xliff:g id="APPNAME">%1$s</xliff:g> como acceso directo:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Hecho"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ninguno"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Mostrar notificaciones en la pantalla de bloqueo"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Ocultar notificaciones en la pantalla de bloqueo"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Más opciones de pantalla de bloqueo"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Tema intenso principal"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tema expresivo principal"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Opción de color predeterminada"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opción de color <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Desliza hacia la izquierda para elegir otro formato de reloj"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Desliza hacia la derecha para elegir otro formato de reloj"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Relojes personalizados"</string>
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index d7d452e..98784ce 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Kohandatud kell"</string>
     <string name="clock_description" msgid="3563839327378948">"Kohandatud kell"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Kohandatud kella muutmine"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Kella seaded"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Kelladisaini valik <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Kella värv/suurus"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Kella värv ja suurus"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Värv"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Kella suurus muutub olenevalt lukustuskuva sisust"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Suur"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Väike"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Ekraaninurgas kuvatakse väike kell"</string>
     <string name="grid_title" msgid="1688173478777254123">"Rak. ruudustik"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Rakenda"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Puudutage muutmiseks"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Lisage lemmikfondid igale erkaanikuvale"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Valige ruudustiku suurus"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> × <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Ruudustiku suuruse muutmine laadib tööruumi uuesti ja see võib võtta mõne sekundi."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Tööruumi uuesti laadimine ruudustikuga %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Tööruumi uuesti laadimine ruudustikuga %1$s ebaõnnestus"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stiili määramine õnnestus"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Kella määramine õnnestus"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Ruudustiku määramine õnnestus"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Kohandatud värv"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Kohandatud kuju"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Kohandatud stiili nimi"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Värvide intensiivsus"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tume teema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Akusäästja tõttu ajutiselt keelatud"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Teema on muudetud"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Vasak otsetee"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Parem otsetee"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Puudub"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Rakenduse „<xliff:g id="APPNAME">%1$s</xliff:g>“ valimiseks veenduge järgmises"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Otseteed ei saa lisada"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Ava <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Rakenduse <xliff:g id="APPNAME">%1$s</xliff:g> otsetee lisamiseks veenduge järgmises."</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Valmis"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Pole"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Kuva märguanded lukustuskuval"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Peida märguanded lukustuskuval"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Rohkem lukustuskuva valikuid"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Privaatsus, Hetkel mängimas ja muu"</string>
     <string name="more_colors" msgid="3191071655353004591">"Rohkem värve"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Peamine dünaamiline teema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Peamine neutraalne teema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Peamine elav teema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Peamine ekspressiivne teema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Vaikevärvi valik"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Värvivalik <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Pühkige vasakule, et valida muu kelladisain"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Pühkige paremale, et valida muu kelladisain"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Kohandatud kellad"</string>
 </resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 001eebd..6027af8 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Esfera pertsonalizatuak"</string>
     <string name="clock_description" msgid="3563839327378948">"Hautatu esfera pertsonalizatu bat"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Aldatu esfera pertsonalizatua"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Erlojuaren ezarpenak"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Erloju-esferaren <xliff:g id="ID_1">%1$s</xliff:g>. aukera"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Erlojuaren kolorea eta tamaina"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Erlojuaren kolorea eta tamaina"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Kolorea"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Erlojuaren tamaina pantaila blokeatuko edukiaren arabera aldatzen da"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Handia"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Txikia"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Erloju txiki bat agertzen da pantailaren izkinan"</string>
     <string name="grid_title" msgid="1688173478777254123">"Aplikazioen sareta"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplikatu"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Sakatu editatzeko"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Gehitu gogoko dituzun letrak pantaila guztietan"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Aukeratu saretaren tamaina"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> × <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Saretaren tamaina aldatuta, lan-eremua berriro kargatuko da. Baliteke segundo batzuk behar izatea."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Lan-eremua berriro kargatzen %1$s saretarekin"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Ezin izan da kargatu berriro lan-eremua %1$s saretarekin"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Ezarri da estiloa"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Ezarri da erlojua"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Ezarri da sareta"</string>
@@ -98,14 +103,15 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Kolore pertsonalizatua"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma pertsonalizatua"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Estilo pertsonalizatuaren izena"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Kolorearen intentsitatea"</string>
     <string name="mode_title" msgid="2394873501427436055">"Gai iluna"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Aldi baterako desgaituta, bateria-aurreztailea dela eta"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Aldatu da gaia"</string>
     <string name="themed_icon_title" msgid="7312460430471956558">"Ikono gaidunak"</string>
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Aldatu aplikazioen sareta"</string>
-    <string name="wallpaper_color_tab" msgid="1447926591721403840">"Horma-papereko koloreak"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Ikonoak, testua eta abar horma-papereko koloreekin bat datoz"</string>
+    <string name="wallpaper_color_tab" msgid="1447926591721403840">"Horma-paperaren koloreak"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Ikonoak, testua, etab. horma-paperaren koloreekin bat datoz"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Horma-paperaren kolorea"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Oinarrizko koloreak"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Beste kolore batzuk"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Ezkerreko lasterbidea"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Eskuineko lasterbidea"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Bat ere ez"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"<xliff:g id="APPNAME">%1$s</xliff:g> hautatzeko, egin hauek:"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Ezin da gehitu lasterbidea"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Ireki <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> aplikazioa lasterbide gisa gehitzeko, ziurtatu hauek betetzen direla:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Eginda"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g> eta <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Bat ere ez"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Erakutsi jakinarazpenak pantaila blokeatuan"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Ezkutatu jakinarazpenak pantaila blokeatuan"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Pantaila blokeatzeko aukera gehiago"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Pribatutasuna, Orain erreproduzitzen eta abar"</string>
     <string name="more_colors" msgid="3191071655353004591">"Kolore gehiago"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Gai nagusi dinamikoa"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Gai nagusi neutroa"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Gai nagusi bizia"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Gai nagusi adierazgarria"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Kolore-aukera lehenetsia"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Kolore-aukera <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Pasatu hatza ezkerrera beste esfera bat aukeratzeko"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Pasatu hatza eskuinera beste esfera bat aukeratzeko"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Erloju pertsonalizatuak"</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 9170f2f..0dd9e4b 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"ساعت سفارشی"</string>
     <string name="clock_description" msgid="3563839327378948">"انتخاب ساعت سفارشی"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"تغییر ساعت سفارشی"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"تنظیمات ساعت"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"گزینه صفحه ساعت <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"اندازه و رنگ ساعت"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"اندازه و رنگ ساعت"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>، <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"رنگ"</string>
@@ -34,13 +35,14 @@
     <string name="clock_color_indigo" msgid="8910855386698452917">"نیلی"</string>
     <string name="clock_color_violet" msgid="3454503847169375826">"یاسی"</string>
     <string name="clock_color_gray" msgid="9221530636948859231">"خاکستری"</string>
-    <string name="clock_color_teal" msgid="7499223425741344251">"سبز دودی"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"سبزآبی"</string>
     <string name="clock_size" msgid="5028923902364418263">"اندازه"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"پویا"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"اندازه ساعت نسبت به محتوای صفحه قفل تغییر می‌کند"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"بزرگ"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"کوچک"</string>
-    <string name="grid_title" msgid="1688173478777254123">"جدول برنامه"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"ساعت کوچکی در گوشه صفحه‌نمایش شما نشان داده می‌شود"</string>
+    <string name="grid_title" msgid="1688173478777254123">"شبکه برنامه‌ها"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"اعمال"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"برای ویرایش ضربه بزنید"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"حفظ کاغذدیواری فعلی"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"قلم‌های دلخواهتان را به همه صفحه‌نمایش‌ها اضافه کنید"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"انتخاب اندازه جدول"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"تغییر اندازه شبکه باعث بار کردن مجدد فضای کاری می‌شود و ممکن است چند ثانیه طول بکشد."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"درحال بار کردن مجدد فضای کاری با شبکه %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"فضای کاری با شبکه %1$s مجدداً بار نشد"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"سبک باموفقیت تنظیم شد"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ساعت باموفقیت تنظیم شد"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"جدول باموفقیت تنظیم شد"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"رنگ سفارشی"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"شکل سفارشی"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"نام سبک سفارشی"</string>
+    <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="mode_changed" msgid="2243581369395418584">"زمینه تغییر کرد"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"میان‌بر چپ"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"میان‌بر راست"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"هیچ‌کدام"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"برای انتخاب «<xliff:g id="APPNAME">%1$s</xliff:g>»، مورد زیر را بررسی کنید"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"میان‌بر اضافه نشد"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"باز کردن <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"برای افزودن برنامه <xliff:g id="APPNAME">%1$s</xliff:g> به‌عنوان میان‌بر، مطمئن شوید"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"تمام"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>، <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"هیچ‌کدام"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"نمایش اعلان‌ها در صفحه قفل"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"پنهان کردن اعلان‌ها در صفحه قفل"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"گزینه‌های بیشتر برای صفحه قفل"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"زمینه زنده اصلی"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"زمینه تأثیرگذار اصلی"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"گزینه رنگ پیش‌فرض"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"گزینه رنگ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"برای انتخاب صفحه ساعت متفاوت، تند به چپ بکشید"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"برای انتخاب صفحه ساعت متفاوت، تند به راست بکشید"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"ساعت‌های سفارشی"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 55ebaff..6fc993c 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Oma kello"</string>
     <string name="clock_description" msgid="3563839327378948">"Valitse kello"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Muuta omaa kelloa"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Kelloasetukset"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Kellotauluvaihtoehto <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Kellon väri ja koko"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Kellon väri ja koko"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Väri"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Kellon koko riippuu lukitusnäytön sisällöstä"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Suuri"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Pieni"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Näytön reunassa näkyy pieni kello"</string>
     <string name="grid_title" msgid="1688173478777254123">"Ruudukko"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Käytä"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Muokkaa napauttamalla"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Lisää lempikirjasimesi joka näytölle"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Valitse ruudukon koko"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Jos muutat ruudukon kokoa, työtila päivittyy (parissa sekunnissa)."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Päivitetään työtilaa, jossa on ruudukko: %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Ei voitu päivittää työtilaa, jossa on ruudukko: %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Tyyli valittu"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Kello asetettu"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Ruudukko asetettu"</string>
@@ -98,10 +103,11 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Oma väri"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Oma muoto"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Oman tyylin nimi"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Värin voimakkuus"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tumma teema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Tilapäisesti pois käytöstä virransäästön takia"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Teema vaihdettu"</string>
-    <string name="themed_icon_title" msgid="7312460430471956558">"Kuvakkeiden teemat"</string>
+    <string name="themed_icon_title" msgid="7312460430471956558">"Teemaan sopivat kuvakkeet"</string>
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Muuta sovellusruudukkoa"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Taustakuvan värit"</string>
@@ -116,21 +122,25 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Vasen pikakuvake"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Oikea pikakuvake"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"–"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Tarkista seuraavat, jotta \"<xliff:g id="APPNAME">%1$s</xliff:g>\" on valittavissa"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Pikanäppäintä ei voi lisätä"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Avaa <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Jos haluat, että <xliff:g id="APPNAME">%1$s</xliff:g> lisätään pikakuvakkeeksi, varmista nämä:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Valmis"</string>
-    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Pikakomennot"</string>
-    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Pikakomennot"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Pikakuvakkeet"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Pikakuvakkeet"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"–"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Näytä ilmoitukset lukitusnäytöllä"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Piilota lukitusnäytön ilmoitukset"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Lisää valintoja lukitusnäytölle"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Yksityisyys, Musiikintunnistus ja muita"</string>
     <string name="more_colors" msgid="3191071655353004591">"Lisää värejä"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Ensisijainen dynaaminen teema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Ensisijainen neutraali teema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Ensisijainen voimakas teema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Ensisijainen ekspressiivinen teema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Oletusväri"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Värivaihtoehto: <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Valitse toinen kellotaulu pyyhkäisemällä vasemmalle"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Valitse toinen kellotaulu pyyhkäisemällä oikealle"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Omat kellot"</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 4dd4be6..26a1f4f 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Horloge personnalisée"</string>
     <string name="clock_description" msgid="3563839327378948">"Choisissez une horloge personnalisée"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Modifiez une horloge personnalisée"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Param. horloge"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Option du cadran d\'horloge <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Couleur/taille"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Couleur/taille (horloge)"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Couleur"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"La taille de l\'horloge varie en fonction du contenu de l\'écran de verrouillage"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Grande"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Petite"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Une petite horloge s\'affiche dans le coin de votre écran"</string>
     <string name="grid_title" msgid="1688173478777254123">"Grille d\'applis"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Appliquer"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toucher pour modifier"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Ajoutez vos polices préférées à chaque écran"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Choisir une taille de grille"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"La modification de la taille de la grille entraîne l\'actualisation de l\'espace de travail et peut prendre quelques secondes."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Actualisation de l\'espace de travail avec la grille %1$s en cours…"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Échec de l\'actualisation de l\'espace de travail avec la grille %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Le style a été appliqué"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"L\'horloge a été réglée"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"La grille a été définie"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Couleur personnalisée"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forme personnalisée"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nom du style personnalisé"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensité des couleurs"</string>
     <string name="mode_title" msgid="2394873501427436055">"Thème sombre"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Temporairement désactivé par l\'économiseur de pile"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Thème modifié"</string>
@@ -105,7 +111,7 @@
     <string name="beta_title" msgid="8703819523760746458">"Bêta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Modifiez la grille d\'applications"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Couleurs 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_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>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Autres couleurs"</string>
@@ -115,8 +121,8 @@
     <string name="color_picker_title" msgid="6666830057938082864">"Couleurs système"</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>
-    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Aucune"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Pour sélectionner « <xliff:g id="APPNAME">%1$s</xliff:g> » vérifiez ce qui suit"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Aucun"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Impossible d\'ajouter le raccourci"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Ouvrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Pour ajouter l\'application <xliff:g id="APPNAME">%1$s</xliff:g> en tant que raccourci, assurez-vous"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"OK"</string>
@@ -124,13 +130,17 @@
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Raccourcis"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Aucun"</string>
-    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Affichez les notifications sur l\'écran de verrouillage"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Masquez les notifications sur l\'écran de verrouillage"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Afficher les notifications sur l\'écran de verrouillage"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Options : é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>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Thème neutre principal"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Thème vif principal"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Thème expressif principal"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Option de couleur par défaut"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Option de couleur <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Faites glisser vers la gauche pour un cadran d\'horloge différent"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Faites glisser vers la droite pour choisir un cadran d\'horloge différent"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Cadrans d\'horloge personnalisés"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 8738174..1d58aa6 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -22,8 +22,9 @@
     <string name="clock_title" msgid="1974314575211361352">"Cadran perso."</string>
     <string name="clock_description" msgid="3563839327378948">"Choisir cadran"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Modifier un cadran personnalisé"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Paramètres Horloge"</string>
-    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Taille et couleur Horloge"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Option de cadran <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Taille et couleur de l\'Horloge"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Taille et couleur de l\'horloge"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Couleur"</string>
     <string name="clock_color_red" msgid="3843504214807597810">"Rouge"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"La taille de l\'horloge change selon le contenu de l\'écran de verrouillage"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Grande"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Petite"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Une petite horloge s\'affiche dans le coin de votre écran."</string>
     <string name="grid_title" msgid="1688173478777254123">"Grille d\'applis"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Appliquer"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Appuyer pour modifier"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Ajoutez vos polices préférées sur chaque écran"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Choisir une taille de grille"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Changer la taille de la grille actualisera l\'espace de travail. Cela peut prendre quelques secondes."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Actualisation de l\'espace de travail avec une grille %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Échec de l\'actualisation de l\'espace de travail avec une grille %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Le style a bien été défini"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"L\'horloge a bien été réglée"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"La grille a bien été définie"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Couleur personnalisée"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forme personnalisée"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nom du style personnalisé"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensité des couleurs"</string>
     <string name="mode_title" msgid="2394873501427436055">"Thème sombre"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Temporairement désactivé par l\'économiseur de batterie"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Thème modifié"</string>
@@ -105,7 +111,7 @@
     <string name="beta_title" msgid="8703819523760746458">"Bêta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Modifier la grille d\'applis"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Couleurs fond d\'écran"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Icônes, texte et autres couleurs de votre fond d\'écran"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Couleur des icônes, du texte… assortie au 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>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Autres couleurs"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Raccourci gauche"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Raccourci droit"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Aucun"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Pour sélectionner <xliff:g id="APPNAME">%1$s</xliff:g>, vérifiez ce qui suit"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Impossible d\'ajouter un raccourci"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Ouvrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Pour ajouter l\'appli <xliff:g id="APPNAME">%1$s</xliff:g> comme raccourci, procédez aux vérifications suivantes"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"OK"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Aucun"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Afficher les notifications sur l\'écran de verrouillage"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Masquer les notifications sur l\'écran de verrouillage"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Plus d\'options écran verrouillage"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Confidentialité, En écoute et plus"</string>
     <string name="more_colors" msgid="3191071655353004591">"Autres couleurs"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Thème dynamique primaire"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Thème neutre primaire"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Thème intense primaire"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Thème expressif direct"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Option de couleur par défaut"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Option de couleur <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Balayer à gauche pour changer de clock face"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Balayer à droite pour changer de clock face"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Personnaliser les Horloges"</string>
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 6d2401f..6b262ff 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Reloxo person."</string>
     <string name="clock_description" msgid="3563839327378948">"Elixe reloxo pers."</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Cambiar reloxo personalizado"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Config. reloxo"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opción de esfera de reloxo: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Tamaño/cor (Reloxo)"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Tamaño/cor do reloxo"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Cor"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"O tamaño do reloxo cambia en función do contido da pantalla de bloqueo"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Grande"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Pequeno"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Un pequeno reloxo móstrase na esquina da pantalla"</string>
     <string name="grid_title" msgid="1688173478777254123">"Grade de apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicar"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toca para editar"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Engade as túas fontes favoritas a todas as pantallas"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Escoller un tamaño para a grade"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Cambio tamaño grade volve cargar esp. traballo; pode tardar uns seg."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Volvendo cargar o espazo de traballo coa grade %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Non se puido volver cargar o espazo de traballo coa grade %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"O estilo aplicouse correctamente"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"O reloxo aplicouse correctamente"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"A grade aplicouse correctamente"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Cor personalizada"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalizada"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nome de estilo personalizado"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Cambiouse o tema"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Atallo: Esquerda"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Atallo: Dereita"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ningunha"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Para seleccionar <xliff:g id="APPNAME">%1$s</xliff:g>, comproba o seguinte"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Non se puido engadir o atallo"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para engadir a aplicación <xliff:g id="APPNAME">%1$s</xliff:g> como atallo, asegúrate de que se cumpra o seguinte:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Feito"</string>
@@ -124,13 +130,17 @@
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Atallos"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ningún"</string>
-    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Mostra as notificacións na pantalla de bloqueo"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Oculta as notificacións na pantalla de bloqueo"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Mostrar notificacións na pantalla de bloqueo"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"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>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Tema neutro con cores primarias"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Tema intenso con cores primarias"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tema expresivo con cores primarias"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Opción de cor predeterminada"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opción de cor: <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Pasar o dedo cara á esquerda para seleccionar outra esfera de reloxo"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Pasar o dedo cara á dereita para seleccionar outra esfera de reloxo"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Reloxos personalizados"</string>
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 5f8f4e6..e60acbf 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"કસ્ટમ ઘડિયાળ"</string>
     <string name="clock_description" msgid="3563839327378948">"કસ્ટમ ઘડિયાળ ચૂંટો"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"કસ્ટમ ઘડિયાળ બદલો"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"ઘડિયાળના સેટિંગ"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ક્લૉક ફેસનો વિકલ્પ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"ઘડિયાળનો રંગ અને કદ"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"ઘડિયાળનો રંગ અને કદ"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"રંગ"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ઘડિયાળનું કદ લૉક સ્ક્રીન પરના કન્ટેન્ટ અનુસાર બદલાય છે"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"મોટું"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"નાનું"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"તમારી સ્ક્રીનના ખૂણામાં એક નાની ઘડિયાળ દેખાય છે"</string>
     <string name="grid_title" msgid="1688173478777254123">"ઍપ ગ્રિડ"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"લાગુ કરો"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"ફેરફાર કરવા માટે ટૅપ કરો"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"દરેક સ્ક્રીન પર તમારા મનપસંદ ફોન્ટ ઉમેરો"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ગ્રિડનું કદ પસંદ કરો"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ગ્રિડનું કદ બદલવાથી કાર્યસ્થળ ફરીથી લોડ થશે અને તેમાં થોડો સમય લાગી શકે છે."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s ગ્રિડ વડે કાર્યસ્થળ ફરીથી લોડ કરી રહ્યું છે"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s ગ્રિડ વડે કાર્યસ્થળ ફરીથી લોડ કરવામાં નિષ્ફળ રહ્યાં"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"શૈલી સફળતાપૂર્વક સેટ કરી"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ઘડિયાળ સફળતાપૂર્વક સેટ કરી"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ગ્રિડ સફળતાપૂર્વક સેટ કરી"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"કસ્ટમ રંગ"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"કસ્ટમ આકાર"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"કસ્ટમ શૈલી નામ"</string>
+    <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="mode_changed" msgid="2243581369395418584">"થીમ બદલી છે"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ડાબો શૉર્ટકટ"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"જમણો શૉર્ટકટ"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"એકપણ નહીં"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>`ને પસંદ કરવા માટે, નીચેની બાબત ચેક કરો"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"શૉર્ટકટ ઉમેરી શકતા નથી."</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ખોલો"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ઍપને શૉર્ટકટ તરીકે ઉમેરવા માટે, આ બાબતોની ખાતરી કરો"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"થઈ ગયું"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"એકપણ નહીં"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"લૉક સ્ક્રીન પર નોટિફિકેશન બતાવો"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"લૉક સ્ક્રીન પર નોટિફિકેશન છુપાવો"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"લૉક સ્ક્રીનના વધુ વિકલ્પો"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"પ્રાથિમક વાઇબ્રન્ટ થીમ"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"પ્રાથિમક અભિવ્યક્તપૂર્ણ થીમ"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ડિફૉલ્ટ રંગનો વિકલ્પ"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"રંગનો વિકલ્પ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"કોઈ બીજી ઘડિયાળ પસંદ કરવા માટે ડાબે સ્વાઇપ કરો"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"કોઈ બીજી ઘડિયાળ પસંદ કરવા માટે જમણે સ્વાઇપ કરો"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"કસ્ટમ ઘડિયાળો"</string>
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 3b9917b..5a24c3d 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"घड़ी का आइकॉन"</string>
     <string name="clock_description" msgid="3563839327378948">"घड़ी आइकॉन चुनें"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"पसंद के मुताबिक घड़ी का आइकॉन बदलें"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"घड़ी की सेटिंग"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"स्मार्टवॉच की स्क्रीन के डिज़ाइन के लिए विकल्प <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"घड़ी का रंग और साइज़"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"घड़ी का रंग और साइज़"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"रंग"</string>
@@ -39,7 +40,8 @@
     <string name="clock_size_dynamic" msgid="1023930312455061642">"डाइनैमिक"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"लॉक स्क्रीन के कॉन्टेंट के हिसाब से घड़ी का साइज़ बदलता है"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"बड़ा"</string>
-    <string name="clock_size_small" msgid="2280449912094164133">"छोटा करें"</string>
+    <string name="clock_size_small" msgid="2280449912094164133">"छोटा"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"आपके डिवाइस की स्क्रीन के कोने में एक छोटी घड़ी दिखती है"</string>
     <string name="grid_title" msgid="1688173478777254123">"ऐप्लिकेशन ग्रिड"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"लागू करें"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"बदलाव करने के लिए टैप करें"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"हर स्क्रीन पर अपने पसंदीदा फ़ॉन्ट जोड़ें"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ग्रिड का साइज़ चुनें"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ग्रिड साइज़ बदलने पर फ़ाइल फ़ोल्डर फिर से लोड होगा. इसमें शायद समय लगे."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s ग्रिड के साथ फ़ाइल फ़ोल्डर को फिर से लोड किया जा रहा है"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s ग्रिड के साथ फ़ाइल फ़ोल्डर को फिर से लोड नहीं किया जा सका"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"थीम सेट हो गई"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"घड़ी सेट हो गई"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ग्रिड सेट हो गया"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"पसंद के मुताबिक रंग"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"पसंद के मुताबिक आकार"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"पसंद के मुताबिक बनाई गई स्टाइल का नाम"</string>
+    <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="mode_changed" msgid="2243581369395418584">"थीम को बदला गया"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"बायां शॉर्टकट"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"दायां शॉर्टकट"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"कोई नहीं"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` को चुनने के लिए, दिए गए निर्देशों का पालन करें"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"शॉर्टकट नहीं जोड़ा जा सकता"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> खोलें"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ऐप्लिकेशन को शॉर्टकट के तौर पर जोड़ने के लिए, इन बातों का ध्यान रखें"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"हो गया"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"कोई नहीं"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"लॉक स्क्रीन पर सूचनाएं दिखाएं"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"लॉक स्क्रीन पर सूचनाएं छिपाएं"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
-    <string name="more_colors" msgid="3191071655353004591">"ज़्यादा कलर"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"लॉक स्क्रीन के और विकल्प"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"प्राइमरी वाइब्रेंट थीम"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"प्राइमरी एक्सप्रेसिव थीम"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"रंग का डिफ़ॉल्ट विकल्प"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"रंग का विकल्प <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"स्मार्टवॉच की स्क्रीन का डिज़ाइन चुनने के लिए बाईं ओर स्वाइप करें"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"स्मार्टवॉच की स्क्रीन का डिज़ाइन चुनने के लिए दाईं ओर स्वाइप करें"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"स्मार्टवॉच की स्क्रीन का डिज़ाइन पसंद के मुताबिक बनाएं"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 2eb78b7..65fcf7e 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Prilagođeni sat"</string>
     <string name="clock_description" msgid="3563839327378948">"Odaberite prilagođeni sat"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Promijenite prilagođeni sat"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Postavke sata"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opcija brojčanika <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Boja i veličina sata"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Boja i veličina sata"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Boja"</string>
@@ -39,7 +40,8 @@
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamičan"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Veličina sata mijenja se u skladu sa sadržajem zaključanog zaslona"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Velik"</string>
-    <string name="clock_size_small" msgid="2280449912094164133">"Malo"</string>
+    <string name="clock_size_small" msgid="2280449912094164133">"Mali"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"U kutu zaslona prikazuje se mali sat"</string>
     <string name="grid_title" msgid="1688173478777254123">"Rešetka aplik."</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Primijeni"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Dodirnite da biste uredili"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Dodajte svoje omiljene fontove na svaki zaslon"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Odaberite veličinu rešetke"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Promjena veličina rešetke ponovno će učitati radni prostor i može potrajati nekoliko sekundi."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Ponovno učitavanje radnog prostora s rešetkom %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Nije uspjelo ponovno učitavanje radnog prostora s rešetkom %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stil je uspješno postavljen"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Sat je uspješno postavljen"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Rešetka je uspješno postavljena"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Prilagođena boja"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Prilagođeni oblik"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Naziv prilagođenog stila"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intenzitet boja"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tamna tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Privremeno onemogućeno zbog štednje baterije"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema je promijenjena"</string>
@@ -105,18 +111,18 @@
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Promjena rešetke aplikacije"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Boje pozadine"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Ikone, tekst i više toga odgovaraju bojama na pozadini"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Ikone, tekst i ostalo odgovara bojama na pozadini"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Boja pozadine"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Osnovne boje"</string>
-    <string name="preset_color_tab_2" msgid="1444107326712562538">"Ostale boje"</string>
-    <string name="preset_color_subheader" msgid="8230588536141279371">"Odaberite bilo koju boju za svoje ikone, sat i više"</string>
+    <string name="preset_color_tab_2" msgid="1444107326712562538">"Druge boje"</string>
+    <string name="preset_color_subheader" msgid="8230588536141279371">"Odaberite bilo koju boju za svoje ikone, sat i ostalo"</string>
     <string name="color_changed" msgid="7029571720331641235">"Promijenjena boja"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamično"</string>
     <string name="color_picker_title" msgid="6666830057938082864">"Boje sustava"</string>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Lijevi prečac"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Desni prečac"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ništa"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Da biste odabrali <xliff:g id="APPNAME">%1$s</xliff:g>, označite sljedeće"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Nije moguće dodati prečac"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otvori <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Da biste aplikaciju <xliff:g id="APPNAME">%1$s</xliff:g> dodali kao prečac, učinite sljedeće"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gotovo"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ništa"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Prikaz obavijesti na zaključanom zaslonu"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Skrivanje obavijesti na zaključanom zaslonu"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Više opcija zaključanog zaslona"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privatnost, Upravo svira i drugo"</string>
     <string name="more_colors" msgid="3191071655353004591">"Više boja"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primarna dinamična tema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primarna neutralna tema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primarna vibrantna tema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primarna ekspresivna tema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Zadana opcija boje"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opcija boje <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Prijeđite prstom ulijevo da biste odabrali drugi brojčanik"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Prijeđite prstom udesno da biste odabrali drugi brojčanik"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Prilagođeni satovi"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 0346ed0..5256ee6 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Egyedi óra"</string>
     <string name="clock_description" msgid="3563839327378948">"Egyedi óra választása"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Egyedi óra módosítása"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Óra beállításai"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Kiválasztott óralap-beállítás: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Óra színe és mérete"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Óra színe &amp; mérete"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Szín"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Az óra mérete a lezárási képernyő tartalmától függően változik."</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Nagy"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Kicsi"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Megjelenik egy kis óra a képernyő sarkában."</string>
     <string name="grid_title" msgid="1688173478777254123">"Alkalmazásrács"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Alkalmaz"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Koppintson a szerkesztéshez"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Adja hozzá kedvenc betűtípusát az összes képernyőhöz"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Rácsméret kiválasztása"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>×<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"A rácsméret módosítása újratölti a munkaterületet, ami eltarthat néhány másodpercig."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Munkaterület újratöltése %1$s ráccsal…"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Nem sikerült újratölteni a munkaterületet %1$s ráccsal"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Sikerült a stílus beállítása"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Sikerült az óra beállítása"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Sikerült a rács beállítása"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Egyéni szín"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Egyéni alak"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Egyéni stílusnév"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Színintenzitás"</string>
     <string name="mode_title" msgid="2394873501427436055">"Sötét téma"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Átmenetileg kikapcsolva az Akkumulátorkímélő mód miatt"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Téma módosítva"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Bal parancsikon"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Jobb parancsikon"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Nincs"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"A(z) „<xliff:g id="APPNAME">%1$s</xliff:g>” kiválasztásához el kell végeznie a következőket"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Nem sikerült hozzáadni a gyorsparancsot."</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"A(z) <xliff:g id="APPNAME">%1$s</xliff:g> megnyitása"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Ha szeretné felvenni a(z) <xliff:g id="APPNAME">%1$s</xliff:g> alkalmazást parancsikonként, gondoskodjon a következőkről:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Kész"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nincs"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Értesítések megjelenítése a lezárási képernyőn"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Értesítések elrejtése a lezárási képernyőn"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Más lezárásiképernyő-beállítások"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Adatvédelem, Now Playing és egyebek"</string>
     <string name="more_colors" msgid="3191071655353004591">"További színek"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Elsődleges dinamikus téma"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Elsődleges semleges téma"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Elsődleges élénk téma"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Elsődleges kifejező téma"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Alapértelmezettként beállított szín"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Választható szín: <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Csúsztassa gyorsan balra az ujját másik óralap kiválasztásához"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Csúsztassa gyorsan jobbra az ujját másik óralap kiválasztásához"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Egyéni óralapok"</string>
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index cad1120..de2f488 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Հատուկ թվատախտակ"</string>
     <string name="clock_description" msgid="3563839327378948">"Ընտրեք թվատախտակ"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Փոխեք հատուկ թվատախտակը"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Կարգավորումներ"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Թվատախտակի տարբերակ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Գույնը և չափսը"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Գույնը և չափսը"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Գույն"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Ժամացույցի չափսը փոխվում է կողպէկրանի բովանդակությանը համապատասխան"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Մեծ"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Փոքր"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Էկրանի անկյունում ցուցադրվում է փոքրիկ ժամացույց"</string>
     <string name="grid_title" msgid="1688173478777254123">"Հավելվածների ցանց"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Կիրառել"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Հպեք՝ փոփոխելու համար"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Ավելացրեք ձեր նախընտրած տառատեսակները յուրաքանչյուր էկրանին"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Ընտրեք ցանցի չափը"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Ցանցի չափը փոխելու դեպքում աշխատանքային տարածքը մի քանի վայրկյանում կվերաբեռնվի։"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Աշխատանքային տարածքի (%1$s ցանցով) վերաբեռնում"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Չհաջողվեց վերաբեռնել %1$s ցանցով աշխատանքային տարածքը"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Ոճը կարգավորվեց"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Ժամացույցը կարգավորվեց"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Ցանցը կարգավորվեց"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Հատուկ գույն"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Հատուկ ձևապատկեր"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Հատուկ ոճի անվանումը"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Թեման փոխվեց"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Ձախ դյուրանցում"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Աջ դյուրանցում"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ոչ մեկը"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"«<xliff:g id="APPNAME">%1$s</xliff:g>» հավելվածն ընտրելու համար կատարեք հետևյալը"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Չհաջողվեց ավելացնել դյուրանցում"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Բացել <xliff:g id="APPNAME">%1$s</xliff:g> հավելվածը"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> հավելվածի դյուրանցումն ավելացնելու համար համոզվեք, որ՝"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Պատրաստ է"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ընտրված չէ"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Ցուցադրել ծանուցումները կողպէկրանին"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Թաքցնել ծանուցումները կողպէկրանին"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Կողպէկրանի այլ կարգավորումներ"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Հիմնական գունեղ թեմա"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Հիմնական արտահայտիչ թեմա"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Գույնի կանխադրված տարբերակ"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Գույնի տարբերակ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Սահեցրեք ձախ՝ այլ թվատախտակ ընտրելու համար"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Սահեցրեք աջ՝ այլ թվատախտակ ընտրելու համար"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Հատուկ թվատախտակներ"</string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 7e22274..c4ff381 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Jam Kustom"</string>
     <string name="clock_description" msgid="3563839327378948">"Pilih jam kustom"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Ubah jam kustom"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Setelan Jam"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opsi tampilan jam <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Warna &amp; ukuran jam"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Warna &amp; ukuran jam"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Warna"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Ukuran jam berubah sesuai dengan konten layar kunci"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Besar"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Kecil"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Jam kecil ditampilkan di sudut layar Anda"</string>
     <string name="grid_title" msgid="1688173478777254123">"Petak aplikasi"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Terapkan"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Ketuk untuk mengedit"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Tambahkan font favorit ke setiap layar"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Pilih ukuran petak"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Mengubah ukuran petak akan memuat ulang ruang kerja dan mungkin perlu waktu beberapa detik."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Memuat ulang ruang kerja dengan %1$s petak"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Gagal memuat ulang ruang kerja dengan %1$s petak"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Gaya berhasil disetel"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Jam berhasil disetel"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Petak berhasil disetel"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Warna khusus"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Bentuk khusus"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nama gaya khusus"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensitas warna"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tema gelap"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Dinonaktifkan sementara karena fitur Penghemat Baterai"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema diubah"</string>
@@ -105,18 +111,18 @@
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Ubah petak aplikasi"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Warna wallpaper"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Warna ikon, teks, dan yang cocok lainnya di wallpaper"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Ikon, teks, dan lain-lain serasi dengan warna wallpaper"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Warna wallpaper"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Warna dasar"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Warna lainnya"</string>
-    <string name="preset_color_subheader" msgid="8230588536141279371">"Pilih warna apa pun untuk ikon, jam, dan lainnya"</string>
+    <string name="preset_color_subheader" msgid="8230588536141279371">"Pilih warna untuk ikon, jam, dan lain-lain"</string>
     <string name="color_changed" msgid="7029571720331641235">"Warna diubah"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamis"</string>
     <string name="color_picker_title" msgid="6666830057938082864">"Warna sistem"</string>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Pintasan kiri"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Pintasan kanan"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Tidak ada"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Untuk memilih `<xliff:g id="APPNAME">%1$s</xliff:g>`, periksa hal berikut"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Tidak dapat menambahkan pintasan"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Buka <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Untuk menambahkan aplikasi <xliff:g id="APPNAME">%1$s</xliff:g> sebagai pintasan, pastikan"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Selesai"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Tidak ada"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Tampilkan notifikasi di layar kunci"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Sembunyikan notifikasi di layar kunci"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Opsi layar kunci lainnya"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Privasi, Now Playing, dan lainnya"</string>
     <string name="more_colors" msgid="3191071655353004591">"Warna Lainnya"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Tema dinamis utama"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Tema netral utama"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Tema cerah utama"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tema ekspresif utama"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Opsi warna default"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opsi warna <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Geser ke kiri untuk memilih tampilan jam yang berbeda"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Geser ke kanan untuk memilih tampilan jam yang berbeda"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Tampilan Jam Kustom"</string>
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 4742dc4..d5c3436 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Sérsniðin klukka"</string>
     <string name="clock_description" msgid="3563839327378948">"Veldu sérsniðna klukku"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Breyta sérsniðinni klukku"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Klukkustillingar"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Úrskífuvalkostur <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Klukkustærð og litur"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Klukkustærð og litur"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Litur"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Stærð klukku breytist í samræmi við efni á lásskjá"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Stór"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Lítil"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Lítil klukka birtist í horni skjásins"</string>
     <string name="grid_title" msgid="1688173478777254123">"Forritatafla"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Nota"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Ýttu til að breyta"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Fáðu uppáhaldsleturgerðirnar þínar á alla skjái"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Velja stærð hnitanets"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Breyting á töflustærð endurhleður vinnusvæði og getur tekið nokkrar sekúndur."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Endurhleður vinnusvæði með %1$s töflu"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Ekki tókst að endurhlaða vinnusvæði með %1$s töflu"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stíll var stilltur"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Klukka var stillt"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Hnitanet var stillt"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Sérsniðinn litur"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Sérsniðið form"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Sérsniðið stílheiti"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Litstyrkur"</string>
     <string name="mode_title" msgid="2394873501427436055">"Dökkt þema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Slökkt tímabundið vegna rafhlöðusparnaðar"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Þema var breytt"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Vinstri flýtilykill"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Hægri flýtilykill"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ekkert"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Til að velja „<xliff:g id="APPNAME">%1$s</xliff:g>“ skaltu athuga eftirfarandi"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Ekki tókst að bæta flýtileið við"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Opna <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Til að bæta forritinu <xliff:g id="APPNAME">%1$s</xliff:g> við sem flýtileið skaltu ganga úr skugga um að"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Lokið"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ekkert"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Sýna tilkynningar á lásskjánum"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Fela tilkynningar á lásskjánum"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Fleiri valkostir fyrir lásskjá"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Persónuvernd, í spilun og fleira"</string>
     <string name="more_colors" msgid="3191071655353004591">"Fleiri litir"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Kvikt aðalþema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Hlutlaust aðalþema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Líflegt aðalþema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tjáningarríkt aðalþema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Sjálfgefinn litavalkostur"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Litavalkostur <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Strjúktu til vinstri til að velja aðra klukku"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Strjúktu til hægri til að velja aðra klukku"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Sérsniðnar klukkur"</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index d54138d..3bc8cb7 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -22,8 +22,9 @@
     <string name="clock_title" msgid="1974314575211361352">"Orologio personalizzato"</string>
     <string name="clock_description" msgid="3563839327378948">"Scegli un orologio personalizzato"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Modifica un orologio personalizzato"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Impos. Orologio"</string>
-    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Colore/dim. orologio"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opzione quadrante orologio <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Colore/dim. orologio"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Colore e dimensioni orologio"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Colore"</string>
     <string name="clock_color_red" msgid="3843504214807597810">"Rosso"</string>
@@ -39,7 +40,8 @@
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamiche"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Le dimensioni dell\'orologio cambiano in base ai contenuti della schermata di blocco"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Grandi"</string>
-    <string name="clock_size_small" msgid="2280449912094164133">"Piccolo"</string>
+    <string name="clock_size_small" msgid="2280449912094164133">"Piccole"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Un piccolo orologio visualizzato nell\'angolo dello schermo"</string>
     <string name="grid_title" msgid="1688173478777254123">"Griglia di app"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Applica"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tocca per modificare"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Aggiungi i tuoi caratteri preferiti a ogni schermata"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Scegli la dimensione della griglia"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Modificare la dimensione della griglia ricarica lo spazio di lavoro e richiede alcuni secondi."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Stai ricaricando lo spazio di lavoro con griglia %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Impossibile ricaricare lo spazio di lavoro con griglia %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stile impostato"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Orologio impostato"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Griglia impostata"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Colore personalizzato"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalizzata"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nome dello stile personalizzato"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensità cromatica"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tema scuro"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Opzione disattivata temporaneamente per risparmio energetico"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema modificato"</string>
@@ -115,22 +121,26 @@
     <string name="color_picker_title" msgid="6666830057938082864">"Colori di sistema"</string>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Scorciatoia sinistra"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Scorciatoia destra"</string>
-    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Nessuno"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Per poter selezionare \"<xliff:g id="APPNAME">%1$s</xliff:g>\", devi controllare quanto segue:"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Nessuna"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Impossibile aggiungere la scorciatoia"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Apri <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Per aggiungere l\'app <xliff:g id="APPNAME">%1$s</xliff:g> come scorciatoia, assicurati che:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Fine"</string>
     <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Scorciatoie"</string>
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Scorciatoie"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
-    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nessun elemento"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nessuna"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Mostra le notifiche sulla schermata di blocco"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Nascondi le notifiche sulla schermata di blocco"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Altre opzioni per la schermata di blocco"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Privacy, Now Playing e altro"</string>
     <string name="more_colors" msgid="3191071655353004591">"Altri colori"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Tema dinamico primario"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Tema naturale primario"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Tema intenso primario"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tema espressivo primario"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Opzione colore predefinita"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opzione colore <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Scorri a sinistra per selezionare un altro quadrante"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Scorri a destra per selezionare un altro quadrante"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Quadranti personalizzati"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 695536e..58da8e0 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"שעון מותאם אישית"</string>
     <string name="clock_description" msgid="3563839327378948">"בחירת שעון מותאם אישית"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"שינוי שעון מותאם אישית"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"הגדרות השעון"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"האפשרות של תצוגת השעון <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"הצבע והגודל של השעון"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"הצבע והגודל של השעון"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"צבע"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"גודל השעון משתנה בהתאם לתוכן במסך הנעילה"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"גדול"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"קטן"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"שעון קטן מופיע בפינת המסך"</string>
     <string name="grid_title" msgid="1688173478777254123">"תצוגת האפליקציות"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"אישור"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"יש להקיש כדי לערוך"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"אפשר להוסיף את הגופנים המועדפים לכל מסך"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"בחירת גודל הרשת"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"שינוי גודל הרשת יטען מחדש את סביבת העבודה וייקח כמה שניות."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"טעינה מחדש של סביבת העבודה עם רשת %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"לא הצלחנו לטעון מחדש את סביבת העבודה עם רשת %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"הסגנון הוגדר בהצלחה"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"השעון הוגדר בהצלחה"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"הרשת הוגדרה בהצלחה"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"צבע מותאם אישית"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"צורה מותאמת אישית"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"שם סגנון מותאם אישית"</string>
+    <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="mode_changed" msgid="2243581369395418584">"העיצוב השתנה"</string>
@@ -113,24 +119,28 @@
     <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="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"קיצור דרך מימין"</string>
-    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"קיצור דרך משמאל"</string>
+    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"קיצור דרך שמאלי"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"קיצור דרך ימני"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"ללא"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"כדי לבחור באפליקציה <xliff:g id="APPNAME">%1$s</xliff:g> צריך לסמן את האפשרויות הבאות"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"לא ניתן להוסיף את קיצור הדרך"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"פתיחת <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"כדי להוסיף את האפליקציה <xliff:g id="APPNAME">%1$s</xliff:g> כקיצור דרך, צריך לוודא"</string>
     <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="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
-    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ללא"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"אין"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"הצגת ההתראות במסך הנעילה"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"הסתרת ההתראות במסך הנעילה"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"עוד אפשרויות של מסך הנעילה"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"עיצוב ראשי בצבעים עזים"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"עיצוב ראשי אקספרסיבי"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"אפשרות הצבע שמוגדרת כברירת מחדל"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"אפשרות צבע <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"כדי לבחור תצוגת שעון שונה, צריך להחליק ימינה"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"כדי לבחור תצוגת שעון שונה, צריך להחליק שמאלה"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"שעונים בהתאמה אישית"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 58bf265..af565a4 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"カスタム文字盤"</string>
     <string name="clock_description" msgid="3563839327378948">"文字盤の選択"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"文字盤の変更"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"時計の設定"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"文字盤オプション <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"時計の色とサイズ"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"時計の色とサイズ"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>、<xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"色"</string>
@@ -37,9 +38,10 @@
     <string name="clock_color_teal" msgid="7499223425741344251">"ティール"</string>
     <string name="clock_size" msgid="5028923902364418263">"サイズ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"動的"</string>
-    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"時計のサイズはロック画面の内容に応じて変わります"</string>
+    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"時計のサイズがロック画面の状況に応じて変わります"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"大"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"小"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"画面の隅に小さい時計を表示する"</string>
     <string name="grid_title" msgid="1688173478777254123">"アプリグリッド"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"適用"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"タップして編集"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"お気に入りのフォントをすべての画面に追加できます"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"グリッドサイズの選択"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"グリッドのサイズを変えるとワークスペースが再読み込みされます(数秒かかることがあります)。"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s グリッドでワークスペースを再読み込みしています"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s グリッドでのワークスペースの再読み込みに失敗しました"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"スタイルの設定が完了しました"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"時計の設定が完了しました"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"グリッドの設定が完了しました"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"カスタム色"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"カスタムの形状"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"カスタム スタイル名"</string>
+    <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="mode_changed" msgid="2243581369395418584">"テーマを変更しました"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"左ショートカット"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"右ショートカット"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"なし"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"「<xliff:g id="APPNAME">%1$s</xliff:g>」を選択するには、以下を確認します"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"ショートカットを追加できません"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> を開きます。"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> アプリをショートカットとして追加するための手順"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"完了"</string>
@@ -124,11 +130,17 @@
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ショートカット"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>、<xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"なし"</string>
-    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"ロック画面に通知を表示します"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"ロック画面では通知を非表示にします"</string>
+    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"ロック画面に通知を表示する"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"ロック画面の詳細オプション"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"メインの鮮やかなテーマ"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"メインの表現力豊かなテーマ"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"デフォルトのカラー オプション"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"カラー オプション <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"別の文字盤を選択するには、左にスワイプします"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"別の文字盤を選択するには、右にスワイプします"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"カスタム時計"</string>
 </resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 44ca0c5..01997d1 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"მორგებული საათი"</string>
     <string name="clock_description" msgid="3563839327378948">"აირჩიეთ მორგებული საათი"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"შეცვალეთ მორგებული საათი"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"საათის პარამეტრები"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"საათის წინა მხარის ვარიანტი <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"საათის ფერი და ზომა"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"საათის ფერი &amp; amp; ზომა"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"ფერი"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"საათის ზომა იცვლება დაბლოკილი ეკრანის შინაარსის მიხედვით"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"დიდი"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"პატარა"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"პატარა საათი მოთავსებულია თქვენი ეკრანის კუთხეში"</string>
     <string name="grid_title" msgid="1688173478777254123">"აპების ბადე"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"მისადაგება"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"შეეხეთ რედაქტირებისთვის"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"დაამატეთ თქვენი საყვარელი შრიფტები ყოველ ეკრანზე"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"აირჩიეთ ბადის ზომა"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ბადის ზომის შეცვლით წამებში გადაიტვირთება სამუშაო სივრცე."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"მიმდინარეობს სამუშაო სივრცის გადატვირთვა %1$s ბადით"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"სამუშაო სივრცის გადატვირთვა %1$s ბადით ვერ მოხერხდა"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"სტილი წარმატებით დაყენდა"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"საათი წარმატებით დაყენდა"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ბადე წარმატებით დაყენდა"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"მორგებული ფერი"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"მორგებული ფიგურა"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"მორგებული სტილის სახელი"</string>
+    <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="mode_changed" msgid="2243581369395418584">"თემა შეიცვალა"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"მარცხენა მალსახმობი"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"მარჯვენა მალსახმობი"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"არცერთი"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"„<xliff:g id="APPNAME">%1$s</xliff:g>“-ის ასარჩევად შეამოწმეთ შემდეგი"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"მალსახმობის დამატება შეუძლებელია"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g>-ის გახსნა"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> აპი რომ მალსახმობის სახით დაამატოთ, დარწმუნდით, რომ"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"მზადაა"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"არცერთი"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"შეტყობინებების ჩვენება ჩაკეტილ ეკრანზე"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"შეტყობინებების დამალვა ჩაკეტილ ეკრანზე"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"ჩაკეტილი ეკრანის სხვა პარამეტრები"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"ძირითადი ცოცხალი თემა"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"ძირითადი ექსპრესიული თემა"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ფერის ნაგულისხმევი ვარიანტი"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"ფერის ვარიანტი <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"გადაფურცვლა მარცხნივ განსხვავებული ციფერბლატის ასარჩევად"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"გადაფურცვლა მარჯვნივ განსხვავებული ციფერბლატის ასარჩევად"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"მორგებული საათები"</string>
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 47bac27..6e839d8 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -22,8 +22,9 @@
     <string name="clock_title" msgid="1974314575211361352">"Арнаулы сағат"</string>
     <string name="clock_description" msgid="3563839327378948">"Арнаулы сағатты таңдау"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Арнаулы сағатты өзгерту"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Сағат параметрі"</string>
-    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Сағат түсі, көлемі"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Циферблат опциясы: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Сағат түсі, көлемі"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Сағаттың түсі, өлшемі"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Түс"</string>
     <string name="clock_color_red" msgid="3843504214807597810">"Қызыл"</string>
@@ -35,11 +36,12 @@
     <string name="clock_color_violet" msgid="3454503847169375826">"Күлгін"</string>
     <string name="clock_color_gray" msgid="9221530636948859231">"Сұр"</string>
     <string name="clock_color_teal" msgid="7499223425741344251">"Көкшіл жасыл"</string>
-    <string name="clock_size" msgid="5028923902364418263">"Көлем"</string>
+    <string name="clock_size" msgid="5028923902364418263">"Өлшем"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамикалық"</string>
-    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Сағат көлемі құлып экранындағы контентке сай өзгереді."</string>
+    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Сағаттың өлшемі құлып экранындағы контентке сай өзгереді."</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Үлкен"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Кішi"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Экранның бұрышында шағын сағат көрсетіледі."</string>
     <string name="grid_title" msgid="1688173478777254123">"Қолданба торы"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Қолдану"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Өзгерту үшін түртіңіз"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Әр экранға ұнайтын қаріпті қоя аласыз."</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Тор өлшемін таңдаңыз"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Тор өлшемі өзгертілсе, жұмыс орны бірнеше секунд қайта жүктеледі."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s торы бар жұмыс орны қайта жүктелуде"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s торы бар жұмыс орны жүктелмеді"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Стиль орнатылды."</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Сағат орнатылды."</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Тор орнатылды."</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Арнаулы түс"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Арнаулы пішін"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Арнаулы стиль атауы"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Тақырып өзгертілді."</string>
@@ -109,14 +115,14 @@
     <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>
-    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Сол жақ таңбаша"</string>
-    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Оң жақ таңбаша"</string>
+    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Сол жақ жылдам пәрмен"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Оң жақ жылдам пәрмен"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Жоқ"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"\"<xliff:g id="APPNAME">%1$s</xliff:g>\" қолданбасын таңдау үшін мынаны орындаңыз:"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Таңбаша қосу мүмкін емес"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> қолданбасын ашу"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> қолданбасын таңбаша ретінде қосу үшін келесі әрекеттерді орындауды ұмытпаңыз:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Дайын"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ешқандай"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Құлып экранында хабарландыруларды көрсету"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Құлып экранында хабарландыруларды жасыру"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Құлып экранының басқа опциялары"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Құпиялық, Now Playing және басқа функциялар"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Негізгі бейнелі тақырып"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Әдепкі түс опциясы"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"<xliff:g id="ID_1">%1$d</xliff:g> түс опциясы"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Басқа циферблат таңдау үшін солға сырғытыңыз."</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Басқа циферблат таңдау үшін оңға сырғытыңыз."</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Арнаулы сағаттар"</string>
 </resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index a1fe61f..07375af 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"នាឡិកាផ្ទាល់ខ្លួន"</string>
     <string name="clock_description" msgid="3563839327378948">"ជ្រើសរើសនាឡិកាផ្ទាល់ខ្លួន"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"ប្ដូរនាឡិកា​ផ្ទាល់ខ្លួន"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"ការកំណត់នាឡិកា"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ជម្រើសមុខនាឡិកា <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"ពណ៌ និងទំហំនាឡិកា"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"ពណ៌ និងទំហំនាឡិកា"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"ពណ៌"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ទំហំនាឡិកា​ផ្លាស់ប្ដូរទៅតាមខ្លឹមសារ​លើអេក្រង់ចាក់សោ"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"ធំ"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"តូច"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"នាឡិកា​តូចមួយ​បង្ហាញ​នៅជ្រុងនៃ​អេក្រង់​របស់អ្នក"</string>
     <string name="grid_title" msgid="1688173478777254123">"ក្រឡា​កម្មវិធី"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"ប្រើ"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"ចុច ដើម្បី​កែ"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"បញ្ចូលពុម្ព​អក្សរ​ដែលអ្នកចូលចិត្ត​ទៅគ្រប់អេក្រង់"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ជ្រើសរើស​ទំហំក្រឡា"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ការប្ដូរទំហំក្រឡានឹងផ្ទុកលំហការងារឡើងវិញ និងអាចចំណាយពេលបន្តិច។"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"កំពុងផ្ទុកឡើងវិញនូវលំហការងារដែលមានក្រឡា %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"មិនអាចផ្ទុកឡើងវិញនូវលំហការងារដែលមានក្រឡា %1$s ទេ"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"បានកំណត់​រចនាប័ទ្មដោយ​ជោគជ័យ"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"បានកំណត់​នាឡិកាដោយ​ជោគជ័យ"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"បានកំណត់​ក្រឡាដោយ​ជោគជ័យ"</string>
@@ -98,7 +103,8 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"ពណ៌​ផ្ទាល់ខ្លួន"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"រូបរាង​ផ្ទាល់ខ្លួន"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"ឈ្មោះ​រចនាប័ទ្ម​ផ្ទាល់ខ្លួន"</string>
-    <string name="mode_title" msgid="2394873501427436055">"​រចនាប័ទ្ម​ងងឹត"</string>
+    <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="mode_changed" msgid="2243581369395418584">"បាន​ផ្លាស់ប្ដូរ​រចនាប័ទ្ម"</string>
     <string name="themed_icon_title" msgid="7312460430471956558">"រូបតំណាងប្ដូរតាមទម្រង់រចនា"</string>
@@ -109,14 +115,14 @@
     <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>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ផ្លូវកាត់ខាងឆ្វេង"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"ផ្លូវកាត់ខាងស្តាំ"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"គ្មាន"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"ដើម្បីជ្រើសរើស `<xliff:g id="APPNAME">%1$s</xliff:g>` សូមពិនិត្យមើលខាងក្រោម"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"មិនអាច​បញ្ចូល​ផ្លូវកាត់​បានទេ"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"បើក <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"ដើម្បីបញ្ចូលកម្មវិធី <xliff:g id="APPNAME">%1$s</xliff:g> ជាផ្លូវកាត់ សូមប្រាកដថា"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"រួចរាល់"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"គ្មាន"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"បង្ហាញការជូនដំណឹងនៅលើអេក្រង់ចាក់សោ"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"លាក់ការជូនដំណឹងនៅលើអេក្រង់ចាក់សោ"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"ជម្រើសអេក្រង់ចាក់សោច្រើនទៀត"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"ឯកជនភាព, Now Playing និងអ្វីៗច្រើនទៀត"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"ទម្រង់រចនាបែបបង្ហាញចម្បង"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ជម្រើសពណ៌លំនាំដើម"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"ជម្រើស​ពណ៌ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"អូសទៅឆ្វេង ដើម្បីជ្រើសរើសមុខនាឡិកាផ្សេង"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"អូសទៅស្ដាំ ដើម្បីជ្រើសរើសមុខនាឡិកាផ្សេង"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"នាឡិកាផ្ទាល់ខ្លួន"</string>
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 8b1c5ca..fd940a6 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"ಕಸ್ಟಮ್ ಗಡಿಯಾರ"</string>
     <string name="clock_description" msgid="3563839327378948">"ಕಸ್ಟಮ್ ವಾಚ್ ಪಿಕ್"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"ಕಸ್ಟಮ್ ಗಡಿಯಾರ ಬದಲಿಸಿ"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"ಗಡಿಯಾರ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ಕ್ಲಾಕ್ ಫೇಸ್ ಆಯ್ಕೆ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"ಗಡಿಯಾರದ ಬಣ್ಣ, ಗಾತ್ರ"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"ಗಡಿಯಾರದ ಬಣ್ಣ, ಗಾತ್ರ"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"ಬಣ್ಣ"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿರುವ ವಿಷಯಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಗಡಿಯಾರದ ಗಾತ್ರ ಬದಲಾಗುತ್ತದೆ"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"ದೊಡ್ಡದು"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"ಚಿಕ್ಕದು"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಮೂಲೆಯಲ್ಲಿ ಸಣ್ಣ ಗಡಿಯಾರವೊಂದು ಕಾಣಿಸುತ್ತದೆ"</string>
     <string name="grid_title" msgid="1688173478777254123">"ಆ್ಯಪ್ ಗ್ರಿಡ್"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"ಅನ್ವಯಿಸಿ"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"ಎಡಿಟ್ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"ಪ್ರತಿ ಸ್ಕ್ರೀನ್‌ಗೆ ನಿಮ್ಮ ಮೆಚ್ಚಿನ ಫಾಂಟ್‌ಗಳನ್ನು ಸೇರಿಸಿ"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ಗ್ರಿಡ್ ಗಾತ್ರವನ್ನು ಆರಿಸಿ"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ಗ್ರಿಡ್ ಗಾತ್ರವನ್ನು ಬದಲಾಯಿಸುವುದರಿಂದ ಕಾರ್ಯಸ್ಥಳವನ್ನು ಮರುಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕೆಲವು ಸೆಕೆಂಡ್‌ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s ಗ್ರಿಡ್ ಮೂಲಕ ಕಾರ್ಯಸ್ಥಳವನ್ನು ಮರುಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s ಗ್ರಿಡ್ ಮೂಲಕ ಕಾರ್ಯಸ್ಥಳವನ್ನು ಮರುಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"ಶೈಲಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ಗಡಿಯಾರವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ಗ್ರಿಡ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"ಕಸ್ಟಮ್ ಬಣ್ಣ"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"ಕಸ್ಟಮ್ ಆಕಾರ"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"ಕಸ್ಟಮ್ ಶೈಲಿ ಹೆಸರು"</string>
+    <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="mode_changed" msgid="2243581369395418584">"ಥೀಮ್ ಅನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ"</string>
@@ -105,7 +111,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>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ಎಡ ಶಾರ್ಟ್‌ಕಟ್"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"ಬಲ ಶಾರ್ಟ್‌ಕಟ್"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"ಯಾವುದೂ ಅಲ್ಲ"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` ಅನ್ನು ಆಯ್ಕೆಮಾಡಲು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಗುರುತು ಮಾಡಿ"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"ಶಾರ್ಟ್‌ಕಟ್ ಸೇರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ಅನ್ನು ತೆರೆಯಿರಿ"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ಆ್ಯಪ್ ಅನ್ನು ಶಾರ್ಟ್‌ಕಟ್ ಆಗಿ ಸೇರಿಸಲು ಕೆಳಗಿನವುಗಳನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ಮುಗಿದಿದೆ"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ಯಾವುದೂ ಅಲ್ಲ"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಅಧಿಸೂಚನೆಗಳನ್ನು ತೋರಿಸಿ"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಅಧಿಸೂಚನೆಗಳನ್ನು ಮರೆಮಾಡಿ"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"ಇನ್ನಷ್ಟು ಲಾಕ್ ಸ್ಕ್ರೀನ್ ಆಯ್ಕೆಗಳು"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"ಗೌಪ್ಯತೆ, Now Playing ಮತ್ತು ಇನ್ನಷ್ಟು"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"ಪ್ರಾಥಮಿಕ ಅಭಿವ್ಯಕ್ತಿಶೀಲ ಥೀಮ್"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ಡೀಫಾಲ್ಟ್ ಬಣ್ಣದ ಆಯ್ಕೆ"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"ಬಣ್ಣದ ಆಯ್ಕೆ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"ಬೇರೊಂದು ಕ್ಲಾಕ್ ಫೇಸ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಲು ಎಡಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"ಬೇರೊಂದು ಕ್ಲಾಕ್ ಫೇಸ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಲು ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"ಕಸ್ಟಮ್ ಕ್ಲಾಕ್‌ಗಳು"</string>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 88e8f4d..6a7643c 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"맞춤 시계"</string>
     <string name="clock_description" msgid="3563839327378948">"맞춤 시계 선택"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"맞춤 시계 변경"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"시계 설정"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"시계 페이스 옵션 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"시계 색상 및 크기"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"시계 색상 및 크기"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"색상"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"시계 크기가 잠금 화면 콘텐츠에 따라 변경됩니다."</string>
     <string name="clock_size_large" msgid="3143248715744138979">"크게"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"작게"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"작은 시계가 화면 모서리에 표시됩니다."</string>
     <string name="grid_title" msgid="1688173478777254123">"앱 그리드"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"적용"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"탭하여 수정"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"모든 화면에 좋아하는 글꼴을 추가하세요."</string>
     <string name="grid_options_title" msgid="7071930966989877023">"그리드 크기 선택"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"그리드 크기를 변경하면 작업공간이 새로고침되며 몇 초 정도 걸릴 수 있습니다."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s 그리드로 작업공간을 새로고침하는 중"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s 그리드로 작업공간을 새로고침하지 못함"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"스타일 설정이 완료되었습니다."</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"시계 설정이 완료되었습니다."</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"그리드 설정이 완료되었습니다."</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"맞춤 색상"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"맞춤 모양"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"맞춤 스타일 이름"</string>
+    <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="mode_changed" msgid="2243581369395418584">"테마 변경됨"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"왼쪽 바로가기"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"오른쪽 바로가기"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"없음"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` 앱을 선택하려면 다음을 선택하세요"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"단축키를 추가할 수 없음"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> 열기"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> 앱을 바로가기로 추가하려면 다음을 확인하세요."</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"완료"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"없음"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"잠금 화면에 알림 표시"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"잠금 화면에서 알림 숨기기"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"잠금 화면 옵션 더보기"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"개인 정보 보호, Now Playing 등"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"기본 표현 테마"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"기본 색상 옵션"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"<xliff:g id="ID_1">%1$d</xliff:g> 색상 옵션"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"왼쪽으로 스와이프하여 다른 시계 페이스 선택"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"오른쪽으로 스와이프하여 다른 시계 페이스 선택"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"시계 페이스 맞춤설정"</string>
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 539a67f..c3e5c99 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Жеке саат"</string>
     <string name="clock_description" msgid="3563839327378948">"Жеке саатты тандоо"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Жеке саатты өзгөртүү"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Сааттын параметрлери"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Циферблаттын варианты: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Сааттын түсү, өлчөмү"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Сааттын түсү, өлчөмү"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Түс"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Сааттын өлчөмү кулпуланган экрандагы нерселерге ылайык өзгөрөт"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Чоң"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Кичине"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Кичинекей саат экрандын бурчунда көрүнүп турат"</string>
     <string name="grid_title" msgid="1688173478777254123">"Колдонмонун торчосу"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Колдонуу"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Өзгөртүү үчүн таптап коюңуз"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Жактырган ариптериңизди каалаган экранга коюп алсаңыз болот"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Торчонун өлчөмүн тандоо"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Торчонун өлчөмү өзгөрсө, иштөө аймагы кайра жүктөлөт. Буга бир нече секунд керек."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Иштөө аймагы %1$s торчо менен кайра жүктөлүүдө"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Иштөө аймагы %1$s торчо менен кайра жүктөлбөй калды"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Стиль коюлду"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Саат ийгиликтүү жөндөлдү"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Торчо ийгиликтүү жөндөлдү"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Жеке түс"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Жеке форма"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Жеке стилдин аталышы"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Тема өзгөртүлдү"</string>
@@ -105,18 +111,18 @@
     <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="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="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Сол ыкчам баскыч"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Оң ыкчам баскыч"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Жок"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"\"<xliff:g id="APPNAME">%1$s</xliff:g>\" колдонмосун тандоо үчүн төмөнкүлөрдү аткарыңыз:"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Ыкчам баскыч кошулбай жатат"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ачуу"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> колдонмосун ыкчам баскыч катары кошуу үчүн төмөнкүлөрдү аткарыңыз:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Бүттү"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Жок"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Билдирмелерди кулпуланган экранда көрсөтүү"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Билдирмелерди кулпуланган экранда жашыруу"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Кулпуланган экран параметрлери"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Негизги каныккан тема"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Негизги ачык тема"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Демейки түс варианты"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"<xliff:g id="ID_1">%1$d</xliff:g> түс варианты"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Башка циферблатты тандоо үчүн экранды солго сүрүңүз"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Башка циферблатты тандоо үчүн экранды оңго сүрүңүз"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Жеке сааттар"</string>
 </resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 9a41c5b..00afb8e 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"ໂມງທີ່ກຳນົດເອງ"</string>
     <string name="clock_description" msgid="3563839327378948">"ເລືອກໂມງກຳນົດເອງ"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"ປ່ຽນໂມງກຳນົດເອງ"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"ການຕັ້ງຄ່າໂມງ"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ຕົວເລືອກໜ້າປັດໂມງ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"ສີ ແລະ ຂະໜາດໂມງ"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"ສີ ແລະ ຂະໜາດໂມງ"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"ສີ"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ຂະໜາດຂອງໂມງປ່ຽນຕາມເນື້ອຫາໃນໜ້າຈໍລັອກ"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"ໃຫຍ່"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"ນ້ອຍ"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"ໂມງນ້ອຍທີ່ສະແດງຢູ່ໃນມຸມຂອງໜ້າຈໍທ່ານ"</string>
     <string name="grid_title" msgid="1688173478777254123">"ຕາຕະລາງແອັບ"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"ນຳໃຊ້"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"ແຕະເພື່ອແກ້ໄຂ"</string>
@@ -65,11 +67,14 @@
     <string name="font_card_body" msgid="6790525594503904468">"ເພີ່ມຟອນທີ່ທ່ານມັກໃສ່ທຸກໜ້າຈໍ"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ເລືອກຂະໜາດຊ່ອງ"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ການປ່ຽນຂະໜາດໂຄງຮ່າງຕາຕະລາງຈະໂຫຼດບ່ອນເຮັດວຽກ ແລະ ອາດໃຊ້ເວລາສອງສາມວິນາທີ."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"ກຳລັງໂຫຼດບ່ອນເຮັດວຽກຄືນໃໝ່ດ້ວຍໂຄງຮ່າງຕາຕະລາງ %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"ໂຫຼດບ່ອນເຮັດວຽກຄືນໃໝ່ດ້ວຍໂຄງຮ່າງຕາຕະລາງ %1$s ບໍ່ສຳເລັດ"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"ຕັ້ງຮູບແບບສຳເລັດແລ້ວ"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ຕັ້ງໂມງສຳເລັດແລ້ວ"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ຕັ້ງຊ່ອງສຳເລັດແລ້ວ"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"ເກີດບັນຫາໃນການນຳໃຊ້ຮູບແບບ"</string>
-    <string name="custom_theme_next" msgid="6235420097213197301">"ຖັດໄປ"</string>
+    <string name="custom_theme_next" msgid="6235420097213197301">"ຕໍ່ໄປ"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"ຜ່ານມາ"</string>
     <string name="custom_theme" msgid="1618351922263478163">"ກຳນົດເອງ"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"ແບບກຳນົດເອງ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"ສີກຳນົດເອງ"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"ຮູບຮ່າງກຳນົດເອງ"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"ຊື່ຮູບແບບສີສັນກຳນົດເອງ"</string>
+    <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="mode_changed" msgid="2243581369395418584">"ປ່ຽນຮູບແບບສີສັນແລ້ວ"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ທາງລັດຊ້າຍ"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"ທາງລັດຂວາ"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"ບໍ່ມີ"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"ເພື່ອເລືອກ `<xliff:g id="APPNAME">%1$s</xliff:g>` ກະລຸນາກວດສອບສິ່ງຕໍ່ໄປນີ້"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"ບໍ່ສາມາດເພີ່ມທາງລັດໄດ້"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"ເປີດ <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"ເພື່ອເພີ່ມແອັບ <xliff:g id="APPNAME">%1$s</xliff:g> ເປັນທາງລັດ, ກະລຸນາກວດສອບໃຫ້ແນ່ໃຈວ່າ"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ແລ້ວໆ"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ບໍ່ມີ"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"ສະແດງການແຈ້ງເຕືອນຢູ່ໜ້າຈໍລັອກ"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"ເຊື່ອງການແຈ້ງເຕືອນຢູ່ໜ້າຈໍລັອກ"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"ຕົວເລືອກໜ້າຈໍລັອກເພີ່ມເຕີມ"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"ຄວາມເປັນສ່ວນຕົວ, Now Playing ແລະ ອື່ນໆ"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"ຮູບແບບສີສັນຫຼັກແບບຊັດເຈນ"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ຕົວເລືອກສີຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"ຕົວເລືອກສີ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"ປັດຊ້າຍເພື່ອເລືອກໜ້າປັດໂມງແບບຕ່າງໆ"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"ປັດຂວາເພື່ອເລືອກໜ້າປັດໂມງແບບຕ່າງໆ"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"ໜ້າປັດໂມງແບບກຳນົດເອງ"</string>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 90b8bd7..41ce8fd 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Tink. laikrodis"</string>
     <string name="clock_description" msgid="3563839327378948">"Pasir. tink. laikr."</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Keiskite tinkintą laikrodį"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Laikr. nustat."</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Ciferblato parinktis: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Laikr. spalva, dyd."</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Laikr. spalva ir dydis"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Spalva"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Laikrodžio dydis keičiamas pagal užrakinimo ekrano turinį"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Didelis"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Mažas"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Ekrano kampe rodomas nedidelis laikrodis"</string>
     <string name="grid_title" msgid="1688173478777254123">"Pr. tinklelis"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Taikyti"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Palieskite ir redaguokite"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Pridėkite mėgstamiausių šriftų prie kiekvieno ekrano"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Pasirinkti tinklelio dydį"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Keičiant tinklelio dydį iš naujo įkeliama darbo sritis ir tai gali užtrukti kelias sekundes."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Iš naujo įkeliama darbo sritis su %1$s tinkleliu"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Nepavyko iš naujo įkelti darbo srities su %1$s tinkleliu"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stilius nustatytas sėkmingai"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Laikrodis nustatytas sėkmingai"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Tinklelis nustatytas sėkmingai"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Tinkinta spalva"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Tinkinta forma"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Tinkinto stiliaus pavadinimas"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Spalvos intensyvumas"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tamsioji tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Laikinai išjungta dėl Akumuliatoriaus tausojimo priemonės"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema pakeista"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Spart. kl. kair."</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Spart. kl. deš."</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Nėra"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Jei norite pasirinkti „<xliff:g id="APPNAME">%1$s</xliff:g>“, patikrinkite toliau nurodytus dalykus."</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Nepavyko pridėti sparčiojo klavišo"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Atidaryti „<xliff:g id="APPNAME">%1$s</xliff:g>“"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Jei norite pridėti programą „<xliff:g id="APPNAME">%1$s</xliff:g>“ kaip šaukinį, įsitikinkite, kad atitinkate reikalavimus."</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Atlikta"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nėra"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Rodyti pranešimus užrakinimo ekrane"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Slėpti pranešimus užrakinimo ekrane"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Daugiau užrakinimo ekrano parinkčių"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privatumas, „Dabar leidžiama“ ir kt."</string>
     <string name="more_colors" msgid="3191071655353004591">"Daugiau spalvų"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Pagrindinė dinaminė tema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Pagrindinė neutrali tema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Pagrindinė ryški tema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Pagrindinė išraiškinga tema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Numatytoji spalvos parinktis"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Spalvos parinktis: <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Perbraukite kairėn, kad pasirinktumėte kitą ciferblatą"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Perbraukite dešinėn, kad pasirinktumėte kitą ciferblatą"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Tinkinti ciferblatai"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index a28e6a5..53cbbf6 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Pielāgots ekrāns"</string>
     <string name="clock_description" msgid="3563839327378948">"Pielāgota ekrāna izvēle"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Mainiet pielāgotu pulksteņa ekrānu."</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Pulksteņa iestatījumi"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Pulksteņa ekrāna opcija: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Pulksteņa krāsa/lielums"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Pulksteņa krāsa/lielums"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Krāsa"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Pulksteņa lielums mainās atkarībā no bloķēšanas ekrāna satura."</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Liels"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Mazs"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Jūsu ekrāna stūrī tiek rādīts neliels pulkstenis."</string>
     <string name="grid_title" msgid="1688173478777254123">"Lietotņu režģis"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Lietot"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Pieskarieties, lai rediģētu"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Pievienojiet savus iecienītos fontus visos ekrānos."</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Režģa izmēra izvēle"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Mainot režģa lielumu, tiks atkārtoti ielādēta darbvieta, kas var ilgt dažas sekundes."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Tiek atkārtoti ielādēta darbvieta ar režģi %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Neizdevās atkārtoti ielādēt darbvietu ar režģi %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stils ir sekmīgi iestatīts"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Pulkstenis ir sekmīgi iestatīts"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Režģis ir sekmīgi iestatīts"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Pielāgota krāsa"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Pielāgota forma"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Pielāgots stila nosaukums"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Krāsu intensitāte"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tumšais motīvs"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Īslaicīgi atspējots akumulatora enerģijas taupīšanas dēļ"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Motīvs ir nomainīts"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Saīsne pa kreisi"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Saīsne pa labi"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Nav"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Lai atlasītu lietotni <xliff:g id="APPNAME">%1$s</xliff:g>, pārbaudiet tālāk minēto"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Nevar pievienot saīsni"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Atvērt lietotni <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Lai pievienotu lietotni <xliff:g id="APPNAME">%1$s</xliff:g> kā saīsni, jābūt izpildītiem tālāk minētajiem nosacījumiem."</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gatavs"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nav"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Rādīt paziņojumus bloķēšanas ekrānā"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Paslēpt paziņojumus bloķēšanas ekrānā"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Citas bloķēšanas ekrāna opcijas"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Konfidencialitāte, funkcija “Tagad atskaņo” un citi iestatījumi"</string>
     <string name="more_colors" msgid="3191071655353004591">"Citas krāsas"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primārais dinamiskais motīvs"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primārais neitrālais motīvs"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primārais spilgtais motīvs"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primārais ekspresīvais motīvs"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Noklusējuma krāsas opcija"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"<xliff:g id="ID_1">%1$d</xliff:g>. krāsas opcija"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Velciet pa kreisi, lai izvēlētos citu pulksteņa ekrānu"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Velciet pa labi, lai izvēlētos citu pulksteņa ekrānu"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Pielāgoti pulksteņa ekrāni"</string>
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 9375f88..e3a97db 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Приспособен часовник"</string>
     <string name="clock_description" msgid="3563839327378948">"Изберете приспособен часовник"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Променете го приспособениот часовник"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Поставки"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Опција за екран на часовник <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Боја и големина"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Боја и големина"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Боја"</string>
@@ -39,7 +40,8 @@
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамичнa"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Големината на часовникот се променува според содржините на заклучен екран"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Голема"</string>
-    <string name="clock_size_small" msgid="2280449912094164133">"Мал"</string>
+    <string name="clock_size_small" msgid="2280449912094164133">"Мала"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Во аголот на екранот се прикажува мал часовник"</string>
     <string name="grid_title" msgid="1688173478777254123">"Мрежа"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Примени"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Допрете за да измените"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Додајте ги омилените фонтови на секој екран"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Изберете големина на решетка"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Промената на големината на решетката пак ќе го вчита работниот простор и може да потрае неколку секунди."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Работниот простор се вчитува повторно со решетката %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Работниот простор не можеше да се вчита повторно со решетката %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Стилот е успешно поставен"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Часовникот е успешно поставен"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Мрежата е успешно поставена"</string>
@@ -98,14 +103,15 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Приспособена боја"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Приспособена форма"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Приспособено име на стил"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Темата е променета"</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_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>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Лева кратенка"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Десна кратенка"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Нема"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"За да изберете „<xliff:g id="APPNAME">%1$s</xliff:g>“, проверете го следново"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Не може да се додаде кратенката"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Отворете ја <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"За да ја додадете апликацијата <xliff:g id="APPNAME">%1$s</xliff:g> како кратенка, треба да бидат исполнети следниве услови"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Готово"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Нема"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Прикажувај известувања на заклучен екран"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Сокривај известувања на заклучен екран"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Повеќе опции за заклучен екран"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Приватност, Now Playing и друго"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Примарна експресивна тема"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Стандардна опција за боја"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Опција за <xliff:g id="ID_1">%1$d</xliff:g> боја"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Повлечете налево за да изберете друг екран на часовникот"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Повлечете надесно за да изберете друг екран на часовникот"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Приспособени часовници"</string>
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index b5c9739..ffbd46e 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"കസ്റ്റം ക്ലോക്ക്"</string>
     <string name="clock_description" msgid="3563839327378948">"കസ്റ്റം ക്ലോക്ക് തിരഞ്ഞെടുക്കൂ"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"ഇഷ്‌ടാനുസൃത  ക്ലോക്ക് മാറ്റൂ"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"ക്ലോക്ക് സെറ്റിംഗ്"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ക്ലോക്ക് ഫെയ്‌സ് ഓപ്‌ഷൻ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"ക്ലോക്കിന്റെ നിറം, വലുപ്പം"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"ക്ലോക്കിന്റെ നിറം, വലുപ്പം"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"നിറം"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ലോക്ക് സ്‌ക്രീൻ ഉള്ളടക്കത്തിനനുസരിച്ച് ക്ലോക്കിന്റെ വലുപ്പം മാറുന്നു"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"വലുത്"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"ചെറുത്"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"സ്ക്രീനിന്റെ മൂലയിൽ ഒരു ചെറിയ ക്ലോക്ക് കാണിക്കുന്നു"</string>
     <string name="grid_title" msgid="1688173478777254123">"ആപ്പ് ഗ്രിഡ്"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"പ്രയോഗിക്കുക"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"എഡിറ്റ് ചെയ്യാൻ ടാപ്പ് ചെയ്യുക"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"എല്ലാ സ്‌ക്രീനിലേക്കും നിങ്ങളുടെ പ്രിയപ്പെട്ട ഫോണ്ടുകൾ ചേർക്കുക"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ഗ്രിഡ് വലുപ്പം തിരഞ്ഞെടുക്കുക"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ഗ്രിഡ് വലുപ്പം മാറ്റുന്നത് വർക്ക്‌സ്‌പെയ്‌സിനെ റീലോഡ് ചെയ്തേക്കാം, ഏതാനും സെക്കൻഡുകൾ സമയമെടുക്കുകയും ചെയ്യും."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s ഗ്രിഡ് ഉപയോഗിച്ച് വർക്ക്‌സ്‌പെയ്‌സ് റീലോഡ് ചെയ്യുന്നു"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s ഗ്രിഡ് ഉപയോഗിച്ച് വർക്ക്‌സ്‌പെയ്‌സ് റീലോഡ് ചെയ്യാനായില്ല"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"സ്‌റ്റൈൽ സജ്ജീകരിച്ചു"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ക്ലോക്ക് സജ്ജമാക്കി"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ഗ്രിഡ് സജ്ജീകരിച്ചു"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"ഇഷ്‌ടാനുസൃത നിറം"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"ഇഷ്‌ടാനുസൃത രൂപം"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"ഇഷ്‌ടാനുസൃത സ്‌റ്റൈലിന്റെ പേര്"</string>
+    <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="mode_changed" msgid="2243581369395418584">"തീം മാറ്റി"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ഇടത് കുറുക്കുവഴി"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"വലത് കുറുക്കുവഴി"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"ഒന്നുമില്ല"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` തിരഞ്ഞെടുക്കാൻ, ഇനിപ്പറയുന്നവ പരിശോധിക്കുക"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"കുറുക്കുവഴി ചേർക്കാനാകില്ല"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> തുറക്കുക"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"കുറുക്കുവഴിയായി <xliff:g id="APPNAME">%1$s</xliff:g> ആപ്പ് ചേർക്കാൻ, ഇനിപ്പറയുന്ന കാര്യങ്ങൾ ഉറപ്പാക്കുക"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"പൂർത്തിയായി"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ഒന്നുമില്ല"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"ലോക്ക് സ്ക്രീനിൽ അറിയിപ്പുകൾ കാണിക്കുക"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"ലോക്ക് സ്ക്രീനിൽ അറിയിപ്പുകൾ മറയ്ക്കുക"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"കൂടുതൽ ലോക്ക് സ്‌ക്രീൻ ഓപ്‌ഷനുകൾ"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"പ്രാഥമിക വൈബ്രന്റ് തീം"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"പ്രാഥമിക എക്‌സ്‌പ്രസീവ് തീം"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ഡിഫോൾട്ട് വർണ്ണ ഓപ്‌ഷൻ"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"വർണ്ണ ഓപ്‌ഷൻ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"മറ്റൊരു ക്ലോക്ക് ഫേസ് തിരഞ്ഞെടുക്കാൻ ഇടതുഭാഗത്തേക്ക് സ്വൈപ്പ് ചെയ്യുക"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"മറ്റൊരു ക്ലോക്ക് ഫേസ് തിരഞ്ഞെടുക്കാൻ വലതുഭാഗത്തേക്ക് സ്വൈപ്പ് ചെയ്യുക"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"ഇഷ്‌ടാനുസൃത ക്ലോക്കുകൾ"</string>
 </resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index ddf19e2..4591634 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Захиалгат цаг"</string>
     <string name="clock_description" msgid="3563839327378948">"Захиалгат цаг сонгох"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Захиалгат цагийг өөрчлөх"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Цагны тохиргоо"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Цагны нүүрний сонголт <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Цагны өнгө, хэмжээ"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Цагны өнгө, хэмжээ"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Өнгө"</string>
@@ -37,9 +38,10 @@
     <string name="clock_color_teal" msgid="7499223425741344251">"Усан цэнхэр"</string>
     <string name="clock_size" msgid="5028923902364418263">"Хэмжээ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамик"</string>
-    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Цагны хэмжээ нь түгжигдсэн дэлгэцийн контентоос хамаарч өөрчлөгддөг"</string>
+    <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Цагны хэмжээ нь түгжээтэй дэлгэцийн контентоос хамаарч өөрчлөгддөг"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Том"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Жижиг"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Таны дэлгэцийн буланд жижиг цаг харуулдаг"</string>
     <string name="grid_title" msgid="1688173478777254123">"Аппын хүснэгт"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Ашиглах"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Засахын тулд товшино уу"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Дэлгэц бүрд дуртай фонтоо нэмэх"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Торын хэмжээг сонгох"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Хүснэгтийн хэмжээг өөрчлөх нь ажлын талбарыг дахин ачаалах ба хэдэн секунд зарцуулж магадгүй."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s-н хүснэгтээр ажлын талбарыг дахин ачаалж байна"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s-н хүснэгтээр ажлын талбарыг дахин ачаалж чадсангүй"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Загварыг амжилттай тохирууллаа"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Цагийг амжилттай тохирууллаа"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Торыг амжилттай тохирууллаа"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Захиалгат өнгө"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Захиалгат дүрс"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Захиалгат загварын нэр"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Загварыг өөрчилсөн"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Зүүн товчлол"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Баруун товчлол"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Байхгүй"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>`-г сонгохын тулд дараахыг шалгана уу"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Товчлолыг нэмэх боломжгүй"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g>-г нээх"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> аппыг товчлолоор нэмэхийн тулд дараахыг баталгаажуулна уу"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Болсон"</string>
@@ -124,13 +130,17 @@
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Товчлол"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Байхгүй"</string>
-    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Түгжигдсэн дэлгэц дээр мэдэгдлийг харуулах"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Түгжигдсэн дэлгэц дээрх мэдэгдлүүдийг нуух"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Түгжээтэй дэлгэц дээр мэдэгдэл харуулах"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Түгжээтэй дэлгэцийн өөр сонголт"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Нууцлал, Now Playing болон бусад"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Үндсэн илэрхийлэлтэй загвар"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Өгөгдмөл өнгөний сонголт"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Өнгөний сонголт <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Өөр цагны нүүр сонгохын тулд зүүн тийш шударна уу"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Өөр цагны нүүр сонгохын тулд баруун тийш шударна уу"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Захиалгат цагнууд"</string>
 </resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index fa9267d..02838e4 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -22,8 +22,9 @@
     <string name="clock_title" msgid="1974314575211361352">"कस्टम क्लॉक"</string>
     <string name="clock_description" msgid="3563839327378948">"कस्टम क्लॉक निवडा"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"कस्टम क्लॉक बदला"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"क्लॉक सेटिंग्ज"</string>
-    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Clock चा रंग व आकार"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"क्लॉक फेस पर्याय <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Clock चा रंग व आकार"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"घड्याळाचा रंग व आकार"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"रंग"</string>
     <string name="clock_color_red" msgid="3843504214807597810">"लाल"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"लॉक स्‍क्रीनवरील आशयानुसार घड्याळाचा आकार बदलेल"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"मोठा"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"छोटे"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"तुमच्या स्क्रीनच्या कोपऱ्यामध्ये एक लहान घड्याळ दिसते"</string>
     <string name="grid_title" msgid="1688173478777254123">"ॲप ग्रिड"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"लागू करा"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"संपादित करण्‍यासाठी टॅप करा"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"प्रत्येक स्क्रीनवर तुमचे आवडते फॉंट जोडा"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ग्रिडचा आकार निवडा"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ग्रिडचा आकार बदल्याने वर्कस्पेस रीलोड होईल, याला काही सेकंद लागू शकतात."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s ग्रिड वापरून वर्कस्पेस रीलोड करत आहे"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s ग्रिड वापरून वर्कस्पेस रीलोड करता आली नाही"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"शैली यशस्वीरीत्या सेट केली"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"क्लॉक यशस्वीरीत्या सेट केले"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ग्रिड यशस्वीरीत्या सेट केले"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"कस्टम रंग"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"कस्टम आकार"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"कस्टम शैलीचे नाव"</string>
+    <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="mode_changed" msgid="2243581369395418584">"थीम बदलली आहे"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"डावा शॉर्टकट"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"उजवा शॉर्टकट"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"काहीही नाही"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` निवडण्यासाठी पुढील गोष्टी तपासा"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"शॉर्टकट जोडू शकत नाही"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> उघडा"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> हे अ‍ॅप शॉर्टकट म्हणून जोडण्यासाठी, पुढील गोष्टींची खात्री करा"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"पूर्ण झाले"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"काहीही नाही"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"लॉक स्‍क्रीनवर सूचना दाखवा"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"लॉक स्‍क्रीनवर सूचना लपवा"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"आणखी लॉक स्‍क्रीन पर्याय"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"गोपनीयता, Now Playing आणि आणखी बरेच काही"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"प्राथमिक भावदर्शी थीम"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"रंगाचा डीफॉल्ट पर्याय"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"<xliff:g id="ID_1">%1$d</xliff:g> रंगाचा पर्याय"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"वेगळे क्लॉक फेस निवडण्यासाठी डावीकडे स्‍वाइप करा"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"वेगळे क्लॉक फेस निवडण्यासाठी उजवीकडे स्‍वाइप करा"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"कस्टम क्लॉक"</string>
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 14c8592..26ef5fe 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -17,12 +17,13 @@
 
 <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">"Kertas dinding &amp; gaya"</string>
+    <string name="app_name" msgid="1647136562008520313">"Hiasan latar &amp; gaya"</string>
     <string name="theme_title" msgid="2144932106319405101">"Gaya"</string>
     <string name="clock_title" msgid="1974314575211361352">"Jam Tersuai"</string>
     <string name="clock_description" msgid="3563839327378948">"Pilih jam tersuai"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Tukar jam tersuai"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Tetapan Jam"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Pilihan muka jam <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Warna &amp; saiz jam"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Warna &amp; saiz jam"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Warna"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Saiz jam berubah mengikut kandungan skrin kunci"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Besar"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Kecil"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Jam kecil yang dipaparkan pada penjuru skrin anda"</string>
     <string name="grid_title" msgid="1688173478777254123">"Grid apl"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Gunakan"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Ketik untuk edit"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Tambahkan fon kegemaran anda pada setiap skrin"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Pilih saiz grid"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Ruang kerja dimuatkan semula jika saiz grid diubah."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Memuatkan semula ruang kerja dengan grid %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Gagal memuatkan semula ruang kerja dengan grid %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Gaya berjaya ditetapkan"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Jam berjaya ditetapkan"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Grid berjaya ditetapkan"</string>
@@ -98,13 +103,14 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Warna tersuai"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Bentuk tersuai"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nama gaya tersuai"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Keamatan warna"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tema gelap"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Dilumpuhkan sementara disebabkan Penjimat Bateri"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema ditukar"</string>
     <string name="themed_icon_title" msgid="7312460430471956558">"Ikon bertema"</string>
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Tukar grid apl"</string>
-    <string name="wallpaper_color_tab" msgid="1447926591721403840">"Warna kertas dinding"</string>
+    <string name="wallpaper_color_tab" msgid="1447926591721403840">"Warna hiasan latar"</string>
     <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Ikon, teks dan pelbagai padanan warna pada hiasan latar"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Warna kertas dinding"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Warna asas"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Pintasan kiri"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Pintasan kanan"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Tiada"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Untuk memilih `<xliff:g id="APPNAME">%1$s</xliff:g>` semak perkara berikut"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Tidak dapat menambahkan pintasan"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Buka <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Untuk menambahkan apl <xliff:g id="APPNAME">%1$s</xliff:g> sebagai pintasan, pastikan"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Selesai"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Tiada"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Tunjukkan pemberitahuan pada skrin kunci"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Sembunyikan pemberitahuan pada skrin kunci"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Lebih banyak pilihan skrin kunci"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privasi, Now Playing dan pelbagai lagi"</string>
     <string name="more_colors" msgid="3191071655353004591">"Lagi Warna"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Tema dinamik utama"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Tema neutral utama"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Tema ceria utama"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tema ekspresif utama"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Pilihan warna lalai"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Pilihan warna <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Leret ke kiri untuk memilih muka jam yang lain"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Leret ke kanan untuk memilih muka jam yang lain"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Jam Tersuai"</string>
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index a969545..bdc67c5 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"စိတ်ကြိုက်နာရီ"</string>
     <string name="clock_description" msgid="3563839327378948">"စိတ်ကြိုက်နာရီရွေးပါ"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"စိတ်ကြိုက်နာရီ ပြောင်းနိုင်သည်"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"နာရီဆက်တင်များ"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"နာရီဒိုင်ခွက် ရွေးစရာ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"နာရီအရောင်၊ အရွယ်"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"နာရီအရောင်နှင့်အရွယ်"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>၊ <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"အရောင်"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"လော့ခ်မျက်နှာပြင် အကြောင်းအရာအလိုက် နာရီအရွယ်အစား ပြောင်းလဲသည်"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"ကြီး"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"သေး"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"သင့်ဖန်သားပြင်ထောင့်တွင် ပြသထားသော နာရီအသေးတစ်ခု"</string>
     <string name="grid_title" msgid="1688173478777254123">"အက်ပ်ဇယား"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"အသုံးပြုရန်"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"တည်းဖြတ်ရန် တို့ပါ"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"မျက်နှာပြင်တိုင်းတွင် သင့်အကြိုက်ဆုံး ဖောင့်များ ထည့်ရန်"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ဇယားကွက်အရွယ်အစားတစ်ခု ရွေးပါ"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ဂရစ်အရွယ်အစားပြောင်းခြင်းသည် အလုပ်နေရာကို ပြန်စတင်စေပြီး စက္ကန့်အနည်းငယ် ကြာနိုင်သည်။"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s ဂရစ်ဖြင့် အလုပ်နေရာ ပြန်လည်စတင်နေသည်"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s ဂရစ်ဖြင့် အလုပ်နေရာ ပြန်လည်စတင်၍ မရပါ"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"ပုံစံကို အောင်မြင်စွာ သတ်မှတ်ပြီးပါပြီ"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"နာရီကို အောင်မြင်စွာ သတ်မှတ်ပြီးပါပြီ"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ဇယားကွက်ကို အောင်မြင်စွာ သတ်မှတ်ပြီးပါပြီ"</string>
@@ -98,14 +103,15 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"စိတ်ကြိုက်အရောင်"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"စိတ်ကြိုက်ပုံသဏ္ဌာန်"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"စိတ်ကြိုက်ပုံစံအမည်"</string>
+    <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="mode_changed" msgid="2243581369395418584">"အပြင်အဆင် ပြောင်းလိုက်ပါပြီ"</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_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>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ဘယ်ဖြတ်လမ်းလင့်ခ်"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"ညာဖြတ်လမ်းလင့်ခ်"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"မရှိ"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` ရွေးချယ်ရန် အောက်ပါတို့ကို ကြည့်ပါ"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"ဖြတ်လမ်းလင့်ခ် ထည့်၍မရပါ"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ဖွင့်ရန်"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> အက်ပ်ကို ဖြတ်လမ်းလင့်ခ်အဖြစ် ထည့်ရန် အောက်ပါတို့နှင့်ကိုက်ညီရမည်"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ပြီးပြီ"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>၊ <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"မရှိ"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"အကြောင်းကြားချက်များကို လော့ခ်မျက်နှာပြင်တွင် ပြပါ"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"အကြောင်းကြားချက်များကို လော့ခ်မျက်နှာပြင်တွင် ဖျောက်ထားရန်"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"နောက်ထပ် လော့ခ်မျက်နှာပြင် နည်းလမ်းများ"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု၊ Now Playing နှင့်အခြား"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"မူလ ခံစားမှုပြ အပြင်အဆင်"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"မူလ အရောင်ရွေးစရာ"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"အရောင်ရွေးစရာ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"အခြားနာရီဒိုင်ခွက်ရွေးရန် ဘယ်ဘက်သို့ ပွတ်ဆွဲပါ"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"အခြားနာရီဒိုင်ခွက်ရွေးရန် ညာဘက်သို့ ပွတ်ဆွဲပါ"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"စိတ်ကြိုက် နာရီဒိုင်ခွက်များ"</string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index cdf7f7c..4062ab5 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Tilpasset klokke"</string>
     <string name="clock_description" msgid="3563839327378948">"Velg en tilpasset klokke"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Endre en tilpasset klokke"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Klokkevalg"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Urskivealternativ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Farge og størrelse"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Farge og størrelse"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Farge"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Klokkens størrelse endres basert på innholdet på låseskjermen"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Stor"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Liten"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"En liten klokke vises i hjørnet av skjermen"</string>
     <string name="grid_title" msgid="1688173478777254123">"Apprutenett"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Bruk"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Trykk for å endre"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Legg til favorittskrifttypen din på alle skjermer"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Velg rutenettstørrelse"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Endring av rutenettstørrelse laster inn arbeidsområdet på nytt, noe som kan ta noen sekunder."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Laster inn arbeidsområdet med rutenett på %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Kunne ikke laste inn arbeidsområdet med rutenett på %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stilen er angitt"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Klokken er angitt"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Rutenettet er angitt"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Egendefinert farge"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Egendefinert form"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Navn på egendefinert stil"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Fargeintensitet"</string>
     <string name="mode_title" msgid="2394873501427436055">"Mørkt tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Midlertidig slått av på grunn av Batterisparing"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Temaet er endret"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Venstre snarvei"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Høyre snarvei"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ingen"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"For å velge «<xliff:g id="APPNAME">%1$s</xliff:g>», sjekk det følgende"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Kan ikke legge til snarveien"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Åpne <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"For å legge til <xliff:g id="APPNAME">%1$s</xliff:g>-appen som en snarvei må du sørge for at"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Ferdig"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ingen"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Vis varsler på låseskjermen"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Skjul varsler på låseskjermen"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Flere låseskjermalternativer"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Personvern, Spilles nå med mer"</string>
     <string name="more_colors" msgid="3191071655353004591">"Flere farger"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Dynamisk primærtema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Nøytralt primærtema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Intenst primærtema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Uttrykksfullt primærtema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Standard fargealternativ"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Fargealternativ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Sveip til venstre for å velge en annen urskive"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Sveip til høyre for å velge en annen urskive"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Tilpassede klokker"</string>
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 99d8675..e420495 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"कस्टम घडी"</string>
     <string name="clock_description" msgid="3563839327378948">"कस्टम घडी छान्नु…"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"कुनै कस्टम घडी परिवर्तन गर्नुहोस्"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"घडीका सेटिङ"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"घडीको स्क्रिनको डिजाइनको विकल्प <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"घडीको रङ र आकार"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"घडीको रङ र आकार"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"रङ"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"घडीको आकार लक स्क्रिनको सामग्रीका आधारमा परिवर्तन हुन्छ"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"ठुलो"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"सानो"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"तपाईंको स्क्रिनको कुनामा सानो घडी देखा पर्छ"</string>
     <string name="grid_title" msgid="1688173478777254123">"एप ग्रिड"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"लागू गर्नुहोस्"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"सम्पादन गर्न ट्याप गर्नुहोस्"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"प्रत्येक स्क्रिनमा आफूलाई मन पर्ने फन्टहरू थप्नुहोस्"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ग्रिडको आकार छनौट गर्नुहोस्"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"तपाईंले ग्रिडको आकार परिवर्तन गर्नुभयो भने वर्कस्पेस रिलोड हुन्छ र रिलोड हुन केही सेकेन्ड लाग्न सक्छ।"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s ग्रिड सेट गरेर वर्कस्पेस पुनः लोड गरिँदै छ"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s ग्रिड सेट गरिएको वर्कस्पेस रिलोड गर्न सकिएन"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"शैली सफलतापूर्वक सेट गरियो"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"घडी सफलतापूर्वक सेट गरियो"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ग्रिड सफलतापूर्वक सेट गरियो"</string>
@@ -90,7 +95,7 @@
     <string name="use_style_button" msgid="1754493078383627019">"<xliff:g id="ID_1">%1$s</xliff:g> प्रयोग गर्नु…"</string>
     <string name="no_thanks" msgid="7286616980115687627">"पर्दैन, धन्यवाद"</string>
     <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="something_went_wrong" msgid="529840112449799117">"हत्तेरिका! कुनै समस्या आयो।"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"रङ / आइकनहरू"</string>
     <string name="style_info_description" msgid="2612473574431003251">"फन्ट, आइकन, एपको आकृति र रङको प्रिभ्यू"</string>
     <string name="accessibility_custom_font_title" msgid="966867359157303705">"आफूले रोजेको फन्ट"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"आफूले रोजेको रङ"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"आफूले रोजेको आकार"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"शैलीको आफूले रोजेको नाम"</string>
+    <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="mode_changed" msgid="2243581369395418584">"थिम परिवर्तन गरिएको छ"</string>
@@ -113,10 +119,10 @@
     <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="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"बायाँको सर्टकट"</string>
-    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"दायाँको सर्टकट"</string>
+    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"बायाँ सर्टकट"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"दायाँ सर्टकट"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"कुनै पनि होइन"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"\"<xliff:g id="APPNAME">%1$s</xliff:g>\" चयन गर्न तल दिइएका निर्देशनहरू पालना गर्नुहोस्"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"सर्टकट सिर्जना गर्न सकिएन"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> खोल्नुहोस्"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> एपलाई सर्टकटका रूपमा हाल्न, निम्न कुरा सुनिश्चित गर्नुहोस्:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"पूरा भयो"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"कुनै पनि होइन"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"लक स्क्रिनमा सूचनाहरू देखाइऊन्"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"लक स्क्रिनमा सूचनाहरू लुकाइऊन्"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"लक स्क्रिनसम्बन्धी थप विकल्पहरू"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"गोपनीयता, Now Playing र अन्य कुराहरू"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"प्राइमरी एक्सप्रेसिभ थिम"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"रङसम्बन्धी डिफल्ट विकल्प"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"रङसम्बन्धी विकल्प <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"घडीको स्क्रिनको अर्कै डिजाइन छनौट गर्न बायाँतिर स्वाइप गर्नुहोस्"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"घडीको स्क्रिनको अर्कै डिजाइन छनौट गर्न दायाँतिर स्वाइप गर्नुहोस्"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"घडीको स्क्रिनका कस्टम डिजाइनहरू"</string>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 26bd072..04efb6f 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -22,8 +22,9 @@
     <string name="clock_title" msgid="1974314575211361352">"Aangepaste klok"</string>
     <string name="clock_description" msgid="3563839327378948">"Klok kiezen"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Aangepaste klok wijzigen"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Klokinstellingen"</string>
-    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Kleur en grootte van klok"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Wijzerplaatoptie <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Kleur en grootte van klok"</string>
+    <string name="clock_color_and_size_title" msgid="7146791234905111351">"Kleur en formaat van klok"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Kleur"</string>
     <string name="clock_color_red" msgid="3843504214807597810">"Rood"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Het formaat van de klok past zich aan de content van het vergrendelscherm aan"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Groot"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Klein"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Er staat een kleine klok in de hoek van je scherm"</string>
     <string name="grid_title" msgid="1688173478777254123">"App-raster"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Toepassen"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tik om te bewerken"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Voeg je favoriete lettertypen toe aan elk scherm"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Een rastergrootte kiezen"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Als je de rastergrootte wijzigt, wordt de werkruimte opnieuw geladen. Dit kan een paar seconden duren."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Werkruimte opnieuw laden met %1$s raster"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Kan werkruimte niet opnieuw laden met %1$s raster"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stijl ingesteld"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Klok ingesteld"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Raster ingesteld"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Aangepaste kleur"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Aangepaste vorm"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Naam van aangepaste stijl"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Kleurintensiteit"</string>
     <string name="mode_title" msgid="2394873501427436055">"Donker thema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Tijdelijk uit vanwege Batterijbesparing"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Thema gewijzigd"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Snelkoppeling links"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Snelkoppeling rechts"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Geen"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Check het volgende als je <xliff:g id="APPNAME">%1$s</xliff:g> wilt selecteren"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Kan sneltoets niet toevoegen"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> openen"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Zorg voor het volgende om de <xliff:g id="APPNAME">%1$s</xliff:g>-app toe te voegen als snelkoppeling:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Klaar"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Geen"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Meldingen tonen op het vergrendelscherm"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Meldingen verbergen op het vergrendelscherm"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Meer schermvergrendelingsopties"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privacy, Now Playing en meer"</string>
     <string name="more_colors" msgid="3191071655353004591">"Meer kleuren"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primair dynamisch thema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primair neutraal thema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primair levendig thema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primair expressief thema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Standaard kleuroptie"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Kleuroptie <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Swipe naar links om een andere wijzerplaat te kiezen"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Swipe naar rechts om een andere wijzerplaat te kiezen"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Aangepaste wijzerplaten"</string>
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index b18bcb3..18350d8 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -17,12 +17,13 @@
 
 <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="1974314575211361352">"କଷ୍ଟମ ଘଣ୍ଟା"</string>
     <string name="clock_description" msgid="3563839327378948">"କଷ୍ଟମ ଘଣ୍ଟା ବାଛ"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"ଏକ କଷ୍ଟମ ଘଣ୍ଟାକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"କ୍ଲକ ସେଟିଂସ"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ଘଣ୍ଟା ଫେସ ବିକଳ୍ପ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"ଘଣ୍ଟାର ରଙ୍ଗ ଓ ସାଇଜ"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"ଘଣ୍ଟାର ରଙ୍ଗ ଓ ଆକାର"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"ରଙ୍ଗ"</string>
@@ -40,7 +41,8 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ଘଣ୍ଟାର ଆକାର ଲକ ସ୍କ୍ରିନର ବିଷୟବସ୍ତୁ ଅନୁସାରେ ପରିବର୍ତ୍ତନ ହୋଇଥାଏ"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"ବଡ଼"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"ଛୋଟ"</string>
-    <string name="grid_title" msgid="1688173478777254123">"ଆପ୍ ଗ୍ରିଡ୍"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"ଆପଣଙ୍କ ସ୍କ୍ରିନର କୋଣରେ ଏକ ଛୋଟ କ୍ଲକ ଦେଖାଯାଉଛି"</string>
+    <string name="grid_title" msgid="1688173478777254123">"ଆପ ଗ୍ରିଡ"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"ପ୍ରୟୋଗ କରନ୍ତୁ"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"ଏଡିଟ କରିବା ପାଇଁ ଟାପ କରନ୍ତୁ"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"ବର୍ତ୍ତମାନର ୱାଲ୍‌ପେପର୍‌କୁ ରଖନ୍ତୁ"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"ଆପଣଙ୍କ ପସନ୍ଦର ଫଣ୍ଟକୁ ପ୍ରତ୍ୟେକ ସ୍କ୍ରିନ୍‍‍‍‍‍ରେ ଯୋଗ କରନ୍ତୁ"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ଏକ ଗ୍ରିଡ୍ ଆକାର ବାଛନ୍ତୁ"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ଗ୍ରିଡର ଆକାର ପରିବର୍ତ୍ତନ କରିବା ୱାର୍କସ୍ପେସକୁ ପୁଣି ଲୋଡ କରିବ ଏବଂ ଏଥିପାଇଁ କିଛି ସେକେଣ୍ଡ ଲାଗିପାରେ।"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s ଗ୍ରିଡ ସହିତ ୱାର୍କସ୍ପେସକୁ ପୁଣି ଲୋଡ କରିବା"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s ଗ୍ରିଡ ସହିତ ୱାର୍କସ୍ପେସକୁ ପୁଣି ଲୋଡ କରିବାରେ ବିଫଳ ହୋଇଛି"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"ଷ୍ଟାଇଲ୍ ସଫଳତାର ସହ ସେଟ୍ ହୋଇଛି"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ଘଣ୍ଟା ସଫଳତାର ସହ ସେଟ୍ ହୋଇଛି"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ଗ୍ରିଡ୍ ସଫଳତାର ସହ ସେଟ୍ ହୋଇଛି"</string>
@@ -98,10 +103,11 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"କଷ୍ଟମ୍ ରଙ୍ଗ"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"କଷ୍ଟମ୍ ଆକାର"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"କଷ୍ଟମ୍ ଷ୍ଟାଇଲ୍ ନାମ"</string>
+    <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="mode_changed" msgid="2243581369395418584">"ଥିମ ପରିବର୍ତ୍ତନ କରାଯାଇଛି"</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>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ବାମ ସର୍ଟକଟ"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"ଡାହାଣ ସର୍ଟକଟ"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"କିଛି ନାହିଁ"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>`କୁ ଚୟନ କରିବା ପାଇଁ ନିମ୍ନୋକ୍ତକୁ ଯାଞ୍ଚ କରନ୍ତୁ"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"ସର୍ଟକଟ ଯୋଗ କରାଯାଇପାରିବ ନାହିଁ"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ଖୋଲନ୍ତୁ"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"ଏକ ସର୍ଟକଟ ଭାବେ <xliff:g id="APPNAME">%1$s</xliff:g> ଆପ ଯୋଗ କରିବାକୁ, ଏହା ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ହୋଇଗଲା"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"କିଛି ନାହିଁ"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"ଲକ ସ୍କ୍ରିନରେ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଦେଖାନ୍ତୁ"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"ଲକ ସ୍କ୍ରିନରେ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଲୁଚାନ୍ତୁ"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"ଅଧିକ ଲକ ସ୍କ୍ରିନ ବିକଳ୍ପ"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"ପ୍ରାଥମିକ ଭାଇବ୍ରାଣ୍ଟ ଥିମ"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"ପ୍ରାଥମିକ ଏକ୍ସପ୍ରେସିଭ ଥିମ"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ଡିଫଲ୍ଟ ରଙ୍ଗର ବିକଳ୍ପ"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"ରଙ୍ଗର ବିକଳ୍ପ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"ଏକ ଭିନ୍ନ କ୍ଲକ ଫେସ ବାଛିବାକୁ ବାମକୁ ସ୍ୱାଇପ କରନ୍ତୁ"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"ଏକ ଭିନ୍ନ କ୍ଲକ ଫେସ ବାଛିବାକୁ ଡାହାଣକୁ ସ୍ୱାଇପ କରନ୍ତୁ"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"କ୍ଲକ ଫେସ କଷ୍ଟମ କରନ୍ତୁ"</string>
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index ed0e4f8..4ec5c27 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"ਵਿਉਂਤੀ ਘੜੀ"</string>
     <string name="clock_description" msgid="3563839327378948">"ਵਿਉਂਤੀ ਘੜੀ ਚੁਣੋ"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"ਵਿਉਂਤੀ ਘੜੀ ਬਦਲੋ"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"ਘੜੀ ਦੀਆਂ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ਘੜੀ ਦੇ ਡਾਇਲ ਦਾ ਵਿਕਲਪ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"ਘੜੀ ਦਾ ਰੰਗ ਅਤੇ ਆਕਾਰ"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"ਘੜੀ ਦਾ ਰੰਗ ਅਤੇ ਆਕਾਰ"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"ਰੰਗ"</string>
@@ -39,7 +40,8 @@
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ਪਰਿਵਰਤਨਸ਼ੀਲ"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ਘੜੀ ਦਾ ਆਕਾਰ ਲਾਕ ਸਕ੍ਰੀਨ ਦੀ ਸਮੱਗਰੀ ਮੁਤਾਬਕ ਬਦਲਦਾ ਹੈ"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"ਵੱਡਾ"</string>
-    <string name="clock_size_small" msgid="2280449912094164133">"ਛੋਟਾ ਕਰੋ"</string>
+    <string name="clock_size_small" msgid="2280449912094164133">"ਛੋਟਾ"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਦੇ ਕੋਨੇ \'ਤੇ ਇੱਕ ਛੋਟੀ ਘੜੀ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ"</string>
     <string name="grid_title" msgid="1688173478777254123">"ਐਪ ਗ੍ਰਿਡ"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"ਲਾਗੂ ਕਰੋ"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"ਸੰਪਾਦਨ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
@@ -55,7 +57,7 @@
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, ਫਿਲਹਾਲ ਪੂਰਵ-ਝਲਕ ਦੇਖੀ ਗਈ"</string>
     <string name="option_change_applied_previewed_description" msgid="9197311327728570816">"<xliff:g id="ID_1">%1$s</xliff:g>, ਉਸ ਵਿਕਲਪ ਨੂੰ ਬਦਲੋ ਜਿਸ ਨੂੰ ਚੁਣਿਆ ਗਿਆ ਅਤੇ ਜਿਸ ਦੀ ਪੂਰਵ-ਝਲਕ ਦੇਖੀ ਗਈ ਹੈ"</string>
     <string name="theme_description" msgid="3697012391785254635">"ਫੌਂਟ: <xliff:g id="ID_1">%1$s</xliff:g>, ਪ੍ਰਤੀਕ: <xliff:g id="ID_2">%2$s</xliff:g>, ਆਕ੍ਰਿਤੀ: <xliff:g id="ID_3">%3$s</xliff:g>, ਰੰਗ: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"ਫੌਂਟ"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"ਪ੍ਰਤੀਕ"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"ਰੰਗ"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"ਹਰ ਸਕ੍ਰੀਨ \'ਤੇ ਆਪਣੇ ਮਨਪਸੰਦ ਫੌਂਟ ਸ਼ਾਮਲ ਕਰੋ"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ਗ੍ਰਿਡ ਦਾ ਆਕਾਰ ਚੁਣੋ"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ਗਰਿੱਡ ਦਾ ਆਕਾਰ ਬਦਲਣ ਨਾਲ ਵਰਕਸਪੇਸ ਰੀਲੋਡ ਹੋਣ ਵਿੱਚ ਕੁਝ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ।"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s ਗਰਿੱਡ ਨਾਲ ਵਰਕਸਪੇਸ ਨੂੰ ਰੀਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s ਗਰਿੱਡ ਨਾਲ ਵਰਕਸਪੇਸ ਨੂੰ ਰੀਲੋਡ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"ਸਟਾਈਲ ਸਫਲਤਾਪੂਰਵਕ ਸੈੱਟ ਕੀਤਾ ਗਿਆ"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ਘੜੀ ਸਫਲਤਾਪੂਰਵਕ ਸੈੱਟ ਕੀਤੀ ਗਈ"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ਗ੍ਰਿਡ ਸਫਲਤਾਪੂਰਵਕ ਸੈੱਟ ਕੀਤਾ ਗਿਆ"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"ਵਿਉਂਤਿਆ ਰੰਗ"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"ਵਿਉਂਤੀ ਆਕ੍ਰਿਤੀ"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"ਸ਼ੈਲੀ ਦਾ ਵਿਉਂਤਿਆ ਨਾਮ"</string>
+    <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="mode_changed" msgid="2243581369395418584">"ਥੀਮ ਬਦਲਿਆ ਗਿਆ"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ਖੱਬਾ ਸ਼ਾਰਟਕੱਟ"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"ਸੱਜਾ ਸ਼ਾਰਟਕੱਟ"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"ਕੋਈ ਨਹੀਂ"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` ਨੂੰ ਚੁਣਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਹਿਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"ਸ਼ਾਰਟਕੱਟ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ਖੋਲ੍ਹੋ"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ਐਪ ਨੂੰ ਸ਼ਾਰਟਕੱਟ ਵਜੋਂ ਸ਼ਾਮਲ ਕਰਨ ਲਈ, ਪੱਕਾ ਕਰੋ ਕਿ"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ਹੋ ਗਿਆ"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ਕੋਈ ਨਹੀਂ"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਸੂਚਨਾਵਾਂ ਦਿਖਾਓ"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਸੂਚਨਾਵਾਂ ਲੁਕਾਓ"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"ਹੋਰ ਲਾਕ ਸਕ੍ਰੀਨ ਵਿਕਲਪ"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"ਪਰਦੇਦਾਰੀ, Now Playing ਅਤੇ ਹੋਰ"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"ਪ੍ਰਾਇਮਰੀ ਭਾਵਪੂਰਨ ਥੀਮ"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ਰੰਗ ਦਾ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਵਿਕਲਪ"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"ਰੰਗ ਦਾ ਵਿਕਲਪ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"ਕੋਈ ਵੱਖਰਾ ਘੜੀ ਦਾ ਡਾਇਲ ਚੁਣਨ ਲਈ ਖੱਬੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"ਕੋਈ ਵੱਖਰਾ ਘੜੀ ਦਾ ਡਾਇਲ ਚੁਣਨ ਲਈ ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"ਵਿਉਂਤਬੱਧ ਘੜੀਆਂ"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index f67f187..9565886 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Własny zegar"</string>
     <string name="clock_description" msgid="3563839327378948">"Wybierz własny zegar"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Zmień własny zegar"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Ustawienia zegara"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opcja tarczy zegarka: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Kolor i rozmiar zegara"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Kolor i rozmiar zegara"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Kolor"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Rozmiar zegara zmienia się w zależności od zawartości ekranu blokady"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Duży"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Mały"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Mały zegar wyświetlany w rogu ekranu"</string>
     <string name="grid_title" msgid="1688173478777254123">"Siatka aplikacji"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Zastosuj"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Kliknij, by edytować"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Dodaj swoje ulubione czcionki do każdego ekranu"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Wybierz rozmiar siatki"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Zmiana rozmiaru siatki spowoduje ponowne załadowanie obszaru roboczego. Może to zająć kilka sekund."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Ponowne ładowanie obszaru roboczego z siatką %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Nie udało się ponownie załadować obszaru roboczego z siatką %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Styl został ustawiony"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Zegar został ustawiony"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Siatka została ustawiona"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Kolor niestandardowy"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Kształt niestandardowy"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nazwa stylu niestandardowego"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensywność kolorów"</string>
     <string name="mode_title" msgid="2394873501427436055">"Ciemny motyw"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Tymczasowo wyłączono z powodu oszczędzania baterii"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Motyw został zmieniony"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Lewy skrót"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Prawy skrót"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Brak"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Aby wybrać opcję „<xliff:g id="APPNAME">%1$s</xliff:g>”, wykonaj te czynności"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Nie udało się dodać skrótu"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otwórz: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Aby dodać aplikację <xliff:g id="APPNAME">%1$s</xliff:g> jako skrót, upewnij się, że spełnione zostały te warunki:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gotowe"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Brak"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Pokazuj powiadomienia na ekranie blokady"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Ukrywaj powiadomienia na ekranie blokady"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Więcej opcji ekranu blokady"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Prywatność, Co jest grane i inne ustawienia"</string>
     <string name="more_colors" msgid="3191071655353004591">"Więcej kolorów"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Główny motyw dynamiczny"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Główny motyw neutralny"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Główny motyw barwny"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Główny motyw ekspresyjny"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Domyślna opcja koloru"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opcja koloru <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Przesuń w lewo, aby wybrać inną tarczę zegara"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Przesuń w prawo, aby wybrać inną tarczę zegara"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Zegary niestandardowe"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 8de02c3..6a3521d 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Relógio person."</string>
     <string name="clock_description" msgid="3563839327378948">"Escolha rel. pers."</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Altere um relógio personalizado"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Def. do Relógio"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opção de mostrador <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Cor/tamanho relógio"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Cor/tamanho relógio"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Cor"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"O tamanho do relógio muda de acordo com o conteúdo do ecrã de bloqueio"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Grande"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Pequeno"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Um pequeno relógio é apresentado no canto do ecrã"</string>
     <string name="grid_title" msgid="1688173478777254123">"Grelha de apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicar"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toque para editar"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Adicione os seus tipos de letra favoritos a todos os ecrãs."</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Escolha um tamanho de grelha"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Mudar tam. grelha atualiza o esp. trab. e pode demorar algum tempo."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"A atualizar o espaço de trabalho com a grelha %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Não foi possível atualizar o espaço de trabalho com a grelha %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Estilo definido com êxito."</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Relógio definido com êxito."</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Grelha definida com êxito."</string>
@@ -85,8 +90,8 @@
     <string name="delete_custom_theme_button" msgid="5102462988130208824">"Eliminar"</string>
     <string name="cancel" msgid="4651030493668562067">"Cancelar"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Defina a imagem de fundo do estilo"</string>
-    <string name="use_style_instead_title" msgid="1578754995763917502">"Pretende utilizar <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Os componentes que escolheu correspondem ao estilo <xliff:g id="ID_1">%1$s</xliff:g>. Em vez disso, pretende utilizar <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
+    <string name="use_style_instead_title" msgid="1578754995763917502">"Quer utilizar <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"Os componentes que escolheu correspondem ao estilo <xliff:g id="ID_1">%1$s</xliff:g>. Em vez disso, quer utilizar <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
     <string name="use_style_button" msgid="1754493078383627019">"Usar <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Não, obrigado"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Pré-visualização do relógio <xliff:g id="ID_1">%1$s</xliff:g>"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Cor personalizada"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalizada"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nome do estilo personalizado"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensidade da cor"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tema escuro"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Temporariamente desativado devido à Poupança de bateria"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema alterado"</string>
@@ -105,7 +111,7 @@
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Altere a grelha de apps"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Cores imag. de fundo"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Ícones, texto, etc. condizem c/ cores da imag. de fundo"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Ícones, texto, etc. condizem com a imagem de fundo"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Cor da imagem de fundo"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Cores básicas"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Outras cores"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Atalho esquerdo"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Atalho direito"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Nenhum"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Para selecionar \"<xliff:g id="APPNAME">%1$s</xliff:g>\", verifique o seguinte"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Não é possível adicionar o atalho"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para adicionar a app <xliff:g id="APPNAME">%1$s</xliff:g> como um atalho, garanta"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Concluído"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nenhum"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Mostre as notificações no ecrã de bloqueio"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Oculte as notificações no ecrã de bloqueio"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Mais opções do ecrã de bloqueio"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Privacidade, A reproduzir e muito mais"</string>
     <string name="more_colors" msgid="3191071655353004591">"Mais cores"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Tema vibrante principal"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tema expressivo principal"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Opção de cor predefinida"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opção de cor <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Deslizar rapidamente para a esquerda para escolher um mostrador diferente"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Deslizar rapidamente para a direita para escolher um mostrador diferente"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Relógios personalizados"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index a5a3ba8..af2b0a3 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Relógio personalizado"</string>
     <string name="clock_description" msgid="3563839327378948">"Escolha um relógio personalizado"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Edite um relógio personalizado"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Configurações do Relógio"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opção de aparência do relógio: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Cor/tam. do relógio"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Cor e tamanho do relógio"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Cor"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"O tamanho do relógio muda de acordo com o conteúdo na tela de bloqueio"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Grande"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Pequeno"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Um relógio pequeno aparece no canto da tela"</string>
     <string name="grid_title" msgid="1688173478777254123">"Grade de apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicar"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toque para editar"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Adicione suas fontes favoritas a cada tela"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Escolha o tamanho da grade"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"A mudança do tamanho da grade recarrega o espaço de trabalho e pode levar alguns segundos."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Recarregando o espaço de trabalho com uma grade %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Falha ao recarregar o espaço de trabalho com uma grade %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Estilo definido"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Relógio definido"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Grade definida"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Cor personalizada"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Formato personalizado"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nome do estilo personalizado"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensidade da cor"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tema escuro"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Desativado temporariamente pela Economia de bateria"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema trocado"</string>
@@ -105,7 +111,7 @@
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Mudar a grade de apps"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Cores do plano de fundo"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Ícones, texto e mais cores que combinam com o plano de fundo"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Ícones, texto e mais para combinar com o plano de fundo"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Cor do plano de fundo"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Cores básicas"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Outras cores"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Atalho à esquerda"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Atalho à direita"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Nenhum"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Para selecionar o app <xliff:g id="APPNAME">%1$s</xliff:g>, marque a opção a seguir"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Não é possível adicionar o atalho"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para adicionar o app <xliff:g id="APPNAME">%1$s</xliff:g> como um atalho, confira se"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Concluído"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nenhum"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Mostrar notificações na tela de bloqueio"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Ocultar notificações na tela de bloqueio"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Mais opções da tela de bloqueio"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privacidade, Tocando agora e muito mais"</string>
     <string name="more_colors" msgid="3191071655353004591">"Mais cores"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Tema vibrante principal"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tema expressivo principal"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Opção de cor padrão"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opção de cor <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Deslize para a esquerda para escolher outro mostrador do relógio"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Deslize para a direita para escolher outro mostrador do relógio"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Mostradores personalizados"</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index c0cecf4..44d056f 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Ecran personalizat"</string>
     <string name="clock_description" msgid="3563839327378948">"Alege un ecran personalizat"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Modifică un ecran personalizat"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Setări pentru ceas"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opțiune privind aspectul ceasului <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Culoare / mărime"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Culoare / dimensiune"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Culoare"</string>
@@ -39,7 +40,8 @@
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamică"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Dimensiunea ceasului se schimbă în funcție de conținutul ecranului de blocare"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Mare"</string>
-    <string name="clock_size_small" msgid="2280449912094164133">"Mic"</string>
+    <string name="clock_size_small" msgid="2280449912094164133">"Mică"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Un ceas mic apare în colțul ecranului"</string>
     <string name="grid_title" msgid="1688173478777254123">"Grilă aplicații"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplică"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Atinge pentru a modifica"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Adaugă fonturile preferate pe fiecare ecran"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Alege o dimensiune de grilă"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Schimbarea dimensiunii grilei va reîncărca spațiul de lucru și poate dura câteva secunde."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Se reîncarcă spațiul de lucru cu grila %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Nu s-a reîncărcat spațiul de lucru cu grila %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stilul a fost setat"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Ceasul a fost setat"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Grila a fost setată"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Culoare personalizată"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Formă personalizată"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Numele stilului personalizat"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensitatea culorilor"</string>
     <string name="mode_title" msgid="2394873501427436055">"Temă întunecată"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Dezactivat temporar de Economisirea bateriei"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema a fost schimbată"</string>
@@ -105,7 +111,7 @@
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Schimbă grila de aplicații"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Culori de fundal"</string>
-    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Culori pentru pictograme, text și altele din imaginea de fundal"</string>
+    <string name="wallpaper_color_subheader" msgid="4044464573669965670">"Culori pictograme, text etc. asortate cu imaginea de fundal"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Culoarea imaginii de fundal"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Culori de bază"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Alte culori"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Comanda rapidă stânga"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Comanda rapidă dreapta"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Fără"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Ca să selectezi <xliff:g id="APPNAME">%1$s</xliff:g>, urmează aceste instrucțiuni"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Nu se poate adăuga comanda rapidă"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Deschide <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Pentru a adăuga aplicația <xliff:g id="APPNAME">%1$s</xliff:g> drept comandă rapidă, asigură-te"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gata"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Niciunul"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Afișează notificările pe ecranul de blocare"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Ascunde notificările pe ecranul de blocare"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Alte opțiuni pentru ecranul de blocare"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Confidențialitate, Now Playing și altele"</string>
     <string name="more_colors" msgid="3191071655353004591">"Mai multe culori"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Temă dinamică principală"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Temă neutră principală"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Temă vibrantă principală"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Temă expresivă principală"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Opțiune de culoare prestabilită"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opțiunea de culoare <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Glisează spre stânga ca să alegi alt aspect de ceas"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Glisează spre dreapta ca să alegi alt aspect de ceas"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Ceasuri personalizate"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index c20c1a2..3a13423 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Настр. цифербл."</string>
     <string name="clock_description" msgid="3563839327378948">"Выбер. цифербл."</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Выберите настраиваемый циферблат."</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Настройки часов"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Циферблат, вариант <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Цвет и размер часов"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Цвет и размер часов"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>."</string>
     <string name="clock_color" msgid="8081608867289156163">"Цвет"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Размер часов меняется в зависимости от контента на заблокированном экране"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Большой"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Маленький"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Небольшие часы в углу экрана"</string>
     <string name="grid_title" msgid="1688173478777254123">"Сетка приложений"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Применить"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Нажмите, чтобы изменить"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Добавьте любимые шрифты на каждый экран."</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Выберите размер сетки"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"При изменении размера сетки рабочая область обновляется. Это может занять несколько секунд."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Обновление рабочей области с сеткой \"%1$s\"."</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Не удалось обновить рабочую область с сеткой \"%1$s\"."</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Стиль настроен."</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Часы настроены."</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Сетка настроена."</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Пользовательский цвет"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Пользовательская форма"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Название пользовательского стиля"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Тема изменена"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Ярлык слева"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Ярлык справа"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Нет"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Чтобы выбрать приложение \"<xliff:g id="APPNAME">%1$s</xliff:g>\", сделайте следующее:"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Не удалось добавить ярлык"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Открыть: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Для добавления ярлыка приложения \"<xliff:g id="APPNAME">%1$s</xliff:g>\" должны выполняться следующие условия:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ОК"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Нет"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Показывать уведомления на заблокированном экране"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Скрывать уведомления на заблокированном экране"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Ещё настройки заблок. экрана"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Основная живая тема"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Основная выразительная тема"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Цвет по умолчанию"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Цвет: <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Проведите влево, чтобы выбрать другой циферблат"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Проведите вправо, чтобы выбрать другой циферблат"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Настраиваемые циферблаты"</string>
 </resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index d34dea4..6c1033a 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"අභිරුචි ඔරලෝසුව"</string>
     <string name="clock_description" msgid="3563839327378948">"අභිරුචි ඔරලෝසුවක් තෝරන්න"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"අභිරුචි ඔරලෝසුවක් වෙනස් කරන්න"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"ඔරලෝසු සැකසීම්"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ඔරලෝසු මුහුණත් විකල්පය <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"ඔරලෝසු වර්ණය සහ තරම"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"ඔරලෝසු වර්ණය සහ තරම"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"වර්ණය"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"අගුළු තිරයේ අන්තර්ගතය අනුව ඔරලෝසුවේ තරම වෙනස් වේ"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"විශාල"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"කුඩා"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"ඔබේ තිරයේ කෙළවරේ කුඩා ඔරලෝසුවක් පෙන්වයි"</string>
     <string name="grid_title" msgid="1688173478777254123">"යෙදුම් ජාලකය"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"යොදන්න"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"සංස්කරණයට තට්ටු කරන්න"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"සෑම තිරයටම ඔබේ ප්‍රියතම අකුරු එක් කරන්න"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ජාලක තරමක් තෝරා ගන්න"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"ජාලක ප්‍රමාණය වෙනස් කිරීම කාර්ය ඉඩ නැවත පූරණය කරන අතර තත්පර කිහිපයක් ගත විය හැක."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s ජාලකය සමග කාර්ය ඉඩ නැවත පූරණය වේ"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s ජාලකය සමග කාර්ය ඉඩ නැවත පූරණය කිරීමට අසමත් විය"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"විලාස සාර්ථකව සැකසිණි"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ඔරලෝසුව සාර්ථකව සැකසිණි"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ජාලකය සාර්ථකව සැකසිණි"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"අභිරුචි වර්ණය"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"අභිරුචි හැඩය"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"අභිරුචි මෝස්තර නම"</string>
+    <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="mode_changed" msgid="2243581369395418584">"තේමාව වෙනස් විය"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"වම් කෙටිමඟ"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"දකුණු කෙටිමඟ"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"කිසිත් නැත"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` තේරීම සඳහා පහත දේ පරීක්ෂා කරන්න"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"කෙටිමඟ එක් කළ නොහැක"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> විවෘත කරන්න"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"කෙටිමඟක් ලෙස <xliff:g id="APPNAME">%1$s</xliff:g> එක් කිරීමට, තහවුරු කර ගන්න"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"නිමයි"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"කිසිවක් නැත"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"අගුළු තිරය මත දැනුම්දීම් පෙන්වන්න"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"අගුළු තිරය මත දැනුම්දීම් සඟවන්න"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"තවත් අගුලු තිර විකල්ප"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"පෞද්ගලිකත්වය, Now Playing, සහ තවත් දේ"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"මූලික ප්‍රකාශන තේමාව"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"පෙරනිමි වර්ණ විකල්පය"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"වර්ණ විකල්පය <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"වෙනස් ඔරලෝසු මුහුණතක් තෝරා ගැනීමට වමට ස්වයිප් කරන්න"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"වෙනස් ඔරලෝසු මුහුණතක් තෝරා ගැනීමට දකුණට ස්වයිප් කරන්න"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"අභිරුචි ඔරලෝසු"</string>
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 8bf29a6..c418f84 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Vlastné hodiny"</string>
     <string name="clock_description" msgid="3563839327378948">"Vyberte vlastné hodiny"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Zmeňte vlastné hodiny"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Nastav. hodín"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Možnosť ciferníka <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Farba a veľkosť"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Farba a veľkosť"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Farba"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Veľkosť hodín sa mení podľa obsahu na uzamknutej obrazovke"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Veľké"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Malé"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"V rohu obrazovky sa zobrazujú malé hodiny"</string>
     <string name="grid_title" msgid="1688173478777254123">"Mriežka aplik."</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Použiť"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Klepnutím upravte"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Pridajte na každú obrazovku svoje obľúbené písma"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Vyberte veľkosť mriežky"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> × <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Zmena veľkosti mriežky znova načíta pracovný priestor a môže trvať niekoľko sekúnd."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Znova sa načítava pracovný priestor s mriežkou %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Nepodarilo sa znova načítať pracovný priestor s mriežkou %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Štýl bol úspešne nastavený"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Hodiny boli úspešne nastavené"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Mriežka bola úspešne nastavená"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Vlastná farba"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Vlastný tvar"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Názov vlastného štýlu"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intenzita farieb"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tmavý motív"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Dočasne vypnuté šetričom batérie"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Motív bol zmenený"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Skratka vľavo"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Skratka vpravo"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Žiadne"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Ak chcete vybrať aplikáciu <xliff:g id="APPNAME">%1$s</xliff:g>, skontrolujte nasledovné"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Odkaz sa nedá pridať"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otvoriť <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Ak chcete aplikáciu <xliff:g id="APPNAME">%1$s</xliff:g> pridať ako odkaz, uistite sa, že"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Hotovo"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Žiadne"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Zobrazovať upozornenia na uzamknutej obrazovke"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Skrývať upozornenia na uzamknutej obrazovke"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Viac možností uzamkn. obrazovky"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Ochrana súkromia, Čo to hrá a ďalšie funkcie"</string>
     <string name="more_colors" msgid="3191071655353004591">"Ďalšie farby"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primárny dynamický motív"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primárny neutrálny motív"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primárny sýty motív"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primárny expresívny motív"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Predvolená farba"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Farba: <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Potiahnutím doľava vyberiete iný ciferník"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Potiahnutím doprava vyberiete iný ciferník"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Vlastné hodiny"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 5097ac3..3899537 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Ura po meri"</string>
     <string name="clock_description" msgid="3563839327378948">"Izberite uro po meri"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Spremenite uro po meri"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Nastavitve ure"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Možnost številčnice <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Barva, velikost ure"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Barva, velikost ure"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Barva"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Velikost ure se spremeni glede na vsebino zaklenjenega zaslona."</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Velika"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Majhna"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"V kotu zaslona je prikazana majhna ura"</string>
     <string name="grid_title" msgid="1688173478777254123">"Mreža aplikacij"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Uporabi"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Dotaknite se za urejanje"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Dodajte priljubljeno pisavo na vsak zaslon"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Izbira velikosti mreže"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Če spremenite velikost mreže, se znova naloži delovni prostor, kar lahko traja nekaj sekund."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Vnovično nalaganje delovnega prostora z mrežo %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Delovnega prostora z mrežo %1$s ni bilo mogoče znova naložiti"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Slog je uspešno nastavljen"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Ura je uspešno nastavljena"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Mreža je uspešno nastavljena"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Barva po meri"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Oblika po meri"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Ime sloga po meri"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Jakost barv"</string>
     <string name="mode_title" msgid="2394873501427436055">"Temna tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Začasno onemogočeno zaradi varčevanja z energijo baterije."</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema je spremenjena."</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Leva bližnjica"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Desna bližnjica"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Brez"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Če želite izbrati aplikacijo »<xliff:g id="APPNAME">%1$s</xliff:g>«, potrdite naslednje:"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Bližnjice ni mogoče dodati"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Odpri <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Če želite aplikacijo <xliff:g id="APPNAME">%1$s</xliff:g> dodati kot bližnjico, zagotovite naslednje:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Končano"</string>
@@ -124,13 +130,17 @@
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Bližnjice"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Brez"</string>
-    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Prikaz obvestil na zaklenjenem zaslonu"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Skrivanje obvestil na zaklenjenem zaslonu"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Prikaži obvestila na zaklenjenem zaslonu"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Več glede zaklenjenega zaslona"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Zasebnost, Zdaj se predvaja in drugo"</string>
     <string name="more_colors" msgid="3191071655353004591">"Več barv"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Primarna dinamična tema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Primarna nevtralna tema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Primarna živahna tema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Primarna izrazna tema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Privzeta možnost barve"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Možnost barve <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Povlecite v levo, če želite izbrati drugačno številčnico"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Povlecite v desno, če želite izbrati drugačno številčnico"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Ure po meri"</string>
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 95a8fa6..23c96e3 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Orë e personalizuar"</string>
     <string name="clock_description" msgid="3563839327378948">"Orë e personalizuar"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Ndrysho orën e personalizuar"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Ora: Cilësimet"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opsioni i fushës së orës: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Ora: Ngjyrë/madhësi"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Ora: Ngjyra/madhësia"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Ngjyra"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Madhësia e orës ndryshon sipas përmbajtjes së ekranit të kyçjes"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"E madhe"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"E vogël"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Në këndin e ekranit shfaqet një orë e vogël"</string>
     <string name="grid_title" msgid="1688173478777254123">"Rrjeta e aplikacioneve"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Zbato"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Trokit për të modifikuar"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Shto fontet e tua të preferuara në çdo ekran"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Zgjidh një madhësi rrjete"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Ndryshimi i rrjetës ringarkon vendin e punës dhe zgjat disa sekonda."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Vendi i punës po ringarkohet me rrjetën %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Vendi i punës nuk mund të ringarkohej me rrjetën %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stili u caktua me sukses"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Ora u caktua me sukses"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Rrjeta u caktua me sukses"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Ngjyra e personalizuar"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma e personalizuar"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Emri i stilit të personalizuar"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensiteti i ngjyrave"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tema e errët"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Çaktivizuar për shkak të \"Kursyesit të baterisë\""</string>
     <string name="mode_changed" msgid="2243581369395418584">"Tema është ndryshuar"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Shkurtorja maj."</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Shkurtorja djath."</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Asnjë"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Për të zgjedhur \"<xliff:g id="APPNAME">%1$s</xliff:g>\", kontrollo si më poshtë"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Shkurtorja nuk mund të shtohet"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Hap \"<xliff:g id="APPNAME">%1$s</xliff:g>\""</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Për të shtuar aplikacionin \"<xliff:g id="APPNAME">%1$s</xliff:g>\" si një shkurtore, sigurohu që"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"U krye"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Asnjë"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Shfaq njoftimet në ekranin e kyçjes"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Fshih njoftimet në ekranin e kyçjes"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Opsione të tjera të ekranit të kyçjes"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Privatësia, \"Gjej këngën\" etj."</string>
     <string name="more_colors" msgid="3191071655353004591">"Më shumë ngjyra"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Tema kryesore dinamike"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Tema kryesore neutrale"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Tema kryesore vibrante"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Tema kryesore ekspresive"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Opsioni i parazgjedhur i ngjyrës"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opsioni i ngjyrës: <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Rrëshqit shpejt majtas për të zgjedhur një tjetër fushë ore"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Rrëshqit shpejt djathtas për të zgjedhur një tjetër fushë ore"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Fusha ore të personalizuara"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 0028732..8be5c15 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Прилагођени сат"</string>
     <string name="clock_description" msgid="3563839327378948">"Прилагођени сат"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Промените прилагођени сат"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Подешавања сата"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Опција бројчаника <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Боја и величина сата"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Боја и величина сата"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Боја"</string>
@@ -39,7 +40,8 @@
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамички"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Величина сата се мења у складу са садржајем закључаног екрана"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Велико"</string>
-    <string name="clock_size_small" msgid="2280449912094164133">"Мало"</string>
+    <string name="clock_size_small" msgid="2280449912094164133">"Мали"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Мали сат се приказује у углу екрана"</string>
     <string name="grid_title" msgid="1688173478777254123">"Мрежа апл."</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Примени"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Додирните да бисте изменили"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Додајте омиљене фонтове на сваки екран"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Одаберите величину мреже"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Нова величина мреже поново учитава радни простор за пар секунди."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Радни простор се поново учитава уз мрежу %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Поновно учитавање радног простора уз мрежу %1$s није успело"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Стил је подешен"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Подешавање сата је успело"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Мрежа је подешена"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Прилагођена боја"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Прилагођени облик"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Прилагођени назив стила"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Тема је промењена"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Лева пречица"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Десна пречица"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ништа"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Да бисте изабрали „<xliff:g id="APPNAME">%1$s</xliff:g>“, проверите следеће"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Додавање пречице није успело"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Отворите: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Да бисте додали апликацију <xliff:g id="APPNAME">%1$s</xliff:g> као пречицу, уверите се"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Готово"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ништа"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Приказуј обавештења на закључаном екрану"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Сакриј обавештења на закључаном екрану"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Још опција за закључани екран"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Примарна интензивна тема"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Примарна експресивна тема"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Подразумевана опција боје"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Опција боје <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Превуците налево да бисте одабрали други бројчаник"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Превуците надесно да бисте одабрали други бројчаник"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Прилагођени сатови"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index b600940..8cfa9c8 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Anpassad klocka"</string>
     <string name="clock_description" msgid="3563839327378948">"Välj anpassad klocka"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Ändra en anpassad klocka"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Klockalternativ"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Urtavlealternativ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Klockstorlek/färg"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Klockstorlek/färg"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Färg"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Klockans storlek ändras utifrån innehållet på låsskärmen"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Stor"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Liten"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"En liten klockas visas i skärmens hörn"</string>
     <string name="grid_title" msgid="1688173478777254123">"Apprutnät"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Använd"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tryck för att redigera"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Lägg till teckensnitt som du gillar på varje skärm"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Välj rutnätsstorlek"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"När du ändrar rutnätsstorlek läses arbetsytan in igen. Detta kan ta några sekunder."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Läser in arbetsytan igen med rutnätet %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Det gick inte att läsa in arbetsytan igen med rutnätet %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stilen har angetts"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Klockan har angetts"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Rutnätet har angetts"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Anpassad färg"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Anpassat område"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Namn på anpassat format"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Färgintensitet"</string>
     <string name="mode_title" msgid="2394873501427436055">"Mörkt tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Tillfälligt inaktiverat i batterisparläge"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Temat har ändrats"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Vänster genväg"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Höger genväg"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Inga"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Om du vill välja <xliff:g id="APPNAME">%1$s</xliff:g> markerar du följande"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Det går inte att lägga till genvägen"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Öppna <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Om du vill lägga till <xliff:g id="APPNAME">%1$s</xliff:g>-appen som en genväg ser du till att"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Klar"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Inga"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Visa aviseringar på låsskärmen"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Dölj aviseringar på låsskärmen"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Fler låsskärmsalternativ"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Integritet, Nu spelas med mera"</string>
     <string name="more_colors" msgid="3191071655353004591">"Fler färger"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Dynamiskt tema med primära färger"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Neutralt tema med primära färger"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Livfullt tema med primära färger"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Uttrycksfullt tema med primära färger"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Standardfärgen"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Färgalternativet <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Svep åt vänster för att välja en annan urtavla"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Svep åt höger för att välja en annan urtavla"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Anpassade urtavlor"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index f63c537..9c1fb1f 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Saa Maalum"</string>
     <string name="clock_description" msgid="3563839327378948">"Chagua saa maalum"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Badili saa maalum"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Mipangilio ya Saa"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Chaguo la sura ya saa <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Rangi na ukubwa wa saa"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Rangi na ukubwa wa saa"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Rangi"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Ukubwa wa saa hubadilika kulingana na maudhui yaliyo kwenye skrini iliyofungwa"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Kubwa"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Ndogo"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Saa ndogo inaonekana kwenye kona ya skrini yako"</string>
     <string name="grid_title" msgid="1688173478777254123">"Gridi ya programu"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Tumia"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Gusa ili ubadilishe"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Ongeza fonti unayopenda kwenye kila skrini"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Chagua ukubwa wa gridi"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Kubadilisha ukubwa wa gridi kutapakia upya nafasi ya kazi na kunaweza kuchukua sekunde kadhaa."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Inapakia upya nafasi ya kazi kwa kutumia gridi ya %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Imeshindwa kupakia upya nafasi ya kazi kwa kutumia gridi ya %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Mtindo umewekwa"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Imeweka saa"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Gridi imewekwa"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Rangi maalum"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Umbo maalum"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Jina la muundo maalum"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Ukolezaji wa rangi"</string>
     <string name="mode_title" msgid="2394873501427436055">"Mandhari meusi"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Imezimwa kwa muda kwa sababu ya Kiokoa Betri"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Mandhari yamebadilishwa"</string>
@@ -109,14 +115,14 @@
     <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 ya aikoni zako, saa na zaidi"</string>
+    <string name="preset_color_subheader" msgid="8230588536141279371">"Chagua rangi yoyote uitumie kwenye aikoni, saa na zaidi"</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>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Njia ya mkato ya kushoto"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Njia ya mkato ya kulia"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Hamna"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Ili uchague `<xliff:g id="APPNAME">%1$s</xliff:g>` zingatia yafuatayo"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Imeshindwa kuweka njia ya mkato"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Fungua <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Ili kuweka programu ya <xliff:g id="APPNAME">%1$s</xliff:g> kuwa njia ya mkato, hakikisha"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Nimemaliza"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Hamna"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Onyesha arifa kwenye skrini iliyofungwa"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Ficha arifa kwenye skrini iliyofungwa"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
-    <string name="more_colors" msgid="3191071655353004591">"Rangi Nyingi Zaidi"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Chaguo zaidi za kufunga skrini"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Faragha, Kitambua Ngoma na zaidi"</string>
+    <string name="more_colors" msgid="3191071655353004591">"Rangi Zaidi"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Mandhari msingi nyumbufu"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Mandhari msingi yenye rangi zilizopoa"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Mandhari msingi yenye rangi inayong\'aa"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Mandhari msingi inayojidhihirisha"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Chaguo la rangi chaguomsingi"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Chaguo la rangi ya <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Telezesha kidole kushoto ili uchague uso tofauti wa saa"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Telezesha kidole kulia ili uchague uso tofauti wa saa"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Uso wa Saa"</string>
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index ba70c1b..eaf444f 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"பிரத்தியேகக் கடிகாரம்"</string>
     <string name="clock_description" msgid="3563839327378948">"பிரத்தியேகக் கடிகாரத்தைத் தேர்வுசெய்க"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"பிரத்தியேகக் கடிகாரத்தை மாற்றும்"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"கடிகார அமைப்புகள்"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"கடிகார முகப்புக்கான விருப்பம் <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"கடிகார நிறம் &amp; அளவு"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"கடிகார நிறம் &amp; அளவு"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"நிறம்"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"பூட்டுத் திரையில் உள்ள உள்ளடக்கத்தைப் பொறுத்து கடிகாரத்தின் அளவு மாறுபடும்"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"பெரியது"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"சிறியது"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"உங்கள் திரையின் மூலையில் ஒரு சிறிய கடிகாரம் காட்டப்படும்"</string>
     <string name="grid_title" msgid="1688173478777254123">"ஆப்ஸ் கட்டம்"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"பயன்படுத்து"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"\'தீமைத்\' திருத்த தட்டவும்"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"ஒவ்வொரு திரையிலும் உங்களுக்குப் பிடித்த எழுத்துருக்களைச் சேருங்கள்"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"கட்ட அளவைத் தேர்வுசெய்தல்"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"கட்ட அளவை மாற்றினால் பணியிடம் ரெஃப்ரெஷ் செய்யப்படும், சில வினாடிகள் ஆகக்கூடும்."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s கட்டத்துடன் பணியிடத்தை ரெஃப்ரெஷ் செய்கிறது"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s கட்டத்துடன் பணியிடத்தை ரெஃப்ரெஷ் செய்ய முடியவில்லை"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"ஸ்டைல் அமைக்கப்பட்டது"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"கடிகாரம் அமைக்கப்பட்டது"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"கட்டம் அமைக்கப்பட்டது"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"பிரத்தியேக வண்ணம்"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"பிரத்தியேக வடிவம்"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"பிரத்தியேகத் தோற்றத்தின் பெயர்"</string>
+    <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="mode_changed" msgid="2243581369395418584">"தீம் மாற்றப்பட்டது"</string>
@@ -105,7 +111,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">"வால்பேப்பருடன் பொருந்தும் ஐகான், உரை &amp; பலவற்றின் வண்ணம்"</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>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"இடது ஷார்ட்கட்"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"வலது ஷார்ட்கட்"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"ஏதுமில்லை"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` ஆப்ஸைத் தேர்ந்தெடுக்க பின்வருபவற்றைச் சரிபார்க்கவும்"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"ஷார்ட்கட்டைச் சேர்க்க முடியவில்லை"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ஐத் திறக்கும்"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ஆப்ஸை ஷார்ட்கட்டாகச் சேர்க்க இவற்றைப் பின்பற்றுவதை உறுதிசெய்துகொள்ளவும்:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"சரி"</string>
@@ -124,13 +130,17 @@
     <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ஷார்ட்கட்கள்"</string>
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ஏதுமில்லை"</string>
-    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"பூட்டுத் திரையில் அறிவிப்புகளைக் காட்டும்"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"பூட்டுத் திரையில் அறிவிப்புகளைக் காட்டாது"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"பூட்டுத் திரையில் அறிவிப்புகளைக் காட்டு"</string>
+    <string name="more_settings_section_title" msgid="1331425454775815958">"கூடுதல் பூட்டுத் திரை விருப்பம்"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"முதன்மையான வர்ணஜாலத் தீம்"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"முதன்மையான எக்ஸ்பிரஸிவ் தீம்"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"இயல்பு வண்ண விருப்பம்"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"வண்ண விருப்பம் <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"வேறு கடிகார முகப்பைத் தேர்வுசெய்ய இடதுபக்கம் ஸ்வைப் செய்யவும்"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"வேறு கடிகார முகப்பைத் தேர்வுசெய்ய வலதுபக்கம் ஸ்வைப் செய்யவும்"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"பிரத்தியேகக் கடிகார முகப்புகள்"</string>
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index af8e688..164dfc6 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"అనుకూల గడియారం"</string>
     <string name="clock_description" msgid="3563839327378948">"అనుకూల గడియారాన్ని ఎంచుకోండి"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"అనుకూల గడియారాన్ని మార్చండి"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"గడియారం సెట్టింగ్‌లు"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"గడియారం ఫేస్ ఆప్షన్ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"గడియారం రంగు &amp; సైజు"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"గడియారం రంగు &amp; సైజు"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"రంగు"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"లాక్ స్క్రీన్ కంటెంట్ ప్రకారం గడియారం సైజ్ మారుతుంది"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"పెద్దది"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"చిన్నది"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"మీ స్క్రీన్ మూలన ఒక చిన్న గడియారం కనిపిస్తుంది"</string>
     <string name="grid_title" msgid="1688173478777254123">"యాప్ గ్రిడ్"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"వర్తింపజేయి"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"ఎడిట్ చేయడానికి నొక్కండి"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"ప్రతి స్క్రీన్‌కు మీకు ఇష్టమైన ఫాంట్‌లను జోడించండి"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ఒక గ్రిడ్ సైజ్‌ను ఎంచుకోండి"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"గ్రిడ్ సైజ్‌ను మార్చడం వలన వర్క్ స్పేస్ రీలోడ్ అవుతుంది, దానికి కొన్ని సెకన్లు పట్టవచ్చు."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s గ్రిడ్‌తో వర్క్ స్పేస్‌ను రీలోడ్ చేస్తోంది"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s గ్రిడ్‌తో వర్క్ స్పేస్‌ను రీలోడ్ చేయడం విఫలమైంది"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"స్టైల్ విజయవంతంగా సెట్ చేయబడింది"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"గడియారం విజయవంతంగా సెట్ చేయబడింది"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"గ్రిడ్ విజయవంతంగా సెట్ చేయబడింది"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"అనుకూల రంగు"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"అనుకూల ఆకారం"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"అనుకూల స్టయిల్ పేరు"</string>
+    <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="mode_changed" msgid="2243581369395418584">"థీమ్ మార్చబడింది"</string>
@@ -109,14 +115,14 @@
     <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>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ఎడమ షార్ట్‌కట్"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"కుడి షార్ట్‌కట్"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"ఏదీ లేదు"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` యాప్‌ను ఎంచుకోవడానికి దిగువ ఉన్న సూచనలను చూడండి."</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"షార్ట్‌కట్‌ను జోడించడం సాధ్యపడదు"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g>ను తెరవండి"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> యాప్‌ను షార్ట్‌కట్‌గా జోడించడానికి, వీటిని నిర్ధారించుకోండి"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"పూర్తయింది"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ఏదీ ఎంచుకోలేదు"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"లాక్ స్క్రీన్‌లో నోటిఫికేషన్‌లను చూపండి"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"లాక్ స్క్రీన్‌లో నోటిఫికేషన్‌లను దాచండి"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"మరిన్ని లాక్ స్క్రీన్ ఆప్షన్‌లు"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"గోప్యత, Now Playing, ఇంకా మరిన్ని"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"ప్రాథమిక ఎక్స్‌ప్రెషిప్ రూపం"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ఆటోమేటిక్ సెట్టింగ్ రంగు ఆప్షన్"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"రంగు ఆప్షన్ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"వేరొక గడియార ముఖాన్ని ఎంచుకోవడానికి ఎడమ వైపునకు స్వైప్ చేయండి"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"వేరొక గడియార ముఖాన్ని ఎంచుకోవడానికి కుడి వైపునకు స్వైప్ చేయండి"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"అనుకూల గడియారాలు"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index ff21f6d..34565ee 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"นาฬิกาที่กำหนดเอง"</string>
     <string name="clock_description" msgid="3563839327378948">"เลือกนาฬิกาที่กำหนดเอง"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"เปลี่ยนนาฬิกาที่กำหนดเอง"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"ตั้งค่านาฬิกา"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"ตัวเลือกหน้าปัดนาฬิกา <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"สีและขนาดนาฬิกา"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"สีและขนาดนาฬิกา"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"สี"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ขนาดของนาฬิกาจะเปลี่ยนตามเนื้อหาในหน้าจอล็อก"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"ใหญ่"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"เล็ก"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"นาฬิกาขนาดเล็กจะแสดงที่มุมของหน้าจอ"</string>
     <string name="grid_title" msgid="1688173478777254123">"ตารางกริดแอป"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"ใช้"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"แตะเพื่อแก้ไข"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"เพิ่มแบบอักษรที่ชอบในทุกหน้าจอ"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"เลือกขนาดตารางกริด"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"การเปลี่ยนขนาดตารางกริดจะโหลดพื้นที่ทำงานซ้ำและอาจใช้เวลาสักครู่"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"กำลังโหลดพื้นที่ทำงานซ้ำด้วยตารางกริด %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"โหลดพื้นที่ทำงานซ้ำด้วยตาราง %1$s ไม่สำเร็จ"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"ตั้งค่ารูปแบบเรียบร้อยแล้ว"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ตั้งนาฬิกาเรียบร้อยแล้ว"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"ตั้งค่าตารางกริดเรียบร้อยแล้ว"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"สีที่กำหนดเอง"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"รูปร่างที่กำหนดเอง"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"ชื่อรูปแบบที่กำหนดเอง"</string>
+    <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="mode_changed" msgid="2243581369395418584">"เปลี่ยนธีมแล้ว"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"ทางลัดทางซ้าย"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"ทางลัดทางขวา"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"ไม่มี"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"หากต้องการเลือก \"<xliff:g id="APPNAME">%1$s</xliff:g>\" โปรดตรวจสอบรายการต่อไปนี้"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"เพิ่มทางลัดไม่ได้"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"เปิด <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"หากต้องการเพิ่มแอป <xliff:g id="APPNAME">%1$s</xliff:g> เป็นทางลัด โปรดตรวจสอบดังต่อไปนี้"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"เสร็จสิ้น"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ไม่มี"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"แสดงการแจ้งเตือนบนหน้าจอล็อก"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"ซ่อนการแจ้งเตือนบนหน้าจอล็อก"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"ตัวเลือกหน้าจอล็อกเพิ่มเติม"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"ธีมหลักแบบสีสันสดใส"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"ธีมหลักแบบชัดเจน"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"ตัวเลือกสีเริ่มต้น"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"ตัวเลือกสี <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"ปัดซ้ายเพื่อเลือกหน้าปัดแบบต่างๆ"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"ปัดขวาเพื่อเลือกหน้าปัดแบบต่างๆ"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"หน้าปัดแบบกำหนดเอง"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index a477a1f..d945c1c 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Custom na Orasan"</string>
     <string name="clock_description" msgid="3563839327378948">"Pumili ng custom na orasan"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Magbago ng custom na orasan"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Clock Settings"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Opsyon sa clock face <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Kulay, laki ng clock"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Kulay, laki ng clock"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Kulay"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Mga pagbabago sa laki ng orasan ayon sa content ng lock screen"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Malaki"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Maliit"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"May makikitang maliit na orasan sa sulok ng iyong screen"</string>
     <string name="grid_title" msgid="1688173478777254123">"Grid ng app"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Ilapat"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"I-tap para ma-edit"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Idagdag ang mga paborito mong font sa bawat screen"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Pumili ng laki ng grid"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Mare-reload ang workspace kapag binago ang grid size."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Nire-reload ang workspace na may %1$s grid"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Hindi na-reload ang workspace nang may %1$s grid"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Matagumpay na naitakda ang istilo"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Matagumpay na naitakda ang orasan"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Matagumpay na naitakda ang grid"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Custom na kulay"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Custom na hugis"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Custom na pangalan ng istilo"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Intensity ng kulay"</string>
     <string name="mode_title" msgid="2394873501427436055">"Madilim na tema"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Pansamantalang na-disable dahil sa Pantipid ng Baterya"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Pinalitan ang tema"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Kaliwang shortcut"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Kanang shortcut"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Wala"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Para piliin ang `<xliff:g id="APPNAME">%1$s</xliff:g>,` tingnan ang sumusunod"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Hindi maidagdag ang shortcut"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Buksan ang <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para idagdag ang <xliff:g id="APPNAME">%1$s</xliff:g> app bilang shortcut, tiyaking"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Tapos na"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Wala"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Ipakita ang mga notification sa lock screen"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Itago ang mga notification sa lock screen"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Higit pang opsyon sa lock screen"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Privacy, Nagpe-play Ngayon, at higit pa"</string>
     <string name="more_colors" msgid="3191071655353004591">"Higit Pang Kulay"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Pangunahing dynamic na tema"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Pangunahing neutral na tema"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Pangunahing matingkad na tema"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Pangunahing expressive na tema"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Default na opsyon sa kulay"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Opsyon sa kulay na <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Mag-swipe pakaliwa para pumili ng ibang clock face"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Mag-swipe pakanan para pumili ng ibang clock face"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Mga Custom na Orasan"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index d560791..209cd68 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Özel Saat"</string>
     <string name="clock_description" msgid="3563839327378948">"Özel saat seçin"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Özel saati değiştirin"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Saat Ayarları"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Kadran seçeneği <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Saat rengi ve boyutu"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Saat rengi ve boyutu"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Renk"</string>
@@ -34,12 +35,13 @@
     <string name="clock_color_indigo" msgid="8910855386698452917">"Çivit mavisi"</string>
     <string name="clock_color_violet" msgid="3454503847169375826">"Mor"</string>
     <string name="clock_color_gray" msgid="9221530636948859231">"Gri"</string>
-    <string name="clock_color_teal" msgid="7499223425741344251">"Turkuaz"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Deniz mavisi"</string>
     <string name="clock_size" msgid="5028923902364418263">"Boyut"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamik"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Saat boyutu, kilit ekranındaki içeriklere göre değişir"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Büyük"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Küçük"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Ekranınızın köşesinde küçük bir saat görünür"</string>
     <string name="grid_title" msgid="1688173478777254123">"Uygulama tablosu"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Uygula"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Düzenlemek için dokunun"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"En sevdiğiniz yazı tiplerini her ekrana ekleyin"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Izgara boyutu seçin"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Izgara boyutu değiştirilirse çalışma alanı yeniden yüklenir. Bu işlem birkaç saniye sürebilir."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Çalışma alanı, %1$s ızgarasıyla yeniden yükleniyor"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Çalışma alanı, %1$s ızgarasıyla yeniden yüklenemedi"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Stil başarıyla ayarlandı"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Saat başarıyla ayarlandı"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Izgara başarıyla ayarlandı"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Özel renk"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Özel şekil"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Özel stil adı"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Tema değişti"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Sol kısayol"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Sağ kısayol"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Yok"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"\"<xliff:g id="APPNAME">%1$s</xliff:g>\" uygulamasını seçmek için şunları kontrol edin"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Kısayol eklenemiyor"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> uygulamasını aç"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> uygulamasını kısayol olarak ekleyebilmeniz için gerekenler"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Bitti"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Yok"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Kilit ekranında bildirimleri göster"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Kilit ekranında bildirimleri gizle"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Diğer kilit ekranı seçenekleri"</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="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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Birincil ifade teması"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Varsayılan renk seçeneği"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"<xliff:g id="ID_1">%1$d</xliff:g> renk seçeneği"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Farklı bir kadran seçmek için sola kaydırın"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Farklı bir kadran seçmek için sağa kaydırın"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Özel Saatler"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index b87d4f7..a107312 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -17,12 +17,13 @@
 
 <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="1974314575211361352">"Свій циферблат"</string>
     <string name="clock_description" msgid="3563839327378948">"Виберіть свій циферблат"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Змініть свій циферблат"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Налаштування"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Варіант циферблата: \"<xliff:g id="ID_1">%1$s</xliff:g>\""</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Колір і розмір год."</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Колір і розмір годинника"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Колір"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Розмір годинника змінюється відповідно до вмісту заблокованого екрана"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Великий"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Малий"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"У куті екрана відображається маленький годинник"</string>
     <string name="grid_title" msgid="1688173478777254123">"Сітка додатків"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Застосувати"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Торкніться, щоб змінити"</string>
@@ -55,7 +57,7 @@
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> (відображається зараз)"</string>
     <string name="option_change_applied_previewed_description" msgid="9197311327728570816">"<xliff:g id="ID_1">%1$s</xliff:g>, змінити елемент, який ви вибрали й переглядаєте"</string>
     <string name="theme_description" msgid="3697012391785254635">"Шрифт: <xliff:g id="ID_1">%1$s</xliff:g>; значки: <xliff:g id="ID_2">%2$s</xliff:g>; форма: <xliff:g id="ID_3">%3$s</xliff:g>; колір: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"За умовчанням"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"Стандарт"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"Шрифт"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Значок"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Колір"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Додайте вибрані шрифти до кожного екрана"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Виберіть розмір сітки"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Якщо змінити розмір сітки, робоча область перезавантажиться. Це може зайняти кілька секунд."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Перезавантаження робочої області із сіткою %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Не вдалося перезавантажити робочу область із сіткою %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Тему налаштовано"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Годинник налаштовано"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Сітку налаштовано"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Спеціальний колір"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Спеціальна фігура"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Назва спеціального стилю"</string>
+    <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="mode_changed" msgid="2243581369395418584">"Тему змінено"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Ярлик ліворуч"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Ярлик праворуч"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Немає"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Щоб вибрати додаток <xliff:g id="APPNAME">%1$s</xliff:g>, виконайте наведені нижче дії"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Не вдається додати ярлик"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Відкрити <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Щоб додати можливість швидкого ввімкнення додатка <xliff:g id="APPNAME">%1$s</xliff:g>, переконайтеся, що виконано вимоги нижче."</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Готово"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Немає"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Показувати сповіщення на заблокованому екрані"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Приховувати сповіщення на заблокованому екрані"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Інші параметри заблоков. екрана"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Насичена основна тема"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Виразна основна тема"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Колір за умовчанням"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Колір \"<xliff:g id="ID_1">%1$d</xliff:g>\""</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Проведіть ліворуч, щоб вибрати інший циферблат"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Проведіть праворуч, щоб вибрати інший циферблат"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Власні циферблати"</string>
 </resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index c642bb9..a241ed0 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"حسب ضرورت گھڑی"</string>
     <string name="clock_description" msgid="3563839327378948">"حسب ضرورت گھڑی چنیں"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"حسب ضرورت گھڑی کو تبدیل کریں"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"گھڑی کی ترتیبات"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"گھڑی کے رخ کا اختیار <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"گھڑی کا رنگ و سائز"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"گھڑی کا رنگ اور سائز"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>، <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"رنگ"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"مقفل اسکرین کے مواد کے مطابق گھڑی کا سائز تبدیل ہوتا ہے"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"بڑا"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"چھوٹا"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"آپ کی اسکرین کے کونے میں ایک چھوٹی گھڑی دکھائی دیتی ہے"</string>
     <string name="grid_title" msgid="1688173478777254123">"ایپ گرڈ"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"لاگو کریں"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"ترمیم کرنے کے لیے تھپتھپائيں"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"ہر اسکرین میں اپنے پسندیدہ فونٹس شامل کریں"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"گرڈ کا سائز منتخب کریں"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"GRid کا سائز تبدیل کرنے سے ورک اسپیس دوبارہ لوڈ ہو جائے گا اور اس میں چند سیکنڈ لگ سکتے ہیں۔"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"%1$s GRid کے ساتھ ورک اسپیس کو دوبارہ لوڈ کرنا"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"%1$s GRid کے ساتھ ورک اسپیس کو دوبارہ لوڈ کرنے میں ناکام"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"طرز کامیابی کے ساتھ سیٹ ہو گیا"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"گھڑی کامیابی کے ساتھ سیٹ ہو گئی"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"گرڈ کامیابی کے ساتھ سیٹ ہو گیا"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"حسب ضرورت رنگ"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"حسب ضرورت شکل"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"حسب ضرورت طرز کا نام"</string>
+    <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="mode_changed" msgid="2243581369395418584">"تھیم تبدیل کر دی گئی"</string>
@@ -105,7 +111,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>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"دائیں جانب کا شارٹ کٹ"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"بائیں جانب کا شارٹ کٹ"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"کوئی نہیں"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"`<xliff:g id="APPNAME">%1$s</xliff:g>` کو منتخب کرنے کے لیے درج ذیل کو چیک کریں"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"شارٹ کٹ شامل نہیں کیا جا سکتا"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> کھولیں"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ایپ کو شارٹ کٹ کے طور پر شامل کرنے کے لیے درج ذیل کو یقینی بنائیں"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ہو گیا"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>، <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"کوئی نہیں"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"مقفل اسکرین پر اطلاعات دکھائیں"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"مقفل اسکرین پر اطلاعات چھپائیں"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"مقفل اسکرین کے مزید اختیارات"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"رازداری، Now Playing اور مزید"</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>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"بنیادی معنی خیز تھیم"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"رنگ کا ڈیفالٹ اختیار"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"<xliff:g id="ID_1">%1$d</xliff:g> رنگ کا اختیار"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"گھڑی کا مختلف چہرہ منتخب کرنے کے لیے دائیں طرف سوائپ کریں"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"گھڑی کا مختلف چہرہ منتخب کرنے کے لیے بائیں طرف سوائپ کریں"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"حسب ضرورت گھڑی کے چہرے"</string>
 </resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 4520ec3..5bf7e44 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Maxsus soat"</string>
     <string name="clock_description" msgid="3563839327378948">"Maxsus soat tanlash"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Maxsus soatni almashtirish"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Soat sozlamalari"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Soat yuzi varianti: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Soat rangi va hajmi"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Soat rangi va hajmi"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Rang"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Soat hajmi ekran qulfidagi kontent asosida oʻzgaradi"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Yirik"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Kichik"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Ekran chekkasida kichik soat chiqishi"</string>
     <string name="grid_title" msgid="1688173478777254123">"Ilovalar jadvali"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Tatbiq etish"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tahrirlash uchun tegining"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Sevimli shriftlarni har bir ekranga kiriting"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Kataklar hajmini tanlang"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Kataklar hajmi tanlansa, ishchi maydon bir necha soniyada qayta yuklanadi."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Ishchi maydon %1$s hajmida qayta yuklanmoqda"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Ishchi maydon %1$s hajmida qayta yuklanmadi"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Dizayn sozlandi"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Soat sozlandi"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Kataklar sozlandi"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Maxsus rang"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Maxsus shakl"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Maxsus uslub nomi"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Rang zichligi"</string>
     <string name="mode_title" msgid="2394873501427436055">"Tungi mavzu"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Quvvat tejash maqsadida vaqtinchalik faolsizlantirilgan"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Mavzu oʻzgartirildi"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Chap yorliq"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Oʻng yorliq"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Hech biri"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"“<xliff:g id="APPNAME">%1$s</xliff:g>” ilovasini tanlash uchun quyidagilarni bajaring:"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Yorliq kiritilmadi"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Ochish: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ilovasini yorliq sifatida qoʻshish uchun"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Tayyor"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Hech qanday"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Ekran qulfida bildirishnomalarni chiqarish"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Ekran qulfida bildirishnomalarni berkitish"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Boshqa ekran qulfi sozlamalari"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Maxfiylik, Bu qaysi musiqa va boshqalar"</string>
     <string name="more_colors" msgid="3191071655353004591">"Boshqa ranglar"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Asosiy dinamik mavzu"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Asosiy neytral mavzu"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Asosiy yorqin mavzu"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Asosiy ifodali mavzu"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Asosiy rang varianti"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"<xliff:g id="ID_1">%1$d</xliff:g> rangi varianti"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Boshqa soat yuzini tanlash uhcun chapga suring"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Boshqa soat yuzini tanlash uhcun oʻngga suring"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Maxsus soatlar"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 7ed6b59..36a82d7 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Đồng hồ tuỳ chỉnh"</string>
     <string name="clock_description" msgid="3563839327378948">"Chọn đồng hồ tuỳ chỉnh"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Thay đổi đồng hồ tuỳ chỉnh"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Cài đặt đồng hồ"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Lựa chọn về mặt đồng hồ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Màu và kích thước đồng hồ"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Màu và kích thước đồng hồ"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Màu"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Kích thước đồng hồ thay đổi theo nội dung trên màn hình khoá"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Lớn"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Nhỏ"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Một chiếc đồng hồ nhỏ hiển thị ở góc màn hình"</string>
     <string name="grid_title" msgid="1688173478777254123">"Lưới ứng dụng"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Áp dụng"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Nhấn để chỉnh sửa"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Thêm phông chữ bạn yêu thích vào mọi màn hình"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Chọn kích thước lưới"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Không gian làm việc sẽ tải lại nếu bạn thay đổi kích thước lưới (có thể mất vài giây)."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Đang tải lại không gian làm việc để áp dụng lưới %1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Không tải lại được không gian làm việc để áp dụng lưới %1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Đã đặt kiểu thành công"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Đã đặt đồng hồ thành công"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Đã đặt lưới thành công"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Màu tùy chỉnh"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Hình dạng tùy chỉnh"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Tên kiểu tùy chỉnh"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Cường độ màu sắc"</string>
     <string name="mode_title" msgid="2394873501427436055">"Giao diện tối"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Tạm thời tắt do tính năng của Trình tiết kiệm pin"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Đã thay đổi giao diện"</string>
@@ -109,14 +115,14 @@
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Màu hình nền"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Màu cơ bản"</string>
     <string name="preset_color_tab_2" msgid="1444107326712562538">"Màu khác"</string>
-    <string name="preset_color_subheader" msgid="8230588536141279371">"Chọn màu bất kỳ cho biểu tượng, đồng hồ của bạn, v.v."</string>
+    <string name="preset_color_subheader" msgid="8230588536141279371">"Chọn màu cho các biểu tượng, đồng hồ, v.v."</string>
     <string name="color_changed" msgid="7029571720331641235">"Đã thay đổi màu"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Động"</string>
     <string name="color_picker_title" msgid="6666830057938082864">"Màu hệ thống"</string>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Lối tắt bên trái"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Lối tắt bên phải"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Không có"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Để chọn \"<xliff:g id="APPNAME">%1$s</xliff:g>\", hãy làm theo hướng dẫn sau đây"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Không thêm được lối tắt"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Mở <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Để tạo lối tắt cho ứng dụng <xliff:g id="APPNAME">%1$s</xliff:g>, hãy đảm bảo"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Xong"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Không có"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Hiển thị thông báo trên màn hình khoá"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Ẩn thông báo trên màn hình khoá"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"Tuỳ chọn khác trên màn hình khoá"</string>
+    <string name="more_settings_section_description" msgid="1860115709122398325">"Quyền riêng tư, Phát hiện nhạc, v.v."</string>
     <string name="more_colors" msgid="3191071655353004591">"Màu khác"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Giao diện động chính"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Giao diện trung tính chính"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Giao diện rực rỡ chính"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Giao diện biểu đạt chính"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Tuỳ chọn màu mặc định"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Tuỳ chọn màu <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Vuốt sang trái để chọn mặt đồng hồ khác"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Vuốt sang phải để chọn mặt đồng hồ khác"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Đồng hồ tuỳ chỉnh"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index b194ca1..1f1326d 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -17,12 +17,13 @@
 
 <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="1974314575211361352">"自定义钟面"</string>
     <string name="clock_description" msgid="3563839327378948">"选择自定义钟面"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"更改自定义钟面"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"表盘设置"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"表盘选项 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"时钟颜色和尺寸"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"时钟颜色和尺寸"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>、<xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"颜色"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"时钟大小会依据锁定屏幕上的内容而变化"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"大"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"小"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"一个小型时钟显示在界面一角"</string>
     <string name="grid_title" msgid="1688173478777254123">"应用网格"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"应用"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"点按即可修改"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"将您喜爱的字体应用于每个屏幕上的文字"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"选择网格大小"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"更改网格大小将会重新加载工作区,这可能需要几秒钟的时间。"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"正在重新加载网格大小为“%1$s”的工作区"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"未能重新加载网格大小为“%1$s”的工作区"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"已成功设置样式"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"已成功设置时钟"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"已成功设置网格"</string>
@@ -98,10 +103,11 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"自定义颜色"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"自定义形状"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"自定义样式名称"</string>
+    <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="mode_changed" msgid="2243581369395418584">"主题已更改"</string>
-    <string name="themed_icon_title" msgid="7312460430471956558">"带主题的图标"</string>
+    <string name="themed_icon_title" msgid="7312460430471956558">"主题图标"</string>
     <string name="beta_title" msgid="8703819523760746458">"Beta 版"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"更改应用网格"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"壁纸颜色"</string>
@@ -113,10 +119,10 @@
     <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="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"向左快捷方式"</string>
-    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"向右快捷方式"</string>
+    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"左侧快捷方式"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"右侧快捷方式"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"无"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"若要选择“<xliff:g id="APPNAME">%1$s</xliff:g>”,请确认满足已以下条件:"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"无法添加快捷方式"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"打开<xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"若要将<xliff:g id="APPNAME">%1$s</xliff:g>应用添加为快捷方式,请确保:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"完成"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>、<xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"无"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"在锁定的屏幕上显示通知"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"在锁定的屏幕上不显示通知"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"更多锁屏选项"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"主要鲜艳主题"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"主要炫彩主题"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"默认颜色选项"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"颜色选项 <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"向左滑动,选择另一个表盘"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"向右滑动,选择另一个表盘"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"自定义表盘"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 3c0c8c6..bfe881e 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"自訂時鐘"</string>
     <string name="clock_description" msgid="3563839327378948">"揀選自訂時鐘"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"變更自訂時鐘"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"時鐘設定"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"錶面選項 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"時鐘顏色及大小"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"時鐘顏色及大小"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>,<xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"顏色"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"時鐘按上鎖畫面內容變更大小"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"大"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"小"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"在螢幕角落顯示小時鐘"</string>
     <string name="grid_title" msgid="1688173478777254123">"應用程式網格"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"套用"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"輕按即可編輯"</string>
@@ -62,9 +64,12 @@
     <string name="preview_name_shape" msgid="5676971146080968721">"形狀"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"桌布"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"讓每個畫面顯示您喜愛的字型"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"讓每個畫面顯示你喜愛的字型"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"請選擇網格大小"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"如果變更網格大小,系統會重新載入工作區,過程可能需時數秒。"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"正在重新載入網格大小為「%1$s」的工作區"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"無法重新載入網格大小為「%1$s」的工作區"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"成功設定樣式"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"成功設定時鐘"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"成功設定網格"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"自訂顏色"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"自訂形狀"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"自訂樣式嘅名"</string>
+    <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="mode_changed" msgid="2243581369395418584">"已經變咗主題"</string>
@@ -109,14 +115,14 @@
     <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>
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"向左捷徑"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"向右捷徑"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"無"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"請勾選以下選項以選取「<xliff:g id="APPNAME">%1$s</xliff:g>」"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"無法新增捷徑"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"開啟「<xliff:g id="APPNAME">%1$s</xliff:g>」"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"如要新增「<xliff:g id="APPNAME">%1$s</xliff:g>」應用程式為快速鍵,請確保:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"完成"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>,<xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"無"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"在上鎖畫面顯示通知"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"在上鎖畫面隱藏通知"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"更多上鎖畫面選項"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"鮮艷主要主題"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"熱情主要主題"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"預設顏色選項"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"顏色選項:<xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"向左滑動即可選擇其他錶面"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"向右滑動即可選擇其他錶面"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"自訂時鐘"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 72a137b..417856b 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"自訂時鐘"</string>
     <string name="clock_description" msgid="3563839327378948">"選擇自訂時鐘"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"變更自訂時鐘"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"時鐘設定"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"錶面選項 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"時鐘顏色與大小"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"時鐘顏色與大小"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_2">%2$s</xliff:g>,<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"顏色"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"時鐘大小會依螢幕鎖定畫面上的內容調整"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"大"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"小"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"在畫面角落顯示小型時鐘"</string>
     <string name="grid_title" msgid="1688173478777254123">"應用程式格線"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"套用"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"輕觸這裡即可編輯"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"將你喜愛的字型套用到每個畫面"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"選擇網格大小"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"如果變更網格大小,系統會重新載入工作區,且需要幾秒鐘的時間才能完成。"</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"正在重新載入網格大小為「%1$s」的工作區"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"無法重新載入網格大小為「%1$s」的工作區"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"已成功設定樣式"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"已成功設定時鐘"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"已成功設定網格"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"自訂顏色"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"自訂形狀"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"自訂樣式名稱"</string>
+    <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="mode_changed" msgid="2243581369395418584">"主題已變更"</string>
@@ -113,10 +119,10 @@
     <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="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"向左快速鍵"</string>
-    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"向右快速鍵"</string>
+    <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"左側捷徑"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"右側捷徑"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"無"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"必須完成以下事項才能選取「<xliff:g id="APPNAME">%1$s</xliff:g>」"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"無法新增捷徑"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"開啟「<xliff:g id="APPNAME">%1$s</xliff:g>」"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"如要將「<xliff:g id="APPNAME">%1$s</xliff:g>」應用程式新增為捷徑,必須滿足以下條件"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"完成"</string>
@@ -125,12 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>、<xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"無"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"在螢幕鎖定畫面上顯示通知"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"在螢幕鎖定畫面上隱藏通知"</string>
-    <!-- no translation found for more_settings_section_title (1331425454775815958) -->
-    <skip />
-    <!-- no translation found for more_settings_section_description (1860115709122398325) -->
-    <skip />
+    <string name="more_settings_section_title" msgid="1331425454775815958">"更多螢幕鎖定選項"</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>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"主要鮮豔主題"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"主要表現主題"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"預設顏色選項"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"顏色選項 <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"向左滑動可選擇其他錶面"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"向右滑動可選擇其他錶面"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"自訂錶面"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index def5d0a..0896e57 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -22,7 +22,8 @@
     <string name="clock_title" msgid="1974314575211361352">"Iwashi Elingokomuntu Ngamunye"</string>
     <string name="clock_description" msgid="3563839327378948">"Khetha iwashi elingokomuntu ngamunye"</string>
     <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Shintsha iwashi elingokomuntu ngamunye"</string>
-    <string name="clock_settings_title" msgid="2940654205471453913">"Amasethingi Ewashi"</string>
+    <string name="select_clock_action_description" msgid="5025888763471843648">"Okukhethwa kukho kobuso bewashi <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="clock_settings_title" msgid="2050906379377120431">"Umbala wewashi nosayizi"</string>
     <string name="clock_color_and_size_title" msgid="7146791234905111351">"Umbala wewashi nosayizi"</string>
     <string name="clock_color_and_size_description" msgid="6578061553012886817">"<xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="clock_color" msgid="8081608867289156163">"Umbala"</string>
@@ -40,6 +41,7 @@
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Usayizi wewashi uyashintsha ngokuya ngokuqukethwe kokukhiya isikrini"</string>
     <string name="clock_size_large" msgid="3143248715744138979">"Obukhulu"</string>
     <string name="clock_size_small" msgid="2280449912094164133">"Esincane"</string>
+    <string name="clock_size_small_description" msgid="4089511196955732480">"Iwashi elincane livela ekhoneni lesikrini sakho"</string>
     <string name="grid_title" msgid="1688173478777254123">"Igridi ye-app"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Faka"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Thepha ukuze uhlele"</string>
@@ -65,6 +67,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Engeza amafonti akho owathandayo kuso sonke isikrini"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Khetha usayizi we-grid"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="apply_grid_btn_note" msgid="2966021967355139181">"Ukushintsha usayizi wegridi kuzolayisha kabusha indawo yokusebenza futhi kungase kuthathe imizuzwana embalwa."</string>
+    <string name="toast_of_changing_grid" msgid="3515633981312731121">"Ilayisha kabusha indawo yokusebenza ngegridi engu-%1$s"</string>
+    <string name="toast_of_failure_to_change_grid" msgid="1349622908271736044">"Yehlulekile ukulayisha kabusha indawo yokusebenza ngegridi engu-%1$s"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Isitayela sisethwe ngokuphumelelayo"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Iwashi lisethwe ngokuphumelelayo"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"I-Grid isethwe ngempumelelo"</string>
@@ -98,6 +103,7 @@
     <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Umbala ongokwezifiso"</string>
     <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Umumo ongokwezifiso"</string>
     <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Igama lesitayela esingokwezifiso"</string>
+    <string name="accessibility_clock_slider_description" msgid="8374135133110681332">"Ukuqina kombala"</string>
     <string name="mode_title" msgid="2394873501427436055">"Itimu emnyama"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Kukhutshaziwe okwesikhashana ngenxa Yesilondolozi Sebhethri"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Itimu ishintshiwe"</string>
@@ -116,7 +122,7 @@
     <string name="keyguard_slot_name_bottom_start" msgid="8747677880200629719">"Isinqamuleli sangakwesokunxele"</string>
     <string name="keyguard_slot_name_bottom_end" msgid="2525487375680217083">"Isinqamuleli sangakwesokudla"</string>
     <string name="keyguard_affordance_none" msgid="1751643933430782312">"Lutho"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="3389730825561696493">"Ukukhetha i-`<xliff:g id="APPNAME">%1$s</xliff:g>` maka okulandelayo"</string>
+    <string name="keyguard_affordance_enablement_dialog_headline" msgid="365379085932610314">"Ayikwazi ukwengeza isinqamuleli"</string>
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Vula i-<xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Ukwengeza i-app ye-<xliff:g id="APPNAME">%1$s</xliff:g> njengesinqamuleli, qinisekisa"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Kwenziwe"</string>
@@ -125,10 +131,16 @@
     <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
     <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Lutho"</string>
     <string name="show_notifications_on_lock_screen" msgid="4157744243084646720">"Bonisa izaziso esikrinini sokukhiya"</string>
-    <string name="hide_notifications_on_lock_screen" msgid="7413548956484779174">"Fihla izaziso esikrinini sokukhiya"</string>
     <string name="more_settings_section_title" msgid="1331425454775815958">"Okukhethwa kukho kokukhiya isikrini okuningi"</string>
     <string name="more_settings_section_description" msgid="1860115709122398325">"Ubumfihlo, Okudlala Manje, nokuningi"</string>
     <string name="more_colors" msgid="3191071655353004591">"Imibala Eyengeziwe"</string>
+    <string name="content_description_dynamic_color_option" msgid="2191721655642529886">"Itimu eshintshayo eyinhloko"</string>
+    <string name="content_description_neutral_color_option" msgid="3385443834001275301">"Itimu emaphakathi eyinhloko"</string>
+    <string name="content_description_vibrant_color_option" msgid="2230249305878632821">"Itimu edlidlizayo eyinhloko"</string>
+    <string name="content_description_expressive_color_option" msgid="6081295313456341282">"Itimu ebizayo eyinhloko"</string>
     <string name="content_description_default_color_option" msgid="7011899327541080695">"Okukhethwa kukho kombala okuzenzakalelayo"</string>
     <string name="content_description_color_option" msgid="4169813692012119578">"Okukhethwa kukho kombala kwe-<xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="scroll_forward_and_select" msgid="6156132388656395769">"Swayiphela kwesokunxele ukuze ukhethe ubuso bewashi obuhlukile"</string>
+    <string name="scroll_backward_and_select" msgid="5472202348434803757">"Swayiphela kwesokudla ukuze ukhethe ubuso bewashi obuhlukile"</string>
+    <string name="custom_clocks_label" msgid="8168419717593569347">"Amawashi Angokwezifiso"</string>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9b55965..d1f6035 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -303,6 +303,9 @@
     <!-- Accessibility for custom style name page [CHAR_LIMIT=50] -->
     <string name="accessibility_custom_name_title">Custom style name</string>
 
+    <!-- Accessibility for clock color slider [CHAR_LIMIT=50] -->
+    <string name="accessibility_clock_slider_description">Color intensity</string>
+
     <!--Name of metadata in the main launcher Activity which values contains the authority
     corresponding to a ContentProvider in launcher to query or change themed icon option  -->
     <string name="themed_icon_metadata_key" translatable="false">com.android.launcher3.themedicon.option</string>
@@ -436,15 +439,6 @@
     <string name="show_notifications_on_lock_screen">Show notifications on the lock screen</string>
 
     <!--
-    Summary for a setting that lets the user toggle between showing or hiding notifications on their
-    device's lock screen. This one is shown when the user is not allowing notifications to show on
-    their device's lock screen.
-
-    [CHAR LIMIT=64].
-    -->
-    <string name="hide_notifications_on_lock_screen">Hide notifications on the lock screen</string>
-
-    <!--
     Title for a section in a list of sections in the settings app that allows the user to access
     additional settings related to lock screen behaviour.
 
diff --git a/res/values/styles.xml b/res/values/styles.xml
index b2cd71d..c2710f6 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -75,7 +75,9 @@
     </style>
 
     <!-- Common components and widgets -->
-    <style name="TitleTextAppearance" parent="@android:style/TextAppearance.DeviceDefault.Widget.ActionBar.Title"/>
+    <style name="TitleTextAppearance" parent="@android:style/TextAppearance.DeviceDefault.Widget.ActionBar.Title">
+        <item name="android:textSize">14sp</item>
+    </style>
 
     <style name="ActionPrimaryButton" parent="android:Widget.DeviceDefault.Button.Colored"/>
 
diff --git a/src/com/android/customization/model/color/ColorBundle.java b/src/com/android/customization/model/color/ColorBundle.java
deleted file mode 100644
index d34f3fc..0000000
--- a/src/com/android/customization/model/color/ColorBundle.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.color;
-
-import android.content.Context;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.graphics.Color;
-import android.graphics.PorterDuff;
-import android.view.View;
-import android.widget.ImageView;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.Dimension;
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-
-import com.android.customization.model.ResourceConstants;
-import com.android.systemui.monet.Style;
-import com.android.wallpaper.R;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Represents a preset color available for the user to chose as their theming option.
- */
-public class ColorBundle extends ColorOption {
-
-    private final PreviewInfo mPreviewInfo;
-
-    @VisibleForTesting ColorBundle(String title,
-            Map<String, String> overlayPackages, boolean isDefault, Style style, int index,
-            PreviewInfo previewInfo) {
-        super(title, overlayPackages, isDefault, style, index);
-        mPreviewInfo = previewInfo;
-    }
-
-    @Override
-    public void bindThumbnailTile(View view) {
-        Resources res = view.getContext().getResources();
-        int primaryColor = mPreviewInfo.resolvePrimaryColor(res);
-        int secondaryColor = mPreviewInfo.resolveSecondaryColor(res);
-
-        for (int i = 0; i < mPreviewColorIds.length; i++) {
-            ImageView colorPreviewImageView = view.findViewById(mPreviewColorIds[i]);
-            int color = i % 2 == 0 ? primaryColor : secondaryColor;
-            colorPreviewImageView.getDrawable().setColorFilter(color, PorterDuff.Mode.SRC);
-        }
-        view.setContentDescription(getContentDescription(view.getContext()));
-    }
-
-    @Override
-    public PreviewInfo getPreviewInfo() {
-        return mPreviewInfo;
-    }
-
-    @Override
-    public int getLayoutResId() {
-        return R.layout.color_option;
-    }
-
-    @Override
-    public String getSource() {
-        return ColorOptionsProvider.COLOR_SOURCE_PRESET;
-    }
-
-    /**
-     * The preview information of {@link ColorBundle}
-     */
-    public static class PreviewInfo implements ColorOption.PreviewInfo {
-        @ColorInt
-        public final int secondaryColorLight;
-        @ColorInt public final int secondaryColorDark;
-        // Monet system palette and accent colors
-        @ColorInt public final int primaryColorLight;
-        @ColorInt public final int primaryColorDark;
-        @Dimension
-        public final int bottomSheetCornerRadius;
-
-        @ColorInt private int mOverrideSecondaryColorLight = Color.TRANSPARENT;
-        @ColorInt private int mOverrideSecondaryColorDark = Color.TRANSPARENT;
-        @ColorInt private int mOverridePrimaryColorLight = Color.TRANSPARENT;
-        @ColorInt private int mOverridePrimaryColorDark = Color.TRANSPARENT;
-
-        private PreviewInfo(
-                int secondaryColorLight, int secondaryColorDark, int colorSystemPaletteLight,
-                int primaryColorDark, @Dimension int cornerRadius) {
-            this.secondaryColorLight = secondaryColorLight;
-            this.secondaryColorDark = secondaryColorDark;
-            this.primaryColorLight = colorSystemPaletteLight;
-            this.primaryColorDark = primaryColorDark;
-            this.bottomSheetCornerRadius = cornerRadius;
-        }
-
-        /**
-         * Returns the accent color to be applied corresponding with the current configuration's
-         * UI mode.
-         * @return one of {@link #secondaryColorDark} or {@link #secondaryColorLight}
-         */
-        @ColorInt
-        public int resolveSecondaryColor(Resources res) {
-            boolean night = (res.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)
-                    == Configuration.UI_MODE_NIGHT_YES;
-            if (mOverrideSecondaryColorDark != Color.TRANSPARENT
-                    || mOverrideSecondaryColorLight != Color.TRANSPARENT) {
-                return night ? mOverrideSecondaryColorDark : mOverrideSecondaryColorLight;
-            }
-            return night ? secondaryColorDark : secondaryColorLight;
-        }
-
-        /**
-         * Returns the palette (main) color to be applied corresponding with the current
-         * configuration's UI mode.
-         * @return one of {@link #secondaryColorDark} or {@link #secondaryColorLight}
-         */
-        @ColorInt
-        public int resolvePrimaryColor(Resources res) {
-            boolean night = (res.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)
-                    == Configuration.UI_MODE_NIGHT_YES;
-            if (mOverridePrimaryColorDark != Color.TRANSPARENT
-                    || mOverridePrimaryColorLight != Color.TRANSPARENT) {
-                return night ? mOverridePrimaryColorDark : mOverridePrimaryColorLight;
-            }
-            return night ? primaryColorDark
-                    : primaryColorLight;
-        }
-
-        /**
-         * Sets accent colors to override the ones in this bundle
-         */
-        public void setOverrideAccentColors(int overrideColorAccentLight,
-                int overrideColorAccentDark) {
-            mOverrideSecondaryColorLight = overrideColorAccentLight;
-            mOverrideSecondaryColorDark = overrideColorAccentDark;
-        }
-
-        /**
-         * Sets palette colors to override the ones in this bundle
-         */
-        public void setOverridePaletteColors(int overrideColorPaletteLight,
-                int overrideColorPaletteDark) {
-            mOverridePrimaryColorLight = overrideColorPaletteLight;
-            mOverridePrimaryColorDark = overrideColorPaletteDark;
-        }
-    }
-
-    /**
-     * The builder of ColorBundle
-     */
-    public static class Builder {
-        protected String mTitle;
-        @ColorInt private int mSecondaryColorLight = Color.TRANSPARENT;
-        @ColorInt private int mSecondaryColorDark = Color.TRANSPARENT;
-        // System and Monet colors
-        @ColorInt private int mPrimaryColorLight = Color.TRANSPARENT;
-        @ColorInt private int mPrimaryColorDark = Color.TRANSPARENT;
-        private boolean mIsDefault;
-        private Style mStyle = Style.TONAL_SPOT;
-        private int mIndex;
-        protected Map<String, String> mPackages = new HashMap<>();
-
-        /**
-         * Builds the ColorBundle
-         * @param context {@link Context}
-         * @return new {@link ColorBundle} object
-         */
-        public ColorBundle build(Context context) {
-            if (mTitle == null) {
-                mTitle = context.getString(R.string.adaptive_color_title);
-            }
-            return new ColorBundle(mTitle, mPackages, mIsDefault, mStyle, mIndex,
-                    createPreviewInfo(context));
-        }
-
-        /**
-         * Creates preview information
-         * @param context the {@link Context}
-         * @return the {@link PreviewInfo} object
-         */
-        public PreviewInfo createPreviewInfo(@NonNull Context context) {
-            Resources system = context.getResources().getSystem();
-            return new PreviewInfo(mSecondaryColorLight,
-                    mSecondaryColorDark, mPrimaryColorLight, mPrimaryColorDark,
-                    system.getDimensionPixelOffset(
-                            system.getIdentifier(ResourceConstants.CONFIG_CORNERRADIUS, "dimen",
-                                    ResourceConstants.ANDROID_PACKAGE)));
-        }
-
-        public Map<String, String> getPackages() {
-            return Collections.unmodifiableMap(mPackages);
-        }
-
-        /**
-         * Gets title of this {@link ColorBundle} object
-         * @return title string
-         */
-        public String getTitle() {
-            return mTitle;
-        }
-
-        /**
-         * Sets title of bundle
-         * @param title specified title
-         * @return this of {@link Builder}
-         */
-        public Builder setTitle(String title) {
-            mTitle = title;
-            return this;
-        }
-
-        /**
-         * Sets color accent (light)
-         * @param colorSecondaryLight color accent light in {@link ColorInt}
-         * @return this of {@link Builder}
-         */
-        public Builder setColorSecondaryLight(@ColorInt int colorSecondaryLight) {
-            mSecondaryColorLight = colorSecondaryLight;
-            return this;
-        }
-
-        /**
-         * Sets color accent (dark)
-         * @param colorSecondaryDark color accent dark in {@link ColorInt}
-         * @return this of {@link Builder}
-         */
-        public Builder setColorSecondaryDark(@ColorInt int colorSecondaryDark) {
-            mSecondaryColorDark = colorSecondaryDark;
-            return this;
-        }
-
-        /**
-         * Sets color system palette (light)
-         * @param colorPrimaryLight color system palette in {@link ColorInt}
-         * @return this of {@link Builder}
-         */
-        public Builder setColorPrimaryLight(@ColorInt int colorPrimaryLight) {
-            mPrimaryColorLight = colorPrimaryLight;
-            return this;
-        }
-
-        /**
-         * Sets color system palette (dark)
-         * @param colorPrimaryDark color system palette in {@link ColorInt}
-         * @return this of {@link Builder}
-         */
-        public Builder setColorPrimaryDark(@ColorInt int colorPrimaryDark) {
-            mPrimaryColorDark = colorPrimaryDark;
-            return this;
-        }
-
-        /**
-         * Sets overlay package for bundle
-         * @param category the category of bundle
-         * @param packageName tha name of package in the category
-         * @return this of {@link Builder}
-         */
-        public Builder addOverlayPackage(String category, String packageName) {
-            mPackages.put(category, packageName);
-            return this;
-        }
-
-        /**
-         * Sets the style of this color seed
-         * @param style color style of {@link Style}
-         * @return this of {@link Builder}
-         */
-        public Builder setStyle(Style style) {
-            mStyle = style;
-            return this;
-        }
-
-        /**
-         * Sets color option index of bundle
-         * @param index color option index
-         * @return this of {@link Builder}
-         */
-        public Builder setIndex(int index) {
-            mIndex = index;
-            return this;
-        }
-
-        /**
-         * Sets as default bundle
-         * @return this of {@link Builder}
-         */
-        public Builder asDefault() {
-            mIsDefault = true;
-            return this;
-        }
-    }
-}
diff --git a/src/com/android/customization/model/color/ColorBundlePreviewExtractor.java b/src/com/android/customization/model/color/ColorBundlePreviewExtractor.java
deleted file mode 100644
index 55b637f..0000000
--- a/src/com/android/customization/model/color/ColorBundlePreviewExtractor.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.color;
-
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SYSTEM_PALETTE;
-import static com.android.customization.model.color.ColorUtils.toColorString;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.annotation.ColorInt;
-
-import com.android.systemui.monet.ColorScheme;
-import com.android.systemui.monet.Style;
-
-/**
- * Utility class to read all the details of a color bundle for previewing it
- * (eg, actual color values)
- */
-class ColorBundlePreviewExtractor {
-
-    private static final String TAG = "ColorBundlePreviewExtractor";
-
-    private final PackageManager mPackageManager;
-
-    ColorBundlePreviewExtractor(Context context) {
-        mPackageManager = context.getPackageManager();
-    }
-
-    void addSecondaryColor(ColorBundle.Builder builder, @ColorInt int color) {
-        ColorScheme darkColorScheme = new ColorScheme(color, true);
-        ColorScheme lightColorScheme = new ColorScheme(color, false);
-        int lightSecondary = lightColorScheme.getAccentColor();
-        int darkSecondary = darkColorScheme.getAccentColor();
-        builder.addOverlayPackage(OVERLAY_CATEGORY_COLOR, toColorString(color))
-                .setColorSecondaryLight(lightSecondary)
-                .setColorSecondaryDark(darkSecondary);
-    }
-
-    void addPrimaryColor(ColorBundle.Builder builder, @ColorInt int color) {
-        ColorScheme darkColorScheme = new ColorScheme(color, true);
-        ColorScheme lightColorScheme = new ColorScheme(color, false);
-        int lightPrimary = lightColorScheme.getAccentColor();
-        int darkPrimary = darkColorScheme.getAccentColor();
-        builder.addOverlayPackage(OVERLAY_CATEGORY_SYSTEM_PALETTE, toColorString(color))
-                .setColorPrimaryLight(lightPrimary)
-                .setColorPrimaryDark(darkPrimary);
-    }
-
-    void addColorStyle(ColorBundle.Builder builder, String styleName) {
-        Style s = Style.TONAL_SPOT;
-        if (!TextUtils.isEmpty(styleName)) {
-            try {
-                s = Style.valueOf(styleName);
-            } catch (IllegalArgumentException e) {
-                Log.i(TAG, "Unknown style : " + styleName + ". Will default to TONAL_SPOT.");
-            }
-        }
-        builder.setStyle(s);
-    }
-}
diff --git a/src/com/android/customization/model/color/ColorCustomizationManager.java b/src/com/android/customization/model/color/ColorCustomizationManager.java
index 790c86f..a09efd2 100644
--- a/src/com/android/customization/model/color/ColorCustomizationManager.java
+++ b/src/com/android/customization/model/color/ColorCustomizationManager.java
@@ -15,6 +15,11 @@
  */
 package com.android.customization.model.color;
 
+import static android.stats.style.StyleEnums.COLOR_SOURCE_HOME_SCREEN_WALLPAPER;
+import static android.stats.style.StyleEnums.COLOR_SOURCE_LOCK_SCREEN_WALLPAPER;
+import static android.stats.style.StyleEnums.COLOR_SOURCE_PRESET_COLOR;
+import static android.stats.style.StyleEnums.COLOR_SOURCE_UNSPECIFIED;
+
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SYSTEM_PALETTE;
 import static com.android.customization.model.color.ColorOptionsProvider.COLOR_SOURCE_PRESET;
@@ -27,6 +32,7 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.database.ContentObserver;
+import android.graphics.Color;
 import android.net.Uri;
 import android.os.Handler;
 import android.os.Looper;
@@ -41,6 +47,7 @@
 import com.android.customization.model.ResourceConstants;
 import com.android.customization.model.color.ColorOptionsProvider.ColorSource;
 import com.android.customization.model.theme.OverlayManagerCompat;
+import com.android.customization.module.logging.ThemesUserEventLogger;
 import com.android.wallpaper.R;
 
 import org.json.JSONArray;
@@ -182,22 +189,7 @@
             lockWallpaperColors = null;
         }
         mProvider.fetch(callback, reload, mHomeWallpaperColors,
-                lockWallpaperColors,  /* shouldUseRevampedUi= */ false);
-    }
-
-    /**
-     * Fetch options function for the customization hub revamped UI
-     *
-     * TODO (b/276417460): refactor to reduce code repetition with the other fetch options function
-     */
-    public void fetchRevampedUIOptions(OptionsFetchedListener<ColorOption> callback,
-            boolean reload) {
-        WallpaperColors lockWallpaperColors = mLockWallpaperColors;
-        if (lockWallpaperColors != null && mLockWallpaperColors.equals(mHomeWallpaperColors)) {
-            lockWallpaperColors = null;
-        }
-        mProvider.fetch(callback, reload, mHomeWallpaperColors,
-                lockWallpaperColors,  /* shouldUseRevampedUi= */ true);
+                lockWallpaperColors);
     }
 
     /**
@@ -220,6 +212,38 @@
         return mCurrentOverlays;
     }
 
+    /** */
+    public int getCurrentColorSourceForLogging() {
+        String colorSource = getCurrentColorSource();
+        if (colorSource == null) {
+            return COLOR_SOURCE_UNSPECIFIED;
+        }
+        return switch (colorSource) {
+            case ColorOptionsProvider.COLOR_SOURCE_PRESET -> COLOR_SOURCE_PRESET_COLOR;
+            case ColorOptionsProvider.COLOR_SOURCE_HOME -> COLOR_SOURCE_HOME_SCREEN_WALLPAPER;
+            case ColorOptionsProvider.COLOR_SOURCE_LOCK -> COLOR_SOURCE_LOCK_SCREEN_WALLPAPER;
+            default -> COLOR_SOURCE_UNSPECIFIED;
+        };
+    }
+
+    /** */
+    public int getCurrentStyleForLogging() {
+        String style = getCurrentStyle();
+        return style != null ? style.hashCode() : 0;
+    }
+
+    /** */
+    public int getCurrentSeedColorForLogging() {
+        String seedColor = getCurrentOverlays().get(OVERLAY_CATEGORY_SYSTEM_PALETTE);
+        if (seedColor == null || seedColor.isEmpty()) {
+            return ThemesUserEventLogger.NULL_SEED_COLOR;
+        }
+        if (!seedColor.startsWith("#")) {
+            seedColor = "#" + seedColor;
+        }
+        return Color.parseColor(seedColor);
+    }
+
     /**
      * @return The source of the currently applied color. One of
      * {@link ColorOptionsProvider#COLOR_SOURCE_HOME},{@link ColorOptionsProvider#COLOR_SOURCE_LOCK}
diff --git a/src/com/android/customization/model/color/ColorOption.java b/src/com/android/customization/model/color/ColorOption.java
index 216bb9b..f57aa86 100644
--- a/src/com/android/customization/model/color/ColorOption.java
+++ b/src/com/android/customization/model/color/ColorOption.java
@@ -19,6 +19,7 @@
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SYSTEM_PALETTE;
 
 import android.content.Context;
+import android.graphics.Color;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -27,6 +28,7 @@
 import com.android.customization.model.CustomizationManager;
 import com.android.customization.model.CustomizationOption;
 import com.android.customization.model.color.ColorOptionsProvider.ColorSource;
+import com.android.customization.module.logging.ThemesUserEventLogger;
 import com.android.systemui.monet.Style;
 import com.android.wallpaper.R;
 
@@ -52,8 +54,6 @@
     static final String TIMESTAMP_FIELD = "_applied_timestamp";
 
     protected final Map<String, String> mPackagesByCategory;
-    protected final int[] mPreviewColorIds = {R.id.color_preview_0, R.id.color_preview_1,
-            R.id.color_preview_2, R.id.color_preview_3};
     private final String mTitle;
     private final boolean mIsDefault;
     private final Style mStyle;
@@ -86,6 +86,9 @@
 
         if (mIsDefault) {
             String serializedOverlays = colorManager.getStoredOverlays();
+            // a default color option is active if the manager has no stored overlays or current
+            // overlays, or the stored overlay does not contain either category system palette or
+            // category color
             return (TextUtils.isEmpty(serializedOverlays) || EMPTY_JSON.equals(serializedOverlays)
                     || colorManager.getCurrentOverlays().isEmpty() || !(serializedOverlays.contains(
                     OVERLAY_CATEGORY_SYSTEM_PALETTE) || serializedOverlays.contains(
@@ -100,6 +103,22 @@
     }
 
     /**
+     * Gets the seed color from the overlay packages for logging.
+     *
+     * @return an int representing the seed color, or NULL_SEED_COLOR
+     */
+    public int getSeedColorForLogging() {
+        String seedColor = mPackagesByCategory.get(OVERLAY_CATEGORY_SYSTEM_PALETTE);
+        if (seedColor == null || seedColor.isEmpty()) {
+            return ThemesUserEventLogger.NULL_SEED_COLOR;
+        }
+        if (!seedColor.startsWith("#")) {
+            seedColor = "#" + seedColor;
+        }
+        return Color.parseColor(seedColor);
+    }
+
+    /**
      * This is similar to #equals() but it only compares this theme's packages with the other, that
      * is, it will return true if applying this theme has the same effect of applying the given one.
      */
@@ -208,6 +227,12 @@
     public abstract String getSource();
 
     /**
+     * @return the source of this color option for logging
+     */
+    @ThemesUserEventLogger.ColorSource
+    public abstract int getSourceForLogging();
+
+    /**
      * @return the style of this color option
      */
     public Style getStyle() {
@@ -215,6 +240,11 @@
     }
 
     /**
+     * @return the style of this color option for logging
+     */
+    public abstract int getStyleForLogging();
+
+    /**
      * @return the index of this color option
      */
     public int getIndex() {
diff --git a/src/com/android/customization/model/color/ColorOptionImpl.kt b/src/com/android/customization/model/color/ColorOptionImpl.kt
index 3273ce2..f090528 100644
--- a/src/com/android/customization/model/color/ColorOptionImpl.kt
+++ b/src/com/android/customization/model/color/ColorOptionImpl.kt
@@ -17,6 +17,7 @@
 package com.android.customization.model.color
 
 import android.content.Context
+import android.stats.style.StyleEnums
 import android.view.View
 import androidx.annotation.ColorInt
 import com.android.customization.model.color.ColorOptionsProvider.ColorSource
@@ -68,6 +69,17 @@
         return source
     }
 
+    override fun getSourceForLogging(): Int {
+        return when (getSource()) {
+            ColorOptionsProvider.COLOR_SOURCE_PRESET -> StyleEnums.COLOR_SOURCE_PRESET_COLOR
+            ColorOptionsProvider.COLOR_SOURCE_HOME -> StyleEnums.COLOR_SOURCE_HOME_SCREEN_WALLPAPER
+            ColorOptionsProvider.COLOR_SOURCE_LOCK -> StyleEnums.COLOR_SOURCE_LOCK_SCREEN_WALLPAPER
+            else -> StyleEnums.COLOR_SOURCE_UNSPECIFIED
+        }
+    }
+
+    override fun getStyleForLogging(): Int = style.toString().hashCode()
+
     class Builder {
         var title: String? = null
 
diff --git a/src/com/android/customization/model/color/ColorOptionsProvider.java b/src/com/android/customization/model/color/ColorOptionsProvider.java
index 166b4da..9703907 100644
--- a/src/com/android/customization/model/color/ColorOptionsProvider.java
+++ b/src/com/android/customization/model/color/ColorOptionsProvider.java
@@ -70,12 +70,9 @@
      * @param homeWallpaperColors to get seed colors from
      * @param lockWallpaperColors WallpaperColors from the lockscreen wallpaper to get seeds from,
      *                            if different than homeWallpaperColors
-     * @param shouldUseRevampedUi fetches color options with new preview mappings for the revamped
-     *                            UI if set to true
      */
     void fetch(OptionsFetchedListener<ColorOption> callback, boolean reload,
             @Nullable WallpaperColors homeWallpaperColors,
-            @Nullable WallpaperColors lockWallpaperColors,
-            boolean shouldUseRevampedUi
+            @Nullable WallpaperColors lockWallpaperColors
     );
 }
diff --git a/src/com/android/customization/model/color/ColorProvider.kt b/src/com/android/customization/model/color/ColorProvider.kt
index 74a4051..6fdfd2c 100644
--- a/src/com/android/customization/model/color/ColorProvider.kt
+++ b/src/com/android/customization/model/color/ColorProvider.kt
@@ -48,6 +48,7 @@
 
 /**
  * Default implementation of {@link ColorOptionsProvider} that reads preset colors from a stub APK.
+ * TODO (b/311212666): Make [ColorProvider] and [ColorCustomizationManager] injectable
  */
 class ColorProvider(private val context: Context, stubPackageName: String) :
     ResourcesApkProvider(context, stubPackageName), ColorOptionsProvider {
@@ -68,8 +69,6 @@
             arrayOf(Style.TONAL_SPOT, Style.SPRITZ, Style.VIBRANT, Style.EXPRESSIVE)
         else arrayOf(Style.TONAL_SPOT)
 
-    private val monochromeEnabled =
-        InjectorProvider.getInjector().getFlags().isMonochromaticThemeEnabled(mContext)
     private var monochromeBundleName: String? = null
 
     private val scope =
@@ -93,7 +92,6 @@
         reload: Boolean,
         homeWallpaperColors: WallpaperColors?,
         lockWallpaperColors: WallpaperColors?,
-        shouldUseRevampedUi: Boolean
     ) {
         val wallpaperColorsChanged =
             this.homeWallpaperColors != homeWallpaperColors ||
@@ -106,13 +104,12 @@
             scope.launch {
                 try {
                     if (colorBundles == null || reload) {
-                        loadPreset(shouldUseRevampedUi)
+                        loadPreset()
                     }
                     if (wallpaperColorsChanged || reload) {
                         loadSeedColors(
                             homeWallpaperColors,
                             lockWallpaperColors,
-                            shouldUseRevampedUi
                         )
                     }
                 } catch (e: Throwable) {
@@ -138,7 +135,6 @@
     private fun loadSeedColors(
         homeWallpaperColors: WallpaperColors?,
         lockWallpaperColors: WallpaperColors?,
-        shouldUseRevampedUi: Boolean,
     ) {
         if (homeWallpaperColors == null) return
 
@@ -159,7 +155,6 @@
                 if (shouldLockColorsGoFirst) COLOR_SOURCE_LOCK else COLOR_SOURCE_HOME,
                 true,
                 bundles,
-                shouldUseRevampedUi
             )
             // Second half of the colors
             buildColorSeeds(
@@ -168,7 +163,6 @@
                 if (shouldLockColorsGoFirst) COLOR_SOURCE_HOME else COLOR_SOURCE_LOCK,
                 false,
                 bundles,
-                shouldUseRevampedUi
             )
         } else {
             buildColorSeeds(
@@ -177,35 +171,20 @@
                 COLOR_SOURCE_HOME,
                 true,
                 bundles,
-                shouldUseRevampedUi
             )
         }
 
-        if (shouldUseRevampedUi) {
-            // Insert monochrome in the second position if it is enabled and included in preset
-            // colors
-            if (monochromeEnabled) {
-                monochromeBundleName?.let {
-                    bundles.add(
-                        1,
-                        buildRevampedUIPreset(
-                            it,
-                            -1,
-                            Style.MONOCHROMATIC,
-                            ColorType.WALLPAPER_COLOR
-                        )
-                    )
-                }
+        // Insert monochrome in the second position if it is enabled and included in preset
+        // colors
+        if (InjectorProvider.getInjector().getFlags().isMonochromaticThemeEnabled(mContext)) {
+            monochromeBundleName?.let {
+                bundles.add(1, buildPreset(it, -1, Style.MONOCHROMATIC, ColorType.WALLPAPER_COLOR))
             }
-            bundles.addAll(
-                colorBundles?.filterNot {
-                    (it as ColorOptionImpl).type == ColorType.WALLPAPER_COLOR
-                }
-                    ?: emptyList()
-            )
-        } else {
-            bundles.addAll(colorBundles?.filterNot { it is ColorSeedOption } ?: emptyList())
         }
+        bundles.addAll(
+            colorBundles?.filterNot { (it as ColorOptionImpl).type == ColorType.WALLPAPER_COLOR }
+                ?: emptyList()
+        )
         colorBundles = bundles
     }
 
@@ -215,13 +194,12 @@
         source: String,
         containsDefault: Boolean,
         bundles: MutableList<ColorOption>,
-        shouldUseRevampedUi: Boolean,
     ) {
         val seedColors = ColorScheme.getSeedColors(wallpaperColors)
         val defaultSeed = seedColors.first()
-        buildBundle(defaultSeed, 0, containsDefault, source, bundles, shouldUseRevampedUi)
+        buildBundle(defaultSeed, 0, containsDefault, source, bundles)
         for ((i, colorInt) in seedColors.drop(1).take(maxColors - 1).withIndex()) {
-            buildBundle(colorInt, i + 1, false, source, bundles, shouldUseRevampedUi)
+            buildBundle(colorInt, i + 1, false, source, bundles)
         }
     }
 
@@ -231,102 +209,41 @@
         isDefault: Boolean,
         source: String,
         bundles: MutableList<ColorOption>,
-        shouldUseRevampedUi: Boolean,
     ) {
         // TODO(b/202145216): Measure time cost in the loop.
-        if (shouldUseRevampedUi) {
-            for (style in styleList) {
-                val lightColorScheme = ColorScheme(colorInt, /* darkTheme= */ false, style)
-                val darkColorScheme = ColorScheme(colorInt, /* darkTheme= */ true, style)
-                val builder = ColorOptionImpl.Builder()
-                builder.lightColors = getRevampedUILightColorPreview(lightColorScheme)
-                builder.darkColors = getRevampedUIDarkColorPreview(darkColorScheme)
-                builder.addOverlayPackage(
-                    OVERLAY_CATEGORY_SYSTEM_PALETTE,
-                    if (isDefault) "" else toColorString(colorInt)
-                )
-                builder.title =
-                    when (style) {
-                        Style.TONAL_SPOT ->
-                            context.getString(R.string.content_description_dynamic_color_option)
-                        Style.SPRITZ ->
-                            context.getString(R.string.content_description_neutral_color_option)
-                        Style.VIBRANT ->
-                            context.getString(R.string.content_description_vibrant_color_option)
-                        Style.EXPRESSIVE ->
-                            context.getString(R.string.content_description_expressive_color_option)
-                        else -> context.getString(R.string.content_description_dynamic_color_option)
-                    }
-                builder.source = source
-                builder.style = style
-                // Color option index value starts from 1.
-                builder.index = i + 1
-                builder.isDefault = isDefault
-                builder.type = ColorType.WALLPAPER_COLOR
-                bundles.add(builder.build())
-            }
-        } else {
-            for (style in styleList) {
-                val lightColorScheme = ColorScheme(colorInt, /* darkTheme= */ false, style)
-                val darkColorScheme = ColorScheme(colorInt, /* darkTheme= */ true, style)
-                val builder = ColorSeedOption.Builder()
-                builder
-                    .setLightColors(lightColorScheme.getLightColorPreview())
-                    .setDarkColors(darkColorScheme.getDarkColorPreview())
-                    .addOverlayPackage(
-                        OVERLAY_CATEGORY_SYSTEM_PALETTE,
-                        if (isDefault) "" else toColorString(colorInt)
-                    )
-                    .addOverlayPackage(
-                        OVERLAY_CATEGORY_COLOR,
-                        if (isDefault) "" else toColorString(colorInt)
-                    )
-                    .setSource(source)
-                    .setStyle(style)
-                    // Color option index value starts from 1.
-                    .setIndex(i + 1)
-
-                if (isDefault) builder.asDefault()
-
-                bundles.add(builder.build())
-            }
+        for (style in styleList) {
+            val lightColorScheme = ColorScheme(colorInt, /* darkTheme= */ false, style)
+            val darkColorScheme = ColorScheme(colorInt, /* darkTheme= */ true, style)
+            val builder = ColorOptionImpl.Builder()
+            builder.lightColors = getLightColorPreview(lightColorScheme)
+            builder.darkColors = getDarkColorPreview(darkColorScheme)
+            builder.addOverlayPackage(
+                OVERLAY_CATEGORY_SYSTEM_PALETTE,
+                if (isDefault) "" else toColorString(colorInt)
+            )
+            builder.title =
+                when (style) {
+                    Style.TONAL_SPOT ->
+                        context.getString(R.string.content_description_dynamic_color_option)
+                    Style.SPRITZ ->
+                        context.getString(R.string.content_description_neutral_color_option)
+                    Style.VIBRANT ->
+                        context.getString(R.string.content_description_vibrant_color_option)
+                    Style.EXPRESSIVE ->
+                        context.getString(R.string.content_description_expressive_color_option)
+                    else -> context.getString(R.string.content_description_dynamic_color_option)
+                }
+            builder.source = source
+            builder.style = style
+            // Color option index value starts from 1.
+            builder.index = i + 1
+            builder.isDefault = isDefault
+            builder.type = ColorType.WALLPAPER_COLOR
+            bundles.add(builder.build())
         }
     }
 
     /**
-     * Returns the colors for the light theme version of the preview of a ColorScheme based on this
-     * order: top left, top right, bottom left, bottom right
-     */
-    @ColorInt
-    private fun ColorScheme.getLightColorPreview(): IntArray {
-        return when (this.style) {
-            Style.EXPRESSIVE ->
-                intArrayOf(
-                    setAlphaComponent(this.accent1.s100, ALPHA_MASK),
-                    setAlphaComponent(this.accent1.s100, ALPHA_MASK),
-                    ColorStateList.valueOf(this.neutral2.s500).withLStar(80f).colors[0],
-                    setAlphaComponent(this.accent2.s500, ALPHA_MASK)
-                )
-            else ->
-                intArrayOf(
-                    setAlphaComponent(this.accent1.s100, ALPHA_MASK),
-                    setAlphaComponent(this.accent1.s100, ALPHA_MASK),
-                    ColorStateList.valueOf(this.accent3.s500).withLStar(85f).colors[0],
-                    setAlphaComponent(this.accent1.s500, ALPHA_MASK)
-                )
-        }
-    }
-
-    /**
-     * Returns the color for the dark theme version of the preview of a ColorScheme based on this
-     * order: top left, top right, bottom left, bottom right
-     */
-    @ColorInt
-    private fun ColorScheme.getDarkColorPreview(): IntArray {
-        return getLightColorPreview()
-    }
-
-    /**
      * Returns the light theme version of the Revamped UI preview of a ColorScheme based on this
      * order: top left, top right, bottom left, bottom right
      *
@@ -334,7 +251,7 @@
      * LStar 85, and Tertiary LStar 70
      */
     @ColorInt
-    private fun getRevampedUILightColorPreview(colorScheme: ColorScheme): IntArray {
+    private fun getLightColorPreview(colorScheme: ColorScheme): IntArray {
         return intArrayOf(
             setAlphaComponent(colorScheme.accent1.s600, ALPHA_MASK),
             setAlphaComponent(colorScheme.accent1.s600, ALPHA_MASK),
@@ -351,7 +268,7 @@
      * 35, and Tertiary LStar 70
      */
     @ColorInt
-    private fun getRevampedUIDarkColorPreview(colorScheme: ColorScheme): IntArray {
+    private fun getDarkColorPreview(colorScheme: ColorScheme): IntArray {
         return intArrayOf(
             setAlphaComponent(colorScheme.accent1.s200, ALPHA_MASK),
             setAlphaComponent(colorScheme.accent1.s200, ALPHA_MASK),
@@ -368,7 +285,7 @@
      * LStar 85, and Tertiary LStar 70
      */
     @ColorInt
-    private fun getRevampedUILightMonochromePreview(colorScheme: ColorScheme): IntArray {
+    private fun getLightMonochromePreview(colorScheme: ColorScheme): IntArray {
         return intArrayOf(
             setAlphaComponent(colorScheme.accent1.s1000, ALPHA_MASK),
             setAlphaComponent(colorScheme.accent1.s1000, ALPHA_MASK),
@@ -385,7 +302,7 @@
      * LStar 35, and Tertiary LStar 70
      */
     @ColorInt
-    private fun getRevampedUIDarkMonochromePreview(colorScheme: ColorScheme): IntArray {
+    private fun getDarkMonochromePreview(colorScheme: ColorScheme): IntArray {
         return intArrayOf(
             setAlphaComponent(colorScheme.accent1.s10, ALPHA_MASK),
             setAlphaComponent(colorScheme.accent1.s10, ALPHA_MASK),
@@ -398,7 +315,7 @@
      * Returns the Revamped UI preview of a preset ColorScheme based on this order: top left, top
      * right, bottom left, bottom right
      */
-    private fun getRevampedUIPresetColorPreview(colorScheme: ColorScheme, seed: Int): IntArray {
+    private fun getPresetColorPreview(colorScheme: ColorScheme, seed: Int): IntArray {
         val colors =
             when (colorScheme.style) {
                 Style.FRUIT_SALAD -> intArrayOf(seed, colorScheme.accent1.s200)
@@ -414,22 +331,8 @@
         )
     }
 
-    private fun ColorScheme.getPresetColorPreview(seed: Int): IntArray {
-        return when (this.style) {
-            Style.FRUIT_SALAD -> intArrayOf(seed, this.accent1.s100)
-            Style.TONAL_SPOT -> intArrayOf(this.accentColor, this.accentColor)
-            Style.MONOCHROMATIC ->
-                intArrayOf(
-                    setAlphaComponent(0x000000, 255),
-                    setAlphaComponent(0xFFFFFF, 255),
-                )
-            else -> intArrayOf(this.accent1.s100, this.accent1.s100)
-        }
-    }
-
-    private suspend fun loadPreset(shouldUseRevampedUi: Boolean) =
+    private suspend fun loadPreset() =
         withContext(Dispatchers.IO) {
-            val extractor = ColorBundlePreviewExtractor(mContext)
             val bundles: MutableList<ColorOption> = ArrayList()
 
             val bundleNames =
@@ -438,95 +341,50 @@
             var index = 1
             val maxPresetColors = if (themeStyleEnabled) bundleNames.size else MAX_PRESET_COLORS
 
-            if (shouldUseRevampedUi) {
-                // keep track of whether monochrome is included in preset colors to determine
-                // inclusion in wallpaper colors
-                var hasMonochrome = false
-                for (bundleName in bundleNames.take(maxPresetColors)) {
-                    if (themeStyleEnabled) {
-                        val styleName =
-                            try {
-                                getItemStringFromStub(COLOR_BUNDLE_STYLE_PREFIX, bundleName)
-                            } catch (e: Resources.NotFoundException) {
-                                null
-                            }
-                        val style =
-                            try {
-                                if (styleName != null) Style.valueOf(styleName)
-                                else Style.TONAL_SPOT
-                            } catch (e: IllegalArgumentException) {
-                                Style.TONAL_SPOT
-                            }
-
-                        if (style == Style.MONOCHROMATIC) {
-                            if (!monochromeEnabled) {
-                                continue
-                            }
-                            hasMonochrome = true
-                            monochromeBundleName = bundleName
+            // keep track of whether monochrome is included in preset colors to determine
+            // inclusion in wallpaper colors
+            var hasMonochrome = false
+            for (bundleName in bundleNames.take(maxPresetColors)) {
+                if (themeStyleEnabled) {
+                    val styleName =
+                        try {
+                            getItemStringFromStub(COLOR_BUNDLE_STYLE_PREFIX, bundleName)
+                        } catch (e: Resources.NotFoundException) {
+                            null
                         }
-                        bundles.add(buildRevampedUIPreset(bundleName, index, style))
-                    } else {
-                        bundles.add(buildRevampedUIPreset(bundleName, index, null))
-                    }
+                    val style =
+                        try {
+                            if (styleName != null) Style.valueOf(styleName) else Style.TONAL_SPOT
+                        } catch (e: IllegalArgumentException) {
+                            Style.TONAL_SPOT
+                        }
 
-                    index++
-                }
-                if (!hasMonochrome) {
-                    monochromeBundleName = null
-                }
-            } else {
-                for (bundleName in bundleNames.take(maxPresetColors)) {
-                    val builder = ColorBundle.Builder()
-                    builder.title = getItemStringFromStub(COLOR_BUNDLE_NAME_PREFIX, bundleName)
-                    builder.setIndex(index)
-                    val colorFromStub =
-                        getItemColorFromStub(COLOR_BUNDLE_MAIN_COLOR_PREFIX, bundleName)
-                    extractor.addPrimaryColor(builder, colorFromStub)
-                    extractor.addSecondaryColor(builder, colorFromStub)
-                    if (themeStyleEnabled) {
-                        val styleName =
-                            try {
-                                getItemStringFromStub(COLOR_BUNDLE_STYLE_PREFIX, bundleName)
-                            } catch (e: Resources.NotFoundException) {
-                                null
-                            }
-                        extractor.addColorStyle(builder, styleName)
-                        val style =
-                            try {
-                                if (styleName != null) Style.valueOf(styleName)
-                                else Style.TONAL_SPOT
-                            } catch (e: IllegalArgumentException) {
-                                Style.TONAL_SPOT
-                            }
-
-                        if (style == Style.MONOCHROMATIC && !monochromeEnabled) {
+                    if (style == Style.MONOCHROMATIC) {
+                        if (
+                            !InjectorProvider.getInjector()
+                                .getFlags()
+                                .isMonochromaticThemeEnabled(mContext)
+                        ) {
                             continue
                         }
-
-                        val darkColors =
-                            ColorScheme(colorFromStub, /* darkTheme= */ true, style)
-                                .getPresetColorPreview(colorFromStub)
-                        val lightColors =
-                            ColorScheme(colorFromStub, /* darkTheme= */ false, style)
-                                .getPresetColorPreview(colorFromStub)
-                        builder
-                            .setColorPrimaryDark(darkColors[0])
-                            .setColorSecondaryDark(darkColors[1])
-                        builder
-                            .setColorPrimaryLight(lightColors[0])
-                            .setColorSecondaryLight(lightColors[1])
+                        hasMonochrome = true
+                        monochromeBundleName = bundleName
                     }
-
-                    bundles.add(builder.build(mContext))
-                    index++
+                    bundles.add(buildPreset(bundleName, index, style))
+                } else {
+                    bundles.add(buildPreset(bundleName, index, null))
                 }
+
+                index++
+            }
+            if (!hasMonochrome) {
+                monochromeBundleName = null
             }
 
             colorBundles = bundles
         }
 
-    private fun buildRevampedUIPreset(
+    private fun buildPreset(
         bundleName: String,
         index: Int,
         style: Style? = null,
@@ -554,12 +412,12 @@
 
             when (style) {
                 Style.MONOCHROMATIC -> {
-                    darkColors = getRevampedUIDarkMonochromePreview(darkColorScheme)
-                    lightColors = getRevampedUILightMonochromePreview(lightColorScheme)
+                    darkColors = getDarkMonochromePreview(darkColorScheme)
+                    lightColors = getLightMonochromePreview(lightColorScheme)
                 }
                 else -> {
-                    darkColors = getRevampedUIPresetColorPreview(darkColorScheme, colorFromStub)
-                    lightColors = getRevampedUIPresetColorPreview(lightColorScheme, colorFromStub)
+                    darkColors = getPresetColorPreview(darkColorScheme, colorFromStub)
+                    lightColors = getPresetColorPreview(lightColorScheme, colorFromStub)
                 }
             }
         }
diff --git a/src/com/android/customization/model/color/ColorSeedOption.java b/src/com/android/customization/model/color/ColorSeedOption.java
deleted file mode 100644
index ed38049..0000000
--- a/src/com/android/customization/model/color/ColorSeedOption.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.color;
-
-import android.content.Context;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.graphics.PorterDuff.Mode;
-import android.view.View;
-import android.widget.ImageView;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.VisibleForTesting;
-
-import com.android.customization.model.color.ColorOptionsProvider.ColorSource;
-import com.android.systemui.monet.Style;
-import com.android.wallpaper.R;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Represents a seed color obtained from WallpaperColors, for the user to chose as their theming
- * option.
- */
-public class ColorSeedOption extends ColorOption {
-
-    private final PreviewInfo mPreviewInfo;
-    @ColorSource
-    private final String mSource;
-
-    @VisibleForTesting
-    ColorSeedOption(String title, Map<String, String> overlayPackages, boolean isDefault,
-            @ColorSource String source, Style style, int index, PreviewInfo previewInfo) {
-        super(title, overlayPackages, isDefault, style, index);
-        mSource = source;
-        mPreviewInfo = previewInfo;
-    }
-
-    @Override
-    public PreviewInfo getPreviewInfo() {
-        return mPreviewInfo;
-    }
-
-    @Override
-    public String getSource() {
-        return mSource;
-    }
-
-    @Override
-    public int getLayoutResId() {
-        return R.layout.color_option;
-    }
-
-    @Override
-    public void bindThumbnailTile(View view) {
-        Resources res = view.getContext().getResources();
-        @ColorInt int[] colors = mPreviewInfo.resolveColors(res);
-
-        for (int i = 0; i < mPreviewColorIds.length; i++) {
-            ImageView colorPreviewImageView = view.findViewById(mPreviewColorIds[i]);
-            colorPreviewImageView.getDrawable().setColorFilter(colors[i], Mode.SRC);
-        }
-
-        view.setContentDescription(getContentDescription(view.getContext()));
-    }
-
-    @Override
-    public CharSequence getContentDescription(Context context) {
-        // Override because we want all options with the same description.
-        return context.getString(R.string.wallpaper_color_title);
-    }
-
-    /**
-     * The preview information of {@link ColorOption}
-     */
-    public static class PreviewInfo implements ColorOption.PreviewInfo {
-        @ColorInt public int[] lightColors;
-        @ColorInt public int[] darkColors;
-
-        private PreviewInfo(@ColorInt int[] lightColors, @ColorInt int[] darkColors) {
-            this.lightColors = lightColors;
-            this.darkColors = darkColors;
-        }
-
-        /**
-         * Returns the colors to be applied corresponding with the current
-         * configuration's UI mode.
-         * @param res resources to read to the UI mode configuration from
-         * @return one of {@link #lightColors} or {@link #darkColors}
-         */
-        @ColorInt
-        public int[] resolveColors(Resources res) {
-            boolean night = (res.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)
-                    == Configuration.UI_MODE_NIGHT_YES;
-            return night ? darkColors : lightColors;
-        }
-
-        /**
-         * Returns the preview colors based on whether dark theme or light theme colors are
-         * requested.
-         * @param darkTheme if true, returns dark theme colors, otherwise returns light theme colors
-         * @return one of {@link #lightColors} or {@link #darkColors}
-         */
-        @ColorInt
-        public int[] resolveColors(boolean darkTheme) {
-            return darkTheme ? darkColors : lightColors;
-        }
-    }
-
-    /**
-     * The builder of ColorSeedOption
-     */
-    public static class Builder {
-        protected String mTitle;
-        @ColorInt
-        private int[] mLightColors;
-        @ColorInt
-        private int[] mDarkColors;
-        @ColorSource
-        private String mSource;
-        private boolean mIsDefault;
-        private Style mStyle = Style.TONAL_SPOT;
-        private int mIndex;
-        protected Map<String, String> mPackages = new HashMap<>();
-
-        /**
-         * Builds the ColorSeedOption
-         * @return new {@link ColorOption} object
-         */
-        public ColorSeedOption build() {
-            return new ColorSeedOption(mTitle, mPackages, mIsDefault, mSource, mStyle, mIndex,
-                    createPreviewInfo());
-        }
-
-        /**
-         * Creates preview information
-         * @return the {@link PreviewInfo} object
-         */
-        public PreviewInfo createPreviewInfo() {
-            return new PreviewInfo(mLightColors, mDarkColors);
-        }
-
-        public Map<String, String> getPackages() {
-            return Collections.unmodifiableMap(mPackages);
-        }
-
-        /**
-         * Gets title of {@link ColorOption} object
-         * @return title string
-         */
-        public String getTitle() {
-            return mTitle;
-        }
-
-        /**
-         * Sets title of bundle
-         * @param title specified title
-         * @return this of {@link ColorBundle.Builder}
-         */
-        public Builder setTitle(String title) {
-            mTitle = title;
-            return this;
-        }
-
-        /**
-         * Sets the colors for preview in light mode
-         * @param lightColors  {@link ColorInt} colors for light mode
-         * @return this of {@link Builder}
-         */
-        public Builder setLightColors(@ColorInt int[] lightColors) {
-            mLightColors = lightColors;
-            return this;
-        }
-
-        /**
-         * Sets the colors for preview in light mode
-         * @param darkColors  {@link ColorInt} colors for light mode
-         * @return this of {@link Builder}
-         */
-        public Builder setDarkColors(@ColorInt int[] darkColors) {
-            mDarkColors = darkColors;
-            return this;
-        }
-
-
-        /**
-         * Sets overlay package for bundle
-         * @param category the category of bundle
-         * @param packageName tha name of package in the category
-         * @return this of {@link Builder}
-         */
-        public Builder addOverlayPackage(String category, String packageName) {
-            mPackages.put(category, packageName);
-            return this;
-        }
-
-        /**
-         * Sets the source of this color seed
-         * @param source typically either {@link ColorOptionsProvider#COLOR_SOURCE_HOME} or
-         *              {@link ColorOptionsProvider#COLOR_SOURCE_LOCK}
-         * @return this of {@link Builder}
-         */
-        public Builder setSource(@ColorSource String source) {
-            mSource = source;
-            return this;
-        }
-
-        /**
-         * Sets the source of this color seed
-         * @param style color style of {@link Style}
-         * @return this of {@link Builder}
-         */
-        public Builder setStyle(Style style) {
-            mStyle = style;
-            return this;
-        }
-
-        /**
-         * Sets color option index of seed
-         * @param index color option index
-         * @return this of {@link ColorBundle.Builder}
-         */
-        public Builder setIndex(int index) {
-            mIndex = index;
-            return this;
-        }
-
-        /**
-         * Sets as default bundle
-         * @return this of {@link Builder}
-         */
-        public Builder asDefault() {
-            mIsDefault = true;
-            return this;
-        }
-    }
-}
diff --git a/src/com/android/customization/model/color/ThemedWallpaperColorResources.kt b/src/com/android/customization/model/color/ThemedWallpaperColorResources.kt
new file mode 100644
index 0000000..906d902
--- /dev/null
+++ b/src/com/android/customization/model/color/ThemedWallpaperColorResources.kt
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.customization.model.color
+
+import android.R
+import android.app.WallpaperColors
+import android.content.Context
+import android.provider.Settings
+import android.util.Log
+import com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_THEME_STYLE
+import com.android.systemui.monet.ColorScheme
+import com.android.systemui.monet.Style
+import org.json.JSONException
+import org.json.JSONObject
+
+class ThemedWallpaperColorResources(wallpaperColors: WallpaperColors, context: Context) :
+    WallpaperColorResources(wallpaperColors) {
+
+    init {
+        val wallpaperColorScheme =
+            ColorScheme(
+                wallpaperColors = wallpaperColors,
+                darkTheme = false,
+                style = fetchThemeStyleFromSetting(context)
+            )
+        addOverlayColor(wallpaperColorScheme.neutral1, R.color.system_neutral1_10)
+        addOverlayColor(wallpaperColorScheme.neutral2, R.color.system_neutral2_10)
+        addOverlayColor(wallpaperColorScheme.accent1, R.color.system_accent1_10)
+        addOverlayColor(wallpaperColorScheme.accent2, R.color.system_accent2_10)
+        addOverlayColor(wallpaperColorScheme.accent3, R.color.system_accent3_10)
+    }
+
+    private fun fetchThemeStyleFromSetting(context: Context): Style {
+        val overlayPackageJson =
+            Settings.Secure.getString(
+                context.contentResolver,
+                Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES,
+            )
+        return if (!overlayPackageJson.isNullOrEmpty()) {
+            try {
+                val jsonObject = JSONObject(overlayPackageJson)
+                Style.valueOf(jsonObject.getString(OVERLAY_CATEGORY_THEME_STYLE))
+            } catch (e: (JSONException)) {
+                Log.i(TAG, "Failed to parse THEME_CUSTOMIZATION_OVERLAY_PACKAGES.", e)
+                Style.TONAL_SPOT
+            } catch (e: IllegalArgumentException) {
+                Log.i(TAG, "Failed to parse THEME_CUSTOMIZATION_OVERLAY_PACKAGES.", e)
+                Style.TONAL_SPOT
+            }
+        } else {
+            Style.TONAL_SPOT
+        }
+    }
+
+    companion object {
+        private const val TAG = "ThemedWallpaperColorResources"
+    }
+}
diff --git a/src/com/android/customization/model/grid/GridOption.java b/src/com/android/customization/model/grid/GridOption.java
index a5307c9..347929c 100644
--- a/src/com/android/customization/model/grid/GridOption.java
+++ b/src/com/android/customization/model/grid/GridOption.java
@@ -15,14 +15,11 @@
  */
 package com.android.customization.model.grid;
 
-import android.content.Context;
-import android.graphics.PorterDuff.Mode;
 import android.net.Uri;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
 import android.view.View;
-import android.widget.ImageView;
 
 import androidx.annotation.Nullable;
 
@@ -30,7 +27,6 @@
 import com.android.customization.model.CustomizationOption;
 import com.android.customization.widget.GridTileDrawable;
 import com.android.wallpaper.R;
-import com.android.wallpaper.util.ResourceUtils;
 
 /**
  * Represents a grid layout option available in the current launcher.
@@ -94,21 +90,7 @@
 
     @Override
     public void bindThumbnailTile(View view) {
-        Context context = view.getContext();
-
-        int colorFilter = ResourceUtils.getColorAttr(context,
-                view.isActivated()
-                        ? (mIsCurrent
-                            ? android.R.attr.textColorPrimary
-                            : android.R.attr.textColorPrimaryInverse)
-                        : android.R.attr.textColorTertiary);
-        mTileDrawable.setColorFilter(colorFilter, Mode.SRC_ATOP);
-        ((ImageView) view.findViewById(R.id.grid_option_thumbnail))
-                .setImageDrawable(mTileDrawable);
-
-        int backgroundResource = view.isActivated() && !mIsCurrent
-                ? R.drawable.option_border_new_selection : R.drawable.option_border;
-        view.findViewById(R.id.option_tile).setBackgroundResource(backgroundResource);
+        // Do nothing. This function will no longer be used in the Revamped UI
     }
 
     @Override
diff --git a/src/com/android/customization/model/grid/GridOptionViewModel.java b/src/com/android/customization/model/grid/GridOptionViewModel.java
deleted file mode 100644
index 33fa8e179..0000000
--- a/src/com/android/customization/model/grid/GridOptionViewModel.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.grid;
-
-import androidx.lifecycle.SavedStateHandle;
-import androidx.lifecycle.ViewModel;
-
-/** The class to store status of the grid fragment view. */
-public class GridOptionViewModel extends ViewModel {
-    private static final String SELECTED_OPTION_KEY = "selected_option";
-    private static final String BOTTOM_ACTION_BAR_VISIBLE_KEY = "bottom_action_bar_visible";
-
-    private SavedStateHandle mState;
-
-    public GridOptionViewModel(SavedStateHandle savedStateHandle) {
-        mState = savedStateHandle;
-    }
-
-    /** Gets selected {@link GridOption} from {@link SavedStateHandle} */
-    public GridOption getSelectedOption() {
-        return mState.get(SELECTED_OPTION_KEY);
-    }
-
-    /** Sets selected {@link GridOption} to {@link SavedStateHandle} */
-    public void setSelectedOption(GridOption selectedOption) {
-        mState.set(SELECTED_OPTION_KEY, selectedOption);
-    }
-
-    /** Gets bottom action bar visible from {@link SavedStateHandle} */
-    public boolean getBottomActionBarVisible() {
-        return mState.contains(BOTTOM_ACTION_BAR_VISIBLE_KEY)
-                ? mState.get(BOTTOM_ACTION_BAR_VISIBLE_KEY)
-                : false;
-    }
-
-    /** Sets bottom action bar visible to {@link SavedStateHandle} */
-    public void setBottomActionBarVisible(boolean bottomActionBarVisible) {
-        mState.set(BOTTOM_ACTION_BAR_VISIBLE_KEY, bottomActionBarVisible);
-    }
-}
diff --git a/src/com/android/customization/model/grid/GridOptionsManager.java b/src/com/android/customization/model/grid/GridOptionsManager.java
index 78dbb5b..bd24cf5 100644
--- a/src/com/android/customization/model/grid/GridOptionsManager.java
+++ b/src/com/android/customization/model/grid/GridOptionsManager.java
@@ -27,7 +27,7 @@
 
 import com.android.customization.model.CustomizationManager;
 import com.android.customization.module.CustomizationInjector;
-import com.android.customization.module.ThemesUserEventLogger;
+import com.android.customization.module.logging.ThemesUserEventLogger;
 import com.android.wallpaper.R;
 import com.android.wallpaper.module.InjectorProvider;
 import com.android.wallpaper.util.PreviewUtils;
diff --git a/src/com/android/customization/model/mode/DarkModeSectionController.java b/src/com/android/customization/model/mode/DarkModeSectionController.java
index ebeaa56..7139829 100644
--- a/src/com/android/customization/model/mode/DarkModeSectionController.java
+++ b/src/com/android/customization/model/mode/DarkModeSectionController.java
@@ -39,6 +39,7 @@
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 
+import com.android.customization.module.logging.ThemesUserEventLogger;
 import com.android.customization.picker.mode.DarkModeSectionView;
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.CustomizationSectionController;
@@ -60,16 +61,19 @@
     private Context mContext;
     private DarkModeSectionView mDarkModeSectionView;
     private final DarkModeSnapshotRestorer mSnapshotRestorer;
+    private final ThemesUserEventLogger mThemesUserEventLogger;
 
     public DarkModeSectionController(
             Context context,
             Lifecycle lifecycle,
-            DarkModeSnapshotRestorer snapshotRestorer) {
+            DarkModeSnapshotRestorer snapshotRestorer,
+            ThemesUserEventLogger themesUserEventLogger) {
         mContext = context;
         mLifecycle = lifecycle;
         mPowerManager = context.getSystemService(PowerManager.class);
         mLifecycle.addObserver(this);
         mSnapshotRestorer = snapshotRestorer;
+        mThemesUserEventLogger = themesUserEventLogger;
     }
 
     @OnLifecycleEvent(Lifecycle.Event.ON_START)
@@ -137,6 +141,7 @@
                     mDarkModeSectionView.announceForAccessibility(
                             context.getString(R.string.mode_changed));
                     uiModeManager.setNightModeActivated(viewActivated);
+                    mThemesUserEventLogger.logDarkThemeApplied(viewActivated);
                     mSnapshotRestorer.store(viewActivated);
                 },
                 /* delayMillis= */ shortDelay);
diff --git a/src/com/android/customization/model/theme/DefaultThemeProvider.java b/src/com/android/customization/model/theme/DefaultThemeProvider.java
deleted file mode 100644
index 89067c6..0000000
--- a/src/com/android/customization/model/theme/DefaultThemeProvider.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme;
-
-import static com.android.customization.model.ResourceConstants.ANDROID_PACKAGE;
-import static com.android.customization.model.ResourceConstants.ICONS_FOR_PREVIEW;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_FONT;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_ANDROID;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_LAUNCHER;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SETTINGS;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SYSUI;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_THEMEPICKER;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
-import static com.android.customization.model.ResourceConstants.SYSUI_PACKAGE;
-
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.Resources.NotFoundException;
-import android.graphics.drawable.Drawable;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.annotation.Nullable;
-
-import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
-import com.android.customization.model.ResourcesApkProvider;
-import com.android.customization.model.theme.ThemeBundle.Builder;
-import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
-import com.android.customization.model.theme.custom.CustomTheme;
-import com.android.customization.module.CustomizationPreferences;
-import com.android.wallpaper.R;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Default implementation of {@link ThemeBundleProvider} that reads Themes' overlays from a stub APK.
- */
-public class DefaultThemeProvider extends ResourcesApkProvider implements ThemeBundleProvider {
-
-    private static final String TAG = "DefaultThemeProvider";
-
-    private static final String THEMES_ARRAY = "themes";
-    private static final String TITLE_PREFIX = "theme_title_";
-    private static final String FONT_PREFIX = "theme_overlay_font_";
-    private static final String COLOR_PREFIX = "theme_overlay_color_";
-    private static final String SHAPE_PREFIX = "theme_overlay_shape_";
-    private static final String ICON_ANDROID_PREFIX = "theme_overlay_icon_android_";
-    private static final String ICON_LAUNCHER_PREFIX = "theme_overlay_icon_launcher_";
-    private static final String ICON_THEMEPICKER_PREFIX = "theme_overlay_icon_themepicker_";
-    private static final String ICON_SETTINGS_PREFIX = "theme_overlay_icon_settings_";
-    private static final String ICON_SYSUI_PREFIX = "theme_overlay_icon_sysui_";
-
-    private static final String DEFAULT_THEME_NAME= "default";
-    private static final String THEME_TITLE_FIELD = "_theme_title";
-    private static final String THEME_ID_FIELD = "_theme_id";
-
-    private final OverlayThemeExtractor mOverlayProvider;
-    private List<ThemeBundle> mThemes;
-    private final CustomizationPreferences mCustomizationPreferences;
-
-    public DefaultThemeProvider(Context context, CustomizationPreferences customizationPrefs) {
-        super(context, context.getString(R.string.themes_stub_package));
-        mOverlayProvider = new OverlayThemeExtractor(context);
-        mCustomizationPreferences = customizationPrefs;
-    }
-
-    @Override
-    public void fetch(OptionsFetchedListener<ThemeBundle> callback, boolean reload) {
-        if (mThemes == null || reload) {
-            mThemes = new ArrayList<>();
-            loadAll();
-        }
-
-        if(callback != null) {
-            callback.onOptionsLoaded(mThemes);
-        }
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mOverlayProvider.isAvailable() && super.isAvailable();
-    }
-
-    private void loadAll() {
-        // Add "Custom" option at the beginning.
-        mThemes.add(new CustomTheme.Builder()
-                .setId(CustomTheme.newId())
-                .setTitle(mContext.getString(R.string.custom_theme))
-                .build(mContext));
-
-        addDefaultTheme();
-
-        String[] themeNames = getItemsFromStub(THEMES_ARRAY);
-
-        for (String themeName : themeNames) {
-            // Default theme needs special treatment (see #addDefaultTheme())
-            if (DEFAULT_THEME_NAME.equals(themeName)) {
-                continue;
-            }
-            ThemeBundle.Builder builder = new Builder();
-            try {
-                builder.setTitle(mStubApkResources.getString(
-                        mStubApkResources.getIdentifier(TITLE_PREFIX + themeName,
-                                "string", mStubPackageName)));
-
-                String shapeOverlayPackage = getOverlayPackage(SHAPE_PREFIX, themeName);
-                mOverlayProvider.addShapeOverlay(builder, shapeOverlayPackage);
-
-                String fontOverlayPackage = getOverlayPackage(FONT_PREFIX, themeName);
-                mOverlayProvider.addFontOverlay(builder, fontOverlayPackage);
-
-                String colorOverlayPackage = getOverlayPackage(COLOR_PREFIX, themeName);
-                mOverlayProvider.addColorOverlay(builder, colorOverlayPackage);
-
-                String iconAndroidOverlayPackage = getOverlayPackage(ICON_ANDROID_PREFIX,
-                        themeName);
-
-                mOverlayProvider.addAndroidIconOverlay(builder, iconAndroidOverlayPackage);
-
-                String iconSysUiOverlayPackage = getOverlayPackage(ICON_SYSUI_PREFIX, themeName);
-
-                mOverlayProvider.addSysUiIconOverlay(builder, iconSysUiOverlayPackage);
-
-                String iconLauncherOverlayPackage = getOverlayPackage(ICON_LAUNCHER_PREFIX,
-                        themeName);
-                mOverlayProvider.addNoPreviewIconOverlay(builder, iconLauncherOverlayPackage);
-
-                String iconThemePickerOverlayPackage = getOverlayPackage(ICON_THEMEPICKER_PREFIX,
-                        themeName);
-                mOverlayProvider.addNoPreviewIconOverlay(builder,
-                        iconThemePickerOverlayPackage);
-
-                String iconSettingsOverlayPackage = getOverlayPackage(ICON_SETTINGS_PREFIX,
-                        themeName);
-
-                mOverlayProvider.addNoPreviewIconOverlay(builder, iconSettingsOverlayPackage);
-
-                mThemes.add(builder.build(mContext));
-            } catch (NameNotFoundException | NotFoundException e) {
-                Log.w(TAG, String.format("Couldn't load part of theme %s, will skip it", themeName),
-                        e);
-            }
-        }
-
-        addCustomThemes();
-    }
-
-    /**
-     * Default theme requires different treatment: if there are overlay packages specified in the
-     * stub apk, we'll use those, otherwise we'll get the System default values. But we cannot skip
-     * the default theme.
-     */
-    private void addDefaultTheme() {
-        ThemeBundle.Builder builder = new Builder().asDefault();
-
-        int titleId = mStubApkResources.getIdentifier(TITLE_PREFIX + DEFAULT_THEME_NAME,
-                "string", mStubPackageName);
-        if (titleId > 0) {
-            builder.setTitle(mStubApkResources.getString(titleId));
-        } else {
-            builder.setTitle(mContext.getString(R.string.default_theme_title));
-        }
-
-        try {
-            String colorOverlayPackage = getOverlayPackage(COLOR_PREFIX, DEFAULT_THEME_NAME);
-            mOverlayProvider.addColorOverlay(builder, colorOverlayPackage);
-        } catch (NameNotFoundException | NotFoundException e) {
-            Log.d(TAG, "Didn't find color overlay for default theme, will use system default");
-            mOverlayProvider.addSystemDefaultColor(builder);
-        }
-
-        try {
-            String fontOverlayPackage = getOverlayPackage(FONT_PREFIX, DEFAULT_THEME_NAME);
-            mOverlayProvider.addFontOverlay(builder, fontOverlayPackage);
-        } catch (NameNotFoundException | NotFoundException e) {
-            Log.d(TAG, "Didn't find font overlay for default theme, will use system default");
-            mOverlayProvider.addSystemDefaultFont(builder);
-        }
-
-        try {
-            String shapeOverlayPackage = getOverlayPackage(SHAPE_PREFIX, DEFAULT_THEME_NAME);
-            mOverlayProvider.addShapeOverlay(builder ,shapeOverlayPackage, false);
-        } catch (NameNotFoundException | NotFoundException e) {
-            Log.d(TAG, "Didn't find shape overlay for default theme, will use system default");
-            mOverlayProvider.addSystemDefaultShape(builder);
-        }
-
-        List<ShapeAppIcon> icons = new ArrayList<>();
-        for (String packageName : mOverlayProvider.getShapePreviewIconPackages()) {
-            Drawable icon = null;
-            CharSequence name = null;
-            try {
-                icon = mContext.getPackageManager().getApplicationIcon(packageName);
-                ApplicationInfo appInfo = mContext.getPackageManager()
-                        .getApplicationInfo(packageName, /* flag= */ 0);
-                name = mContext.getPackageManager().getApplicationLabel(appInfo);
-            } catch (NameNotFoundException e) {
-                Log.d(TAG, "Couldn't find app " + packageName + ", won't use it for icon shape"
-                        + "preview");
-            } finally {
-                if (icon != null && !TextUtils.isEmpty(name)) {
-                    icons.add(new ShapeAppIcon(icon, name));
-                }
-            }
-        }
-        builder.setShapePreviewIcons(icons);
-
-        try {
-            String iconAndroidOverlayPackage = getOverlayPackage(ICON_ANDROID_PREFIX,
-                    DEFAULT_THEME_NAME);
-            mOverlayProvider.addAndroidIconOverlay(builder, iconAndroidOverlayPackage);
-        } catch (NameNotFoundException | NotFoundException e) {
-            Log.d(TAG, "Didn't find Android icons overlay for default theme, using system default");
-            mOverlayProvider.addSystemDefaultIcons(builder, ANDROID_PACKAGE, ICONS_FOR_PREVIEW);
-        }
-
-        try {
-            String iconSysUiOverlayPackage = getOverlayPackage(ICON_SYSUI_PREFIX,
-                    DEFAULT_THEME_NAME);
-            mOverlayProvider.addSysUiIconOverlay(builder, iconSysUiOverlayPackage);
-        } catch (NameNotFoundException | NotFoundException e) {
-            Log.d(TAG,
-                    "Didn't find SystemUi icons overlay for default theme, using system default");
-            mOverlayProvider.addSystemDefaultIcons(builder, SYSUI_PACKAGE, ICONS_FOR_PREVIEW);
-        }
-
-        mThemes.add(builder.build(mContext));
-    }
-
-    @Override
-    public void storeCustomTheme(CustomTheme theme) {
-        if (mThemes == null) {
-            fetch(options -> {
-                addCustomThemeAndStore(theme);
-            }, false);
-        } else {
-            addCustomThemeAndStore(theme);
-        }
-    }
-
-    private void addCustomThemeAndStore(CustomTheme theme) {
-        if (!mThemes.contains(theme)) {
-            mThemes.add(theme);
-        } else {
-            mThemes.replaceAll(t -> theme.equals(t) ? theme : t);
-        }
-        JSONArray themesArray = new JSONArray();
-        mThemes.stream()
-                .filter(themeBundle -> themeBundle instanceof CustomTheme
-                        && !themeBundle.getPackagesByCategory().isEmpty())
-                .forEachOrdered(themeBundle -> addThemeBundleToArray(themesArray, themeBundle));
-        mCustomizationPreferences.storeCustomThemes(themesArray.toString());
-    }
-
-    private void addThemeBundleToArray(JSONArray themesArray, ThemeBundle themeBundle) {
-        JSONObject jsonPackages = themeBundle.getJsonPackages(false);
-        try {
-            jsonPackages.put(THEME_TITLE_FIELD, themeBundle.getTitle());
-            if (themeBundle instanceof CustomTheme) {
-                jsonPackages.put(THEME_ID_FIELD, ((CustomTheme)themeBundle).getId());
-            }
-        } catch (JSONException e) {
-            Log.w("Exception saving theme's title", e);
-        }
-        themesArray.put(jsonPackages);
-    }
-
-    @Override
-    public void removeCustomTheme(CustomTheme theme) {
-        JSONArray themesArray = new JSONArray();
-        mThemes.stream()
-                .filter(themeBundle -> themeBundle instanceof CustomTheme
-                        && ((CustomTheme) themeBundle).isDefined())
-                .forEachOrdered(customTheme -> {
-                    if (!customTheme.equals(theme)) {
-                        addThemeBundleToArray(themesArray, customTheme);
-                    }
-                });
-        mCustomizationPreferences.storeCustomThemes(themesArray.toString());
-    }
-
-    private void addCustomThemes() {
-        String serializedThemes = mCustomizationPreferences.getSerializedCustomThemes();
-        int customThemesCount = 0;
-        if (!TextUtils.isEmpty(serializedThemes)) {
-            try {
-                JSONArray customThemes = new JSONArray(serializedThemes);
-                for (int i = 0; i < customThemes.length(); i++) {
-                    JSONObject jsonTheme = customThemes.getJSONObject(i);
-                    CustomTheme.Builder builder = new CustomTheme.Builder();
-                    try {
-                        convertJsonToBuilder(jsonTheme, builder);
-                    } catch (NameNotFoundException | NotFoundException e) {
-                        Log.i(TAG, "Couldn't parse serialized custom theme", e);
-                        builder = null;
-                    }
-                    if (builder != null) {
-                        if (TextUtils.isEmpty(builder.getTitle())) {
-                            builder.setTitle(mContext.getString(R.string.custom_theme_title,
-                                    customThemesCount + 1));
-                        }
-                        mThemes.add(builder.build(mContext));
-                    } else {
-                        Log.w(TAG, "Couldn't read stored custom theme, resetting");
-                        mThemes.add(new CustomTheme.Builder()
-                                .setId(CustomTheme.newId())
-                                .setTitle(mContext.getString(
-                                        R.string.custom_theme_title, customThemesCount + 1))
-                                .build(mContext));
-                    }
-                    customThemesCount++;
-                }
-            } catch (JSONException e) {
-                Log.w(TAG, "Couldn't read stored custom theme, resetting", e);
-                mThemes.add(new CustomTheme.Builder()
-                        .setId(CustomTheme.newId())
-                        .setTitle(mContext.getString(
-                                R.string.custom_theme_title, customThemesCount + 1))
-                        .build(mContext));
-            }
-        }
-    }
-
-    @Nullable
-    @Override
-    public ThemeBundle.Builder parseThemeBundle(String serializedTheme) throws JSONException {
-        JSONObject theme = new JSONObject(serializedTheme);
-        try {
-            ThemeBundle.Builder builder = new ThemeBundle.Builder();
-            convertJsonToBuilder(theme, builder);
-            return builder;
-        } catch (NameNotFoundException | NotFoundException e) {
-            Log.i(TAG, "Couldn't parse serialized custom theme", e);
-            return null;
-        }
-    }
-
-    @Nullable
-    @Override
-    public CustomTheme.Builder parseCustomTheme(String serializedTheme) throws JSONException {
-        JSONObject theme = new JSONObject(serializedTheme);
-        try {
-            CustomTheme.Builder builder = new CustomTheme.Builder();
-            convertJsonToBuilder(theme, builder);
-            return builder;
-        } catch (NameNotFoundException | NotFoundException e) {
-            Log.i(TAG, "Couldn't parse serialized custom theme", e);
-            return null;
-        }
-    }
-
-    private void convertJsonToBuilder(JSONObject theme, ThemeBundle.Builder builder)
-            throws JSONException, NameNotFoundException, NotFoundException {
-        Map<String, String> customPackages = new HashMap<>();
-        Iterator<String> keysIterator = theme.keys();
-
-        while (keysIterator.hasNext()) {
-            String category = keysIterator.next();
-            customPackages.put(category, theme.getString(category));
-        }
-        mOverlayProvider.addShapeOverlay(builder,
-                customPackages.get(OVERLAY_CATEGORY_SHAPE));
-        mOverlayProvider.addFontOverlay(builder,
-                customPackages.get(OVERLAY_CATEGORY_FONT));
-        mOverlayProvider.addColorOverlay(builder,
-                customPackages.get(OVERLAY_CATEGORY_COLOR));
-        mOverlayProvider.addAndroidIconOverlay(builder,
-                customPackages.get(OVERLAY_CATEGORY_ICON_ANDROID));
-        mOverlayProvider.addSysUiIconOverlay(builder,
-                customPackages.get(OVERLAY_CATEGORY_ICON_SYSUI));
-        mOverlayProvider.addNoPreviewIconOverlay(builder,
-                customPackages.get(OVERLAY_CATEGORY_ICON_SETTINGS));
-        mOverlayProvider.addNoPreviewIconOverlay(builder,
-                customPackages.get(OVERLAY_CATEGORY_ICON_LAUNCHER));
-        mOverlayProvider.addNoPreviewIconOverlay(builder,
-                customPackages.get(OVERLAY_CATEGORY_ICON_THEMEPICKER));
-        if (theme.has(THEME_TITLE_FIELD)) {
-            builder.setTitle(theme.getString(THEME_TITLE_FIELD));
-        }
-        if (builder instanceof CustomTheme.Builder && theme.has(THEME_ID_FIELD)) {
-            ((CustomTheme.Builder) builder).setId(theme.getString(THEME_ID_FIELD));
-        }
-    }
-
-    @Override
-    public ThemeBundle findEquivalent(ThemeBundle other) {
-        if (mThemes == null) {
-            return null;
-        }
-        for (ThemeBundle theme : mThemes) {
-            if (theme.isEquivalent(other)) {
-                return theme;
-            }
-        }
-        return null;
-    }
-
-    private String getOverlayPackage(String prefix, String themeName) {
-        return getItemStringFromStub(prefix, themeName);
-    }
-}
diff --git a/src/com/android/customization/model/theme/OverlayThemeExtractor.java b/src/com/android/customization/model/theme/OverlayThemeExtractor.java
deleted file mode 100644
index 816176e..0000000
--- a/src/com/android/customization/model/theme/OverlayThemeExtractor.java
+++ /dev/null
@@ -1,293 +0,0 @@
-package com.android.customization.model.theme;
-
-import static com.android.customization.model.ResourceConstants.ANDROID_PACKAGE;
-import static com.android.customization.model.ResourceConstants.ICONS_FOR_PREVIEW;
-import static com.android.customization.model.ResourceConstants.SETTINGS_PACKAGE;
-import static com.android.customization.model.ResourceConstants.SYSUI_PACKAGE;
-
-import android.content.Context;
-import android.content.om.OverlayInfo;
-import android.content.om.OverlayManager;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.Resources;
-import android.content.res.Resources.NotFoundException;
-import android.graphics.Typeface;
-import android.graphics.drawable.Drawable;
-import android.os.UserHandle;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.annotation.Dimension;
-import androidx.annotation.Nullable;
-
-import com.android.customization.model.ResourceConstants;
-import com.android.customization.model.theme.ThemeBundle.Builder;
-import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
-import com.android.wallpaper.R;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Consumer;
-
-class OverlayThemeExtractor {
-
-    private static final String TAG = "OverlayThemeExtractor";
-
-    private final Context mContext;
-    private final Map<String, OverlayInfo> mOverlayInfos = new HashMap<>();
-    // List of packages
-    private final String[] mShapePreviewIconPackages;
-
-    OverlayThemeExtractor(Context context) {
-        mContext = context;
-        OverlayManager om = context.getSystemService(OverlayManager.class);
-        if (om != null) {
-            Consumer<OverlayInfo> addToMap = overlayInfo -> mOverlayInfos.put(
-                    overlayInfo.getPackageName(), overlayInfo);
-
-            UserHandle user = UserHandle.of(UserHandle.myUserId());
-            om.getOverlayInfosForTarget(ANDROID_PACKAGE, user).forEach(addToMap);
-            om.getOverlayInfosForTarget(SYSUI_PACKAGE, user).forEach(addToMap);
-            om.getOverlayInfosForTarget(SETTINGS_PACKAGE, user).forEach(addToMap);
-            om.getOverlayInfosForTarget(ResourceConstants.getLauncherPackage(context), user)
-                    .forEach(addToMap);
-            om.getOverlayInfosForTarget(context.getPackageName(), user).forEach(addToMap);
-        }
-        mShapePreviewIconPackages = context.getResources().getStringArray(
-                R.array.icon_shape_preview_packages);
-    }
-
-    boolean isAvailable() {
-        return !mOverlayInfos.isEmpty();
-    }
-
-    void addColorOverlay(Builder builder, String colorOverlayPackage)
-            throws NameNotFoundException {
-        if (!TextUtils.isEmpty(colorOverlayPackage)) {
-            builder.addOverlayPackage(getOverlayCategory(colorOverlayPackage),
-                    colorOverlayPackage)
-                    .setColorAccentLight(loadColor(ResourceConstants.ACCENT_COLOR_LIGHT_NAME,
-                            colorOverlayPackage))
-                    .setColorAccentDark(loadColor(ResourceConstants.ACCENT_COLOR_DARK_NAME,
-                            colorOverlayPackage));
-        } else {
-            addSystemDefaultColor(builder);
-        }
-    }
-
-    void addShapeOverlay(Builder builder, String shapeOverlayPackage)
-            throws NameNotFoundException {
-        addShapeOverlay(builder, shapeOverlayPackage, true);
-    }
-
-    void addShapeOverlay(Builder builder, String shapeOverlayPackage, boolean addPreview)
-            throws NameNotFoundException {
-        if (!TextUtils.isEmpty(shapeOverlayPackage)) {
-            builder.addOverlayPackage(getOverlayCategory(shapeOverlayPackage),
-                    shapeOverlayPackage)
-                    .setShapePath(
-                            loadString(ResourceConstants.CONFIG_ICON_MASK, shapeOverlayPackage))
-                    .setBottomSheetCornerRadius(
-                            loadDimen(ResourceConstants.CONFIG_CORNERRADIUS, shapeOverlayPackage));
-        } else {
-            addSystemDefaultShape(builder);
-        }
-        if (addPreview) {
-            addShapePreviewIcons(builder);
-        }
-    }
-
-    private void addShapePreviewIcons(Builder builder) {
-        List<ShapeAppIcon> icons = new ArrayList<>();
-        for (String packageName : mShapePreviewIconPackages) {
-            Drawable icon = null;
-            CharSequence name = null;
-            try {
-                icon = mContext.getPackageManager().getApplicationIcon(packageName);
-                // Add the shape icon app name.
-                ApplicationInfo appInfo = mContext.getPackageManager()
-                        .getApplicationInfo(packageName, /* flag= */ 0);
-                name = mContext.getPackageManager().getApplicationLabel(appInfo);
-            } catch (NameNotFoundException e) {
-                Log.d(TAG, "Couldn't find app " + packageName
-                        + ", won't use it for icon shape preview");
-            } finally {
-                if (icon != null && !TextUtils.isEmpty(name)) {
-                    icons.add(new ShapeAppIcon(icon, name));
-                }
-            }
-        }
-        builder.setShapePreviewIcons(icons);
-    }
-
-    void addNoPreviewIconOverlay(Builder builder, String overlayPackage) {
-        if (!TextUtils.isEmpty(overlayPackage)) {
-            builder.addOverlayPackage(getOverlayCategory(overlayPackage),
-                    overlayPackage);
-        }
-    }
-
-    void addSysUiIconOverlay(Builder builder, String iconSysUiOverlayPackage)
-            throws NameNotFoundException {
-        if (!TextUtils.isEmpty(iconSysUiOverlayPackage)) {
-            addIconOverlay(builder, iconSysUiOverlayPackage);
-        }
-    }
-
-    void addAndroidIconOverlay(Builder builder, String iconAndroidOverlayPackage)
-            throws NameNotFoundException {
-        if (!TextUtils.isEmpty(iconAndroidOverlayPackage)) {
-            addIconOverlay(builder, iconAndroidOverlayPackage, ICONS_FOR_PREVIEW);
-        } else {
-            addSystemDefaultIcons(builder, ANDROID_PACKAGE, ICONS_FOR_PREVIEW);
-        }
-    }
-
-    void addIconOverlay(Builder builder, String packageName, String... previewIcons)
-            throws NameNotFoundException {
-        builder.addOverlayPackage(getOverlayCategory(packageName), packageName);
-        for (String iconName : previewIcons) {
-            builder.addIcon(loadIconPreviewDrawable(iconName, packageName, false));
-        }
-    }
-
-    void addFontOverlay(Builder builder, String fontOverlayPackage)
-            throws NameNotFoundException {
-        if (!TextUtils.isEmpty(fontOverlayPackage)) {
-            builder.addOverlayPackage(getOverlayCategory(fontOverlayPackage),
-                    fontOverlayPackage)
-                    .setBodyFontFamily(loadTypeface(
-                            ResourceConstants.CONFIG_BODY_FONT_FAMILY,
-                            fontOverlayPackage))
-                    .setHeadlineFontFamily(loadTypeface(
-                            ResourceConstants.CONFIG_HEADLINE_FONT_FAMILY,
-                            fontOverlayPackage));
-        } else {
-            addSystemDefaultFont(builder);
-        }
-    }
-
-    void addSystemDefaultIcons(Builder builder, String packageName,
-            String... previewIcons) {
-        try {
-            for (String iconName : previewIcons) {
-                builder.addIcon(loadIconPreviewDrawable(iconName, packageName, true));
-            }
-        } catch (NameNotFoundException | NotFoundException e) {
-            Log.w(TAG, "Didn't find android package icons, will skip preview", e);
-        }
-    }
-
-    void addSystemDefaultShape(Builder builder) {
-        Resources system = Resources.getSystem();
-        String iconMaskPath = system.getString(
-                system.getIdentifier(ResourceConstants.CONFIG_ICON_MASK,
-                        "string", ResourceConstants.ANDROID_PACKAGE));
-        builder.setShapePath(iconMaskPath)
-                .setBottomSheetCornerRadius(
-                        system.getDimensionPixelOffset(
-                                system.getIdentifier(ResourceConstants.CONFIG_CORNERRADIUS,
-                                        "dimen", ResourceConstants.ANDROID_PACKAGE)));
-    }
-
-    void addSystemDefaultColor(Builder builder) {
-        Resources system = Resources.getSystem();
-        int colorAccentLight = system.getColor(
-                system.getIdentifier(ResourceConstants.ACCENT_COLOR_LIGHT_NAME, "color",
-                        ResourceConstants.ANDROID_PACKAGE), null);
-        builder.setColorAccentLight(colorAccentLight);
-
-        int colorAccentDark = system.getColor(
-                system.getIdentifier(ResourceConstants.ACCENT_COLOR_DARK_NAME, "color",
-                        ResourceConstants.ANDROID_PACKAGE), null);
-        builder.setColorAccentDark(colorAccentDark);
-    }
-
-    void addSystemDefaultFont(Builder builder) {
-        Resources system = Resources.getSystem();
-        String headlineFontFamily = system.getString(system.getIdentifier(
-                ResourceConstants.CONFIG_HEADLINE_FONT_FAMILY, "string",
-                ResourceConstants.ANDROID_PACKAGE));
-        String bodyFontFamily = system.getString(system.getIdentifier(
-                ResourceConstants.CONFIG_BODY_FONT_FAMILY,
-                "string", ResourceConstants.ANDROID_PACKAGE));
-        builder.setHeadlineFontFamily(Typeface.create(headlineFontFamily, Typeface.NORMAL))
-                .setBodyFontFamily(Typeface.create(bodyFontFamily, Typeface.NORMAL));
-    }
-
-    Typeface loadTypeface(String configName, String fontOverlayPackage)
-            throws NameNotFoundException, NotFoundException {
-
-        // TODO(santie): check for font being present in system
-
-        Resources overlayRes = mContext.getPackageManager()
-                .getResourcesForApplication(fontOverlayPackage);
-
-        String fontFamily = overlayRes.getString(overlayRes.getIdentifier(configName,
-                "string", fontOverlayPackage));
-        return Typeface.create(fontFamily, Typeface.NORMAL);
-    }
-
-    int loadColor(String colorName, String colorPackage)
-            throws NameNotFoundException, NotFoundException {
-
-        Resources overlayRes = mContext.getPackageManager()
-                .getResourcesForApplication(colorPackage);
-        return overlayRes.getColor(overlayRes.getIdentifier(colorName, "color", colorPackage),
-                null);
-    }
-
-    String loadString(String stringName, String packageName)
-            throws NameNotFoundException, NotFoundException {
-
-        Resources overlayRes =
-                mContext.getPackageManager().getResourcesForApplication(
-                        packageName);
-        return overlayRes.getString(overlayRes.getIdentifier(stringName, "string", packageName));
-    }
-
-    @Dimension
-    int loadDimen(String dimenName, String packageName)
-            throws NameNotFoundException, NotFoundException {
-
-        Resources overlayRes =
-                mContext.getPackageManager().getResourcesForApplication(
-                        packageName);
-        return overlayRes.getDimensionPixelOffset(overlayRes.getIdentifier(
-                dimenName, "dimen", packageName));
-    }
-
-    boolean loadBoolean(String booleanName, String packageName)
-            throws NameNotFoundException, NotFoundException {
-
-        Resources overlayRes =
-                mContext.getPackageManager().getResourcesForApplication(
-                        packageName);
-        return overlayRes.getBoolean(overlayRes.getIdentifier(
-                booleanName, "boolean", packageName));
-    }
-
-    Drawable loadIconPreviewDrawable(String drawableName, String packageName,
-            boolean fromSystem) throws NameNotFoundException, NotFoundException {
-
-        Resources packageRes =
-                mContext.getPackageManager().getResourcesForApplication(
-                        packageName);
-        Resources res = fromSystem ? Resources.getSystem() : packageRes;
-        return res.getDrawable(
-                packageRes.getIdentifier(drawableName, "drawable", packageName), null);
-    }
-
-    @Nullable
-    String getOverlayCategory(String packageName) {
-        OverlayInfo info = mOverlayInfos.get(packageName);
-        return info != null ? info.getCategory() : null;
-    }
-
-    String[] getShapePreviewIconPackages() {
-        return mShapePreviewIconPackages;
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/customization/model/theme/ThemeBundle.java b/src/com/android/customization/model/theme/ThemeBundle.java
deleted file mode 100644
index 3a32f25..0000000
--- a/src/com/android/customization/model/theme/ThemeBundle.java
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme;
-
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_FONT;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_ANDROID;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
-import static com.android.customization.model.ResourceConstants.PATH_SIZE;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.graphics.Path;
-import android.graphics.Typeface;
-import android.graphics.drawable.AdaptiveIconDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.ShapeDrawable;
-import android.graphics.drawable.shapes.PathShape;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.Dimension;
-import androidx.annotation.Nullable;
-import androidx.core.graphics.PathParser;
-
-import com.android.customization.model.CustomizationManager;
-import com.android.customization.model.CustomizationOption;
-import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
-import com.android.customization.widget.DynamicAdaptiveIconDrawable;
-import com.android.wallpaper.R;
-import com.android.wallpaper.asset.Asset;
-import com.android.wallpaper.asset.BitmapCachingAsset;
-import com.android.wallpaper.model.WallpaperInfo;
-import com.android.wallpaper.util.ResourceUtils;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-/**
- * Represents a Theme component available in the system as a "persona" bundle.
- * Note that in this context a Theme is not related to Android's Styles, but it's rather an
- * abstraction representing a series of overlays to be applied to the system.
- */
-public class ThemeBundle implements CustomizationOption<ThemeBundle> {
-
-    private static final String TAG = "ThemeBundle";
-    private final static String EMPTY_JSON = "{}";
-    private final static String TIMESTAMP_FIELD = "_applied_timestamp";
-
-    private final String mTitle;
-    private final PreviewInfo mPreviewInfo;
-    private final boolean mIsDefault;
-    protected final Map<String, String> mPackagesByCategory;
-    private WallpaperInfo mOverrideWallpaper;
-    private Asset mOverrideWallpaperAsset;
-    private CharSequence mContentDescription;
-
-    protected ThemeBundle(String title, Map<String, String> overlayPackages,
-            boolean isDefault, PreviewInfo previewInfo) {
-        mTitle = title;
-        mIsDefault = isDefault;
-        mPreviewInfo = previewInfo;
-        mPackagesByCategory = Collections.unmodifiableMap(removeNullValues(overlayPackages));
-    }
-
-    @Override
-    public String getTitle() {
-        return mTitle;
-    }
-
-    @Override
-    public void bindThumbnailTile(View view) {
-        Resources res = view.getContext().getResources();
-
-        ((TextView) view.findViewById(R.id.theme_option_font)).setTypeface(
-                mPreviewInfo.headlineFontFamily);
-        if (mPreviewInfo.shapeDrawable != null) {
-            ((ShapeDrawable) mPreviewInfo.shapeDrawable).getPaint().setColor(
-                    mPreviewInfo.resolveAccentColor(res));
-            ((ImageView) view.findViewById(R.id.theme_option_shape)).setImageDrawable(
-                    mPreviewInfo.shapeDrawable);
-        }
-        if (!mPreviewInfo.icons.isEmpty()) {
-            Drawable icon = mPreviewInfo.icons.get(0).getConstantState().newDrawable().mutate();
-            icon.setTint(ResourceUtils.getColorAttr(
-                    view.getContext(), android.R.attr.textColorSecondary));
-            ((ImageView) view.findViewById(R.id.theme_option_icon)).setImageDrawable(
-                    icon);
-        }
-        view.setContentDescription(getContentDescription(view.getContext()));
-    }
-
-    @Override
-    public boolean isActive(CustomizationManager<ThemeBundle> manager) {
-        ThemeManager themeManager = (ThemeManager) manager;
-
-        if (mIsDefault) {
-            String serializedOverlays = themeManager.getStoredOverlays();
-            return TextUtils.isEmpty(serializedOverlays) || EMPTY_JSON.equals(serializedOverlays);
-        } else {
-            Map<String, String> currentOverlays = themeManager.getCurrentOverlays();
-            return mPackagesByCategory.equals(currentOverlays);
-        }
-    }
-
-    @Override
-    public int getLayoutResId() {
-        return R.layout.theme_option;
-    }
-
-    /**
-     * This is similar to #equals() but it only compares this theme's packages with the other, that
-     * is, it will return true if applying this theme has the same effect of applying the given one.
-     */
-    public boolean isEquivalent(ThemeBundle other) {
-        if (other == null) {
-            return false;
-        }
-        if (mIsDefault) {
-            return other.isDefault() || TextUtils.isEmpty(other.getSerializedPackages())
-                    || EMPTY_JSON.equals(other.getSerializedPackages());
-        }
-        // Map#equals ensures keys and values are compared.
-        return mPackagesByCategory.equals(other.mPackagesByCategory);
-    }
-
-    public PreviewInfo getPreviewInfo() {
-        return mPreviewInfo;
-    }
-
-    public void setOverrideThemeWallpaper(WallpaperInfo homeWallpaper) {
-        mOverrideWallpaper = homeWallpaper;
-        mOverrideWallpaperAsset = null;
-    }
-
-    private Asset getOverrideWallpaperAsset(Context context) {
-        if (mOverrideWallpaperAsset == null) {
-            mOverrideWallpaperAsset = new BitmapCachingAsset(context,
-                    mOverrideWallpaper.getThumbAsset(context));
-        }
-        return mOverrideWallpaperAsset;
-    }
-
-    boolean isDefault() {
-        return mIsDefault;
-    }
-
-    public Map<String, String> getPackagesByCategory() {
-        return mPackagesByCategory;
-    }
-
-    public String getSerializedPackages() {
-        return getJsonPackages(false).toString();
-    }
-
-    public String getSerializedPackagesWithTimestamp() {
-        return getJsonPackages(true).toString();
-    }
-
-    JSONObject getJsonPackages(boolean insertTimestamp) {
-        if (isDefault()) {
-            return new JSONObject();
-        }
-        JSONObject json = new JSONObject(mPackagesByCategory);
-        // Remove items with null values to avoid deserialization issues.
-        removeNullValues(json);
-        if (insertTimestamp) {
-            try {
-                json.put(TIMESTAMP_FIELD, System.currentTimeMillis());
-            } catch (JSONException e) {
-                Log.e(TAG, "Couldn't add timestamp to serialized themebundle");
-            }
-        }
-        return json;
-    }
-
-    private void removeNullValues(JSONObject json) {
-        Iterator<String> keys = json.keys();
-        Set<String> keysToRemove = new HashSet<>();
-        while(keys.hasNext()) {
-            String key = keys.next();
-            if (json.isNull(key)) {
-                keysToRemove.add(key);
-            }
-        }
-        for (String key : keysToRemove) {
-            json.remove(key);
-        }
-    }
-
-    private Map<String, String> removeNullValues(Map<String, String> map) {
-        return map.entrySet()
-                .stream()
-                .filter(entry -> entry.getValue() != null)
-                .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
-    }
-
-    protected CharSequence getContentDescription(Context context) {
-        if (mContentDescription == null) {
-            CharSequence defaultName = context.getString(R.string.default_theme_title);
-            if (isDefault()) {
-                mContentDescription = defaultName;
-            } else {
-                PackageManager pm = context.getPackageManager();
-                CharSequence fontName = getOverlayName(pm, OVERLAY_CATEGORY_FONT);
-                CharSequence iconName = getOverlayName(pm, OVERLAY_CATEGORY_ICON_ANDROID);
-                CharSequence shapeName = getOverlayName(pm, OVERLAY_CATEGORY_SHAPE);
-                CharSequence colorName = getOverlayName(pm, OVERLAY_CATEGORY_COLOR);
-                mContentDescription = context.getString(R.string.theme_description,
-                        TextUtils.isEmpty(fontName) ? defaultName : fontName,
-                        TextUtils.isEmpty(iconName) ? defaultName : iconName,
-                        TextUtils.isEmpty(shapeName) ? defaultName : shapeName,
-                        TextUtils.isEmpty(colorName) ? defaultName : colorName);
-            }
-        }
-        return mContentDescription;
-    }
-
-    private CharSequence getOverlayName(PackageManager pm, String overlayCategoryFont) {
-        try {
-            return pm.getApplicationInfo(
-                    mPackagesByCategory.get(overlayCategoryFont), 0).loadLabel(pm);
-        } catch (PackageManager.NameNotFoundException e) {
-            return "";
-        }
-    }
-
-    public static class PreviewInfo {
-        public final Typeface bodyFontFamily;
-        public final Typeface headlineFontFamily;
-        @ColorInt public final int colorAccentLight;
-        @ColorInt public final int colorAccentDark;
-        public final List<Drawable> icons;
-        public final Drawable shapeDrawable;
-        public final List<ShapeAppIcon> shapeAppIcons;
-        @Dimension public final int bottomSheeetCornerRadius;
-
-        /** A class to represent an App icon and its name. */
-        public static class ShapeAppIcon {
-            private Drawable mIconDrawable;
-            private CharSequence mAppName;
-
-            public ShapeAppIcon(Drawable icon, CharSequence appName) {
-                mIconDrawable = icon;
-                mAppName = appName;
-            }
-
-            /** Returns a copy of app icon drawable. */
-            public Drawable getDrawableCopy() {
-                return mIconDrawable.getConstantState().newDrawable().mutate();
-            }
-
-            /** Returns the app name. */
-            public CharSequence getAppName() {
-                return mAppName;
-            }
-        }
-
-        private PreviewInfo(Context context, Typeface bodyFontFamily, Typeface headlineFontFamily,
-                int colorAccentLight, int colorAccentDark, List<Drawable> icons,
-                Drawable shapeDrawable, @Dimension int cornerRadius,
-                List<ShapeAppIcon> shapeAppIcons) {
-            this.bodyFontFamily = bodyFontFamily;
-            this.headlineFontFamily = headlineFontFamily;
-            this.colorAccentLight = colorAccentLight;
-            this.colorAccentDark = colorAccentDark;
-            this.icons = icons;
-            this.shapeDrawable = shapeDrawable;
-            this.bottomSheeetCornerRadius = cornerRadius;
-            this.shapeAppIcons = shapeAppIcons;
-        }
-
-        /**
-         * Returns the accent color to be applied corresponding with the current configuration's
-         * UI mode.
-         * @return one of {@link #colorAccentDark} or {@link #colorAccentLight}
-         */
-        @ColorInt
-        public int resolveAccentColor(Resources res) {
-            return (res.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)
-                    == Configuration.UI_MODE_NIGHT_YES ? colorAccentDark : colorAccentLight;
-        }
-    }
-
-    public static class Builder {
-        protected String mTitle;
-        private Typeface mBodyFontFamily;
-        private Typeface mHeadlineFontFamily;
-        @ColorInt private int mColorAccentLight = -1;
-        @ColorInt private int mColorAccentDark = -1;
-        private List<Drawable> mIcons = new ArrayList<>();
-        private String mPathString;
-        private Path mShapePath;
-        private boolean mIsDefault;
-        @Dimension private int mCornerRadius;
-        protected Map<String, String> mPackages = new HashMap<>();
-        private List<ShapeAppIcon> mAppIcons = new ArrayList<>();
-
-        public ThemeBundle build(Context context) {
-            return new ThemeBundle(mTitle, mPackages, mIsDefault, createPreviewInfo(context));
-        }
-
-        public PreviewInfo createPreviewInfo(Context context) {
-            ShapeDrawable shapeDrawable = null;
-            List<ShapeAppIcon> shapeIcons = new ArrayList<>();
-            Path path = mShapePath;
-            if (!TextUtils.isEmpty(mPathString)) {
-                path = PathParser.createPathFromPathData(mPathString);
-            }
-            if (path != null) {
-                PathShape shape = new PathShape(path, PATH_SIZE, PATH_SIZE);
-                shapeDrawable = new ShapeDrawable(shape);
-                shapeDrawable.setIntrinsicHeight((int) PATH_SIZE);
-                shapeDrawable.setIntrinsicWidth((int) PATH_SIZE);
-                for (ShapeAppIcon icon : mAppIcons) {
-                    Drawable drawable = icon.mIconDrawable;
-                    if (drawable instanceof AdaptiveIconDrawable) {
-                        AdaptiveIconDrawable adaptiveIcon = (AdaptiveIconDrawable) drawable;
-                        shapeIcons.add(new ShapeAppIcon(
-                                new DynamicAdaptiveIconDrawable(adaptiveIcon.getBackground(),
-                                        adaptiveIcon.getForeground(), path),
-                                icon.getAppName()));
-                    } else if (drawable instanceof DynamicAdaptiveIconDrawable) {
-                        shapeIcons.add(icon);
-                    }
-                    // TODO: add iconloader library's legacy treatment helper methods for
-                    //  non-adaptive icons
-                }
-            }
-            return new PreviewInfo(context, mBodyFontFamily, mHeadlineFontFamily, mColorAccentLight,
-                    mColorAccentDark, mIcons, shapeDrawable, mCornerRadius, shapeIcons);
-        }
-
-        public Map<String, String> getPackages() {
-            return Collections.unmodifiableMap(mPackages);
-        }
-
-        public String getTitle() {
-            return mTitle;
-        }
-
-        public Builder setTitle(String title) {
-            mTitle = title;
-            return this;
-        }
-
-        public Builder setBodyFontFamily(@Nullable Typeface bodyFontFamily) {
-            mBodyFontFamily = bodyFontFamily;
-            return this;
-        }
-
-        public Builder setHeadlineFontFamily(@Nullable Typeface headlineFontFamily) {
-            mHeadlineFontFamily = headlineFontFamily;
-            return this;
-        }
-
-        public Builder setColorAccentLight(@ColorInt int colorAccentLight) {
-            mColorAccentLight = colorAccentLight;
-            return this;
-        }
-
-        public Builder setColorAccentDark(@ColorInt int colorAccentDark) {
-            mColorAccentDark = colorAccentDark;
-            return this;
-        }
-
-        public Builder addIcon(Drawable icon) {
-            mIcons.add(icon);
-            return this;
-        }
-
-        public Builder addOverlayPackage(String category, String packageName) {
-            mPackages.put(category, packageName);
-            return this;
-        }
-
-        public Builder setShapePath(String path) {
-            mPathString = path;
-            return this;
-        }
-
-        public Builder setShapePath(Path path) {
-            mShapePath = path;
-            return this;
-        }
-
-        public Builder asDefault() {
-            mIsDefault = true;
-            return this;
-        }
-
-        public Builder setShapePreviewIcons(List<ShapeAppIcon> appIcons) {
-            mAppIcons.clear();
-            mAppIcons.addAll(appIcons);
-            return this;
-        }
-
-        public Builder setBottomSheetCornerRadius(@Dimension int radius) {
-            mCornerRadius = radius;
-            return this;
-        }
-    }
-}
diff --git a/src/com/android/customization/model/theme/ThemeBundleProvider.java b/src/com/android/customization/model/theme/ThemeBundleProvider.java
deleted file mode 100644
index 34342b3..0000000
--- a/src/com/android/customization/model/theme/ThemeBundleProvider.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme;
-
-import androidx.annotation.Nullable;
-
-import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
-import com.android.customization.model.theme.custom.CustomTheme;
-
-import org.json.JSONException;
-
-/**
- * Interface for a class that can retrieve Themes from the system.
- */
-public interface ThemeBundleProvider {
-
-    /**
-     * Returns whether themes are available in the current setup.
-     */
-    boolean isAvailable();
-
-    /**
-     * Retrieve the available themes.
-     * @param callback called when the themes have been retrieved (or immediately if cached)
-     * @param reload whether to reload themes if they're cached.
-     */
-    void fetch(OptionsFetchedListener<ThemeBundle> callback, boolean reload);
-
-    void storeCustomTheme(CustomTheme theme);
-
-    void removeCustomTheme(CustomTheme theme);
-
-    @Nullable ThemeBundle.Builder parseThemeBundle(String serializedTheme) throws JSONException;
-
-    @Nullable CustomTheme.Builder parseCustomTheme(String serializedTheme) throws JSONException;
-
-    ThemeBundle findEquivalent(ThemeBundle other);
-}
diff --git a/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java b/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java
deleted file mode 100644
index 4f0cd6c..0000000
--- a/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme;
-
-import android.app.Activity;
-import android.content.ActivityNotFoundException;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.content.res.Resources;
-import android.os.Parcel;
-import android.util.Log;
-
-import androidx.annotation.DrawableRes;
-import androidx.annotation.StringRes;
-
-import com.android.wallpaper.asset.Asset;
-import com.android.wallpaper.asset.ResourceAsset;
-import com.android.wallpaper.model.InlinePreviewIntentFactory;
-import com.android.wallpaper.model.WallpaperInfo;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Represents a wallpaper coming from the resources of the theme bundle container APK.
- */
-public class ThemeBundledWallpaperInfo extends WallpaperInfo {
-    public static final Creator<ThemeBundledWallpaperInfo> CREATOR =
-            new Creator<ThemeBundledWallpaperInfo>() {
-                @Override
-                public ThemeBundledWallpaperInfo createFromParcel(Parcel in) {
-                    return new ThemeBundledWallpaperInfo(in);
-                }
-
-                @Override
-                public ThemeBundledWallpaperInfo[] newArray(int size) {
-                    return new ThemeBundledWallpaperInfo[size];
-                }
-            };
-
-    private static final String TAG = "ThemeBundledWallpaperInfo";
-
-    private final String mPackageName;
-    private final String mResName;
-    private final String mCollectionId;
-    @DrawableRes private final int mDrawableResId;
-    @StringRes private final int mTitleResId;
-    @StringRes private final int mAttributionResId;
-    @StringRes private final int mActionUrlResId;
-    private List<String> mAttributions;
-    private String mActionUrl;
-    private Resources mResources;
-    private Asset mAsset;
-
-    /**
-     * Constructs a new theme-bundled static wallpaper model object.
-     *
-     * @param drawableResId  Resource ID of the raw wallpaper image.
-     * @param resName        The unique name of the wallpaper resource, e.g. "z_wp001".
-     * @param themeName   Unique name of the collection this wallpaper belongs in; used for logging.
-     * @param titleResId     Resource ID of the string for the title attribution.
-     * @param attributionResId Resource ID of the string for the first subtitle attribution.
-     */
-    public ThemeBundledWallpaperInfo(String packageName, String resName, String themeName,
-            int drawableResId, int titleResId, int attributionResId, int actionUrlResId) {
-        mPackageName = packageName;
-        mResName = resName;
-        mCollectionId = themeName;
-        mDrawableResId = drawableResId;
-        mTitleResId = titleResId;
-        mAttributionResId = attributionResId;
-        mActionUrlResId = actionUrlResId;
-    }
-
-    private ThemeBundledWallpaperInfo(Parcel in) {
-        super(in);
-        mPackageName = in.readString();
-        mResName = in.readString();
-        mCollectionId = in.readString();
-        mDrawableResId = in.readInt();
-        mTitleResId = in.readInt();
-        mAttributionResId = in.readInt();
-        mActionUrlResId = in.readInt();
-    }
-
-    @Override
-    public List<String> getAttributions(Context context) {
-        if (mAttributions == null) {
-            Resources res = getPackageResources(context);
-            mAttributions = new ArrayList<>();
-            if (mTitleResId != 0) {
-                mAttributions.add(res.getString(mTitleResId));
-            }
-            if (mAttributionResId != 0) {
-                mAttributions.add(res.getString(mAttributionResId));
-            }
-        }
-
-        return mAttributions;
-    }
-
-    @Override
-    public String getActionUrl(Context context) {
-        if (mActionUrl == null && mActionUrlResId != 0) {
-            mActionUrl = getPackageResources(context).getString(mActionUrlResId);
-        }
-        return mActionUrl;
-    }
-
-    @Override
-    public Asset getAsset(Context context) {
-        if (mAsset == null) {
-            Resources res = getPackageResources(context);
-            mAsset = new ResourceAsset(res, mDrawableResId);
-        }
-
-        return mAsset;
-    }
-
-    @Override
-    public Asset getThumbAsset(Context context) {
-        return getAsset(context);
-    }
-
-    @Override
-    public void showPreview(Activity srcActivity, InlinePreviewIntentFactory factory,
-            int requestCode, boolean isAssetIdPresent) {
-        try {
-            srcActivity.startActivityForResult(factory.newIntent(srcActivity, this,
-                    isAssetIdPresent), requestCode);
-        } catch (ActivityNotFoundException |SecurityException e) {
-            Log.e(TAG, "App isn't installed or ThemePicker doesn't have permission to launch", e);
-        }
-    }
-
-    @Override
-    public String getCollectionId(Context unused) {
-        return mCollectionId;
-    }
-
-    @Override
-    public String getWallpaperId() {
-        return mResName;
-    }
-
-    public String getResName() {
-        return mResName;
-    }
-
-    /**
-     * Returns the {@link Resources} instance for the theme bundles stub APK.
-     */
-    private Resources getPackageResources(Context context) {
-        if (mResources != null) {
-            return mResources;
-        }
-
-        try {
-            mResources = context.getPackageManager().getResourcesForApplication(mPackageName);
-        } catch (PackageManager.NameNotFoundException e) {
-            Log.e(TAG, "Could not get app resources for " + mPackageName);
-        }
-        return mResources;
-    }
-
-    @Override
-    public void writeToParcel(Parcel dest, int flags) {
-        super.writeToParcel(dest, flags);
-        dest.writeString(mPackageName);
-        dest.writeString(mResName);
-        dest.writeString(mCollectionId);
-        dest.writeInt(mDrawableResId);
-        dest.writeInt(mTitleResId);
-        dest.writeInt(mAttributionResId);
-        dest.writeInt(mActionUrlResId);
-    }
-}
diff --git a/src/com/android/customization/model/theme/ThemeManager.java b/src/com/android/customization/model/theme/ThemeManager.java
deleted file mode 100644
index 85241c1..0000000
--- a/src/com/android/customization/model/theme/ThemeManager.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme;
-
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_FONT;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_ANDROID;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_LAUNCHER;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SETTINGS;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SYSUI;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_THEMEPICKER;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
-
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import androidx.annotation.Nullable;
-import androidx.fragment.app.FragmentActivity;
-
-import com.android.customization.model.CustomizationManager;
-import com.android.customization.model.ResourceConstants;
-import com.android.customization.model.theme.custom.CustomTheme;
-import com.android.customization.module.ThemesUserEventLogger;
-
-import org.json.JSONObject;
-
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-public class ThemeManager implements CustomizationManager<ThemeBundle> {
-
-    public static final Set<String> THEME_CATEGORIES = new HashSet<>();
-    static {
-        THEME_CATEGORIES.add(OVERLAY_CATEGORY_COLOR);
-        THEME_CATEGORIES.add(OVERLAY_CATEGORY_FONT);
-        THEME_CATEGORIES.add(OVERLAY_CATEGORY_SHAPE);
-        THEME_CATEGORIES.add(OVERLAY_CATEGORY_ICON_ANDROID);
-        THEME_CATEGORIES.add(OVERLAY_CATEGORY_ICON_SETTINGS);
-        THEME_CATEGORIES.add(OVERLAY_CATEGORY_ICON_SYSUI);
-        THEME_CATEGORIES.add(OVERLAY_CATEGORY_ICON_LAUNCHER);
-        THEME_CATEGORIES.add(OVERLAY_CATEGORY_ICON_THEMEPICKER);
-    }
-
-    private final ThemeBundleProvider mProvider;
-    private final OverlayManagerCompat mOverlayManagerCompat;
-
-    protected final FragmentActivity mActivity;
-    private final ThemesUserEventLogger mEventLogger;
-
-    private Map<String, String> mCurrentOverlays;
-
-    public ThemeManager(ThemeBundleProvider provider, FragmentActivity activity,
-            OverlayManagerCompat overlayManagerCompat,
-            ThemesUserEventLogger logger) {
-        mProvider = provider;
-        mActivity = activity;
-        mOverlayManagerCompat = overlayManagerCompat;
-        mEventLogger = logger;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mOverlayManagerCompat.isAvailable() && mProvider.isAvailable();
-    }
-
-    @Override
-    public void apply(ThemeBundle theme, Callback callback) {
-        applyOverlays(theme, callback);
-    }
-
-    private void applyOverlays(ThemeBundle theme, Callback callback) {
-        boolean allApplied = Settings.Secure.putString(mActivity.getContentResolver(),
-                ResourceConstants.THEME_SETTING, theme.getSerializedPackagesWithTimestamp());
-        if (theme instanceof CustomTheme) {
-            storeCustomTheme((CustomTheme) theme);
-        }
-        mCurrentOverlays = null;
-        if (allApplied) {
-            mEventLogger.logThemeApplied(theme, theme instanceof CustomTheme);
-            callback.onSuccess();
-        } else {
-            callback.onError(null);
-        }
-    }
-
-    private void storeCustomTheme(CustomTheme theme) {
-        mProvider.storeCustomTheme(theme);
-    }
-
-    @Override
-    public void fetchOptions(OptionsFetchedListener<ThemeBundle> callback, boolean reload) {
-        mProvider.fetch(callback, reload);
-    }
-
-    public Map<String, String> getCurrentOverlays() {
-        if (mCurrentOverlays == null) {
-            mCurrentOverlays = mOverlayManagerCompat.getEnabledOverlaysForTargets(
-                    ResourceConstants.getPackagesToOverlay(mActivity));
-            mCurrentOverlays.entrySet().removeIf(
-                    categoryAndPackage -> !THEME_CATEGORIES.contains(categoryAndPackage.getKey()));
-        }
-        return mCurrentOverlays;
-    }
-
-    public String getStoredOverlays() {
-        return Settings.Secure.getString(mActivity.getContentResolver(),
-                ResourceConstants.THEME_SETTING);
-    }
-
-    public void removeCustomTheme(CustomTheme theme) {
-        mProvider.removeCustomTheme(theme);
-    }
-
-    /**
-     * @return an existing ThemeBundle that matches the same packages as the given one, if one
-     * exists, or {@code null} otherwise.
-     */
-    @Nullable
-    public ThemeBundle findThemeByPackages(ThemeBundle other) {
-        return mProvider.findEquivalent(other);
-    }
-
-    /**
-     * Store empty theme if no theme has been set yet. This will prevent Settings from showing the
-     * suggestion to select a theme
-     */
-    public void storeEmptyTheme() {
-        String themeSetting = Settings.Secure.getString(mActivity.getContentResolver(),
-                ResourceConstants.THEME_SETTING);
-        if (TextUtils.isEmpty(themeSetting)) {
-            Settings.Secure.putString(mActivity.getContentResolver(),
-                    ResourceConstants.THEME_SETTING, new JSONObject().toString());
-        }
-    }
-}
diff --git a/src/com/android/customization/model/theme/custom/ColorOptionsProvider.java b/src/com/android/customization/model/theme/custom/ColorOptionsProvider.java
deleted file mode 100644
index f3b950b..0000000
--- a/src/com/android/customization/model/theme/custom/ColorOptionsProvider.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme.custom;
-
-import static com.android.customization.model.ResourceConstants.ACCENT_COLOR_DARK_NAME;
-import static com.android.customization.model.ResourceConstants.ACCENT_COLOR_LIGHT_NAME;
-import static com.android.customization.model.ResourceConstants.ANDROID_PACKAGE;
-import static com.android.customization.model.ResourceConstants.ICONS_FOR_PREVIEW;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ANDROID_THEME;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_ANDROID;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
-import static com.android.customization.model.ResourceConstants.PATH_SIZE;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.Resources;
-import android.content.res.Resources.NotFoundException;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.ShapeDrawable;
-import android.graphics.drawable.shapes.PathShape;
-import android.os.UserHandle;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.core.graphics.PathParser;
-
-import com.android.customization.model.ResourceConstants;
-import com.android.customization.model.theme.OverlayManagerCompat;
-import com.android.customization.model.theme.custom.ThemeComponentOption.ColorOption;
-import com.android.wallpaper.R;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Implementation of {@link ThemeComponentOptionProvider} that reads {@link ColorOption}s from
- * icon overlays.
- */
-public class ColorOptionsProvider extends ThemeComponentOptionProvider<ColorOption> {
-
-    private static final String TAG = "ColorOptionsProvider";
-    private final CustomThemeManager mCustomThemeManager;
-    private final String mDefaultThemePackage;
-
-    public ColorOptionsProvider(Context context, OverlayManagerCompat manager,
-            CustomThemeManager customThemeManager) {
-        super(context, manager, OVERLAY_CATEGORY_COLOR);
-        mCustomThemeManager = customThemeManager;
-        // System color is set with a static overlay for android.theme category, so let's try to
-        // find that first, and if that's not present, we'll default to System resources.
-        // (see #addDefault())
-        List<String> themePackages = manager.getOverlayPackagesForCategory(
-                OVERLAY_CATEGORY_ANDROID_THEME, UserHandle.myUserId(), ANDROID_PACKAGE);
-        mDefaultThemePackage = themePackages.isEmpty() ? null : themePackages.get(0);
-    }
-
-    @Override
-    protected void loadOptions() {
-        List<Drawable> previewIcons = new ArrayList<>();
-        String iconPackage =
-                mCustomThemeManager.getOverlayPackages().get(OVERLAY_CATEGORY_ICON_ANDROID);
-        if (TextUtils.isEmpty(iconPackage)) {
-            iconPackage = ANDROID_PACKAGE;
-        }
-        for (String iconName : ICONS_FOR_PREVIEW) {
-            try {
-                previewIcons.add(loadIconPreviewDrawable(iconName, iconPackage));
-            } catch (NameNotFoundException | NotFoundException e) {
-                Log.w(TAG, String.format("Couldn't load icon in %s for color preview, will skip it",
-                        iconPackage), e);
-            }
-        }
-        String shapePackage = mCustomThemeManager.getOverlayPackages().get(OVERLAY_CATEGORY_SHAPE);
-        if (TextUtils.isEmpty(shapePackage)) {
-            shapePackage = ANDROID_PACKAGE;
-        }
-        Drawable shape = loadShape(shapePackage);
-        addDefault(previewIcons, shape);
-        for (String overlayPackage : mOverlayPackages) {
-            try {
-                Resources overlayRes = getOverlayResources(overlayPackage);
-                int lightColor = overlayRes.getColor(
-                        overlayRes.getIdentifier(ACCENT_COLOR_LIGHT_NAME, "color", overlayPackage),
-                        null);
-                int darkColor = overlayRes.getColor(
-                        overlayRes.getIdentifier(ACCENT_COLOR_DARK_NAME, "color", overlayPackage),
-                        null);
-                PackageManager pm = mContext.getPackageManager();
-                String label = pm.getApplicationInfo(overlayPackage, 0).loadLabel(pm).toString();
-                ColorOption option = new ColorOption(overlayPackage, label, lightColor, darkColor);
-                option.setPreviewIcons(previewIcons);
-                option.setShapeDrawable(shape);
-                mOptions.add(option);
-            } catch (NameNotFoundException | NotFoundException e) {
-                Log.w(TAG, String.format("Couldn't load color overlay %s, will skip it",
-                        overlayPackage), e);
-            }
-        }
-    }
-
-    private void addDefault(List<Drawable> previewIcons, Drawable shape) {
-        int lightColor, darkColor;
-        Resources system = Resources.getSystem();
-        try {
-            Resources r = getOverlayResources(mDefaultThemePackage);
-            lightColor = r.getColor(
-                    r.getIdentifier(ACCENT_COLOR_LIGHT_NAME, "color", mDefaultThemePackage),
-                    null);
-            darkColor = r.getColor(
-                    r.getIdentifier(ACCENT_COLOR_DARK_NAME, "color", mDefaultThemePackage),
-                    null);
-        } catch (NotFoundException | NameNotFoundException e) {
-            Log.d(TAG, "Didn't find default color, will use system option", e);
-
-            lightColor = system.getColor(
-                    system.getIdentifier(ACCENT_COLOR_LIGHT_NAME, "color", ANDROID_PACKAGE), null);
-
-            darkColor = system.getColor(
-                    system.getIdentifier(ACCENT_COLOR_DARK_NAME, "color", ANDROID_PACKAGE), null);
-        }
-        ColorOption option = new ColorOption(null,
-                mContext.getString(R.string.default_theme_title), lightColor, darkColor);
-        option.setPreviewIcons(previewIcons);
-        option.setShapeDrawable(shape);
-        mOptions.add(option);
-    }
-
-    private Drawable loadIconPreviewDrawable(String drawableName, String packageName)
-            throws NameNotFoundException, NotFoundException {
-
-        Resources overlayRes = getOverlayResources(packageName);
-        return overlayRes.getDrawable(
-                overlayRes.getIdentifier(drawableName, "drawable", packageName), null);
-    }
-
-    private Drawable loadShape(String packageName) {
-        String path = null;
-        try {
-            Resources r = getOverlayResources(packageName);
-
-            path = ResourceConstants.getIconMask(r, packageName);
-        } catch (NameNotFoundException e) {
-            Log.d(TAG, String.format("Couldn't load shape icon for %s, skipping.", packageName), e);
-        }
-        ShapeDrawable shapeDrawable = null;
-        if (!TextUtils.isEmpty(path)) {
-            PathShape shape = new PathShape(PathParser.createPathFromPathData(path),
-                    PATH_SIZE, PATH_SIZE);
-            shapeDrawable = new ShapeDrawable(shape);
-            shapeDrawable.setIntrinsicHeight((int) PATH_SIZE);
-            shapeDrawable.setIntrinsicWidth((int) PATH_SIZE);
-        }
-        return shapeDrawable;
-    }
-
-}
diff --git a/src/com/android/customization/model/theme/custom/CustomTheme.java b/src/com/android/customization/model/theme/custom/CustomTheme.java
deleted file mode 100644
index a1ee106..0000000
--- a/src/com/android/customization/model/theme/custom/CustomTheme.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme.custom;
-
-import android.content.Context;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.customization.model.CustomizationManager;
-import com.android.customization.model.theme.ThemeBundle;
-import com.android.wallpaper.R;
-
-import java.util.Map;
-import java.util.UUID;
-
-public class CustomTheme extends ThemeBundle {
-
-    public static String newId() {
-        return UUID.randomUUID().toString();
-    }
-
-    /**
-     * Used to uniquely identify a custom theme since names can change.
-     */
-    private final String mId;
-
-    private CustomTheme(@NonNull String id, String title, Map<String, String> overlayPackages,
-            @Nullable PreviewInfo previewInfo) {
-        super(title, overlayPackages, false, previewInfo);
-        mId = id;
-    }
-
-    public String getId() {
-        return mId;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (!(obj instanceof CustomTheme)) {
-            return false;
-        }
-        CustomTheme other = (CustomTheme) obj;
-        return mId.equals(other.mId);
-    }
-
-    @Override
-    public int hashCode() {
-        return mId.hashCode();
-    }
-
-    @Override
-    public void bindThumbnailTile(View view) {
-        if (isDefined()) {
-            super.bindThumbnailTile(view);
-        }
-    }
-
-    @Override
-    public int getLayoutResId() {
-        return isDefined() ? R.layout.theme_option : R.layout.custom_theme_option;
-    }
-
-    @Override
-    public boolean isActive(CustomizationManager<ThemeBundle> manager) {
-        return isDefined() && super.isActive(manager);
-    }
-
-    @Override
-    public boolean isEquivalent(ThemeBundle other) {
-        return isDefined() && super.isEquivalent(other);
-    }
-
-    public boolean isDefined() {
-        return getPreviewInfo() != null;
-    }
-
-    public static class Builder extends ThemeBundle.Builder {
-        private String mId;
-
-        @Override
-        public CustomTheme build(Context context) {
-            return new CustomTheme(mId, mTitle, mPackages,
-                    mPackages.isEmpty() ? null : createPreviewInfo(context));
-        }
-
-        public Builder setId(String id) {
-            mId = id;
-            return this;
-        }
-    }
-}
diff --git a/src/com/android/customization/model/theme/custom/CustomThemeManager.java b/src/com/android/customization/model/theme/custom/CustomThemeManager.java
deleted file mode 100644
index 42d73e6..0000000
--- a/src/com/android/customization/model/theme/custom/CustomThemeManager.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme.custom;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.annotation.Nullable;
-
-import com.android.customization.model.CustomizationManager;
-import com.android.customization.model.theme.ThemeBundle.PreviewInfo;
-import com.android.customization.model.theme.ThemeBundleProvider;
-import com.android.customization.model.theme.ThemeManager;
-import com.android.customization.model.theme.custom.CustomTheme.Builder;
-
-import org.json.JSONException;
-
-import java.util.Map;
-
-public class CustomThemeManager implements CustomizationManager<ThemeComponentOption> {
-
-    private static final String TAG = "CustomThemeManager";
-    private static final String KEY_STATE_CURRENT_SELECTION = "CustomThemeManager.currentSelection";
-
-    private final CustomTheme mOriginalTheme;
-    private CustomTheme.Builder mBuilder;
-
-    private CustomThemeManager(Map<String, String> overlayPackages,
-            @Nullable CustomTheme originalTheme) {
-        mBuilder = new Builder();
-        overlayPackages.forEach(mBuilder::addOverlayPackage);
-        mOriginalTheme = originalTheme;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void apply(ThemeComponentOption option, @Nullable Callback callback) {
-        option.buildStep(mBuilder);
-        if (callback != null) {
-            callback.onSuccess();
-        }
-    }
-
-    public Map<String, String> getOverlayPackages() {
-        return mBuilder.getPackages();
-    }
-
-    public CustomTheme buildPartialCustomTheme(Context context, String id, String title) {
-        return ((CustomTheme.Builder)mBuilder.setId(id).setTitle(title)).build(context);
-    }
-
-    @Override
-    public void fetchOptions(OptionsFetchedListener<ThemeComponentOption> callback, boolean reload) {
-        //Unused
-    }
-
-    public CustomTheme getOriginalTheme() {
-        return mOriginalTheme;
-    }
-
-    public PreviewInfo buildCustomThemePreviewInfo(Context context) {
-        return mBuilder.createPreviewInfo(context);
-    }
-
-    /** Saves the custom theme selections while system config changes. */
-    public void saveCustomTheme(Context context, Bundle savedInstanceState) {
-        CustomTheme customTheme =
-                buildPartialCustomTheme(context, /* id= */ null, /* title= */ null);
-        savedInstanceState.putString(KEY_STATE_CURRENT_SELECTION,
-                customTheme.getSerializedPackages());
-    }
-
-    /** Reads the saved custom theme after system config changed. */
-    public void readCustomTheme(ThemeBundleProvider themeBundleProvider,
-                                Bundle savedInstanceState) {
-        String packages = savedInstanceState.getString(KEY_STATE_CURRENT_SELECTION);
-        if (!TextUtils.isEmpty(packages)) {
-            try {
-                mBuilder = themeBundleProvider.parseCustomTheme(packages);
-            } catch (JSONException e) {
-                Log.w(TAG, "Couldn't parse provided custom theme.");
-            }
-        } else {
-            Log.w(TAG, "No custom theme being restored.");
-        }
-    }
-
-    public static CustomThemeManager create(
-            @Nullable CustomTheme customTheme, ThemeManager themeManager) {
-        if (customTheme != null && customTheme.isDefined()) {
-            return new CustomThemeManager(customTheme.getPackagesByCategory(), customTheme);
-        }
-        // Seed the first custom theme with the currently applied theme.
-        return new CustomThemeManager(themeManager.getCurrentOverlays(), customTheme);
-    }
-
-}
diff --git a/src/com/android/customization/model/theme/custom/FontOptionsProvider.java b/src/com/android/customization/model/theme/custom/FontOptionsProvider.java
deleted file mode 100644
index 53568c9..0000000
--- a/src/com/android/customization/model/theme/custom/FontOptionsProvider.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme.custom;
-
-import static com.android.customization.model.ResourceConstants.ANDROID_PACKAGE;
-import static com.android.customization.model.ResourceConstants.CONFIG_BODY_FONT_FAMILY;
-import static com.android.customization.model.ResourceConstants.CONFIG_HEADLINE_FONT_FAMILY;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_FONT;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.Resources;
-import android.content.res.Resources.NotFoundException;
-import android.graphics.Typeface;
-import android.util.Log;
-
-import com.android.customization.model.ResourceConstants;
-import com.android.customization.model.theme.OverlayManagerCompat;
-import com.android.customization.model.theme.custom.ThemeComponentOption.FontOption;
-import com.android.wallpaper.R;
-
-/**
- * Implementation of {@link ThemeComponentOptionProvider} that reads {@link FontOption}s from
- * font overlays.
- */
-public class FontOptionsProvider extends ThemeComponentOptionProvider<FontOption> {
-
-    private static final String TAG = "FontOptionsProvider";
-
-    public FontOptionsProvider(Context context, OverlayManagerCompat manager) {
-        super(context, manager, OVERLAY_CATEGORY_FONT);
-    }
-
-    @Override
-    protected void loadOptions() {
-        addDefault();
-        for (String overlayPackage : mOverlayPackages) {
-            try {
-                Resources overlayRes = getOverlayResources(overlayPackage);
-                Typeface headlineFont = Typeface.create(
-                        getFontFamily(overlayPackage, overlayRes, CONFIG_HEADLINE_FONT_FAMILY),
-                        Typeface.NORMAL);
-                Typeface bodyFont = Typeface.create(
-                        getFontFamily(overlayPackage, overlayRes, CONFIG_BODY_FONT_FAMILY),
-                        Typeface.NORMAL);
-                PackageManager pm = mContext.getPackageManager();
-                String label = pm.getApplicationInfo(overlayPackage, 0).loadLabel(pm).toString();
-                mOptions.add(new FontOption(overlayPackage, label, headlineFont, bodyFont));
-            } catch (NameNotFoundException | NotFoundException e) {
-                Log.w(TAG, String.format("Couldn't load font overlay %s, will skip it",
-                        overlayPackage), e);
-            }
-        }
-    }
-
-    private void addDefault() {
-        Resources system = Resources.getSystem();
-        Typeface headlineFont = Typeface.create(system.getString(system.getIdentifier(
-                ResourceConstants.CONFIG_HEADLINE_FONT_FAMILY,"string", ANDROID_PACKAGE)),
-                Typeface.NORMAL);
-        Typeface bodyFont = Typeface.create(system.getString(system.getIdentifier(
-                ResourceConstants.CONFIG_BODY_FONT_FAMILY,
-                "string", ANDROID_PACKAGE)),
-                Typeface.NORMAL);
-        mOptions.add(new FontOption(null, mContext.getString(R.string.default_theme_title),
-                headlineFont, bodyFont));
-    }
-
-    private String getFontFamily(String overlayPackage, Resources overlayRes, String configName) {
-        return overlayRes.getString(overlayRes.getIdentifier(configName, "string", overlayPackage));
-    }
-}
diff --git a/src/com/android/customization/model/theme/custom/IconOptionsProvider.java b/src/com/android/customization/model/theme/custom/IconOptionsProvider.java
deleted file mode 100644
index f7b669b..0000000
--- a/src/com/android/customization/model/theme/custom/IconOptionsProvider.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme.custom;
-
-import static com.android.customization.model.ResourceConstants.ANDROID_PACKAGE;
-import static com.android.customization.model.ResourceConstants.ICONS_FOR_PREVIEW;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_ANDROID;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_LAUNCHER;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SETTINGS;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SYSUI;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_THEMEPICKER;
-
-import android.content.Context;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.Resources;
-import android.content.res.Resources.NotFoundException;
-import android.graphics.drawable.Drawable;
-import android.os.UserHandle;
-import android.util.Log;
-
-import com.android.customization.model.ResourceConstants;
-import com.android.customization.model.theme.OverlayManagerCompat;
-import com.android.customization.model.theme.custom.ThemeComponentOption.IconOption;
-import com.android.wallpaper.R;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Implementation of {@link ThemeComponentOptionProvider} that reads {@link IconOption}s from
- * icon overlays.
- */
-public class IconOptionsProvider extends ThemeComponentOptionProvider<IconOption> {
-
-    private static final String TAG = "IconOptionsProvider";
-
-    private final List<String> mSysUiIconsOverlayPackages = new ArrayList<>();
-    private final List<String> mSettingsIconsOverlayPackages = new ArrayList<>();
-    private final List<String> mLauncherIconsOverlayPackages = new ArrayList<>();
-    private final List<String> mThemePickerIconsOverlayPackages = new ArrayList<>();
-
-    public IconOptionsProvider(Context context, OverlayManagerCompat manager) {
-        super(context, manager, OVERLAY_CATEGORY_ICON_ANDROID);
-        String[] targetPackages = ResourceConstants.getPackagesToOverlay(context);
-        mSysUiIconsOverlayPackages.addAll(manager.getOverlayPackagesForCategory(
-                OVERLAY_CATEGORY_ICON_SYSUI, UserHandle.myUserId(), targetPackages));
-        mSettingsIconsOverlayPackages.addAll(manager.getOverlayPackagesForCategory(
-                OVERLAY_CATEGORY_ICON_SETTINGS, UserHandle.myUserId(), targetPackages));
-        mLauncherIconsOverlayPackages.addAll(manager.getOverlayPackagesForCategory(
-                OVERLAY_CATEGORY_ICON_LAUNCHER, UserHandle.myUserId(), targetPackages));
-        mThemePickerIconsOverlayPackages.addAll(manager.getOverlayPackagesForCategory(
-                OVERLAY_CATEGORY_ICON_THEMEPICKER, UserHandle.myUserId(), targetPackages));
-    }
-
-    @Override
-    protected void loadOptions() {
-        addDefault();
-
-        Map<String, IconOption> optionsByPrefix = new HashMap<>();
-        for (String overlayPackage : mOverlayPackages) {
-            IconOption option = addOrUpdateOption(optionsByPrefix, overlayPackage,
-                    OVERLAY_CATEGORY_ICON_ANDROID);
-            try{
-                for (String iconName : ICONS_FOR_PREVIEW) {
-                    option.addIcon(loadIconPreviewDrawable(iconName, overlayPackage));
-                }
-            } catch (NotFoundException | NameNotFoundException e) {
-                Log.w(TAG, String.format("Couldn't load icon overlay details for %s, will skip it",
-                        overlayPackage), e);
-            }
-        }
-
-        for (String overlayPackage : mSysUiIconsOverlayPackages) {
-            addOrUpdateOption(optionsByPrefix, overlayPackage, OVERLAY_CATEGORY_ICON_SYSUI);
-        }
-
-        for (String overlayPackage : mSettingsIconsOverlayPackages) {
-            addOrUpdateOption(optionsByPrefix, overlayPackage, OVERLAY_CATEGORY_ICON_SETTINGS);
-        }
-
-        for (String overlayPackage : mLauncherIconsOverlayPackages) {
-            addOrUpdateOption(optionsByPrefix, overlayPackage, OVERLAY_CATEGORY_ICON_LAUNCHER);
-        }
-
-        for (String overlayPackage : mThemePickerIconsOverlayPackages) {
-            addOrUpdateOption(optionsByPrefix, overlayPackage, OVERLAY_CATEGORY_ICON_THEMEPICKER);
-        }
-
-        for (IconOption option : optionsByPrefix.values()) {
-            if (option.isValid(mContext)) {
-                mOptions.add(option);
-                option.setLabel(mContext.getString(R.string.icon_component_label, mOptions.size()));
-            }
-        }
-    }
-
-    private IconOption addOrUpdateOption(Map<String, IconOption> optionsByPrefix,
-            String overlayPackage, String category) {
-        String prefix = overlayPackage.substring(0, overlayPackage.lastIndexOf("."));
-        IconOption option;
-        if (!optionsByPrefix.containsKey(prefix)) {
-            option = new IconOption();
-            optionsByPrefix.put(prefix, option);
-        } else {
-            option = optionsByPrefix.get(prefix);
-        }
-        option.addOverlayPackage(category, overlayPackage);
-        return option;
-    }
-
-    private Drawable loadIconPreviewDrawable(String drawableName, String packageName)
-            throws NameNotFoundException, NotFoundException {
-        final Resources resources = ANDROID_PACKAGE.equals(packageName)
-                ? Resources.getSystem()
-                : mContext.getPackageManager().getResourcesForApplication(packageName);
-        return resources.getDrawable(
-                resources.getIdentifier(drawableName, "drawable", packageName), null);
-    }
-
-    private void addDefault() {
-        IconOption option = new IconOption();
-        option.setLabel(mContext.getString(R.string.default_theme_title));
-        try {
-            for (String iconName : ICONS_FOR_PREVIEW) {
-                option.addIcon(loadIconPreviewDrawable(iconName, ANDROID_PACKAGE));
-            }
-        } catch (NameNotFoundException | NotFoundException e) {
-            Log.w(TAG, "Didn't find SystemUi package icons, will skip option", e);
-        }
-        option.addOverlayPackage(OVERLAY_CATEGORY_ICON_ANDROID, null);
-        option.addOverlayPackage(OVERLAY_CATEGORY_ICON_SYSUI, null);
-        option.addOverlayPackage(OVERLAY_CATEGORY_ICON_SETTINGS, null);
-        option.addOverlayPackage(OVERLAY_CATEGORY_ICON_LAUNCHER, null);
-        option.addOverlayPackage(OVERLAY_CATEGORY_ICON_THEMEPICKER, null);
-        mOptions.add(option);
-    }
-
-}
diff --git a/src/com/android/customization/model/theme/custom/ShapeOptionsProvider.java b/src/com/android/customization/model/theme/custom/ShapeOptionsProvider.java
deleted file mode 100644
index f93b892..0000000
--- a/src/com/android/customization/model/theme/custom/ShapeOptionsProvider.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme.custom;
-
-import static com.android.customization.model.ResourceConstants.ANDROID_PACKAGE;
-import static com.android.customization.model.ResourceConstants.CONFIG_CORNERRADIUS;
-import static com.android.customization.model.ResourceConstants.CONFIG_ICON_MASK;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
-import static com.android.customization.model.ResourceConstants.PATH_SIZE;
-
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.Resources;
-import android.content.res.Resources.NotFoundException;
-import android.graphics.Path;
-import android.graphics.drawable.AdaptiveIconDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.ShapeDrawable;
-import android.graphics.drawable.shapes.PathShape;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.annotation.Dimension;
-import androidx.core.graphics.PathParser;
-
-import com.android.customization.model.ResourceConstants;
-import com.android.customization.model.theme.OverlayManagerCompat;
-import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
-import com.android.customization.model.theme.custom.ThemeComponentOption.ShapeOption;
-import com.android.customization.widget.DynamicAdaptiveIconDrawable;
-import com.android.wallpaper.R;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Implementation of {@link ThemeComponentOptionProvider} that reads {@link ShapeOption}s from
- * icon overlays.
- */
-public class ShapeOptionsProvider extends ThemeComponentOptionProvider<ShapeOption> {
-
-    private static final String TAG = "ShapeOptionsProvider";
-    private final String[] mShapePreviewIconPackages;
-    private int mThumbSize;
-
-    public ShapeOptionsProvider(Context context, OverlayManagerCompat manager) {
-        super(context, manager, OVERLAY_CATEGORY_SHAPE);
-        mShapePreviewIconPackages = context.getResources().getStringArray(
-                R.array.icon_shape_preview_packages);
-        mThumbSize = mContext.getResources().getDimensionPixelSize(
-                R.dimen.component_shape_thumb_size);
-    }
-
-    @Override
-    protected void loadOptions() {
-        addDefault();
-        for (String overlayPackage : mOverlayPackages) {
-            try {
-                Path path = loadPath(mContext.getPackageManager()
-                        .getResourcesForApplication(overlayPackage), overlayPackage);
-                PackageManager pm = mContext.getPackageManager();
-                String label = pm.getApplicationInfo(overlayPackage, 0).loadLabel(pm).toString();
-                mOptions.add(new ShapeOption(overlayPackage, label, path,
-                        loadCornerRadius(overlayPackage), createShapeDrawable(path),
-                        getShapedAppIcons(path)));
-            } catch (NameNotFoundException | NotFoundException e) {
-                Log.w(TAG, String.format("Couldn't load shape overlay %s, will skip it",
-                        overlayPackage), e);
-            }
-        }
-    }
-
-    private void addDefault() {
-        Resources system = Resources.getSystem();
-        Path path = loadPath(system, ANDROID_PACKAGE);
-        mOptions.add(new ShapeOption(null, mContext.getString(R.string.default_theme_title), path,
-                system.getDimensionPixelOffset(
-                        system.getIdentifier(ResourceConstants.CONFIG_CORNERRADIUS,
-                                "dimen", ResourceConstants.ANDROID_PACKAGE)),
-                createShapeDrawable(path), getShapedAppIcons(path)));
-    }
-
-    private ShapeDrawable createShapeDrawable(Path path) {
-        PathShape shape = new PathShape(path, PATH_SIZE, PATH_SIZE);
-        ShapeDrawable shapeDrawable = new ShapeDrawable(shape);
-        shapeDrawable.setIntrinsicHeight(mThumbSize);
-        shapeDrawable.setIntrinsicWidth(mThumbSize);
-        return shapeDrawable;
-    }
-
-    private List<ShapeAppIcon> getShapedAppIcons(Path path) {
-        List<ShapeAppIcon> shapedAppIcons = new ArrayList<>();
-        for (String packageName : mShapePreviewIconPackages) {
-            Drawable icon = null;
-            CharSequence name = null;
-            try {
-                Drawable appIcon = mContext.getPackageManager().getApplicationIcon(packageName);
-                if (appIcon instanceof AdaptiveIconDrawable) {
-                    AdaptiveIconDrawable adaptiveIcon = (AdaptiveIconDrawable) appIcon;
-                    icon = new DynamicAdaptiveIconDrawable(adaptiveIcon.getBackground(),
-                            adaptiveIcon.getForeground(), path);
-
-                    ApplicationInfo appInfo = mContext.getPackageManager()
-                            .getApplicationInfo(packageName, /* flag= */ 0);
-                    name = mContext.getPackageManager().getApplicationLabel(appInfo);
-                }
-            } catch (NameNotFoundException e) {
-                Log.d(TAG, "Couldn't find app " + packageName
-                        + ", won't use it for icon shape preview");
-            } finally {
-                if (icon != null && !TextUtils.isEmpty(name)) {
-                    shapedAppIcons.add(new ShapeAppIcon(icon, name));
-                }
-            }
-        }
-        return shapedAppIcons;
-    }
-
-    private Path loadPath(Resources overlayRes, String packageName) {
-        String shape = overlayRes.getString(overlayRes.getIdentifier(CONFIG_ICON_MASK, "string",
-                packageName));
-
-        if (!TextUtils.isEmpty(shape)) {
-            return PathParser.createPathFromPathData(shape);
-        }
-        return null;
-    }
-
-    @Dimension
-    private int loadCornerRadius(String packageName)
-            throws NameNotFoundException, NotFoundException {
-
-        Resources overlayRes =
-                mContext.getPackageManager().getResourcesForApplication(
-                        packageName);
-        return overlayRes.getDimensionPixelOffset(overlayRes.getIdentifier(
-                CONFIG_CORNERRADIUS, "dimen", packageName));
-    }
-}
diff --git a/src/com/android/customization/model/theme/custom/ThemeComponentOption.java b/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
deleted file mode 100644
index 78be0fc..0000000
--- a/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
+++ /dev/null
@@ -1,556 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme.custom;
-
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_FONT;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_ANDROID;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_LAUNCHER;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SETTINGS;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SYSUI;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_THEMEPICKER;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
-import static com.android.customization.model.ResourceConstants.getLauncherPackage;
-
-import android.content.Context;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.ColorStateList;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.content.res.Resources.NotFoundException;
-import android.content.res.Resources.Theme;
-import android.content.res.TypedArray;
-import android.graphics.Path;
-import android.graphics.Typeface;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
-import android.graphics.drawable.ShapeDrawable;
-import android.graphics.drawable.StateListDrawable;
-import android.text.TextUtils;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.CompoundButton;
-import android.widget.ImageView;
-import android.widget.SeekBar;
-import android.widget.Switch;
-import android.widget.TextView;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.Dimension;
-import androidx.annotation.DrawableRes;
-import androidx.annotation.Nullable;
-import androidx.annotation.StringRes;
-import androidx.core.graphics.ColorUtils;
-
-import com.android.customization.model.CustomizationManager;
-import com.android.customization.model.CustomizationOption;
-import com.android.customization.model.ResourceConstants;
-import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
-import com.android.customization.model.theme.custom.CustomTheme.Builder;
-import com.android.wallpaper.R;
-import com.android.wallpaper.util.ResourceUtils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * Represents an option of a component of a custom Theme (for example, a possible color, or font,
- * shape, etc).
- * Extending classes correspond to each component's options and provide the structure to bind
- * preview and thumbnails.
- * // TODO (santie): refactor the logic to bind preview cards to reuse between ThemeFragment and
- * // here
- */
-public abstract class ThemeComponentOption implements CustomizationOption<ThemeComponentOption> {
-
-    protected final Map<String, String> mOverlayPackageNames = new HashMap<>();
-
-    protected void addOverlayPackage(String category, String packageName) {
-        mOverlayPackageNames.put(category, packageName);
-    }
-
-    public Map<String, String> getOverlayPackages() {
-        return mOverlayPackageNames;
-    }
-
-    @Override
-    public String getTitle() {
-        return null;
-    }
-
-    public abstract void bindPreview(ViewGroup container);
-
-    public Builder buildStep(Builder builder) {
-        getOverlayPackages().forEach(builder::addOverlayPackage);
-        return builder;
-    }
-
-    public static class FontOption extends ThemeComponentOption {
-
-        private final String mLabel;
-        private final Typeface mHeadlineFont;
-        private final Typeface mBodyFont;
-
-        public FontOption(String packageName, String label, Typeface headlineFont,
-                Typeface bodyFont) {
-            addOverlayPackage(OVERLAY_CATEGORY_FONT, packageName);
-            mLabel = label;
-            mHeadlineFont = headlineFont;
-            mBodyFont = bodyFont;
-        }
-
-        @Override
-        public String getTitle() {
-            return null;
-        }
-
-        @Override
-        public void bindThumbnailTile(View view) {
-            ((TextView) view.findViewById(R.id.thumbnail_text)).setTypeface(
-                    mHeadlineFont);
-            view.setContentDescription(mLabel);
-        }
-
-        @Override
-        public boolean isActive(CustomizationManager<ThemeComponentOption> manager) {
-            CustomThemeManager customThemeManager = (CustomThemeManager) manager;
-            return Objects.equals(getOverlayPackages().get(OVERLAY_CATEGORY_FONT),
-                    customThemeManager.getOverlayPackages().get(OVERLAY_CATEGORY_FONT));
-        }
-
-        @Override
-        public int getLayoutResId() {
-            return R.layout.theme_font_option;
-        }
-
-        @Override
-        public void bindPreview(ViewGroup container) {
-            container.setContentDescription(
-                    container.getContext().getString(R.string.font_preview_content_description));
-
-            bindPreviewHeader(container, R.string.preview_name_font, R.drawable.ic_font, null);
-
-            ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
-            if (cardBody.getChildCount() == 0) {
-                LayoutInflater.from(container.getContext()).inflate(
-                        R.layout.preview_card_font_content,
-                        cardBody, true);
-            }
-            TextView title = container.findViewById(R.id.font_card_title);
-            title.setTypeface(mHeadlineFont);
-            TextView bodyText = container.findViewById(R.id.font_card_body);
-            bodyText.setTypeface(mBodyFont);
-            container.findViewById(R.id.font_card_divider).setBackgroundColor(
-                    title.getCurrentTextColor());
-        }
-
-        @Override
-        public Builder buildStep(Builder builder) {
-            builder.setHeadlineFontFamily(mHeadlineFont).setBodyFontFamily(mBodyFont);
-            return super.buildStep(builder);
-        }
-    }
-
-    void bindPreviewHeader(ViewGroup container, @StringRes int headerTextResId,
-            @DrawableRes int headerIcon, String drawableName) {
-        TextView header = container.findViewById(R.id.theme_preview_card_header);
-        header.setText(headerTextResId);
-
-        Context context = container.getContext();
-        Drawable icon;
-        if (!TextUtils.isEmpty(drawableName)) {
-            try {
-                Resources resources = context.getPackageManager()
-                        .getResourcesForApplication(getLauncherPackage(context));
-                icon = resources.getDrawable(resources.getIdentifier(
-                        drawableName, "drawable", getLauncherPackage(context)), null);
-            } catch (NameNotFoundException | NotFoundException e) {
-                icon = context.getResources().getDrawable(headerIcon, context.getTheme());
-            }
-        } else {
-            icon = context.getResources().getDrawable(headerIcon, context.getTheme());
-        }
-        int size = context.getResources().getDimensionPixelSize(R.dimen.card_header_icon_size);
-        icon.setBounds(0, 0, size, size);
-
-        header.setCompoundDrawables(null, icon, null, null);
-        header.setCompoundDrawableTintList(ColorStateList.valueOf(
-                header.getCurrentTextColor()));
-    }
-
-    public static class IconOption extends ThemeComponentOption {
-
-        public static final int THUMBNAIL_ICON_POSITION = 0;
-        private static int[] mIconIds = {
-                R.id.preview_icon_0, R.id.preview_icon_1, R.id.preview_icon_2, R.id.preview_icon_3,
-                R.id.preview_icon_4, R.id.preview_icon_5
-        };
-
-        private List<Drawable> mIcons = new ArrayList<>();
-        private String mLabel;
-
-        @Override
-        public void bindThumbnailTile(View view) {
-            Resources res = view.getContext().getResources();
-            Drawable icon = mIcons.get(THUMBNAIL_ICON_POSITION)
-                    .getConstantState().newDrawable().mutate();
-            icon.setTint(ResourceUtils.getColorAttr(
-                    view.getContext(), android.R.attr.textColorSecondary));
-            ((ImageView) view.findViewById(R.id.option_icon)).setImageDrawable(
-                    icon);
-            view.setContentDescription(mLabel);
-        }
-
-        @Override
-        public boolean isActive(CustomizationManager<ThemeComponentOption> manager) {
-            CustomThemeManager customThemeManager = (CustomThemeManager) manager;
-            Map<String, String> themePackages = customThemeManager.getOverlayPackages();
-            if (getOverlayPackages().isEmpty()) {
-                return themePackages.get(OVERLAY_CATEGORY_ICON_SYSUI) == null &&
-                        themePackages.get(OVERLAY_CATEGORY_ICON_SETTINGS) == null &&
-                        themePackages.get(OVERLAY_CATEGORY_ICON_ANDROID) == null &&
-                        themePackages.get(OVERLAY_CATEGORY_ICON_LAUNCHER) == null &&
-                        themePackages.get(OVERLAY_CATEGORY_ICON_THEMEPICKER) == null;
-            }
-            for (Map.Entry<String, String> overlayEntry : getOverlayPackages().entrySet()) {
-                if(!Objects.equals(overlayEntry.getValue(),
-                        themePackages.get(overlayEntry.getKey()))) {
-                    return false;
-                }
-            }
-            return true;
-        }
-
-        @Override
-        public int getLayoutResId() {
-            return R.layout.theme_icon_option;
-        }
-
-        @Override
-        public void bindPreview(ViewGroup container) {
-            container.setContentDescription(
-                    container.getContext().getString(R.string.icon_preview_content_description));
-
-            bindPreviewHeader(container, R.string.preview_name_icon, R.drawable.ic_widget,
-                    "ic_widget");
-
-            ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
-            if (cardBody.getChildCount() == 0) {
-                LayoutInflater.from(container.getContext()).inflate(
-                        R.layout.preview_card_icon_content, cardBody, true);
-            }
-            for (int i = 0; i < mIconIds.length && i < mIcons.size(); i++) {
-                ((ImageView) container.findViewById(mIconIds[i])).setImageDrawable(
-                        mIcons.get(i));
-            }
-        }
-
-        public void addIcon(Drawable previewIcon) {
-            mIcons.add(previewIcon);
-        }
-
-        /**
-         * @return whether this icon option has overlays and previews for all the required packages
-         */
-        public boolean isValid(Context context) {
-            return getOverlayPackages().keySet().size() ==
-                    ResourceConstants.getPackagesToOverlay(context).length;
-        }
-
-        public void setLabel(String label) {
-            mLabel = label;
-        }
-
-        @Override
-        public Builder buildStep(Builder builder) {
-            for (Drawable icon : mIcons) {
-                builder.addIcon(icon);
-            }
-            return super.buildStep(builder);
-        }
-    }
-
-    public static class ColorOption extends ThemeComponentOption {
-
-        /**
-         * Ids of views used to represent quick setting tiles in the color preview screen
-         */
-        private static int[] COLOR_TILE_IDS = {
-                R.id.preview_color_qs_0_bg, R.id.preview_color_qs_1_bg, R.id.preview_color_qs_2_bg
-        };
-
-        /**
-         * Ids of the views for the foreground of the icon, mapping to the corresponding index of
-         * the actual icon drawable.
-         */
-        static int[][] COLOR_TILES_ICON_IDS = {
-                new int[]{ R.id.preview_color_qs_0_icon, 0},
-                new int[]{ R.id.preview_color_qs_1_icon, 1},
-                new int[] { R.id.preview_color_qs_2_icon, 3}
-        };
-
-        /**
-         * Ids of views used to represent control buttons in the color preview screen
-         */
-        private static int[] COLOR_BUTTON_IDS = {
-                R.id.preview_check_selected, R.id.preview_radio_selected,
-                R.id.preview_toggle_selected
-        };
-
-        @ColorInt private int mColorAccentLight;
-        @ColorInt private int mColorAccentDark;
-        /**
-         * Icons shown as example of QuickSettings tiles in the color preview screen.
-         */
-        private List<Drawable> mIcons = new ArrayList<>();
-
-        /**
-         * Drawable with the currently selected shape to be used as background of the sample
-         * QuickSetting icons in the color preview screen.
-         */
-        private Drawable mShapeDrawable;
-
-        private String mLabel;
-
-        ColorOption(String packageName, String label, @ColorInt int lightColor,
-                @ColorInt int darkColor) {
-            addOverlayPackage(OVERLAY_CATEGORY_COLOR, packageName);
-            mLabel = label;
-            mColorAccentLight = lightColor;
-            mColorAccentDark = darkColor;
-        }
-
-        @Override
-        public void bindThumbnailTile(View view) {
-            @ColorInt int color = resolveColor(view.getResources());
-            LayerDrawable selectedOption = (LayerDrawable) view.getResources().getDrawable(
-                    R.drawable.color_chip_hollow, view.getContext().getTheme());
-            Drawable unselectedOption = view.getResources().getDrawable(
-                    R.drawable.color_chip_filled, view.getContext().getTheme());
-
-            selectedOption.findDrawableByLayerId(R.id.center_fill).setTintList(
-                    ColorStateList.valueOf(color));
-            unselectedOption.setTintList(ColorStateList.valueOf(color));
-
-            StateListDrawable stateListDrawable = new StateListDrawable();
-            stateListDrawable.addState(new int[] {android.R.attr.state_activated}, selectedOption);
-            stateListDrawable.addState(
-                    new int[] {-android.R.attr.state_activated}, unselectedOption);
-
-            ((ImageView) view.findViewById(R.id.option_tile)).setImageDrawable(stateListDrawable);
-            view.setContentDescription(mLabel);
-        }
-
-        @ColorInt
-        private int resolveColor(Resources res) {
-            Configuration configuration = res.getConfiguration();
-            return (configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK)
-                    == Configuration.UI_MODE_NIGHT_YES ? mColorAccentDark : mColorAccentLight;
-        }
-
-        @Override
-        public boolean isActive(CustomizationManager<ThemeComponentOption> manager) {
-            CustomThemeManager customThemeManager = (CustomThemeManager) manager;
-            return Objects.equals(getOverlayPackages().get(OVERLAY_CATEGORY_COLOR),
-                    customThemeManager.getOverlayPackages().get(OVERLAY_CATEGORY_COLOR));
-        }
-
-        @Override
-        public int getLayoutResId() {
-            return R.layout.theme_color_option;
-        }
-
-        @Override
-        public void bindPreview(ViewGroup container) {
-            container.setContentDescription(
-                    container.getContext().getString(R.string.color_preview_content_description));
-
-            bindPreviewHeader(container, R.string.preview_name_color, R.drawable.ic_colorize_24px,
-                    null);
-
-            ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
-            if (cardBody.getChildCount() == 0) {
-                LayoutInflater.from(container.getContext()).inflate(
-                        R.layout.preview_card_color_content, cardBody, true);
-            }
-            Resources res = container.getResources();
-            @ColorInt int accentColor = resolveColor(res);
-            @ColorInt int controlGreyColor = ResourceUtils.getColorAttr(
-                    container.getContext(),
-                    android.R.attr.textColorTertiary);
-            ColorStateList tintList = new ColorStateList(
-                    new int[][]{
-                            new int[]{android.R.attr.state_selected},
-                            new int[]{android.R.attr.state_checked},
-                            new int[]{-android.R.attr.state_enabled}
-                    },
-                    new int[] {
-                            accentColor,
-                            accentColor,
-                            controlGreyColor
-                    }
-            );
-
-            for (int i = 0; i < COLOR_BUTTON_IDS.length; i++) {
-                CompoundButton button = container.findViewById(COLOR_BUTTON_IDS[i]);
-                button.setButtonTintList(tintList);
-            }
-
-            Switch enabledSwitch = container.findViewById(R.id.preview_toggle_selected);
-            enabledSwitch.setThumbTintList(tintList);
-            enabledSwitch.setTrackTintList(tintList);
-
-            ColorStateList seekbarTintList = ColorStateList.valueOf(accentColor);
-            SeekBar seekbar = container.findViewById(R.id.preview_seekbar);
-            seekbar.setThumbTintList(seekbarTintList);
-            seekbar.setProgressTintList(seekbarTintList);
-            seekbar.setProgressBackgroundTintList(seekbarTintList);
-            // Disable seekbar
-            seekbar.setOnTouchListener((view, motionEvent) -> true);
-
-            int iconFgColor = ResourceUtils.getColorAttr(container.getContext(),
-                    android.R.attr.colorBackground);
-            if (!mIcons.isEmpty() && mShapeDrawable != null) {
-                for (int i = 0; i < COLOR_TILE_IDS.length; i++) {
-                    Drawable icon = mIcons.get(COLOR_TILES_ICON_IDS[i][1]).getConstantState()
-                            .newDrawable();
-                    icon.setTint(iconFgColor);
-                    //TODO: load and set the shape.
-                    Drawable bgShape = mShapeDrawable.getConstantState().newDrawable();
-                    bgShape.setTint(accentColor);
-
-                    ImageView bg = container.findViewById(COLOR_TILE_IDS[i]);
-                    bg.setImageDrawable(bgShape);
-                    ImageView fg = container.findViewById(COLOR_TILES_ICON_IDS[i][0]);
-                    fg.setImageDrawable(icon);
-                }
-            }
-        }
-
-        public void setPreviewIcons(List<Drawable> icons) {
-            mIcons.addAll(icons);
-        }
-
-        public void setShapeDrawable(@Nullable Drawable shapeDrawable) {
-            mShapeDrawable = shapeDrawable;
-        }
-
-        @Override
-        public Builder buildStep(Builder builder) {
-            builder.setColorAccentDark(mColorAccentDark).setColorAccentLight(mColorAccentLight);
-            return super.buildStep(builder);
-        }
-    }
-
-    public static class ShapeOption extends ThemeComponentOption {
-
-        private final LayerDrawable mShape;
-        private final List<ShapeAppIcon> mAppIcons;
-        private final String mLabel;
-        private final Path mPath;
-        private final int mCornerRadius;
-        private int[] mShapeIconIds = {
-                R.id.shape_preview_icon_0, R.id.shape_preview_icon_1, R.id.shape_preview_icon_2,
-                R.id.shape_preview_icon_3, R.id.shape_preview_icon_4, R.id.shape_preview_icon_5
-        };
-
-        ShapeOption(String packageName, String label, Path path,
-                @Dimension int cornerRadius, Drawable shapeDrawable,
-                List<ShapeAppIcon> appIcons) {
-            addOverlayPackage(OVERLAY_CATEGORY_SHAPE, packageName);
-            mLabel = label;
-            mAppIcons = appIcons;
-            mPath = path;
-            mCornerRadius = cornerRadius;
-            Drawable background = shapeDrawable.getConstantState().newDrawable();
-            Drawable foreground = shapeDrawable.getConstantState().newDrawable();
-            mShape = new LayerDrawable(new Drawable[]{background, foreground});
-            mShape.setLayerGravity(0, Gravity.CENTER);
-            mShape.setLayerGravity(1, Gravity.CENTER);
-        }
-
-        @Override
-        public void bindThumbnailTile(View view) {
-            ImageView thumb = view.findViewById(R.id.shape_thumbnail);
-            Resources res = view.getResources();
-            Theme theme = view.getContext().getTheme();
-            int borderWidth = 2 * res.getDimensionPixelSize(R.dimen.option_border_width);
-
-            Drawable background = mShape.getDrawable(0);
-            background.setTintList(res.getColorStateList(R.color.option_border_color, theme));
-
-            ShapeDrawable foreground = (ShapeDrawable) mShape.getDrawable(1);
-
-            foreground.setIntrinsicHeight(background.getIntrinsicHeight() - borderWidth);
-            foreground.setIntrinsicWidth(background.getIntrinsicWidth() - borderWidth);
-            TypedArray ta = view.getContext().obtainStyledAttributes(
-                    new int[]{android.R.attr.colorPrimary});
-            int primaryColor = ta.getColor(0, 0);
-            ta.recycle();
-            int foregroundColor =
-                    ResourceUtils.getColorAttr(view.getContext(), android.R.attr.textColorPrimary);
-
-            foreground.setTint(ColorUtils.blendARGB(primaryColor, foregroundColor, .05f));
-
-            thumb.setImageDrawable(mShape);
-            view.setContentDescription(mLabel);
-        }
-
-        @Override
-        public boolean isActive(CustomizationManager<ThemeComponentOption> manager) {
-            CustomThemeManager customThemeManager = (CustomThemeManager) manager;
-            return Objects.equals(getOverlayPackages().get(OVERLAY_CATEGORY_SHAPE),
-                    customThemeManager.getOverlayPackages().get(OVERLAY_CATEGORY_SHAPE));
-        }
-
-        @Override
-        public int getLayoutResId() {
-            return R.layout.theme_shape_option;
-        }
-
-        @Override
-        public void bindPreview(ViewGroup container) {
-            container.setContentDescription(
-                    container.getContext().getString(R.string.shape_preview_content_description));
-
-            bindPreviewHeader(container, R.string.preview_name_shape, R.drawable.ic_shapes_24px,
-                    null);
-
-            ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
-            if (cardBody.getChildCount() == 0) {
-                LayoutInflater.from(container.getContext()).inflate(
-                        R.layout.preview_card_shape_content, cardBody, true);
-            }
-            for (int i = 0; i < mShapeIconIds.length && i < mAppIcons.size(); i++) {
-                ImageView iconView = cardBody.findViewById(mShapeIconIds[i]);
-                iconView.setBackground(mAppIcons.get(i).getDrawableCopy());
-            }
-        }
-
-        @Override
-        public Builder buildStep(Builder builder) {
-            builder.setShapePath(mPath)
-                    .setBottomSheetCornerRadius(mCornerRadius)
-                    .setShapePreviewIcons(mAppIcons);
-            return super.buildStep(builder);
-        }
-    }
-}
diff --git a/src/com/android/customization/model/theme/custom/ThemeComponentOptionProvider.java b/src/com/android/customization/model/theme/custom/ThemeComponentOptionProvider.java
deleted file mode 100644
index 992c47c..0000000
--- a/src/com/android/customization/model/theme/custom/ThemeComponentOptionProvider.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme.custom;
-
-import android.content.Context;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.Resources;
-import android.os.UserHandle;
-
-import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
-import com.android.customization.model.ResourceConstants;
-import com.android.customization.model.theme.OverlayManagerCompat;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Base class used to retrieve Custom Theme Component options (eg, different fonts)
- * from the system.
- */
-public abstract class ThemeComponentOptionProvider<T extends ThemeComponentOption> {
-
-    protected final Context mContext;
-    protected final List<String> mOverlayPackages;
-    protected List<T> mOptions;
-
-    public ThemeComponentOptionProvider(Context context, OverlayManagerCompat manager,
-            String... categories) {
-        mContext = context;
-        mOverlayPackages = new ArrayList<>();
-        for (String category : categories) {
-            mOverlayPackages.addAll(manager.getOverlayPackagesForCategory(category,
-                    UserHandle.myUserId(), ResourceConstants.getPackagesToOverlay(mContext)));
-        }
-    }
-
-    /**
-     * Returns whether there are options for this component available in the current setup.
-     */
-    public boolean isAvailable() {
-        return !mOverlayPackages.isEmpty();
-    }
-
-    /**
-     * Retrieve the available options for this component.
-     * @param callback called when the themes have been retrieved (or immediately if cached)
-     * @param reload whether to reload themes if they're cached.
-     */
-    public void fetch(OptionsFetchedListener<T> callback, boolean reload) {
-        if (mOptions == null || reload) {
-            mOptions = new ArrayList<>();
-            loadOptions();
-        }
-
-        if(callback != null) {
-            callback.onOptionsLoaded(mOptions);
-        }
-    }
-
-    protected abstract void loadOptions();
-
-    protected Resources getOverlayResources(String overlayPackage) throws NameNotFoundException {
-        return mContext.getPackageManager().getResourcesForApplication(overlayPackage);
-    }
-}
diff --git a/src/com/android/customization/model/themedicon/ThemedIconSectionController.java b/src/com/android/customization/model/themedicon/ThemedIconSectionController.java
index 5d551a6..1cc6d0a 100644
--- a/src/com/android/customization/model/themedicon/ThemedIconSectionController.java
+++ b/src/com/android/customization/model/themedicon/ThemedIconSectionController.java
@@ -24,10 +24,12 @@
 
 import com.android.customization.model.themedicon.domain.interactor.ThemedIconInteractor;
 import com.android.customization.model.themedicon.domain.interactor.ThemedIconSnapshotRestorer;
+import com.android.customization.module.logging.ThemesUserEventLogger;
 import com.android.customization.picker.themedicon.ThemedIconSectionView;
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.CustomizationSectionController;
 
+// TODO (b/311712452): Refactor CustomizationSectionController to use recommended arch UI components
 /** The {@link CustomizationSectionController} for themed icon section. */
 public class ThemedIconSectionController implements
         CustomizationSectionController<ThemedIconSectionView> {
@@ -38,6 +40,7 @@
     private final ThemedIconInteractor mInteractor;
     private final ThemedIconSnapshotRestorer mSnapshotRestorer;
     private final Observer<Boolean> mIsActivatedChangeObserver;
+    private final ThemesUserEventLogger mThemesUserEventLogger;
 
     private ThemedIconSectionView mThemedIconSectionView;
     private boolean mSavedThemedIconEnabled = false;
@@ -46,7 +49,8 @@
             ThemedIconSwitchProvider themedIconOptionsProvider,
             ThemedIconInteractor interactor,
             @Nullable Bundle savedInstanceState,
-            ThemedIconSnapshotRestorer snapshotRestorer) {
+            ThemedIconSnapshotRestorer snapshotRestorer,
+            ThemesUserEventLogger themesUserEventLogger) {
         mThemedIconOptionsProvider = themedIconOptionsProvider;
         mInteractor = interactor;
         mSnapshotRestorer = snapshotRestorer;
@@ -55,6 +59,7 @@
                 mThemedIconSectionView.getSwitch().setChecked(isActivated);
             }
         };
+        mThemesUserEventLogger = themesUserEventLogger;
 
         if (savedInstanceState != null) {
             mSavedThemedIconEnabled = savedInstanceState.getBoolean(
@@ -75,7 +80,10 @@
         mThemedIconSectionView.setViewListener(this::onViewActivated);
         mThemedIconSectionView.getSwitch().setChecked(mSavedThemedIconEnabled);
         mThemedIconOptionsProvider.fetchThemedIconEnabled(
-                enabled -> mThemedIconSectionView.getSwitch().setChecked(enabled));
+                enabled -> {
+                    mInteractor.setActivated(enabled);
+                    mThemedIconSectionView.getSwitch().setChecked(enabled);
+                });
         mInteractor.isActivatedAsLiveData().observeForever(mIsActivatedChangeObserver);
         return mThemedIconSectionView;
     }
@@ -91,6 +99,7 @@
         }
         mThemedIconOptionsProvider.setThemedIconEnabled(viewActivated);
         mInteractor.setActivated(viewActivated);
+        mThemesUserEventLogger.logThemedIconApplied(viewActivated);
         mSnapshotRestorer.store(viewActivated);
     }
 
diff --git a/src/com/android/customization/module/CustomizationInjector.kt b/src/com/android/customization/module/CustomizationInjector.kt
index 8fd3768..82203d9 100644
--- a/src/com/android/customization/module/CustomizationInjector.kt
+++ b/src/com/android/customization/module/CustomizationInjector.kt
@@ -18,33 +18,21 @@
 import android.content.Context
 import android.content.res.Resources
 import androidx.activity.ComponentActivity
-import androidx.fragment.app.FragmentActivity
-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.module.logging.ThemesUserEventLogger
 import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
 import com.android.customization.picker.clock.ui.view.ClockViewFactory
 import com.android.customization.picker.clock.ui.viewmodel.ClockCarouselViewModel
-import com.android.customization.picker.clock.ui.viewmodel.ClockSectionViewModel
 import com.android.customization.picker.clock.ui.viewmodel.ClockSettingsViewModel
-import com.android.customization.picker.clock.utils.ClockDescriptionUtils
 import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor
 import com.android.customization.picker.color.ui.viewmodel.ColorPickerViewModel
 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
 import com.android.systemui.shared.clocks.ClockRegistry
-import com.android.wallpaper.model.WallpaperColorsViewModel
 import com.android.wallpaper.module.Injector
+import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository
 
 interface CustomizationInjector : Injector {
     fun getCustomizationPreferences(context: Context): CustomizationPreferences
 
-    fun getThemeManager(
-        provider: ThemeBundleProvider,
-        activity: FragmentActivity,
-        overlayManagerCompat: OverlayManagerCompat,
-        logger: ThemesUserEventLogger,
-    ): ThemeManager
-
     fun getKeyguardQuickAffordancePickerInteractor(
         context: Context,
     ): KeyguardQuickAffordancePickerInteractor
@@ -53,31 +41,28 @@
 
     fun getClockPickerInteractor(context: Context): ClockPickerInteractor
 
-    fun getClockSectionViewModel(
-        context: Context,
-    ): ClockSectionViewModel
-
     fun getColorPickerInteractor(
         context: Context,
-        wallpaperColorsViewModel: WallpaperColorsViewModel,
+        wallpaperColorsRepository: WallpaperColorsRepository,
     ): ColorPickerInteractor
 
     fun getColorPickerViewModelFactory(
         context: Context,
-        wallpaperColorsViewModel: WallpaperColorsViewModel,
+        wallpaperColorsRepository: WallpaperColorsRepository,
     ): ColorPickerViewModel.Factory
 
     fun getClockCarouselViewModelFactory(
         interactor: ClockPickerInteractor,
+        clockViewFactory: ClockViewFactory,
+        resources: Resources,
+        logger: ThemesUserEventLogger,
     ): ClockCarouselViewModel.Factory
 
     fun getClockViewFactory(activity: ComponentActivity): ClockViewFactory
 
     fun getClockSettingsViewModelFactory(
         context: Context,
-        wallpaperColorsViewModel: WallpaperColorsViewModel,
+        wallpaperColorsRepository: WallpaperColorsRepository,
         clockViewFactory: ClockViewFactory,
     ): ClockSettingsViewModel.Factory
-
-    fun getClockDescriptionUtils(resources: Resources): ClockDescriptionUtils
 }
diff --git a/src/com/android/customization/module/CustomizationPreferences.java b/src/com/android/customization/module/CustomizationPreferences.java
deleted file mode 100644
index 0df3ff9..0000000
--- a/src/com/android/customization/module/CustomizationPreferences.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.module;
-
-import com.android.wallpaper.module.WallpaperPreferences;
-
-public interface CustomizationPreferences extends WallpaperPreferences {
-
-    String KEY_CUSTOM_THEME= "themepicker_custom_theme";
-    String KEY_VISITED_PREFIX = "themepicker_visited_";
-    String KEY_THEMED_ICON_ENABLED = "themepicker_themed_icon_enabled";
-
-    String getSerializedCustomThemes();
-
-    void storeCustomThemes(String serializedCustomThemes);
-
-    boolean getTabVisited(String id);
-
-    void setTabVisited(String id);
-
-    boolean getThemedIconEnabled();
-
-    void setThemedIconEnabled(boolean enabled);
-}
diff --git a/src/com/android/customization/module/CustomizationPreferences.kt b/src/com/android/customization/module/CustomizationPreferences.kt
new file mode 100644
index 0000000..4148c3b
--- /dev/null
+++ b/src/com/android/customization/module/CustomizationPreferences.kt
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.module
+
+import com.android.wallpaper.module.WallpaperPreferences
+
+interface CustomizationPreferences : WallpaperPreferences {
+    fun getSerializedCustomThemes(): String?
+
+    fun storeCustomThemes(serializedCustomThemes: String)
+
+    fun getTabVisited(id: String): Boolean
+
+    fun setTabVisited(id: String)
+
+    fun getThemedIconEnabled(): Boolean
+
+    fun setThemedIconEnabled(enabled: Boolean)
+
+    companion object {
+        const val KEY_CUSTOM_THEME = "themepicker_custom_theme"
+        const val KEY_VISITED_PREFIX = "themepicker_visited_"
+        const val KEY_THEMED_ICON_ENABLED = "themepicker_themed_icon_enabled"
+    }
+}
diff --git a/src/com/android/customization/module/DefaultCustomizationPreferences.java b/src/com/android/customization/module/DefaultCustomizationPreferences.java
deleted file mode 100644
index 4af402f..0000000
--- a/src/com/android/customization/module/DefaultCustomizationPreferences.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.module;
-
-import android.content.Context;
-
-import com.android.wallpaper.module.DefaultWallpaperPreferences;
-
-public class DefaultCustomizationPreferences extends DefaultWallpaperPreferences
-        implements CustomizationPreferences {
-
-    public DefaultCustomizationPreferences(Context context) {
-        super(context);
-    }
-
-
-    @Override
-    public String getSerializedCustomThemes() {
-        return mSharedPrefs.getString(KEY_CUSTOM_THEME, null);
-    }
-
-    @Override
-    public void storeCustomThemes(String serializedCustomThemes) {
-        mSharedPrefs.edit().putString(KEY_CUSTOM_THEME, serializedCustomThemes).apply();
-    }
-
-    @Override
-    public boolean getTabVisited(String id) {
-        return mSharedPrefs.getBoolean(KEY_VISITED_PREFIX + id, false);
-    }
-
-    @Override
-    public void setTabVisited(String id) {
-        mSharedPrefs.edit().putBoolean(KEY_VISITED_PREFIX + id, true).apply();
-    }
-
-    @Override
-    public boolean getThemedIconEnabled() {
-        return mSharedPrefs.getBoolean(KEY_THEMED_ICON_ENABLED, false);
-    }
-
-    @Override
-    public void setThemedIconEnabled(boolean enabled) {
-        mSharedPrefs.edit().putBoolean(KEY_THEMED_ICON_ENABLED, enabled).apply();
-    }
-}
diff --git a/src/com/android/customization/module/DefaultCustomizationPreferences.kt b/src/com/android/customization/module/DefaultCustomizationPreferences.kt
new file mode 100644
index 0000000..49fd1a9
--- /dev/null
+++ b/src/com/android/customization/module/DefaultCustomizationPreferences.kt
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.module
+
+import android.content.Context
+import com.android.wallpaper.module.DefaultWallpaperPreferences
+
+open class DefaultCustomizationPreferences(context: Context) :
+    DefaultWallpaperPreferences(context), CustomizationPreferences {
+
+    override fun getSerializedCustomThemes(): String? {
+        return sharedPrefs.getString(CustomizationPreferences.KEY_CUSTOM_THEME, null)
+    }
+
+    override fun storeCustomThemes(serializedCustomThemes: String) {
+        sharedPrefs
+            .edit()
+            .putString(CustomizationPreferences.KEY_CUSTOM_THEME, serializedCustomThemes)
+            .apply()
+    }
+
+    override fun getTabVisited(id: String): Boolean {
+        return sharedPrefs.getBoolean(CustomizationPreferences.KEY_VISITED_PREFIX + id, false)
+    }
+
+    override fun setTabVisited(id: String) {
+        sharedPrefs
+            .edit()
+            .putBoolean(CustomizationPreferences.KEY_VISITED_PREFIX + id, true)
+            .apply()
+    }
+
+    override fun getThemedIconEnabled(): Boolean {
+        return sharedPrefs.getBoolean(CustomizationPreferences.KEY_THEMED_ICON_ENABLED, false)
+    }
+
+    override fun setThemedIconEnabled(enabled: Boolean) {
+        sharedPrefs
+            .edit()
+            .putBoolean(CustomizationPreferences.KEY_THEMED_ICON_ENABLED, enabled)
+            .apply()
+    }
+}
diff --git a/src/com/android/customization/module/DefaultCustomizationSections.java b/src/com/android/customization/module/DefaultCustomizationSections.java
index bbe6bef..8347d03 100644
--- a/src/com/android/customization/module/DefaultCustomizationSections.java
+++ b/src/com/android/customization/module/DefaultCustomizationSections.java
@@ -9,22 +9,21 @@
 import androidx.lifecycle.ViewModelProvider;
 
 import com.android.customization.model.grid.GridOptionsManager;
-import com.android.customization.model.grid.GridSectionController;
-import com.android.customization.model.mode.DarkModeSnapshotRestorer;
 import com.android.customization.model.themedicon.ThemedIconSectionController;
 import com.android.customization.model.themedicon.ThemedIconSwitchProvider;
 import com.android.customization.model.themedicon.domain.interactor.ThemedIconInteractor;
 import com.android.customization.model.themedicon.domain.interactor.ThemedIconSnapshotRestorer;
+import com.android.customization.module.logging.ThemesUserEventLogger;
 import com.android.customization.picker.clock.ui.view.ClockViewFactory;
 import com.android.customization.picker.clock.ui.viewmodel.ClockCarouselViewModel;
 import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor;
-import com.android.customization.picker.color.ui.section.ColorSectionController2;
+import com.android.customization.picker.color.ui.section.ColorSectionController;
 import com.android.customization.picker.color.ui.viewmodel.ColorPickerViewModel;
+import com.android.customization.picker.grid.ui.section.GridSectionController;
 import com.android.customization.picker.notifications.ui.section.NotificationSectionController;
 import com.android.customization.picker.notifications.ui.viewmodel.NotificationSectionViewModel;
 import com.android.customization.picker.preview.ui.section.PreviewWithClockCarouselSectionController;
 import com.android.customization.picker.preview.ui.section.PreviewWithThemeSectionController;
-import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor;
 import com.android.customization.picker.quickaffordance.ui.section.KeyguardQuickAffordanceSectionController;
 import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel;
 import com.android.customization.picker.settings.ui.section.MoreSettingsSectionController;
@@ -32,10 +31,10 @@
 import com.android.wallpaper.model.CustomizationSectionController;
 import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController;
 import com.android.wallpaper.model.PermissionRequester;
-import com.android.wallpaper.model.WallpaperColorsViewModel;
 import com.android.wallpaper.model.WallpaperPreviewNavigator;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
 import com.android.wallpaper.module.CustomizationSections;
+import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository;
 import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor;
 import com.android.wallpaper.picker.customization.ui.section.ConnectedSectionController;
 import com.android.wallpaper.picker.customization.ui.section.WallpaperQuickSwitchSectionController;
@@ -49,43 +48,40 @@
 public final class DefaultCustomizationSections implements CustomizationSections {
 
     private final ColorPickerViewModel.Factory mColorPickerViewModelFactory;
-    private final KeyguardQuickAffordancePickerInteractor mKeyguardQuickAffordancePickerInteractor;
     private final KeyguardQuickAffordancePickerViewModel.Factory
             mKeyguardQuickAffordancePickerViewModelFactory;
     private final NotificationSectionViewModel.Factory mNotificationSectionViewModelFactory;
     private final BaseFlags mFlags;
     private final ClockCarouselViewModel.Factory mClockCarouselViewModelFactory;
     private final ClockViewFactory mClockViewFactory;
-    private final DarkModeSnapshotRestorer mDarkModeSnapshotRestorer;
     private final ThemedIconSnapshotRestorer mThemedIconSnapshotRestorer;
     private final ThemedIconInteractor mThemedIconInteractor;
     private final ColorPickerInteractor mColorPickerInteractor;
+    private final ThemesUserEventLogger mThemesUserEventLogger;
 
     public DefaultCustomizationSections(
             ColorPickerViewModel.Factory colorPickerViewModelFactory,
-            KeyguardQuickAffordancePickerInteractor keyguardQuickAffordancePickerInteractor,
             KeyguardQuickAffordancePickerViewModel.Factory
                     keyguardQuickAffordancePickerViewModelFactory,
             NotificationSectionViewModel.Factory notificationSectionViewModelFactory,
             BaseFlags flags,
             ClockCarouselViewModel.Factory clockCarouselViewModelFactory,
             ClockViewFactory clockViewFactory,
-            DarkModeSnapshotRestorer darkModeSnapshotRestorer,
             ThemedIconSnapshotRestorer themedIconSnapshotRestorer,
             ThemedIconInteractor themedIconInteractor,
-            ColorPickerInteractor colorPickerInteractor) {
+            ColorPickerInteractor colorPickerInteractor,
+            ThemesUserEventLogger themesUserEventLogger) {
         mColorPickerViewModelFactory = colorPickerViewModelFactory;
-        mKeyguardQuickAffordancePickerInteractor = keyguardQuickAffordancePickerInteractor;
         mKeyguardQuickAffordancePickerViewModelFactory =
                 keyguardQuickAffordancePickerViewModelFactory;
         mNotificationSectionViewModelFactory = notificationSectionViewModelFactory;
         mFlags = flags;
         mClockCarouselViewModelFactory = clockCarouselViewModelFactory;
         mClockViewFactory = clockViewFactory;
-        mDarkModeSnapshotRestorer = darkModeSnapshotRestorer;
         mThemedIconSnapshotRestorer = themedIconSnapshotRestorer;
         mThemedIconInteractor = themedIconInteractor;
         mColorPickerInteractor = colorPickerInteractor;
+        mThemesUserEventLogger = themesUserEventLogger;
     }
 
     @Override
@@ -93,7 +89,7 @@
             Screen screen,
             FragmentActivity activity,
             LifecycleOwner lifecycleOwner,
-            WallpaperColorsViewModel wallpaperColorsViewModel,
+            WallpaperColorsRepository wallpaperColorsRepository,
             PermissionRequester permissionRequester,
             WallpaperPreviewNavigator wallpaperPreviewNavigator,
             CustomizationSectionNavigationController sectionNavigationController,
@@ -114,7 +110,7 @@
                         lifecycleOwner,
                         screen,
                         wallpaperInfoFactory,
-                        wallpaperColorsViewModel,
+                        wallpaperColorsRepository,
                         displayUtils,
                         mClockCarouselViewModelFactory,
                         mClockViewFactory,
@@ -131,7 +127,7 @@
                                 lifecycleOwner,
                                 screen,
                                 wallpaperInfoFactory,
-                                wallpaperColorsViewModel,
+                                wallpaperColorsRepository,
                                 displayUtils,
                                 wallpaperPreviewNavigator,
                                 wallpaperInteractor,
@@ -144,7 +140,7 @@
         sectionControllers.add(
                 new ConnectedSectionController(
                         // Theme color section.
-                        new ColorSectionController2(
+                        new ColorSectionController(
                                 sectionNavigationController,
                                 new ViewModelProvider(
                                         activity,
@@ -166,7 +162,6 @@
                 sectionControllers.add(
                         new KeyguardQuickAffordanceSectionController(
                                 sectionNavigationController,
-                                mKeyguardQuickAffordancePickerInteractor,
                                 new ViewModelProvider(
                                         activity,
                                         mKeyguardQuickAffordancePickerViewModelFactory)
@@ -193,7 +188,8 @@
                                 ThemedIconSwitchProvider.getInstance(activity),
                                 mThemedIconInteractor,
                                 savedInstanceState,
-                                mThemedIconSnapshotRestorer));
+                                mThemedIconSnapshotRestorer,
+                                mThemesUserEventLogger));
 
                 // App grid section.
                 sectionControllers.add(
diff --git a/src/com/android/customization/module/StatsLogUserEventLogger.java b/src/com/android/customization/module/StatsLogUserEventLogger.java
deleted file mode 100644
index 647cdc9..0000000
--- a/src/com/android/customization/module/StatsLogUserEventLogger.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.module;
-
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_FONT;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
-import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__ACTION__APP_LAUNCHED;
-import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_CROP_AND_SET_ACTION;
-import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_DEEP_LINK;
-import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_LAUNCHER;
-import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_LAUNCH_ICON;
-import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_PREFERENCE_UNSPECIFIED;
-import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SETTINGS;
-import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SETTINGS_SEARCH;
-import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SUW;
-import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_TIPS;
-import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SETTINGS_SEARCH;
-import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SOURCE_DEEP_LINK;
-import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SOURCE_LAUNCHER;
-import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SOURCE_SETTINGS;
-import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SOURCE_SUW;
-import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SOURCE_TIPS;
-import static com.android.wallpaper.util.LaunchSourceUtils.WALLPAPER_LAUNCH_SOURCE;
-
-import android.app.WallpaperManager;
-import android.content.Intent;
-import android.stats.style.StyleEnums;
-import android.text.TextUtils;
-
-import androidx.annotation.Nullable;
-
-import com.android.customization.model.color.ColorOption;
-import com.android.customization.model.grid.GridOption;
-import com.android.customization.model.theme.ThemeBundle;
-import com.android.wallpaper.module.NoOpUserEventLogger;
-import com.android.wallpaper.module.WallpaperPreferences;
-import com.android.wallpaper.module.WallpaperStatusChecker;
-
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * StatsLog-backed implementation of {@link ThemesUserEventLogger}.
- */
-public class StatsLogUserEventLogger extends NoOpUserEventLogger implements ThemesUserEventLogger {
-
-    private final WallpaperPreferences mPreferences;
-    private final WallpaperStatusChecker mWallpaperStatusChecker;
-
-    public StatsLogUserEventLogger(
-            WallpaperPreferences preferences,
-            WallpaperStatusChecker wallpaperStatusChecker) {
-        mPreferences = preferences;
-        mWallpaperStatusChecker = wallpaperStatusChecker;
-    }
-
-    @Override
-    public void logAppLaunched(Intent launchSource) {
-        new SysUiStatsLogger(STYLE_UICHANGED__ACTION__APP_LAUNCHED)
-                .setLaunchedPreference(getAppLaunchSource(launchSource))
-                .log();
-    }
-
-    @Override
-    public void logResumed(boolean provisioned, boolean wallpaper) {
-        new SysUiStatsLogger(StyleEnums.ONRESUME)
-                .log();
-    }
-
-    @Override
-    public void logStopped() {
-        new SysUiStatsLogger(StyleEnums.ONSTOP)
-                .log();
-    }
-
-    @Override
-    public void logActionClicked(String collectionId, int actionLabelResId) {
-        new SysUiStatsLogger(StyleEnums.WALLPAPER_EXPLORE)
-                .setWallpaperCategoryHash(getIdHashCode(collectionId))
-                .log();
-    }
-
-    @Override
-    public void logIndividualWallpaperSelected(String collectionId) {
-        new SysUiStatsLogger(StyleEnums.WALLPAPER_SELECT)
-                .setWallpaperCategoryHash(getIdHashCode(collectionId))
-                .log();
-    }
-
-    @Override
-    public void logCategorySelected(String collectionId) {
-        new SysUiStatsLogger(StyleEnums.WALLPAPER_OPEN_CATEGORY)
-                .setWallpaperCategoryHash(getIdHashCode(collectionId))
-                .log();
-    }
-
-    @Override
-    public void logSnapshot() {
-        final boolean isLockWallpaperSet = mWallpaperStatusChecker.isLockWallpaperSet();
-        final String homeCollectionId = mPreferences.getHomeWallpaperCollectionId();
-        final String homeRemoteId = mPreferences.getHomeWallpaperRemoteId();
-        final String effects = mPreferences.getHomeWallpaperEffects();
-        String homeWallpaperId = TextUtils.isEmpty(homeRemoteId)
-                ? mPreferences.getHomeWallpaperServiceName() : homeRemoteId;
-        String lockCollectionId = isLockWallpaperSet ? mPreferences.getLockWallpaperCollectionId()
-                : homeCollectionId;
-        String lockWallpaperId = isLockWallpaperSet ? mPreferences.getLockWallpaperRemoteId()
-                : homeWallpaperId;
-
-        new SysUiStatsLogger(StyleEnums.SNAPSHOT)
-                .setWallpaperCategoryHash(getIdHashCode(homeCollectionId))
-                .setWallpaperIdHash(getIdHashCode(homeWallpaperId))
-                .setLockWallpaperCategoryHash(getIdHashCode(lockCollectionId))
-                .setLockWallpaperIdHash(getIdHashCode(lockWallpaperId))
-                .setFirstLaunchDateSinceSetup(mPreferences.getFirstLaunchDateSinceSetup())
-                .setFirstWallpaperApplyDateSinceSetup(
-                        mPreferences.getFirstWallpaperApplyDateSinceSetup())
-                .setAppLaunchCount(mPreferences.getAppLaunchCount())
-                .setEffectIdHash(getIdHashCode(effects))
-                .log();
-    }
-
-    @Override
-    public void logWallpaperSet(String collectionId, @Nullable String wallpaperId,
-            @Nullable String effects) {
-        new SysUiStatsLogger(StyleEnums.WALLPAPER_APPLIED)
-                .setWallpaperCategoryHash(getIdHashCode(collectionId))
-                .setWallpaperIdHash(getIdHashCode(wallpaperId))
-                .setEffectIdHash(getIdHashCode(effects))
-                .log();
-    }
-
-    @Override
-    public void logEffectApply(String effect, @EffectStatus int status, long timeElapsedMillis,
-            int resultCode) {
-        new SysUiStatsLogger(StyleEnums.WALLPAPER_EFFECT_APPLIED)
-                .setEffectPreference(status)
-                .setEffectIdHash(getIdHashCode(effect))
-                .setTimeElapsed(timeElapsedMillis)
-                .setEffectResultCode(resultCode)
-                .log();
-    }
-
-    @Override
-    public void logEffectProbe(String effect, @EffectStatus int status) {
-        new SysUiStatsLogger(StyleEnums.WALLPAPER_EFFECT_PROBE)
-                .setEffectPreference(status)
-                .setEffectIdHash(getIdHashCode(effect))
-                .log();
-    }
-
-    @Override
-    public void logEffectForegroundDownload(String effect, @EffectStatus int status,
-            long timeElapsedMillis) {
-        new SysUiStatsLogger(StyleEnums.WALLPAPER_EFFECT_FG_DOWNLOAD)
-                .setEffectPreference(status)
-                .setEffectIdHash(getIdHashCode(effect))
-                .setTimeElapsed(timeElapsedMillis)
-                .log();
-    }
-
-    @Nullable
-    private String getThemePackage(ThemeBundle theme, String category) {
-        Map<String, String> packages = theme.getPackagesByCategory();
-        return packages.get(category);
-    }
-
-    @Override
-    public void logThemeSelected(ThemeBundle theme, boolean isCustomTheme) {
-        new SysUiStatsLogger(StyleEnums.PICKER_SELECT)
-                .setColorPackageHash(
-                        Objects.hashCode(getThemePackage(theme, OVERLAY_CATEGORY_COLOR)))
-                .setFontPackageHash(Objects.hashCode(getThemePackage(theme, OVERLAY_CATEGORY_FONT)))
-                .setShapePackageHash(
-                        Objects.hashCode(getThemePackage(theme, OVERLAY_CATEGORY_SHAPE)))
-                .log();
-    }
-
-    @Override
-    public void logThemeApplied(ThemeBundle theme, boolean isCustomTheme) {
-        new SysUiStatsLogger(StyleEnums.PICKER_APPLIED)
-                .setColorPackageHash(
-                        Objects.hashCode(getThemePackage(theme, OVERLAY_CATEGORY_COLOR)))
-                .setFontPackageHash(Objects.hashCode(getThemePackage(theme, OVERLAY_CATEGORY_FONT)))
-                .setShapePackageHash(
-                        Objects.hashCode(getThemePackage(theme, OVERLAY_CATEGORY_SHAPE)))
-                .log();
-    }
-
-    @Override
-    public void logColorApplied(int action, ColorOption colorOption) {
-        new SysUiStatsLogger(action)
-                .setColorPreference(colorOption.getIndex())
-                .setColorVariant(colorOption.getStyle().ordinal() + 1)
-                .log();
-    }
-
-    @Override
-    public void logGridSelected(GridOption grid) {
-        new SysUiStatsLogger(StyleEnums.PICKER_SELECT)
-                .setLauncherGrid(grid.cols)
-                .log();
-    }
-
-    @Override
-    public void logGridApplied(GridOption grid) {
-        new SysUiStatsLogger(StyleEnums.PICKER_APPLIED)
-                .setLauncherGrid(grid.cols)
-                .log();
-    }
-
-    private int getAppLaunchSource(Intent launchSource) {
-        if (launchSource.hasExtra(WALLPAPER_LAUNCH_SOURCE)) {
-            switch (launchSource.getStringExtra(WALLPAPER_LAUNCH_SOURCE)) {
-                case LAUNCH_SOURCE_LAUNCHER:
-                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_LAUNCHER;
-                case LAUNCH_SOURCE_SETTINGS:
-                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SETTINGS;
-                case LAUNCH_SOURCE_SUW:
-                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SUW;
-                case LAUNCH_SOURCE_TIPS:
-                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_TIPS;
-                case LAUNCH_SOURCE_DEEP_LINK:
-                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_DEEP_LINK;
-                default:
-                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_PREFERENCE_UNSPECIFIED;
-            }
-        } else if (launchSource.hasExtra(LAUNCH_SETTINGS_SEARCH)) {
-            return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SETTINGS_SEARCH;
-        } else if (launchSource.getAction() != null && launchSource.getAction().equals(
-                WallpaperManager.ACTION_CROP_AND_SET_WALLPAPER)) {
-            return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_CROP_AND_SET_ACTION;
-        } else if (launchSource.getCategories() != null
-                && launchSource.getCategories().contains(Intent.CATEGORY_LAUNCHER)) {
-            return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_LAUNCH_ICON;
-        } else {
-            return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_PREFERENCE_UNSPECIFIED;
-        }
-    }
-
-    private int getIdHashCode(String id) {
-        return id != null ? id.hashCode() : 0;
-    }
-}
diff --git a/src/com/android/customization/module/ThemePickerInjector.kt b/src/com/android/customization/module/ThemePickerInjector.kt
index 497456f..f22e562 100644
--- a/src/com/android/customization/module/ThemePickerInjector.kt
+++ b/src/com/android/customization/module/ThemePickerInjector.kt
@@ -15,7 +15,9 @@
  */
 package com.android.customization.module
 
+import android.app.Activity
 import android.app.UiModeManager
+import android.app.WallpaperColors
 import android.app.WallpaperManager
 import android.content.Context
 import android.content.Intent
@@ -23,40 +25,37 @@
 import android.net.Uri
 import android.text.TextUtils
 import androidx.activity.ComponentActivity
-import androidx.fragment.app.FragmentActivity
 import androidx.lifecycle.DefaultLifecycleObserver
 import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.ViewModelProvider
 import com.android.customization.model.color.ColorCustomizationManager
-import com.android.customization.model.color.ColorOptionsProvider
 import com.android.customization.model.color.ColorOptionsProvider.COLOR_SOURCE_PRESET
+import com.android.customization.model.color.ThemedWallpaperColorResources
+import com.android.customization.model.color.WallpaperColorResources
 import com.android.customization.model.grid.GridOptionsManager
-import com.android.customization.model.grid.data.repository.GridRepositoryImpl
-import com.android.customization.model.grid.domain.interactor.GridInteractor
-import com.android.customization.model.grid.domain.interactor.GridSnapshotRestorer
-import com.android.customization.model.grid.ui.viewmodel.GridScreenViewModel
 import com.android.customization.model.mode.DarkModeSnapshotRestorer
 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.model.themedicon.ThemedIconSwitchProvider
 import com.android.customization.model.themedicon.data.repository.ThemeIconRepository
 import com.android.customization.model.themedicon.domain.interactor.ThemedIconInteractor
 import com.android.customization.model.themedicon.domain.interactor.ThemedIconSnapshotRestorer
+import com.android.customization.module.logging.ThemesUserEventLogger
 import com.android.customization.picker.clock.data.repository.ClockPickerRepositoryImpl
 import com.android.customization.picker.clock.data.repository.ClockRegistryProvider
 import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
 import com.android.customization.picker.clock.domain.interactor.ClockPickerSnapshotRestorer
 import com.android.customization.picker.clock.ui.view.ClockViewFactory
+import com.android.customization.picker.clock.ui.view.ClockViewFactoryImpl
 import com.android.customization.picker.clock.ui.viewmodel.ClockCarouselViewModel
-import com.android.customization.picker.clock.ui.viewmodel.ClockSectionViewModel
 import com.android.customization.picker.clock.ui.viewmodel.ClockSettingsViewModel
-import com.android.customization.picker.clock.utils.ClockDescriptionUtils
-import com.android.customization.picker.clock.utils.ThemePickerClockDescriptionUtils
 import com.android.customization.picker.color.data.repository.ColorPickerRepositoryImpl
 import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor
 import com.android.customization.picker.color.domain.interactor.ColorPickerSnapshotRestorer
 import com.android.customization.picker.color.ui.viewmodel.ColorPickerViewModel
+import com.android.customization.picker.grid.data.repository.GridRepositoryImpl
+import com.android.customization.picker.grid.domain.interactor.GridInteractor
+import com.android.customization.picker.grid.domain.interactor.GridSnapshotRestorer
+import com.android.customization.picker.grid.ui.viewmodel.GridScreenViewModel
 import com.android.customization.picker.notifications.data.repository.NotificationsRepository
 import com.android.customization.picker.notifications.domain.interactor.NotificationsInteractor
 import com.android.customization.picker.notifications.domain.interactor.NotificationsSnapshotRestorer
@@ -69,17 +68,16 @@
 import com.android.systemui.shared.customization.data.content.CustomizationProviderClient
 import com.android.systemui.shared.customization.data.content.CustomizationProviderClientImpl
 import com.android.wallpaper.config.BaseFlags
-import com.android.wallpaper.dispatchers.BackgroundDispatcher
-import com.android.wallpaper.dispatchers.MainDispatcher
-import com.android.wallpaper.model.WallpaperColorsViewModel
 import com.android.wallpaper.module.CustomizationSections
 import com.android.wallpaper.module.FragmentFactory
-import com.android.wallpaper.module.UserEventLogger
 import com.android.wallpaper.module.WallpaperPicker2Injector
 import com.android.wallpaper.picker.CustomizationPickerActivity
 import com.android.wallpaper.picker.customization.data.content.WallpaperClientImpl
+import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository
 import com.android.wallpaper.picker.customization.data.repository.WallpaperRepository
 import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor
+import com.android.wallpaper.picker.di.modules.BackgroundDispatcher
+import com.android.wallpaper.picker.di.modules.MainDispatcher
 import com.android.wallpaper.picker.undo.domain.interactor.SnapshotRestorer
 import com.android.wallpaper.util.ScreenSizeCalculator
 import javax.inject.Inject
@@ -94,9 +92,9 @@
     @MainDispatcher private val mainScope: CoroutineScope,
     @MainDispatcher private val mainDispatcher: CoroutineDispatcher,
     @BackgroundDispatcher private val bgDispatcher: CoroutineDispatcher,
-) : WallpaperPicker2Injector(mainScope, bgDispatcher), CustomizationInjector {
+    private val userEventLogger: ThemesUserEventLogger,
+) : WallpaperPicker2Injector(mainScope, bgDispatcher, userEventLogger), CustomizationInjector {
     private var customizationSections: CustomizationSections? = null
-    private var userEventLogger: UserEventLogger? = null
     private var wallpaperInteractor: WallpaperInteractor? = null
     private var keyguardQuickAffordancePickerInteractor: KeyguardQuickAffordancePickerInteractor? =
         null
@@ -109,9 +107,8 @@
         null
     private var notificationsSnapshotRestorer: NotificationsSnapshotRestorer? = null
     private var clockPickerInteractor: ClockPickerInteractor? = null
-    private var clockSectionViewModel: ClockSectionViewModel? = null
     private var clockCarouselViewModelFactory: ClockCarouselViewModel.Factory? = null
-    private var clockViewFactories: MutableMap<Int, ClockViewFactory> = HashMap()
+    private var clockViewFactory: ClockViewFactory? = null
     private var clockPickerSnapshotRestorer: ClockPickerSnapshotRestorer? = null
     private var notificationsInteractor: NotificationsInteractor? = null
     private var notificationSectionViewModelFactory: NotificationSectionViewModel.Factory? = null
@@ -123,33 +120,35 @@
     private var themedIconSnapshotRestorer: ThemedIconSnapshotRestorer? = null
     private var themedIconInteractor: ThemedIconInteractor? = null
     private var clockSettingsViewModelFactory: ClockSettingsViewModel.Factory? = null
-    private var clockDescriptionUtils: ClockDescriptionUtils? = null
     private var gridInteractor: GridInteractor? = null
     private var gridSnapshotRestorer: GridSnapshotRestorer? = null
     private var gridScreenViewModelFactory: GridScreenViewModel.Factory? = null
     private var clockRegistryProvider: ClockRegistryProvider? = null
 
     override fun getCustomizationSections(activity: ComponentActivity): CustomizationSections {
+        val appContext = activity.applicationContext
+        val clockViewFactory = getClockViewFactory(activity)
+        val resources = activity.resources
         return customizationSections
             ?: DefaultCustomizationSections(
                     getColorPickerViewModelFactory(
-                        context = activity,
-                        wallpaperColorsViewModel = getWallpaperColorsViewModel(),
+                        context = appContext,
+                        wallpaperColorsRepository = getWallpaperColorsRepository(),
                     ),
-                    getKeyguardQuickAffordancePickerInteractor(activity),
-                    getKeyguardQuickAffordancePickerViewModelFactory(activity),
-                    NotificationSectionViewModel.Factory(
-                        interactor = getNotificationsInteractor(activity),
-                    ),
+                    getKeyguardQuickAffordancePickerViewModelFactory(appContext),
+                    getNotificationSectionViewModelFactory(appContext),
                     getFlags(),
                     getClockCarouselViewModelFactory(
-                        getClockPickerInteractor(activity.applicationContext),
+                        interactor = getClockPickerInteractor(appContext),
+                        clockViewFactory = clockViewFactory,
+                        resources = resources,
+                        logger = userEventLogger,
                     ),
-                    getClockViewFactory(activity),
-                    getDarkModeSnapshotRestorer(activity),
-                    getThemedIconSnapshotRestorer(activity),
+                    clockViewFactory,
+                    getThemedIconSnapshotRestorer(appContext),
                     getThemedIconInteractor(),
-                    getColorPickerInteractor(activity, getWallpaperColorsViewModel()),
+                    getColorPickerInteractor(appContext, getWallpaperColorsRepository()),
+                    getUserEventLogger(appContext),
                 )
                 .also { customizationSections = it }
     }
@@ -168,12 +167,7 @@
 
     @Synchronized
     override fun getUserEventLogger(context: Context): ThemesUserEventLogger {
-        return userEventLogger as? ThemesUserEventLogger
-            ?: StatsLogUserEventLogger(
-                    getPreferences(context.applicationContext),
-                    getWallpaperStatusChecker(context.applicationContext),
-                )
-                .also { userEventLogger = it }
+        return userEventLogger
     }
 
     override fun getFragmentFactory(): FragmentFactory? {
@@ -195,7 +189,7 @@
             this[KEY_THEMED_ICON_SNAPSHOT_RESTORER] = getThemedIconSnapshotRestorer(context)
             this[KEY_APP_GRID_SNAPSHOT_RESTORER] = getGridSnapshotRestorer(context)
             this[KEY_COLOR_PICKER_SNAPSHOT_RESTORER] =
-                getColorPickerSnapshotRestorer(context, getWallpaperColorsViewModel())
+                getColorPickerSnapshotRestorer(context, getWallpaperColorsRepository())
             this[KEY_CLOCKS_SNAPSHOT_RESTORER] = getClockPickerSnapshotRestorer(context)
         }
     }
@@ -204,16 +198,11 @@
         return getPreferences(context) as CustomizationPreferences
     }
 
-    override fun getThemeManager(
-        provider: ThemeBundleProvider,
-        activity: FragmentActivity,
-        overlayManagerCompat: OverlayManagerCompat,
-        logger: ThemesUserEventLogger
-    ): ThemeManager {
-        return ThemeManager(provider, activity, overlayManagerCompat, logger)
-    }
-
     override fun getWallpaperInteractor(context: Context): WallpaperInteractor {
+        if (getFlags().isMultiCropEnabled() && getFlags().isMultiCropPreviewUiEnabled()) {
+            return injectedWallpaperInteractor
+        }
+
         val appContext = context.applicationContext
         return wallpaperInteractor
             ?: WallpaperInteractor(
@@ -223,8 +212,8 @@
                             client =
                                 WallpaperClientImpl(
                                     context = appContext,
-                                    infoFactory = getCurrentWallpaperInfoFactory(appContext),
-                                    wallpaperManager = WallpaperManager.getInstance(appContext)
+                                    wallpaperManager = WallpaperManager.getInstance(appContext),
+                                    wallpaperPreferences = getPreferences(appContext)
                                 ),
                             wallpaperPreferences = getPreferences(context = appContext),
                             backgroundDispatcher = bgDispatcher,
@@ -232,7 +221,7 @@
                     shouldHandleReload = {
                         TextUtils.equals(
                             getColorCustomizationManager(appContext).currentColorSource,
-                            ColorOptionsProvider.COLOR_SOURCE_PRESET
+                            COLOR_SOURCE_PRESET,
                         )
                     }
                 )
@@ -257,6 +246,7 @@
                     getKeyguardQuickAffordancePickerInteractor(context),
                     getWallpaperInteractor(context),
                     getCurrentWallpaperInfoFactory(context),
+                    getUserEventLogger(context),
                 )
                 .also { keyguardQuickAffordancePickerViewModelFactory = it }
     }
@@ -267,7 +257,7 @@
         val client = getKeyguardQuickAffordancePickerProviderClient(context)
         val appContext = context.applicationContext
         return KeyguardQuickAffordancePickerInteractor(
-            KeyguardQuickAffordancePickerRepository(client, bgDispatcher),
+            KeyguardQuickAffordancePickerRepository(client, getApplicationCoroutineScope()),
             client
         ) {
             getKeyguardQuickAffordanceSnapshotRestorer(appContext)
@@ -300,6 +290,7 @@
         return notificationSectionViewModelFactory
             ?: NotificationSectionViewModel.Factory(
                     interactor = getNotificationsInteractor(context),
+                    logger = getUserEventLogger(context),
                 )
                 .also { notificationSectionViewModelFactory = it }
     }
@@ -362,30 +353,26 @@
                 .also { clockPickerInteractor = it }
     }
 
-    override fun getClockSectionViewModel(
-        context: Context,
-    ): ClockSectionViewModel {
-        return clockSectionViewModel
-            ?: ClockSectionViewModel(
-                    context.applicationContext,
-                    getClockPickerInteractor(context.applicationContext)
-                )
-                .also { clockSectionViewModel = it }
-    }
-
     override fun getClockCarouselViewModelFactory(
         interactor: ClockPickerInteractor,
+        clockViewFactory: ClockViewFactory,
+        resources: Resources,
+        logger: ThemesUserEventLogger,
     ): ClockCarouselViewModel.Factory {
         return clockCarouselViewModelFactory
-            ?: ClockCarouselViewModel.Factory(interactor, bgDispatcher).also {
-                clockCarouselViewModelFactory = it
-            }
+            ?: ClockCarouselViewModel.Factory(
+                    interactor,
+                    bgDispatcher,
+                    clockViewFactory,
+                    resources,
+                    logger,
+                )
+                .also { clockCarouselViewModelFactory = it }
     }
 
     override fun getClockViewFactory(activity: ComponentActivity): ClockViewFactory {
-        val activityHashCode = activity.hashCode()
-        return clockViewFactories[activityHashCode]
-            ?: ClockViewFactory(
+        return clockViewFactory
+            ?: ClockViewFactoryImpl(
                     activity.applicationContext,
                     ScreenSizeCalculator.getInstance()
                         .getScreenSize(activity.windowManager.defaultDisplay),
@@ -393,13 +380,13 @@
                     getClockRegistry(activity.applicationContext),
                 )
                 .also {
-                    clockViewFactories[activityHashCode] = it
+                    clockViewFactory = it
                     activity.lifecycle.addObserver(
                         object : DefaultLifecycleObserver {
                             override fun onDestroy(owner: LifecycleOwner) {
                                 super.onDestroy(owner)
-                                clockViewFactories[activityHashCode]?.onDestroy()
-                                clockViewFactories.remove(activityHashCode)
+                                if ((owner as Activity).isChangingConfigurations()) return
+                                clockViewFactory?.onDestroy()
                             }
                         }
                     )
@@ -415,20 +402,27 @@
             }
     }
 
+    override fun getWallpaperColorResources(
+        wallpaperColors: WallpaperColors,
+        context: Context
+    ): WallpaperColorResources {
+        return ThemedWallpaperColorResources(wallpaperColors, context)
+    }
+
     override fun getColorPickerInteractor(
         context: Context,
-        wallpaperColorsViewModel: WallpaperColorsViewModel,
+        wallpaperColorsRepository: WallpaperColorsRepository,
     ): ColorPickerInteractor {
         val appContext = context.applicationContext
         return colorPickerInteractor
             ?: ColorPickerInteractor(
                     repository =
                         ColorPickerRepositoryImpl(
-                            wallpaperColorsViewModel,
+                            wallpaperColorsRepository,
                             getColorCustomizationManager(appContext)
                         ),
                     snapshotRestorer = {
-                        getColorPickerSnapshotRestorer(appContext, wallpaperColorsViewModel)
+                        getColorPickerSnapshotRestorer(appContext, wallpaperColorsRepository)
                     }
                 )
                 .also { colorPickerInteractor = it }
@@ -436,23 +430,24 @@
 
     override fun getColorPickerViewModelFactory(
         context: Context,
-        wallpaperColorsViewModel: WallpaperColorsViewModel,
+        wallpaperColorsRepository: WallpaperColorsRepository,
     ): ColorPickerViewModel.Factory {
         return colorPickerViewModelFactory
             ?: ColorPickerViewModel.Factory(
                     context.applicationContext,
-                    getColorPickerInteractor(context, wallpaperColorsViewModel),
+                    getColorPickerInteractor(context, wallpaperColorsRepository),
+                    userEventLogger,
                 )
                 .also { colorPickerViewModelFactory = it }
     }
 
     private fun getColorPickerSnapshotRestorer(
         context: Context,
-        wallpaperColorsViewModel: WallpaperColorsViewModel,
+        wallpaperColorsRepository: WallpaperColorsRepository,
     ): ColorPickerSnapshotRestorer {
         return colorPickerSnapshotRestorer
             ?: ColorPickerSnapshotRestorer(
-                    getColorPickerInteractor(context, wallpaperColorsViewModel)
+                    getColorPickerInteractor(context, wallpaperColorsRepository)
                 )
                 .also { colorPickerSnapshotRestorer = it }
     }
@@ -502,7 +497,7 @@
 
     override fun getClockSettingsViewModelFactory(
         context: Context,
-        wallpaperColorsViewModel: WallpaperColorsViewModel,
+        wallpaperColorsRepository: WallpaperColorsRepository,
         clockViewFactory: ClockViewFactory,
     ): ClockSettingsViewModel.Factory {
         return clockSettingsViewModelFactory
@@ -511,8 +506,9 @@
                     getClockPickerInteractor(context),
                     getColorPickerInteractor(
                         context,
-                        wallpaperColorsViewModel,
+                        wallpaperColorsRepository,
                     ),
+                    userEventLogger,
                 ) { clockId ->
                     clockId?.let { clockViewFactory.getController(clockId).config.isReactiveToTone }
                         ?: false
@@ -520,11 +516,6 @@
                 .also { clockSettingsViewModelFactory = it }
     }
 
-    override fun getClockDescriptionUtils(resources: Resources): ClockDescriptionUtils {
-        return clockDescriptionUtils
-            ?: ThemePickerClockDescriptionUtils().also { clockDescriptionUtils = it }
-    }
-
     fun getGridScreenViewModelFactory(
         context: Context,
     ): ViewModelProvider.Factory {
diff --git a/src/com/android/customization/module/ThemesUserEventLogger.java b/src/com/android/customization/module/ThemesUserEventLogger.java
deleted file mode 100644
index b1a87b9..0000000
--- a/src/com/android/customization/module/ThemesUserEventLogger.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.module;
-
-import com.android.customization.model.color.ColorOption;
-import com.android.customization.model.grid.GridOption;
-import com.android.customization.model.theme.ThemeBundle;
-import com.android.wallpaper.module.UserEventLogger;
-
-/**
- * Extension of {@link UserEventLogger} that adds ThemePicker specific events.
- */
-public interface ThemesUserEventLogger extends UserEventLogger {
-
-    void logThemeSelected(ThemeBundle theme, boolean isCustomTheme);
-
-    void logThemeApplied(ThemeBundle theme, boolean isCustomTheme);
-
-    /**
-     * Logs the color usage while color is applied.
-     *
-     * @param action color applied action.
-     * @param colorOption applied color option.
-     */
-    void logColorApplied(int action, ColorOption colorOption);
-
-    void logGridSelected(GridOption grid);
-
-    void logGridApplied(GridOption grid);
-
-}
diff --git a/src/com/android/customization/module/logging/AppSessionId.kt b/src/com/android/customization/module/logging/AppSessionId.kt
new file mode 100644
index 0000000..c831f22
--- /dev/null
+++ b/src/com/android/customization/module/logging/AppSessionId.kt
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.module.logging
+
+import com.android.internal.logging.InstanceId
+import com.android.internal.logging.InstanceIdSequence
+import javax.inject.Inject
+import javax.inject.Singleton
+
+@Singleton
+class AppSessionId @Inject constructor() {
+
+    private var sessionId: InstanceId = newInstanceId()
+
+    fun createNewId(): AppSessionId {
+        sessionId = newInstanceId()
+        return this
+    }
+
+    fun getId(): Int {
+        return sessionId.hashCode()
+    }
+
+    private fun newInstanceId(): InstanceId = InstanceIdSequence(INSTANCE_ID_MAX).newInstanceId()
+
+    companion object {
+        // At most 20 bits: ~1m possibilities, ~0.5% probability of collision in 100 values
+        private const val INSTANCE_ID_MAX = 1 shl 20
+    }
+}
diff --git a/src/com/android/customization/module/SysUiStatsLogger.kt b/src/com/android/customization/module/logging/SysUiStatsLogger.kt
similarity index 61%
rename from src/com/android/customization/module/SysUiStatsLogger.kt
rename to src/com/android/customization/module/logging/SysUiStatsLogger.kt
index 8e97b0b..111c2c2 100644
--- a/src/com/android/customization/module/SysUiStatsLogger.kt
+++ b/src/com/android/customization/module/logging/SysUiStatsLogger.kt
@@ -13,11 +13,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.customization.module
+package com.android.customization.module.logging
 
-import android.stats.style.StyleEnums
+import android.stats.style.StyleEnums.CLOCK_SIZE_UNSPECIFIED
+import android.stats.style.StyleEnums.COLOR_SOURCE_UNSPECIFIED
+import android.stats.style.StyleEnums.DATE_PREFERENCE_UNSPECIFIED
+import android.stats.style.StyleEnums.EFFECT_PREFERENCE_UNSPECIFIED
+import android.stats.style.StyleEnums.LAUNCHED_PREFERENCE_UNSPECIFIED
+import android.stats.style.StyleEnums.LOCATION_PREFERENCE_UNSPECIFIED
+import android.stats.style.StyleEnums.SET_WALLPAPER_ENTRY_POINT_UNSPECIFIED
+import android.stats.style.StyleEnums.WALLPAPER_DESTINATION_UNSPECIFIED
 import com.android.systemui.shared.system.SysUiStatsLog
 import com.android.systemui.shared.system.SysUiStatsLog.STYLE_UI_CHANGED
+import com.android.wallpaper.module.logging.UserEventLogger.SetWallpaperEntryPoint
 
 /** The builder for [SysUiStatsLog]. */
 class SysUiStatsLogger(val action: Int) {
@@ -30,10 +38,10 @@
     private var wallpaperCategoryHash = 0
     private var wallpaperIdHash = 0
     private var colorPreference = 0
-    private var locationPreference = StyleEnums.EFFECT_PREFERENCE_UNSPECIFIED
-    private var datePreference = StyleEnums.DATE_PREFERENCE_UNSPECIFIED
-    private var launchedPreference = StyleEnums.LAUNCHED_PREFERENCE_UNSPECIFIED
-    private var effectPreference = StyleEnums.EFFECT_PREFERENCE_UNSPECIFIED
+    private var locationPreference = LOCATION_PREFERENCE_UNSPECIFIED
+    private var datePreference = DATE_PREFERENCE_UNSPECIFIED
+    private var launchedPreference = LAUNCHED_PREFERENCE_UNSPECIFIED
+    private var effectPreference = EFFECT_PREFERENCE_UNSPECIFIED
     private var effectIdHash = 0
     private var lockWallpaperCategoryHash = 0
     private var lockWallpaperIdHash = 0
@@ -43,14 +51,21 @@
     private var colorVariant = 0
     private var timeElapsedMillis = 0L
     private var effectResultCode = -1
+    private var appSessionId = 0
+    private var setWallpaperEntryPoint = SET_WALLPAPER_ENTRY_POINT_UNSPECIFIED
+    private var wallpaperDestination = WALLPAPER_DESTINATION_UNSPECIFIED
+    private var colorSource = COLOR_SOURCE_UNSPECIFIED
+    private var seedColor = 0
+    private var clockSize = CLOCK_SIZE_UNSPECIFIED
+    private var toggleOn = false
+    private var shortcut = ""
+    private var shortcutSlotId = ""
 
     fun setColorPackageHash(colorPackageHash: Int) = apply {
         this.colorPackageHash = colorPackageHash
     }
 
-    fun setFontPackageHash(fontPackageHash: Int) = apply {
-        this.fontPackageHash = fontPackageHash
-    }
+    fun setFontPackageHash(fontPackageHash: Int) = apply { this.fontPackageHash = fontPackageHash }
 
     fun setShapePackageHash(shapePackageHash: Int) = apply {
         this.shapePackageHash = shapePackageHash
@@ -66,13 +81,9 @@
         this.wallpaperCategoryHash = wallpaperCategoryHash
     }
 
-    fun setWallpaperIdHash(wallpaperIdHash: Int) = apply {
-        this.wallpaperIdHash = wallpaperIdHash
-    }
+    fun setWallpaperIdHash(wallpaperIdHash: Int) = apply { this.wallpaperIdHash = wallpaperIdHash }
 
-    fun setColorPreference(colorPreference: Int) = apply {
-        this.colorPreference = colorPreference
-    }
+    fun setColorPreference(colorPreference: Int) = apply { this.colorPreference = colorPreference }
 
     fun setLocationPreference(locationPreference: Int) = apply {
         this.locationPreference = locationPreference
@@ -111,13 +122,35 @@
     fun setColorVariant(colorVariant: Int) = apply { this.colorVariant = colorVariant }
 
     fun setTimeElapsed(timeElapsedMillis: Long) = apply {
-      this.timeElapsedMillis = timeElapsedMillis
+        this.timeElapsedMillis = timeElapsedMillis
     }
 
     fun setEffectResultCode(effectResultCode: Int) = apply {
         this.effectResultCode = effectResultCode
     }
 
+    fun setAppSessionId(sessionId: Int) = apply { this.appSessionId = sessionId }
+
+    fun setSetWallpaperEntryPoint(@SetWallpaperEntryPoint setWallpaperEntryPoint: Int) = apply {
+        this.setWallpaperEntryPoint = setWallpaperEntryPoint
+    }
+
+    fun setWallpaperDestination(wallpaperDestination: Int) = apply {
+        this.wallpaperDestination = wallpaperDestination
+    }
+
+    fun setColorSource(colorSource: Int) = apply { this.colorSource = colorSource }
+
+    fun setSeedColor(seedColor: Int) = apply { this.seedColor = seedColor }
+
+    fun setClockSize(clockSize: Int) = apply { this.clockSize = clockSize }
+
+    fun setToggleOn(toggleOn: Boolean) = apply { this.toggleOn = toggleOn }
+
+    fun setShortcut(shortcut: String) = apply { this.shortcut = shortcut }
+
+    fun setShortcutSlotId(shortcutSlotId: String) = apply { this.shortcutSlotId = shortcutSlotId }
+
     fun log() {
         SysUiStatsLog.write(
             STYLE_UI_CHANGED,
@@ -143,6 +176,15 @@
             colorVariant,
             timeElapsedMillis,
             effectResultCode,
+            appSessionId,
+            setWallpaperEntryPoint,
+            wallpaperDestination,
+            colorSource,
+            seedColor,
+            clockSize,
+            toggleOn,
+            shortcut,
+            shortcutSlotId,
         )
     }
 }
diff --git a/src/com/android/customization/module/logging/ThemesUserEventLogger.kt b/src/com/android/customization/module/logging/ThemesUserEventLogger.kt
new file mode 100644
index 0000000..60fd062
--- /dev/null
+++ b/src/com/android/customization/module/logging/ThemesUserEventLogger.kt
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.module.logging
+
+import android.stats.style.StyleEnums
+import androidx.annotation.IntDef
+import com.android.customization.model.grid.GridOption
+import com.android.wallpaper.module.logging.UserEventLogger
+
+/** Extension of [UserEventLogger] that adds ThemePicker specific events. */
+interface ThemesUserEventLogger : UserEventLogger {
+
+    fun logThemeColorApplied(@ColorSource source: Int, style: Int, seedColor: Int)
+
+    fun logGridApplied(grid: GridOption)
+
+    fun logClockApplied(clockId: String)
+
+    fun logClockColorApplied(seedColor: Int)
+
+    fun logClockSizeApplied(@ClockSize clockSize: Int)
+
+    fun logThemedIconApplied(useThemeIcon: Boolean)
+
+    fun logLockScreenNotificationApplied(showLockScreenNotifications: Boolean)
+
+    fun logShortcutApplied(shortcut: String, shortcutSlotId: String)
+
+    fun logDarkThemeApplied(useDarkTheme: Boolean)
+
+    @IntDef(
+        StyleEnums.COLOR_SOURCE_UNSPECIFIED,
+        StyleEnums.COLOR_SOURCE_HOME_SCREEN_WALLPAPER,
+        StyleEnums.COLOR_SOURCE_LOCK_SCREEN_WALLPAPER,
+        StyleEnums.COLOR_SOURCE_PRESET_COLOR,
+    )
+    @Retention(AnnotationRetention.SOURCE)
+    annotation class ColorSource
+
+    @IntDef(
+        StyleEnums.CLOCK_SIZE_UNSPECIFIED,
+        StyleEnums.CLOCK_SIZE_DYNAMIC,
+        StyleEnums.CLOCK_SIZE_SMALL,
+    )
+    @Retention(AnnotationRetention.SOURCE)
+    annotation class ClockSize
+
+    companion object {
+        const val NULL_SEED_COLOR = 0
+    }
+}
diff --git a/src/com/android/customization/module/logging/ThemesUserEventLoggerImpl.kt b/src/com/android/customization/module/logging/ThemesUserEventLoggerImpl.kt
new file mode 100644
index 0000000..3f4a6dc
--- /dev/null
+++ b/src/com/android/customization/module/logging/ThemesUserEventLoggerImpl.kt
@@ -0,0 +1,299 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.module.logging
+
+import android.app.WallpaperManager
+import android.content.Intent
+import android.stats.style.StyleEnums.APP_LAUNCHED
+import android.stats.style.StyleEnums.CLOCK_APPLIED
+import android.stats.style.StyleEnums.CLOCK_COLOR_APPLIED
+import android.stats.style.StyleEnums.CLOCK_SIZE_APPLIED
+import android.stats.style.StyleEnums.DARK_THEME_APPLIED
+import android.stats.style.StyleEnums.GRID_APPLIED
+import android.stats.style.StyleEnums.LAUNCHED_CROP_AND_SET_ACTION
+import android.stats.style.StyleEnums.LAUNCHED_DEEP_LINK
+import android.stats.style.StyleEnums.LAUNCHED_KEYGUARD
+import android.stats.style.StyleEnums.LAUNCHED_LAUNCHER
+import android.stats.style.StyleEnums.LAUNCHED_LAUNCH_ICON
+import android.stats.style.StyleEnums.LAUNCHED_PREFERENCE_UNSPECIFIED
+import android.stats.style.StyleEnums.LAUNCHED_SETTINGS
+import android.stats.style.StyleEnums.LAUNCHED_SETTINGS_SEARCH
+import android.stats.style.StyleEnums.LAUNCHED_SUW
+import android.stats.style.StyleEnums.LAUNCHED_TIPS
+import android.stats.style.StyleEnums.LOCK_SCREEN_NOTIFICATION_APPLIED
+import android.stats.style.StyleEnums.RESET_APPLIED
+import android.stats.style.StyleEnums.SHORTCUT_APPLIED
+import android.stats.style.StyleEnums.SNAPSHOT
+import android.stats.style.StyleEnums.THEMED_ICON_APPLIED
+import android.stats.style.StyleEnums.THEME_COLOR_APPLIED
+import android.stats.style.StyleEnums.WALLPAPER_APPLIED
+import android.stats.style.StyleEnums.WALLPAPER_DESTINATION_HOME_AND_LOCK_SCREEN
+import android.stats.style.StyleEnums.WALLPAPER_DESTINATION_HOME_SCREEN
+import android.stats.style.StyleEnums.WALLPAPER_DESTINATION_LOCK_SCREEN
+import android.stats.style.StyleEnums.WALLPAPER_EFFECT_APPLIED
+import android.stats.style.StyleEnums.WALLPAPER_EFFECT_FG_DOWNLOAD
+import android.stats.style.StyleEnums.WALLPAPER_EFFECT_PROBE
+import android.stats.style.StyleEnums.WALLPAPER_EXPLORE
+import android.text.TextUtils
+import com.android.customization.model.color.ColorCustomizationManager
+import com.android.customization.model.grid.GridOption
+import com.android.customization.module.logging.ThemesUserEventLogger.ClockSize
+import com.android.customization.module.logging.ThemesUserEventLogger.ColorSource
+import com.android.wallpaper.module.WallpaperPreferences
+import com.android.wallpaper.module.logging.UserEventLogger.EffectStatus
+import com.android.wallpaper.module.logging.UserEventLogger.SetWallpaperEntryPoint
+import com.android.wallpaper.module.logging.UserEventLogger.WallpaperDestination
+import com.android.wallpaper.util.ActivityUtils
+import com.android.wallpaper.util.LaunchSourceUtils
+import javax.inject.Inject
+import javax.inject.Singleton
+
+/** StatsLog-backed implementation of [ThemesUserEventLogger]. */
+@Singleton
+class ThemesUserEventLoggerImpl
+@Inject
+constructor(
+    private val preferences: WallpaperPreferences,
+    private val colorManager: ColorCustomizationManager,
+    private val appSessionId: AppSessionId,
+) : ThemesUserEventLogger {
+
+    override fun logSnapshot() {
+        SysUiStatsLogger(SNAPSHOT)
+            .setWallpaperCategoryHash(preferences.getHomeCategoryHash())
+            .setWallpaperIdHash(preferences.getHomeWallpaperIdHash())
+            .setLockWallpaperCategoryHash(preferences.getLockCategoryHash())
+            .setLockWallpaperIdHash(preferences.getLockWallpaperIdHash())
+            .setEffectIdHash(preferences.getHomeWallpaperEffectsIdHash())
+            .setColorSource(colorManager.currentColorSourceForLogging)
+            .setColorVariant(colorManager.currentStyleForLogging)
+            .setSeedColor(colorManager.currentSeedColorForLogging)
+            .log()
+    }
+
+    override fun logAppLaunched(launchSource: Intent) {
+        SysUiStatsLogger(APP_LAUNCHED)
+            .setAppSessionId(appSessionId.createNewId().getId())
+            .setLaunchedPreference(launchSource.getAppLaunchSource())
+            .log()
+    }
+
+    override fun logWallpaperApplied(
+        collectionId: String?,
+        wallpaperId: String?,
+        effects: String?,
+        @SetWallpaperEntryPoint setWallpaperEntryPoint: Int,
+        @WallpaperDestination destination: Int,
+    ) {
+        val categoryHash = getIdHashCode(collectionId)
+        val wallpaperIdHash = getIdHashCode(wallpaperId)
+        val isHomeWallpaperSet =
+            destination == WALLPAPER_DESTINATION_HOME_SCREEN ||
+                destination == WALLPAPER_DESTINATION_HOME_AND_LOCK_SCREEN
+        val isLockWallpaperSet =
+            destination == WALLPAPER_DESTINATION_LOCK_SCREEN ||
+                destination == WALLPAPER_DESTINATION_HOME_AND_LOCK_SCREEN
+        SysUiStatsLogger(WALLPAPER_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setWallpaperCategoryHash(if (isHomeWallpaperSet) categoryHash else 0)
+            .setWallpaperIdHash(if (isHomeWallpaperSet) wallpaperIdHash else 0)
+            .setLockWallpaperCategoryHash(if (isLockWallpaperSet) categoryHash else 0)
+            .setLockWallpaperIdHash(if (isLockWallpaperSet) wallpaperIdHash else 0)
+            .setEffectIdHash(getIdHashCode(effects))
+            .setSetWallpaperEntryPoint(setWallpaperEntryPoint)
+            .setWallpaperDestination(destination)
+            .log()
+    }
+
+    override fun logEffectApply(
+        effect: String,
+        @EffectStatus status: Int,
+        timeElapsedMillis: Long,
+        resultCode: Int
+    ) {
+        SysUiStatsLogger(WALLPAPER_EFFECT_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setEffectPreference(status)
+            .setEffectIdHash(getIdHashCode(effect))
+            .setTimeElapsed(timeElapsedMillis)
+            .setEffectResultCode(resultCode)
+            .log()
+    }
+
+    override fun logEffectProbe(effect: String, @EffectStatus status: Int) {
+        SysUiStatsLogger(WALLPAPER_EFFECT_PROBE)
+            .setAppSessionId(appSessionId.getId())
+            .setEffectPreference(status)
+            .setEffectIdHash(getIdHashCode(effect))
+            .log()
+    }
+
+    override fun logEffectForegroundDownload(
+        effect: String,
+        @EffectStatus status: Int,
+        timeElapsedMillis: Long
+    ) {
+        SysUiStatsLogger(WALLPAPER_EFFECT_FG_DOWNLOAD)
+            .setAppSessionId(appSessionId.getId())
+            .setEffectPreference(status)
+            .setEffectIdHash(getIdHashCode(effect))
+            .setTimeElapsed(timeElapsedMillis)
+            .log()
+    }
+
+    override fun logResetApplied() {
+        SysUiStatsLogger(RESET_APPLIED).setAppSessionId(appSessionId.getId()).log()
+    }
+
+    override fun logWallpaperExploreButtonClicked() {
+        SysUiStatsLogger(WALLPAPER_EXPLORE).setAppSessionId(appSessionId.getId()).log()
+    }
+
+    override fun logThemeColorApplied(
+        @ColorSource source: Int,
+        style: Int,
+        seedColor: Int,
+    ) {
+        SysUiStatsLogger(THEME_COLOR_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setColorSource(source)
+            .setColorVariant(style)
+            .setSeedColor(seedColor)
+            .log()
+    }
+
+    override fun logGridApplied(grid: GridOption) {
+        SysUiStatsLogger(GRID_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setLauncherGrid(grid.getLauncherGridInt())
+            .log()
+    }
+
+    override fun logClockApplied(clockId: String) {
+        SysUiStatsLogger(CLOCK_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setClockPackageHash(getIdHashCode(clockId))
+            .log()
+    }
+
+    override fun logClockColorApplied(seedColor: Int) {
+        SysUiStatsLogger(CLOCK_COLOR_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setSeedColor(seedColor)
+            .log()
+    }
+
+    override fun logClockSizeApplied(@ClockSize clockSize: Int) {
+        SysUiStatsLogger(CLOCK_SIZE_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setClockSize(clockSize)
+            .log()
+    }
+
+    override fun logThemedIconApplied(useThemeIcon: Boolean) {
+        SysUiStatsLogger(THEMED_ICON_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setToggleOn(useThemeIcon)
+            .log()
+    }
+
+    override fun logLockScreenNotificationApplied(showLockScreenNotifications: Boolean) {
+        SysUiStatsLogger(LOCK_SCREEN_NOTIFICATION_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setToggleOn(showLockScreenNotifications)
+            .log()
+    }
+
+    override fun logShortcutApplied(shortcut: String, shortcutSlotId: String) {
+        SysUiStatsLogger(SHORTCUT_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setShortcut(shortcut)
+            .setShortcutSlotId(shortcutSlotId)
+            .log()
+    }
+
+    override fun logDarkThemeApplied(useDarkTheme: Boolean) {
+        SysUiStatsLogger(DARK_THEME_APPLIED)
+            .setAppSessionId(appSessionId.getId())
+            .setToggleOn(useDarkTheme)
+            .log()
+    }
+
+    /**
+     * The grid integer depends on the column and row numbers. For example: 4x5 is 405 13x37 is 1337
+     * The upper limit for the column / row count is 99.
+     */
+    private fun GridOption.getLauncherGridInt(): Int {
+        return cols * 100 + rows
+    }
+
+    private fun Intent.getAppLaunchSource(): Int {
+        return if (hasExtra(LaunchSourceUtils.WALLPAPER_LAUNCH_SOURCE)) {
+            when (getStringExtra(LaunchSourceUtils.WALLPAPER_LAUNCH_SOURCE)) {
+                LaunchSourceUtils.LAUNCH_SOURCE_LAUNCHER -> LAUNCHED_LAUNCHER
+                LaunchSourceUtils.LAUNCH_SOURCE_SETTINGS -> LAUNCHED_SETTINGS
+                LaunchSourceUtils.LAUNCH_SOURCE_SUW -> LAUNCHED_SUW
+                LaunchSourceUtils.LAUNCH_SOURCE_TIPS -> LAUNCHED_TIPS
+                LaunchSourceUtils.LAUNCH_SOURCE_DEEP_LINK -> LAUNCHED_DEEP_LINK
+                LaunchSourceUtils.LAUNCH_SOURCE_KEYGUARD -> LAUNCHED_KEYGUARD
+                else -> LAUNCHED_PREFERENCE_UNSPECIFIED
+            }
+        } else if (ActivityUtils.isLaunchedFromSettingsSearch(this)) {
+            LAUNCHED_SETTINGS_SEARCH
+        } else if (action != null && action == WallpaperManager.ACTION_CROP_AND_SET_WALLPAPER) {
+            LAUNCHED_CROP_AND_SET_ACTION
+        } else if (categories != null && categories.contains(Intent.CATEGORY_LAUNCHER)) {
+            LAUNCHED_LAUNCH_ICON
+        } else {
+            LAUNCHED_PREFERENCE_UNSPECIFIED
+        }
+    }
+
+    /** If not set, the output hash is 0. */
+    private fun WallpaperPreferences.getHomeCategoryHash(): Int {
+        return getIdHashCode(getHomeWallpaperCollectionId())
+    }
+
+    /** If not set, the output hash is 0. */
+    private fun WallpaperPreferences.getHomeWallpaperIdHash(): Int {
+        val remoteId = getHomeWallpaperRemoteId()
+        val wallpaperId =
+            if (!TextUtils.isEmpty(remoteId)) remoteId else getHomeWallpaperServiceName()
+        return getIdHashCode(wallpaperId)
+    }
+
+    /** If not set, the output hash is 0. */
+    private fun WallpaperPreferences.getLockCategoryHash(): Int {
+        return getIdHashCode(getLockWallpaperCollectionId())
+    }
+
+    /** If not set, the output hash is 0. */
+    private fun WallpaperPreferences.getLockWallpaperIdHash(): Int {
+        val remoteId = getLockWallpaperRemoteId()
+        val wallpaperId =
+            if (!TextUtils.isEmpty(remoteId)) remoteId else getLockWallpaperServiceName()
+        return getIdHashCode(wallpaperId)
+    }
+
+    /** If not set, the output hash is 0. */
+    private fun WallpaperPreferences.getHomeWallpaperEffectsIdHash(): Int {
+        return getIdHashCode(getHomeWallpaperEffects())
+    }
+
+    private fun getIdHashCode(id: String?): Int {
+        return id?.hashCode() ?: 0
+    }
+}
diff --git a/src/com/android/customization/picker/WallpaperPreviewer.java b/src/com/android/customization/picker/WallpaperPreviewer.java
index d74bfae..18bc89c 100644
--- a/src/com/android/customization/picker/WallpaperPreviewer.java
+++ b/src/com/android/customization/picker/WallpaperPreviewer.java
@@ -241,7 +241,7 @@
                                                 () -> mFadeInScrim.setVisibility(View.INVISIBLE));
                             }
                         }
-                    }, mWallpaperSurface, WallpaperConnection.WHICH_PREVIEW.PREVIEW_CURRENT);
+                    }, mWallpaperSurface, WallpaperConnection.WhichPreview.PREVIEW_CURRENT);
 
             mWallpaperConnection.setVisibility(true);
             mHomePreview.post(() -> {
diff --git a/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt b/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt
index 004103f..cc4079a 100644
--- a/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt
+++ b/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt
@@ -21,7 +21,7 @@
 import androidx.annotation.IntRange
 import com.android.customization.picker.clock.shared.ClockSize
 import com.android.customization.picker.clock.shared.model.ClockMetadataModel
-import com.android.systemui.plugins.ClockMetadata
+import com.android.systemui.plugins.clocks.ClockMetadata
 import com.android.systemui.shared.clocks.ClockRegistry
 import com.android.wallpaper.settings.data.repository.SecureSettingsRepository
 import kotlinx.coroutines.CoroutineDispatcher
@@ -187,7 +187,6 @@
     ): ClockMetadataModel {
         return ClockMetadataModel(
             clockId = clockId,
-            name = name,
             isSelected = isSelected,
             selectedColorId = selectedColorId,
             colorToneProgress = colorTone,
diff --git a/src/com/android/customization/picker/clock/shared/ClockSize.kt b/src/com/android/customization/picker/clock/shared/ClockSize.kt
index 279ee54..9b35f73 100644
--- a/src/com/android/customization/picker/clock/shared/ClockSize.kt
+++ b/src/com/android/customization/picker/clock/shared/ClockSize.kt
@@ -16,7 +16,18 @@
  */
 package com.android.customization.picker.clock.shared
 
+import android.stats.style.StyleEnums
+import com.android.customization.module.logging.ThemesUserEventLogger
+
 enum class ClockSize {
     DYNAMIC,
     SMALL,
 }
+
+@ThemesUserEventLogger.ClockSize
+fun ClockSize.toClockSizeForLogging(): Int {
+    return when (this) {
+        ClockSize.DYNAMIC -> StyleEnums.CLOCK_SIZE_DYNAMIC
+        ClockSize.SMALL -> StyleEnums.CLOCK_SIZE_SMALL
+    }
+}
diff --git a/src/com/android/customization/picker/clock/shared/model/ClockMetadataModel.kt b/src/com/android/customization/picker/clock/shared/model/ClockMetadataModel.kt
index 2522507..6e2bfb3 100644
--- a/src/com/android/customization/picker/clock/shared/model/ClockMetadataModel.kt
+++ b/src/com/android/customization/picker/clock/shared/model/ClockMetadataModel.kt
@@ -23,7 +23,6 @@
 /** Model for clock metadata. */
 data class ClockMetadataModel(
     val clockId: String,
-    val name: String,
     val isSelected: Boolean,
     val selectedColorId: String?,
     @IntRange(from = 0, to = 100) val colorToneProgress: Int,
diff --git a/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt b/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
index 6bd717b..e2616c7 100644
--- a/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
+++ b/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
@@ -58,11 +58,6 @@
                     carouselView.transitionToPrevious()
                 }
             )
-        screenPreviewClickView.accessibilityDelegate = carouselAccessibilityDelegate
-        screenPreviewClickView.setOnSideClickedListener { isStart ->
-            if (isStart) carouselView.scrollToPrevious() else carouselView.scrollToNext()
-        }
-
         lifecycleOwner.lifecycleScope.launch {
             lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
                 launch {
@@ -76,6 +71,11 @@
                             },
                             isTwoPaneAndSmallWidth = isTwoPaneAndSmallWidth,
                         )
+                        screenPreviewClickView.accessibilityDelegate = carouselAccessibilityDelegate
+                        screenPreviewClickView.setOnSideClickedListener { isStart ->
+                            if (isStart) carouselView.scrollToPrevious()
+                            else carouselView.scrollToNext()
+                        }
                     }
                 }
 
diff --git a/src/com/android/customization/picker/clock/ui/binder/ClockSectionViewBinder.kt b/src/com/android/customization/picker/clock/ui/binder/ClockSectionViewBinder.kt
deleted file mode 100644
index 7dc0d0c..0000000
--- a/src/com/android/customization/picker/clock/ui/binder/ClockSectionViewBinder.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package com.android.customization.picker.clock.ui.binder
-
-import android.view.View
-import android.widget.TextView
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.LifecycleOwner
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
-import com.android.customization.picker.clock.ui.viewmodel.ClockSectionViewModel
-import com.android.wallpaper.R
-import kotlinx.coroutines.flow.collectLatest
-import kotlinx.coroutines.launch
-
-object ClockSectionViewBinder {
-    fun bind(
-        view: View,
-        viewModel: ClockSectionViewModel,
-        lifecycleOwner: LifecycleOwner,
-        onClicked: () -> Unit,
-    ) {
-        view.setOnClickListener { onClicked() }
-
-        val selectedClockColorAndSize: TextView =
-            view.requireViewById(R.id.selected_clock_color_and_size)
-
-        lifecycleOwner.lifecycleScope.launch {
-            lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
-                launch {
-                    viewModel.selectedClockColorAndSizeText.collectLatest {
-                        selectedClockColorAndSize.text = it
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/src/com/android/customization/picker/clock/ui/binder/ClockSettingsBinder.kt b/src/com/android/customization/picker/clock/ui/binder/ClockSettingsBinder.kt
index 6e745d5..d17cdf8 100644
--- a/src/com/android/customization/picker/clock/ui/binder/ClockSettingsBinder.kt
+++ b/src/com/android/customization/picker/clock/ui/binder/ClockSettingsBinder.kt
@@ -15,11 +15,18 @@
  */
 package com.android.customization.picker.clock.ui.binder
 
+import android.content.Context
 import android.content.res.Configuration
+import android.text.Spannable
+import android.text.SpannableString
+import android.text.style.TextAppearanceSpan
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.widget.LinearLayout
+import android.widget.RadioButton
+import android.widget.RadioGroup
+import android.widget.RadioGroup.OnCheckedChangeListener
 import android.widget.SeekBar
 import androidx.core.view.doOnPreDraw
 import androidx.core.view.isInvisible
@@ -35,7 +42,6 @@
 import com.android.customization.picker.clock.ui.adapter.ClockSettingsTabAdapter
 import com.android.customization.picker.clock.ui.view.ClockCarouselView
 import com.android.customization.picker.clock.ui.view.ClockHostView
-import com.android.customization.picker.clock.ui.view.ClockSizeRadioButtonGroup
 import com.android.customization.picker.clock.ui.view.ClockViewFactory
 import com.android.customization.picker.clock.ui.viewmodel.ClockSettingsViewModel
 import com.android.customization.picker.color.ui.binder.ColorOptionIconBinder
@@ -83,14 +89,27 @@
             }
         )
 
-        val sizeOptions =
-            view.requireViewById<ClockSizeRadioButtonGroup>(R.id.clock_size_radio_button_group)
-        sizeOptions.onRadioButtonClickListener =
-            object : ClockSizeRadioButtonGroup.OnRadioButtonClickListener {
-                override fun onClick(size: ClockSize) {
-                    viewModel.setClockSize(size)
-                }
+        val onCheckedChangeListener = OnCheckedChangeListener { _, id ->
+            when (id) {
+                R.id.radio_dynamic -> viewModel.setClockSize(ClockSize.DYNAMIC)
+                R.id.radio_small -> viewModel.setClockSize(ClockSize.SMALL)
             }
+        }
+        val clockSizeRadioGroup =
+            view.requireViewById<RadioGroup>(R.id.clock_size_radio_button_group)
+        clockSizeRadioGroup.setOnCheckedChangeListener(onCheckedChangeListener)
+        view.requireViewById<RadioButton>(R.id.radio_dynamic).text =
+            getRadioText(
+                view.context.applicationContext,
+                view.resources.getString(R.string.clock_size_dynamic),
+                view.resources.getString(R.string.clock_size_dynamic_description)
+            )
+        view.requireViewById<RadioButton>(R.id.radio_small).text =
+            getRadioText(
+                view.context.applicationContext,
+                view.resources.getString(R.string.clock_size_small),
+                view.resources.getString(R.string.clock_size_small_description)
+            )
 
         val colorOptionContainer = view.requireViewById<View>(R.id.color_picker_container)
         lifecycleOwner.lifecycleScope.launch {
@@ -110,11 +129,11 @@
                         when (tab) {
                             ClockSettingsViewModel.Tab.COLOR -> {
                                 colorOptionContainer.isVisible = true
-                                sizeOptions.isInvisible = true
+                                clockSizeRadioGroup.isInvisible = true
                             }
                             ClockSettingsViewModel.Tab.SIZE -> {
                                 colorOptionContainer.isInvisible = true
-                                sizeOptions.isVisible = true
+                                clockSizeRadioGroup.isVisible = true
                             }
                         }
                     }
@@ -122,6 +141,7 @@
 
                 launch {
                     viewModel.colorOptions.collect { colorOptions ->
+                        colorOptionContainerListView.removeAllViews()
                         colorOptions.forEachIndexed { index, colorOption ->
                             colorOption.payload?.let { payload ->
                                 val item =
@@ -189,16 +209,28 @@
                             clockHostView.addView(clockView)
                             when (size) {
                                 ClockSize.DYNAMIC -> {
-                                    sizeOptions.radioButtonDynamic.isChecked = true
-                                    sizeOptions.radioButtonSmall.isChecked = false
+                                    // When clock size data flow emits clock size signal, we want
+                                    // to update the view without triggering on checked change,
+                                    // which is supposed to be triggered by user interaction only.
+                                    clockSizeRadioGroup.setOnCheckedChangeListener(null)
+                                    clockSizeRadioGroup.check(R.id.radio_dynamic)
+                                    clockSizeRadioGroup.setOnCheckedChangeListener(
+                                        onCheckedChangeListener
+                                    )
                                     clockHostView.doOnPreDraw {
                                         it.pivotX = it.width / 2F
                                         it.pivotY = it.height / 2F
                                     }
                                 }
                                 ClockSize.SMALL -> {
-                                    sizeOptions.radioButtonDynamic.isChecked = false
-                                    sizeOptions.radioButtonSmall.isChecked = true
+                                    // When clock size data flow emits clock size signal, we want
+                                    // to update the view without triggering on checked change,
+                                    // which is supposed to be triggered by user interaction only.
+                                    clockSizeRadioGroup.setOnCheckedChangeListener(null)
+                                    clockSizeRadioGroup.check(R.id.radio_small)
+                                    clockSizeRadioGroup.setOnCheckedChangeListener(
+                                        onCheckedChangeListener
+                                    )
                                     clockHostView.doOnPreDraw {
                                         it.pivotX = ClockCarouselView.getCenteredHostViewPivotX(it)
                                         it.pivotY = 0F
@@ -238,4 +270,25 @@
             }
         )
     }
+
+    private fun getRadioText(
+        context: Context,
+        title: String,
+        description: String
+    ): SpannableString {
+        val text = SpannableString(title + "\n" + description)
+        text.setSpan(
+            TextAppearanceSpan(context, R.style.SectionTitleTextStyle),
+            0,
+            title.length,
+            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
+        )
+        text.setSpan(
+            TextAppearanceSpan(context, R.style.SectionSubtitleTextStyle),
+            title.length + 1,
+            title.length + 1 + description.length,
+            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
+        )
+        return text
+    }
 }
diff --git a/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt b/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
index 4805f37..dc70633 100644
--- a/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
+++ b/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
@@ -68,7 +68,7 @@
         val injector = InjectorProvider.getInjector() as ThemePickerInjector
 
         val lockScreenView: CardView = view.requireViewById(R.id.lock_preview)
-        val colorViewModel = injector.getWallpaperColorsViewModel()
+        val wallpaperColorsRepository = injector.getWallpaperColorsRepository()
         val displayUtils = injector.getDisplayUtils(context)
         ScreenPreviewBinder.bind(
             activity = activity,
@@ -88,18 +88,18 @@
                             injector
                                 .getCurrentWallpaperInfoFactory(context)
                                 .createCurrentWallpaperInfos(
-                                    { homeWallpaper, lockWallpaper, _ ->
-                                        continuation.resume(
-                                            lockWallpaper ?: homeWallpaper,
-                                            null,
-                                        )
-                                    },
+                                    context,
                                     forceReload,
-                                )
+                                ) { homeWallpaper, lockWallpaper, _ ->
+                                    continuation.resume(
+                                        lockWallpaper ?: homeWallpaper,
+                                        null,
+                                    )
+                                }
                         }
                     },
                     onWallpaperColorChanged = { colors ->
-                        colorViewModel.setLockWallpaperColors(colors)
+                        wallpaperColorsRepository.setLockWallpaperColors(colors)
                     },
                     initialExtrasProvider = {
                         Bundle().apply {
@@ -125,7 +125,7 @@
                     this,
                     injector.getClockSettingsViewModelFactory(
                         context,
-                        injector.getWallpaperColorsViewModel(),
+                        injector.getWallpaperColorsRepository(),
                         injector.getClockViewFactory(activity),
                     ),
                 )
diff --git a/src/com/android/customization/picker/clock/ui/section/ClockSectionController.kt b/src/com/android/customization/picker/clock/ui/section/ClockSectionController.kt
deleted file mode 100644
index b47c243..0000000
--- a/src/com/android/customization/picker/clock/ui/section/ClockSectionController.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.clock.ui.section
-
-import android.content.Context
-import android.view.LayoutInflater
-import androidx.lifecycle.LifecycleOwner
-import androidx.lifecycle.lifecycleScope
-import com.android.customization.picker.clock.ui.binder.ClockSectionViewBinder
-import com.android.customization.picker.clock.ui.fragment.ClockSettingsFragment
-import com.android.customization.picker.clock.ui.view.ClockSectionView
-import com.android.customization.picker.clock.ui.viewmodel.ClockSectionViewModel
-import com.android.wallpaper.R
-import com.android.wallpaper.config.BaseFlags
-import com.android.wallpaper.model.CustomizationSectionController
-import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController
-import kotlinx.coroutines.launch
-
-/** A [CustomizationSectionController] for clock customization. */
-class ClockSectionController(
-    private val navigationController: CustomizationSectionNavigationController,
-    private val lifecycleOwner: LifecycleOwner,
-    private val flag: BaseFlags,
-    private val viewModel: ClockSectionViewModel,
-) : CustomizationSectionController<ClockSectionView> {
-
-    override fun isAvailable(context: Context): Boolean {
-        return flag.isCustomClocksEnabled(context!!)
-    }
-
-    override fun createView(context: Context): ClockSectionView {
-        val view =
-            LayoutInflater.from(context)
-                .inflate(
-                    R.layout.clock_section_view,
-                    null,
-                ) as ClockSectionView
-        lifecycleOwner.lifecycleScope.launch {
-            ClockSectionViewBinder.bind(
-                view = view,
-                viewModel = viewModel,
-                lifecycleOwner = lifecycleOwner
-            ) {
-                navigationController.navigateTo(ClockSettingsFragment())
-            }
-        }
-        return view
-    }
-}
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 d4f501b..cae4e06 100644
--- a/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt
+++ b/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt
@@ -31,7 +31,7 @@
 import androidx.core.view.isNotEmpty
 import com.android.customization.picker.clock.shared.ClockSize
 import com.android.customization.picker.clock.ui.viewmodel.ClockCarouselItemViewModel
-import com.android.systemui.plugins.ClockController
+import com.android.systemui.plugins.clocks.ClockController
 import com.android.wallpaper.R
 import com.android.wallpaper.picker.FixedWidthDisplayRatioFrameLayout
 import java.lang.Float.max
@@ -384,7 +384,7 @@
     ) : Carousel.Adapter {
 
         fun getContentDescription(index: Int, resources: Resources): String {
-            return clocks[index].getContentDescription(resources)
+            return clocks[index].contentDescription
         }
 
         override fun count(): Int {
diff --git a/src/com/android/customization/picker/clock/ui/view/ClockSizeRadioButtonGroup.kt b/src/com/android/customization/picker/clock/ui/view/ClockSizeRadioButtonGroup.kt
deleted file mode 100644
index 909491a..0000000
--- a/src/com/android/customization/picker/clock/ui/view/ClockSizeRadioButtonGroup.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.clock.ui.view
-
-import android.content.Context
-import android.util.AttributeSet
-import android.view.LayoutInflater
-import android.view.View
-import android.widget.FrameLayout
-import android.widget.RadioButton
-import com.android.customization.picker.clock.shared.ClockSize
-import com.android.wallpaper.R
-
-/** The radio button group to pick the clock size. */
-class ClockSizeRadioButtonGroup(
-    context: Context,
-    attrs: AttributeSet?,
-) : FrameLayout(context, attrs) {
-
-    interface OnRadioButtonClickListener {
-        fun onClick(size: ClockSize)
-    }
-
-    val radioButtonDynamic: RadioButton
-    val radioButtonSmall: RadioButton
-    var onRadioButtonClickListener: OnRadioButtonClickListener? = null
-
-    init {
-        LayoutInflater.from(context).inflate(R.layout.clock_size_radio_button_group, this, true)
-        radioButtonDynamic = requireViewById(R.id.radio_button_dynamic)
-        val buttonDynamic = requireViewById<View>(R.id.button_container_dynamic)
-        buttonDynamic.setOnClickListener { onRadioButtonClickListener?.onClick(ClockSize.DYNAMIC) }
-        radioButtonSmall = requireViewById(R.id.radio_button_large)
-        val buttonLarge = requireViewById<View>(R.id.button_container_small)
-        buttonLarge.setOnClickListener { onRadioButtonClickListener?.onClick(ClockSize.SMALL) }
-    }
-}
diff --git a/src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt b/src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt
index 3f6f423..2ab162d 100644
--- a/src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt
+++ b/src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt
@@ -15,226 +15,38 @@
  */
 package com.android.customization.picker.clock.ui.view
 
-import android.app.WallpaperColors
-import android.app.WallpaperManager
-import android.content.Context
-import android.content.res.Resources
-import android.graphics.Point
-import android.graphics.Rect
 import android.view.View
-import android.widget.FrameLayout
 import androidx.annotation.ColorInt
-import androidx.core.text.util.LocalePreferences
 import androidx.lifecycle.LifecycleOwner
-import com.android.systemui.plugins.ClockController
-import com.android.systemui.plugins.WeatherData
-import com.android.systemui.shared.clocks.ClockRegistry
-import com.android.wallpaper.R
-import com.android.wallpaper.util.TimeUtils.TimeTicker
-import java.util.concurrent.ConcurrentHashMap
+import com.android.systemui.plugins.clocks.ClockController
 
-/**
- * Provide reusable clock view and related util functions.
- *
- * @property screenSize The Activity or Fragment's window size.
- */
-class ClockViewFactory(
-    private val appContext: Context,
-    val screenSize: Point,
-    private val wallpaperManager: WallpaperManager,
-    private val registry: ClockRegistry,
-) {
-    private val resources = appContext.resources
-    private val timeTickListeners: ConcurrentHashMap<Int, TimeTicker> = ConcurrentHashMap()
-    private val clockControllers: HashMap<String, ClockController> = HashMap()
-    private val smallClockFrames: HashMap<String, FrameLayout> = HashMap()
+interface ClockViewFactory {
 
-    fun getController(clockId: String): ClockController {
-        return clockControllers[clockId]
-            ?: initClockController(clockId).also { clockControllers[clockId] = it }
-    }
+    fun getController(clockId: String): ClockController
 
     /**
      * Reset the large view to its initial state when getting the view. This is because some view
      * configs, e.g. animation state, might change during the reuse of the clock view in the app.
      */
-    fun getLargeView(clockId: String): View {
-        return getController(clockId).largeClock.let {
-            it.animations.onPickerCarouselSwiping(1F)
-            it.view
-        }
-    }
+    fun getLargeView(clockId: String): View
 
     /**
      * Reset the small view to its initial state when getting the view. This is because some view
      * configs, e.g. translation X, might change during the reuse of the clock view in the app.
      */
-    fun getSmallView(clockId: String): View {
-        val smallClockFrame =
-            smallClockFrames[clockId]
-                ?: createSmallClockFrame().also {
-                    it.addView(getController(clockId).smallClock.view)
-                    smallClockFrames[clockId] = it
-                }
-        smallClockFrame.translationX = 0F
-        smallClockFrame.translationY = 0F
-        return smallClockFrame
-    }
+    fun getSmallView(clockId: String): View
 
-    private fun createSmallClockFrame(): FrameLayout {
-        val smallClockFrame = FrameLayout(appContext)
-        val layoutParams =
-            FrameLayout.LayoutParams(
-                FrameLayout.LayoutParams.WRAP_CONTENT,
-                resources.getDimensionPixelSize(R.dimen.small_clock_height)
-            )
-        layoutParams.topMargin = getSmallClockTopMargin()
-        layoutParams.marginStart = getSmallClockStartPadding()
-        smallClockFrame.layoutParams = layoutParams
-        smallClockFrame.clipChildren = false
-        return smallClockFrame
-    }
+    fun updateColorForAllClocks(@ColorInt seedColor: Int?)
 
-    private fun getSmallClockTopMargin() =
-        getStatusBarHeight(appContext.resources) +
-            appContext.resources.getDimensionPixelSize(R.dimen.small_clock_padding_top)
+    fun updateColor(clockId: String, @ColorInt seedColor: Int?)
 
-    private fun getSmallClockStartPadding() =
-        appContext.resources.getDimensionPixelSize(R.dimen.clock_padding_start)
+    fun updateRegionDarkness()
 
-    fun updateColorForAllClocks(@ColorInt seedColor: Int?) {
-        clockControllers.values.forEach { it.events.onSeedColorChanged(seedColor = seedColor) }
-    }
+    fun updateTimeFormat(clockId: String)
 
-    fun updateColor(clockId: String, @ColorInt seedColor: Int?) {
-        clockControllers[clockId]?.events?.onSeedColorChanged(seedColor)
-    }
+    fun registerTimeTicker(owner: LifecycleOwner)
 
-    fun updateRegionDarkness() {
-        val isRegionDark = isLockscreenWallpaperDark()
-        clockControllers.values.forEach {
-            it.largeClock.events.onRegionDarknessChanged(isRegionDark)
-            it.smallClock.events.onRegionDarknessChanged(isRegionDark)
-        }
-    }
+    fun onDestroy()
 
-    private fun isLockscreenWallpaperDark(): Boolean {
-        val colors = wallpaperManager.getWallpaperColors(WallpaperManager.FLAG_LOCK)
-        return (colors?.colorHints?.and(WallpaperColors.HINT_SUPPORTS_DARK_TEXT)) == 0
-    }
-
-    fun updateTimeFormat(clockId: String) {
-        getController(clockId)
-            .events
-            .onTimeFormatChanged(android.text.format.DateFormat.is24HourFormat(appContext))
-    }
-
-    fun registerTimeTicker(owner: LifecycleOwner) {
-        val hashCode = owner.hashCode()
-        if (timeTickListeners.keys.contains(hashCode)) {
-            return
-        }
-
-        timeTickListeners[hashCode] = TimeTicker.registerNewReceiver(appContext) { onTimeTick() }
-    }
-
-    fun onDestroy() {
-        timeTickListeners.forEach { (_, timeTicker) -> appContext.unregisterReceiver(timeTicker) }
-        timeTickListeners.clear()
-        clockControllers.clear()
-        smallClockFrames.clear()
-    }
-
-    private fun onTimeTick() {
-        clockControllers.values.forEach {
-            it.largeClock.events.onTimeTick()
-            it.smallClock.events.onTimeTick()
-        }
-    }
-
-    fun unregisterTimeTicker(owner: LifecycleOwner) {
-        val hashCode = owner.hashCode()
-        timeTickListeners[hashCode]?.let {
-            appContext.unregisterReceiver(it)
-            timeTickListeners.remove(hashCode)
-        }
-    }
-
-    private fun initClockController(clockId: String): ClockController {
-        val controller =
-            registry.createExampleClock(clockId).also { it?.initialize(resources, 0f, 0f) }
-        checkNotNull(controller)
-
-        val isWallpaperDark = isLockscreenWallpaperDark()
-        // Initialize large clock
-        controller.largeClock.events.onRegionDarknessChanged(isWallpaperDark)
-        controller.largeClock.events.onFontSettingChanged(
-            resources.getDimensionPixelSize(R.dimen.large_clock_text_size).toFloat()
-        )
-        controller.largeClock.events.onTargetRegionChanged(getLargeClockRegion())
-
-        // Initialize small clock
-        controller.smallClock.events.onRegionDarknessChanged(isWallpaperDark)
-        controller.smallClock.events.onFontSettingChanged(
-            resources.getDimensionPixelSize(R.dimen.small_clock_text_size).toFloat()
-        )
-        controller.smallClock.events.onTargetRegionChanged(getSmallClockRegion())
-
-        // Use placeholder for weather clock preview in picker.
-        // Use locale default temp unit since assistant default is not available in this context.
-        val useCelsius =
-            LocalePreferences.getTemperatureUnit() == LocalePreferences.TemperatureUnit.CELSIUS
-        controller.events.onWeatherDataChanged(
-            WeatherData(
-                description = DESCRIPTION_PLACEHODLER,
-                state = WEATHERICON_PLACEHOLDER,
-                temperature =
-                    if (useCelsius) TEMPERATURE_CELSIUS_PLACEHOLDER
-                    else TEMPERATURE_FAHRENHEIT_PLACEHOLDER,
-                useCelsius = useCelsius,
-            )
-        )
-        return controller
-    }
-
-    /**
-     * Simulate the function of getLargeClockRegion in KeyguardClockSwitch so that we can get a
-     * proper region corresponding to lock screen in picker and for onTargetRegionChanged to scale
-     * and position the clock view
-     */
-    private fun getLargeClockRegion(): Rect {
-        val largeClockTopMargin =
-            resources.getDimensionPixelSize(R.dimen.keyguard_large_clock_top_margin)
-        val targetHeight = resources.getDimensionPixelSize(R.dimen.large_clock_text_size) * 2
-        val top = (screenSize.y / 2 - targetHeight / 2 + largeClockTopMargin / 2)
-        return Rect(0, top, screenSize.x, (top + targetHeight))
-    }
-
-    /**
-     * Simulate the function of getSmallClockRegion in KeyguardClockSwitch so that we can get a
-     * proper region corresponding to lock screen in picker and for onTargetRegionChanged to scale
-     * and position the clock view
-     */
-    private fun getSmallClockRegion(): Rect {
-        val topMargin = getSmallClockTopMargin()
-        val targetHeight = resources.getDimensionPixelSize(R.dimen.small_clock_height)
-        return Rect(getSmallClockStartPadding(), topMargin, screenSize.x, topMargin + targetHeight)
-    }
-
-    companion object {
-        const val DESCRIPTION_PLACEHODLER = ""
-        const val TEMPERATURE_FAHRENHEIT_PLACEHOLDER = 58
-        const val TEMPERATURE_CELSIUS_PLACEHOLDER = 21
-        val WEATHERICON_PLACEHOLDER = WeatherData.WeatherStateIcon.MOSTLY_SUNNY
-        const val USE_CELSIUS_PLACEHODLER = false
-
-        private fun getStatusBarHeight(resource: Resources): Int {
-            var result = 0
-            val resourceId: Int = resource.getIdentifier("status_bar_height", "dimen", "android")
-            if (resourceId > 0) {
-                result = resource.getDimensionPixelSize(resourceId)
-            }
-            return result
-        }
-    }
+    fun unregisterTimeTicker(owner: LifecycleOwner)
 }
diff --git a/src/com/android/customization/picker/clock/ui/view/ClockViewFactoryImpl.kt b/src/com/android/customization/picker/clock/ui/view/ClockViewFactoryImpl.kt
new file mode 100644
index 0000000..5caea58
--- /dev/null
+++ b/src/com/android/customization/picker/clock/ui/view/ClockViewFactoryImpl.kt
@@ -0,0 +1,240 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.picker.clock.ui.view
+
+import android.app.WallpaperColors
+import android.app.WallpaperManager
+import android.content.Context
+import android.content.res.Resources
+import android.graphics.Point
+import android.graphics.Rect
+import android.view.View
+import android.widget.FrameLayout
+import androidx.annotation.ColorInt
+import androidx.core.text.util.LocalePreferences
+import androidx.lifecycle.LifecycleOwner
+import com.android.systemui.plugins.clocks.ClockController
+import com.android.systemui.plugins.clocks.WeatherData
+import com.android.systemui.shared.clocks.ClockRegistry
+import com.android.wallpaper.R
+import com.android.wallpaper.util.TimeUtils.TimeTicker
+import java.util.concurrent.ConcurrentHashMap
+
+/**
+ * Provide reusable clock view and related util functions.
+ *
+ * @property screenSize The Activity or Fragment's window size.
+ */
+class ClockViewFactoryImpl(
+    private val appContext: Context,
+    val screenSize: Point,
+    private val wallpaperManager: WallpaperManager,
+    private val registry: ClockRegistry,
+) : ClockViewFactory {
+    private val resources = appContext.resources
+    private val timeTickListeners: ConcurrentHashMap<Int, TimeTicker> = ConcurrentHashMap()
+    private val clockControllers: HashMap<String, ClockController> = HashMap()
+    private val smallClockFrames: HashMap<String, FrameLayout> = HashMap()
+
+    override fun getController(clockId: String): ClockController {
+        return clockControllers[clockId]
+            ?: initClockController(clockId).also { clockControllers[clockId] = it }
+    }
+
+    /**
+     * Reset the large view to its initial state when getting the view. This is because some view
+     * configs, e.g. animation state, might change during the reuse of the clock view in the app.
+     */
+    override fun getLargeView(clockId: String): View {
+        return getController(clockId).largeClock.let {
+            it.animations.onPickerCarouselSwiping(1F)
+            it.view
+        }
+    }
+
+    /**
+     * Reset the small view to its initial state when getting the view. This is because some view
+     * configs, e.g. translation X, might change during the reuse of the clock view in the app.
+     */
+    override fun getSmallView(clockId: String): View {
+        val smallClockFrame =
+            smallClockFrames[clockId]
+                ?: createSmallClockFrame().also {
+                    it.addView(getController(clockId).smallClock.view)
+                    smallClockFrames[clockId] = it
+                }
+        smallClockFrame.translationX = 0F
+        smallClockFrame.translationY = 0F
+        return smallClockFrame
+    }
+
+    private fun createSmallClockFrame(): FrameLayout {
+        val smallClockFrame = FrameLayout(appContext)
+        val layoutParams =
+            FrameLayout.LayoutParams(
+                FrameLayout.LayoutParams.WRAP_CONTENT,
+                resources.getDimensionPixelSize(R.dimen.small_clock_height)
+            )
+        layoutParams.topMargin = getSmallClockTopMargin()
+        layoutParams.marginStart = getSmallClockStartPadding()
+        smallClockFrame.layoutParams = layoutParams
+        smallClockFrame.clipChildren = false
+        return smallClockFrame
+    }
+
+    private fun getSmallClockTopMargin() =
+        getStatusBarHeight(appContext.resources) +
+            appContext.resources.getDimensionPixelSize(R.dimen.small_clock_padding_top)
+
+    private fun getSmallClockStartPadding() =
+        appContext.resources.getDimensionPixelSize(R.dimen.clock_padding_start)
+
+    override fun updateColorForAllClocks(@ColorInt seedColor: Int?) {
+        clockControllers.values.forEach { it.events.onSeedColorChanged(seedColor = seedColor) }
+    }
+
+    override fun updateColor(clockId: String, @ColorInt seedColor: Int?) {
+        clockControllers[clockId]?.events?.onSeedColorChanged(seedColor)
+    }
+
+    override fun updateRegionDarkness() {
+        val isRegionDark = isLockscreenWallpaperDark()
+        clockControllers.values.forEach {
+            it.largeClock.events.onRegionDarknessChanged(isRegionDark)
+            it.smallClock.events.onRegionDarknessChanged(isRegionDark)
+        }
+    }
+
+    private fun isLockscreenWallpaperDark(): Boolean {
+        val colors = wallpaperManager.getWallpaperColors(WallpaperManager.FLAG_LOCK)
+        return (colors?.colorHints?.and(WallpaperColors.HINT_SUPPORTS_DARK_TEXT)) == 0
+    }
+
+    override fun updateTimeFormat(clockId: String) {
+        getController(clockId)
+            .events
+            .onTimeFormatChanged(android.text.format.DateFormat.is24HourFormat(appContext))
+    }
+
+    override fun registerTimeTicker(owner: LifecycleOwner) {
+        val hashCode = owner.hashCode()
+        if (timeTickListeners.keys.contains(hashCode)) {
+            return
+        }
+
+        timeTickListeners[hashCode] = TimeTicker.registerNewReceiver(appContext) { onTimeTick() }
+    }
+
+    override fun onDestroy() {
+        timeTickListeners.forEach { (_, timeTicker) -> appContext.unregisterReceiver(timeTicker) }
+        timeTickListeners.clear()
+        clockControllers.clear()
+        smallClockFrames.clear()
+    }
+
+    private fun onTimeTick() {
+        clockControllers.values.forEach {
+            it.largeClock.events.onTimeTick()
+            it.smallClock.events.onTimeTick()
+        }
+    }
+
+    override fun unregisterTimeTicker(owner: LifecycleOwner) {
+        val hashCode = owner.hashCode()
+        timeTickListeners[hashCode]?.let {
+            appContext.unregisterReceiver(it)
+            timeTickListeners.remove(hashCode)
+        }
+    }
+
+    private fun initClockController(clockId: String): ClockController {
+        val controller =
+            registry.createExampleClock(clockId).also { it?.initialize(resources, 0f, 0f) }
+        checkNotNull(controller)
+
+        val isWallpaperDark = isLockscreenWallpaperDark()
+        // Initialize large clock
+        controller.largeClock.events.onRegionDarknessChanged(isWallpaperDark)
+        controller.largeClock.events.onFontSettingChanged(
+            resources.getDimensionPixelSize(R.dimen.large_clock_text_size).toFloat()
+        )
+        controller.largeClock.events.onTargetRegionChanged(getLargeClockRegion())
+
+        // Initialize small clock
+        controller.smallClock.events.onRegionDarknessChanged(isWallpaperDark)
+        controller.smallClock.events.onFontSettingChanged(
+            resources.getDimensionPixelSize(R.dimen.small_clock_text_size).toFloat()
+        )
+        controller.smallClock.events.onTargetRegionChanged(getSmallClockRegion())
+
+        // Use placeholder for weather clock preview in picker.
+        // Use locale default temp unit since assistant default is not available in this context.
+        val useCelsius =
+            LocalePreferences.getTemperatureUnit() == LocalePreferences.TemperatureUnit.CELSIUS
+        controller.events.onWeatherDataChanged(
+            WeatherData(
+                description = DESCRIPTION_PLACEHODLER,
+                state = WEATHERICON_PLACEHOLDER,
+                temperature =
+                    if (useCelsius) TEMPERATURE_CELSIUS_PLACEHOLDER
+                    else TEMPERATURE_FAHRENHEIT_PLACEHOLDER,
+                useCelsius = useCelsius,
+            )
+        )
+        return controller
+    }
+
+    /**
+     * Simulate the function of getLargeClockRegion in KeyguardClockSwitch so that we can get a
+     * proper region corresponding to lock screen in picker and for onTargetRegionChanged to scale
+     * and position the clock view
+     */
+    private fun getLargeClockRegion(): Rect {
+        val largeClockTopMargin =
+            resources.getDimensionPixelSize(R.dimen.keyguard_large_clock_top_margin)
+        val targetHeight = resources.getDimensionPixelSize(R.dimen.large_clock_text_size) * 2
+        val top = (screenSize.y / 2 - targetHeight / 2 + largeClockTopMargin / 2)
+        return Rect(0, top, screenSize.x, (top + targetHeight))
+    }
+
+    /**
+     * Simulate the function of getSmallClockRegion in KeyguardClockSwitch so that we can get a
+     * proper region corresponding to lock screen in picker and for onTargetRegionChanged to scale
+     * and position the clock view
+     */
+    private fun getSmallClockRegion(): Rect {
+        val topMargin = getSmallClockTopMargin()
+        val targetHeight = resources.getDimensionPixelSize(R.dimen.small_clock_height)
+        return Rect(getSmallClockStartPadding(), topMargin, screenSize.x, topMargin + targetHeight)
+    }
+
+    companion object {
+        const val DESCRIPTION_PLACEHODLER = ""
+        const val TEMPERATURE_FAHRENHEIT_PLACEHOLDER = 58
+        const val TEMPERATURE_CELSIUS_PLACEHOLDER = 21
+        val WEATHERICON_PLACEHOLDER = WeatherData.WeatherStateIcon.MOSTLY_SUNNY
+        const val USE_CELSIUS_PLACEHODLER = false
+
+        private fun getStatusBarHeight(resource: Resources): Int {
+            var result = 0
+            val resourceId: Int = resource.getIdentifier("status_bar_height", "dimen", "android")
+            if (resourceId > 0) {
+                result = resource.getDimensionPixelSize(resourceId)
+            }
+            return result
+        }
+    }
+}
diff --git a/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselItemViewModel.kt b/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselItemViewModel.kt
index 9811426..e5ac953 100644
--- a/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselItemViewModel.kt
+++ b/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselItemViewModel.kt
@@ -15,20 +15,8 @@
  */
 package com.android.customization.picker.clock.ui.viewmodel
 
-import android.content.res.Resources
-import com.android.customization.module.CustomizationInjector
-import com.android.wallpaper.R
-import com.android.wallpaper.module.InjectorProvider
-
-class ClockCarouselItemViewModel(val clockId: String, val isSelected: Boolean) {
-
-    /** Description for accessibility purposes when a clock is selected. */
-    fun getContentDescription(resources: Resources): String {
-        val clockContent =
-            (InjectorProvider.getInjector() as? CustomizationInjector)
-                ?.getClockDescriptionUtils(resources)
-                ?.getDescription(clockId)
-                ?: ""
-        return resources.getString(R.string.select_clock_action_description, clockContent)
-    }
-}
+class ClockCarouselItemViewModel(
+    val clockId: String,
+    val isSelected: Boolean,
+    val contentDescription: String,
+)
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 27c25a2..3f6394b 100644
--- a/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModel.kt
+++ b/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModel.kt
@@ -15,12 +15,15 @@
  */
 package com.android.customization.picker.clock.ui.viewmodel
 
+import android.content.res.Resources
 import android.graphics.Color
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.viewModelScope
+import com.android.customization.module.logging.ThemesUserEventLogger
 import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
 import com.android.customization.picker.clock.shared.ClockSize
+import com.android.customization.picker.clock.ui.view.ClockViewFactory
 import com.android.wallpaper.R
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -43,6 +46,9 @@
 class ClockCarouselViewModel(
     private val interactor: ClockPickerInteractor,
     private val backgroundDispatcher: CoroutineDispatcher,
+    private val clockViewFactory: ClockViewFactory,
+    private val resources: Resources,
+    private val logger: ThemesUserEventLogger,
 ) : ViewModel() {
     @OptIn(ExperimentalCoroutinesApi::class)
     val allClocks: StateFlow<List<ClockCarouselItemViewModel>> =
@@ -50,7 +56,14 @@
             .mapLatest { allClocks ->
                 // Delay to avoid the case that the full list of clocks is not initiated.
                 delay(CLOCKS_EVENT_UPDATE_DELAY_MILLIS)
-                allClocks.map { ClockCarouselItemViewModel(it.clockId, it.isSelected) }
+                allClocks.map {
+                    val contentDescription =
+                        resources.getString(
+                            R.string.select_clock_action_description,
+                            clockViewFactory.getController(it.clockId).config.description
+                        )
+                    ClockCarouselItemViewModel(it.clockId, it.isSelected, contentDescription)
+                }
             }
             .stateIn(viewModelScope, SharingStarted.Eagerly, emptyList())
 
@@ -111,18 +124,27 @@
     fun setSelectedClock(clockId: String) {
         setSelectedClockJob?.cancel()
         setSelectedClockJob =
-            viewModelScope.launch(backgroundDispatcher) { interactor.setSelectedClock(clockId) }
+            viewModelScope.launch(backgroundDispatcher) {
+                interactor.setSelectedClock(clockId)
+                logger.logClockApplied(clockId)
+            }
     }
 
     class Factory(
         private val interactor: ClockPickerInteractor,
         private val backgroundDispatcher: CoroutineDispatcher,
+        private val clockViewFactory: ClockViewFactory,
+        private val resources: Resources,
+        private val logger: ThemesUserEventLogger,
     ) : ViewModelProvider.Factory {
         override fun <T : ViewModel> create(modelClass: Class<T>): T {
             @Suppress("UNCHECKED_CAST")
             return ClockCarouselViewModel(
                 interactor = interactor,
                 backgroundDispatcher = backgroundDispatcher,
+                clockViewFactory = clockViewFactory,
+                resources = resources,
+                logger = logger,
             )
                 as T
         }
diff --git a/src/com/android/customization/picker/clock/ui/viewmodel/ClockSectionViewModel.kt b/src/com/android/customization/picker/clock/ui/viewmodel/ClockSectionViewModel.kt
deleted file mode 100644
index 8a65522..0000000
--- a/src/com/android/customization/picker/clock/ui/viewmodel/ClockSectionViewModel.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package com.android.customization.picker.clock.ui.viewmodel
-
-import android.content.Context
-import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
-import com.android.customization.picker.clock.shared.ClockSize
-import com.android.wallpaper.R
-import java.util.Locale
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.flow.map
-
-/** View model for the clock section view on the lockscreen customization surface. */
-class ClockSectionViewModel(context: Context, interactor: ClockPickerInteractor) {
-    val appContext: Context = context.applicationContext
-    val clockColorMap: Map<String, ClockColorViewModel> =
-        ClockColorViewModel.getPresetColorMap(appContext.resources)
-    val selectedClockColorAndSizeText: Flow<String> =
-        combine(interactor.selectedColorId, interactor.selectedClockSize, ::Pair).map {
-            (selectedColorId, selectedClockSize) ->
-            val colorText =
-                clockColorMap[selectedColorId]?.colorName
-                    ?: appContext.getString(R.string.default_theme_title)
-            val sizeText =
-                when (selectedClockSize) {
-                    ClockSize.SMALL -> appContext.getString(R.string.clock_size_small)
-                    ClockSize.DYNAMIC -> appContext.getString(R.string.clock_size_dynamic)
-                }
-            appContext
-                .getString(R.string.clock_color_and_size_description, colorText, sizeText)
-                .lowercase()
-                .replaceFirstChar {
-                    if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString()
-                }
-        }
-}
diff --git a/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt b/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt
index a498c71..d0e4f8f 100644
--- a/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt
+++ b/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt
@@ -21,9 +21,12 @@
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.viewModelScope
 import com.android.customization.model.color.ColorOptionImpl
+import com.android.customization.module.logging.ThemesUserEventLogger
+import com.android.customization.module.logging.ThemesUserEventLogger.Companion.NULL_SEED_COLOR
 import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
 import com.android.customization.picker.clock.shared.ClockSize
 import com.android.customization.picker.clock.shared.model.ClockMetadataModel
+import com.android.customization.picker.clock.shared.toClockSizeForLogging
 import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor
 import com.android.customization.picker.color.shared.model.ColorOptionModel
 import com.android.customization.picker.color.shared.model.ColorType
@@ -53,6 +56,7 @@
     private val clockPickerInteractor: ClockPickerInteractor,
     private val colorPickerInteractor: ColorPickerInteractor,
     private val getIsReactiveToTone: (clockId: String?) -> Boolean,
+    private val logger: ThemesUserEventLogger,
 ) : ViewModel() {
 
     enum class Tab {
@@ -106,15 +110,17 @@
     suspend fun onSliderProgressStop(progress: Int) {
         val selectedColorId = selectedColorId.value ?: return
         val clockColorViewModel = colorMap[selectedColorId] ?: return
+        val seedColor =
+            blendColorWithTone(
+                color = clockColorViewModel.color,
+                colorTone = clockColorViewModel.getColorTone(progress),
+            )
         clockPickerInteractor.setClockColor(
             selectedColorId = selectedColorId,
             colorToneProgress = progress,
-            seedColor =
-                blendColorWithTone(
-                    color = clockColorViewModel.color,
-                    colorTone = clockColorViewModel.getColorTone(progress),
-                )
+            seedColor = seedColor,
         )
+        logger.logClockColorApplied(seedColor)
     }
 
     @OptIn(ExperimentalCoroutinesApi::class)
@@ -169,18 +175,20 @@
                                     } else {
                                         {
                                             viewModelScope.launch {
+                                                val seedColor =
+                                                    blendColorWithTone(
+                                                        color = colorModel.color,
+                                                        colorTone =
+                                                            colorModel.getColorTone(
+                                                                colorToneProgress,
+                                                            ),
+                                                    )
                                                 clockPickerInteractor.setClockColor(
                                                     selectedColorId = colorModel.colorId,
                                                     colorToneProgress = colorToneProgress,
-                                                    seedColor =
-                                                        blendColorWithTone(
-                                                            color = colorModel.color,
-                                                            colorTone =
-                                                                colorModel.getColorTone(
-                                                                    colorToneProgress,
-                                                                ),
-                                                        ),
+                                                    seedColor = seedColor,
                                                 )
+                                                logger.logClockColorApplied(seedColor)
                                             }
                                         }
                                     }
@@ -244,6 +252,7 @@
                                         ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS,
                                     seedColor = null,
                                 )
+                                logger.logClockColorApplied(NULL_SEED_COLOR)
                             }
                         }
                     }
@@ -254,7 +263,10 @@
     val selectedClockSize: Flow<ClockSize> = clockPickerInteractor.selectedClockSize
 
     fun setClockSize(size: ClockSize) {
-        viewModelScope.launch { clockPickerInteractor.setClockSize(size) }
+        viewModelScope.launch {
+            clockPickerInteractor.setClockSize(size)
+            logger.logClockSizeApplied(size.toClockSizeForLogging())
+        }
     }
 
     private val _selectedTabPosition = MutableStateFlow(Tab.COLOR)
@@ -304,6 +316,7 @@
         private val context: Context,
         private val clockPickerInteractor: ClockPickerInteractor,
         private val colorPickerInteractor: ColorPickerInteractor,
+        private val logger: ThemesUserEventLogger,
         private val getIsReactiveToTone: (clockId: String?) -> Boolean,
     ) : ViewModelProvider.Factory {
         override fun <T : ViewModel> create(modelClass: Class<T>): T {
@@ -312,6 +325,7 @@
                 context = context,
                 clockPickerInteractor = clockPickerInteractor,
                 colorPickerInteractor = colorPickerInteractor,
+                logger = logger,
                 getIsReactiveToTone = getIsReactiveToTone,
             )
                 as T
diff --git a/src/com/android/customization/picker/clock/utils/ClockDescriptionUtils.kt b/src/com/android/customization/picker/clock/utils/ClockDescriptionUtils.kt
deleted file mode 100644
index 28ea4a3..0000000
--- a/src/com/android/customization/picker/clock/utils/ClockDescriptionUtils.kt
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.clock.utils
-
-/** Provides clock description for accessibility purposes. */
-interface ClockDescriptionUtils {
-
-    /**
-     * TODO (b/287507746) : Migrate the clock description to system UI or a shared library, instead
-     * of preserving at the Wallpaper Picker side.
-     */
-    fun getDescription(clockId: String): String
-}
diff --git a/src/com/android/customization/picker/clock/utils/ThemePickerClockDescriptionUtils.kt b/src/com/android/customization/picker/clock/utils/ThemePickerClockDescriptionUtils.kt
deleted file mode 100644
index a04ebff..0000000
--- a/src/com/android/customization/picker/clock/utils/ThemePickerClockDescriptionUtils.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.clock.utils
-
-class ThemePickerClockDescriptionUtils : ClockDescriptionUtils {
-    override fun getDescription(clockId: String): String {
-        return ""
-    }
-}
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 6540ce0..942a846 100644
--- a/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl.kt
+++ b/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl.kt
@@ -24,8 +24,8 @@
 import com.android.customization.picker.color.shared.model.ColorOptionModel
 import com.android.customization.picker.color.shared.model.ColorType
 import com.android.systemui.monet.Style
-import com.android.wallpaper.model.WallpaperColorsModel
-import com.android.wallpaper.model.WallpaperColorsViewModel
+import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository
+import com.android.wallpaper.picker.customization.shared.model.WallpaperColorsModel
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
@@ -37,14 +37,14 @@
 // TODO (b/262924623): refactor to remove dependency on ColorCustomizationManager & ColorOption
 // TODO (b/268203200): Create test for ColorPickerRepositoryImpl
 class ColorPickerRepositoryImpl(
-    wallpaperColorsViewModel: WallpaperColorsViewModel,
+    wallpaperColorsRepository: WallpaperColorsRepository,
     private val colorManager: ColorCustomizationManager,
 ) : ColorPickerRepository {
 
     private val homeWallpaperColors: StateFlow<WallpaperColorsModel?> =
-        wallpaperColorsViewModel.homeWallpaperColors
+        wallpaperColorsRepository.homeWallpaperColors
     private val lockWallpaperColors: StateFlow<WallpaperColorsModel?> =
-        wallpaperColorsViewModel.lockWallpaperColors
+        wallpaperColorsRepository.lockWallpaperColors
     private var selectedColorOption: MutableStateFlow<ColorOptionModel> =
         MutableStateFlow(getCurrentColorOption())
 
@@ -78,7 +78,7 @@
                         homeColorsLoaded.colors,
                         lockColorsLoaded.colors
                     )
-                    colorManager.fetchRevampedUIOptions(
+                    colorManager.fetchOptions(
                         object : CustomizationManager.OptionsFetchedListener<ColorOption?> {
                             override fun onOptionsLoaded(options: MutableList<ColorOption?>?) {
                                 val wallpaperColorOptions: MutableList<ColorOptionModel> =
diff --git a/src/com/android/customization/picker/color/data/repository/FakeColorPickerRepository.kt b/src/com/android/customization/picker/color/data/repository/FakeColorPickerRepository.kt
index bb2ef9d..f35d934 100644
--- a/src/com/android/customization/picker/color/data/repository/FakeColorPickerRepository.kt
+++ b/src/com/android/customization/picker/color/data/repository/FakeColorPickerRepository.kt
@@ -19,10 +19,12 @@
 import android.content.Context
 import android.graphics.Color
 import android.text.TextUtils
+import com.android.customization.model.ResourceConstants
 import com.android.customization.model.color.ColorOptionImpl
 import com.android.customization.model.color.ColorOptionsProvider
 import com.android.customization.picker.color.shared.model.ColorOptionModel
 import com.android.customization.picker.color.shared.model.ColorType
+import com.android.systemui.monet.Style
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.asStateFlow
@@ -49,6 +51,53 @@
     }
 
     fun setOptions(
+        wallpaperOptions: List<ColorOptionImpl>,
+        presetOptions: List<ColorOptionImpl>,
+        selectedColorOptionType: ColorType,
+        selectedColorOptionIndex: Int
+    ) {
+        _colorOptions.value =
+            mapOf(
+                ColorType.WALLPAPER_COLOR to
+                    buildList {
+                        for ((index, colorOption) in wallpaperOptions.withIndex()) {
+                            val isSelected =
+                                selectedColorOptionType == ColorType.WALLPAPER_COLOR &&
+                                    selectedColorOptionIndex == index
+                            val colorOptionModel =
+                                ColorOptionModel(
+                                    key = "${ColorType.WALLPAPER_COLOR}::$index",
+                                    colorOption = colorOption,
+                                    isSelected = isSelected
+                                )
+                            if (isSelected) {
+                                selectedColorOption = colorOptionModel
+                            }
+                            add(colorOptionModel)
+                        }
+                    },
+                ColorType.PRESET_COLOR to
+                    buildList {
+                        for ((index, colorOption) in presetOptions.withIndex()) {
+                            val isSelected =
+                                selectedColorOptionType == ColorType.PRESET_COLOR &&
+                                    selectedColorOptionIndex == index
+                            val colorOptionModel =
+                                ColorOptionModel(
+                                    key = "${ColorType.PRESET_COLOR}::$index",
+                                    colorOption = colorOption,
+                                    isSelected = isSelected
+                                )
+                            if (isSelected) {
+                                selectedColorOption = colorOptionModel
+                            }
+                            add(colorOptionModel)
+                        }
+                    },
+            )
+    }
+
+    fun setOptions(
         numWallpaperOptions: Int,
         numPresetOptions: Int,
         selectedColorOptionType: ColorType,
@@ -111,6 +160,22 @@
         return builder.build()
     }
 
+    fun buildPresetOption(style: Style, seedColor: String): ColorOptionImpl {
+        val builder = ColorOptionImpl.Builder()
+        builder.lightColors =
+            intArrayOf(Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT)
+        builder.darkColors =
+            intArrayOf(Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT)
+        builder.type = ColorType.PRESET_COLOR
+        builder.source = ColorOptionsProvider.COLOR_SOURCE_PRESET
+        builder.style = style
+        builder.title = "Preset"
+        builder
+            .addOverlayPackage("TEST_PACKAGE_TYPE", "preset_color")
+            .addOverlayPackage(ResourceConstants.OVERLAY_CATEGORY_SYSTEM_PALETTE, seedColor)
+        return builder.build()
+    }
+
     private fun buildWallpaperOption(index: Int): ColorOptionImpl {
         val builder = ColorOptionImpl.Builder()
         builder.lightColors =
@@ -127,6 +192,22 @@
         return builder.build()
     }
 
+    fun buildWallpaperOption(source: String, style: Style, seedColor: String): ColorOptionImpl {
+        val builder = ColorOptionImpl.Builder()
+        builder.lightColors =
+            intArrayOf(Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT)
+        builder.darkColors =
+            intArrayOf(Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT)
+        builder.type = ColorType.WALLPAPER_COLOR
+        builder.source = source
+        builder.style = style
+        builder.title = "Dynamic"
+        builder
+            .addOverlayPackage("TEST_PACKAGE_TYPE", "wallpaper_color")
+            .addOverlayPackage(ResourceConstants.OVERLAY_CATEGORY_SYSTEM_PALETTE, seedColor)
+        return builder.build()
+    }
+
     override suspend fun select(colorOptionModel: ColorOptionModel) {
         val colorOptions = _colorOptions.value
         val wallpaperColorOptions = colorOptions[ColorType.WALLPAPER_COLOR]!!
diff --git a/src/com/android/customization/picker/color/ui/binder/ColorPickerBinder.kt b/src/com/android/customization/picker/color/ui/binder/ColorPickerBinder.kt
index 0f82f49..9838c31 100644
--- a/src/com/android/customization/picker/color/ui/binder/ColorPickerBinder.kt
+++ b/src/com/android/customization/picker/color/ui/binder/ColorPickerBinder.kt
@@ -62,7 +62,7 @@
         colorTypeTabView.addItemDecoration(ItemSpacing(ItemSpacing.TAB_ITEM_SPACING_DP))
         val colorOptionAdapter =
             OptionItemAdapter(
-                layoutResourceId = R.layout.color_option_2,
+                layoutResourceId = R.layout.color_option,
                 lifecycleOwner = lifecycleOwner,
                 bindIcon = { foregroundView: View, colorIcon: ColorOptionIconViewModel ->
                     val colorOptionIconView = foregroundView as? ColorOptionIconView
diff --git a/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt b/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
index 4ef29d6..2c00609 100644
--- a/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
+++ b/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
@@ -33,11 +33,11 @@
 import com.android.customization.module.ThemePickerInjector
 import com.android.customization.picker.color.ui.binder.ColorPickerBinder
 import com.android.wallpaper.R
-import com.android.wallpaper.model.WallpaperColorsModel
-import com.android.wallpaper.model.WallpaperColorsViewModel
 import com.android.wallpaper.module.CustomizationSections
 import com.android.wallpaper.module.InjectorProvider
 import com.android.wallpaper.picker.AppbarFragment
+import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository
+import com.android.wallpaper.picker.customization.shared.model.WallpaperColorsModel
 import com.android.wallpaper.picker.customization.ui.binder.ScreenPreviewBinder
 import com.android.wallpaper.picker.customization.ui.viewmodel.ScreenPreviewViewModel
 import com.android.wallpaper.util.DisplayUtils
@@ -76,7 +76,7 @@
         val homeScreenView: CardView = view.requireViewById(R.id.home_preview)
         val wallpaperInfoFactory = injector.getCurrentWallpaperInfoFactory(requireContext())
         val displayUtils: DisplayUtils = injector.getDisplayUtils(requireContext())
-        val wcViewModel = injector.getWallpaperColorsViewModel()
+        val wallpaperColorsRepository = injector.getWallpaperColorsRepository()
         val wallpaperManager = WallpaperManager.getInstance(requireContext())
 
         binding =
@@ -87,7 +87,7 @@
                             requireActivity(),
                             injector.getColorPickerViewModelFactory(
                                 context = requireContext(),
-                                wallpaperColorsViewModel = wcViewModel,
+                                wallpaperColorsRepository = wallpaperColorsRepository,
                             ),
                         )
                         .get(),
@@ -114,27 +114,27 @@
                         wallpaperInfoProvider = { forceReload ->
                             suspendCancellableCoroutine { continuation ->
                                 wallpaperInfoFactory.createCurrentWallpaperInfos(
-                                    { homeWallpaper, lockWallpaper, _ ->
-                                        lifecycleScope.launch {
-                                            if (
-                                                wcViewModel.lockWallpaperColors.value
-                                                    is WallpaperColorsModel.Loading
-                                            ) {
-                                                loadInitialColors(
-                                                    wallpaperManager,
-                                                    wcViewModel,
-                                                    CustomizationSections.Screen.LOCK_SCREEN
-                                                )
-                                            }
-                                        }
-                                        continuation.resume(lockWallpaper ?: homeWallpaper, null)
-                                    },
+                                    context,
                                     forceReload,
-                                )
+                                ) { homeWallpaper, lockWallpaper, _ ->
+                                    lifecycleScope.launch {
+                                        if (
+                                            wallpaperColorsRepository.lockWallpaperColors.value
+                                                is WallpaperColorsModel.Loading
+                                        ) {
+                                            loadInitialColors(
+                                                wallpaperManager,
+                                                wallpaperColorsRepository,
+                                                CustomizationSections.Screen.LOCK_SCREEN
+                                            )
+                                        }
+                                    }
+                                    continuation.resume(lockWallpaper ?: homeWallpaper, null)
+                                }
                             }
                         },
                         onWallpaperColorChanged = { colors ->
-                            wcViewModel.setLockWallpaperColors(colors)
+                            wallpaperColorsRepository.setLockWallpaperColors(colors)
                         },
                         wallpaperInteractor = injector.getWallpaperInteractor(requireContext()),
                         screen = CustomizationSections.Screen.LOCK_SCREEN,
@@ -165,27 +165,27 @@
                     wallpaperInfoProvider = { forceReload ->
                         suspendCancellableCoroutine { continuation ->
                             wallpaperInfoFactory.createCurrentWallpaperInfos(
-                                { homeWallpaper, lockWallpaper, _ ->
-                                    lifecycleScope.launch {
-                                        if (
-                                            wcViewModel.homeWallpaperColors.value
-                                                is WallpaperColorsModel.Loading
-                                        ) {
-                                            loadInitialColors(
-                                                wallpaperManager,
-                                                wcViewModel,
-                                                CustomizationSections.Screen.HOME_SCREEN
-                                            )
-                                        }
-                                    }
-                                    continuation.resume(homeWallpaper ?: lockWallpaper, null)
-                                },
+                                context,
                                 forceReload,
-                            )
+                            ) { homeWallpaper, lockWallpaper, _ ->
+                                lifecycleScope.launch {
+                                    if (
+                                        wallpaperColorsRepository.homeWallpaperColors.value
+                                            is WallpaperColorsModel.Loading
+                                    ) {
+                                        loadInitialColors(
+                                            wallpaperManager,
+                                            wallpaperColorsRepository,
+                                            CustomizationSections.Screen.HOME_SCREEN
+                                        )
+                                    }
+                                }
+                                continuation.resume(homeWallpaper ?: lockWallpaper, null)
+                            }
                         }
                     },
                     onWallpaperColorChanged = { colors ->
-                        wcViewModel.setHomeWallpaperColors(colors)
+                        wallpaperColorsRepository.setHomeWallpaperColors(colors)
                     },
                     wallpaperInteractor = injector.getWallpaperInteractor(requireContext()),
                     screen = CustomizationSections.Screen.HOME_SCREEN,
@@ -202,7 +202,8 @@
             DarkModeSectionController(
                     context,
                     lifecycle,
-                    injector.getDarkModeSnapshotRestorer(requireContext())
+                    injector.getDarkModeSnapshotRestorer(requireContext()),
+                    injector.getUserEventLogger(requireContext()),
                 )
                 .createView(requireContext())
         darkModeSectionView.background = null
@@ -218,7 +219,7 @@
 
     private suspend fun loadInitialColors(
         wallpaperManager: WallpaperManager,
-        colorViewModel: WallpaperColorsViewModel,
+        colorViewModel: WallpaperColorsRepository,
         screen: CustomizationSections.Screen,
     ) {
         withContext(Dispatchers.IO) {
diff --git a/src/com/android/customization/picker/color/ui/section/ColorSectionController2.kt b/src/com/android/customization/picker/color/ui/section/ColorSectionController.kt
similarity index 89%
rename from src/com/android/customization/picker/color/ui/section/ColorSectionController2.kt
rename to src/com/android/customization/picker/color/ui/section/ColorSectionController.kt
index f1c982b..a36fd80 100644
--- a/src/com/android/customization/picker/color/ui/section/ColorSectionController2.kt
+++ b/src/com/android/customization/picker/color/ui/section/ColorSectionController.kt
@@ -22,37 +22,37 @@
 import androidx.lifecycle.LifecycleOwner
 import com.android.customization.picker.color.ui.binder.ColorSectionViewBinder
 import com.android.customization.picker.color.ui.fragment.ColorPickerFragment
-import com.android.customization.picker.color.ui.view.ColorSectionView2
+import com.android.customization.picker.color.ui.view.ColorSectionView
 import com.android.customization.picker.color.ui.viewmodel.ColorPickerViewModel
 import com.android.wallpaper.R
 import com.android.wallpaper.model.CustomizationSectionController
 import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController as NavigationController
 
-class ColorSectionController2(
+class ColorSectionController(
     private val navigationController: NavigationController,
     private val viewModel: ColorPickerViewModel,
     private val lifecycleOwner: LifecycleOwner
-) : CustomizationSectionController<ColorSectionView2> {
+) : CustomizationSectionController<ColorSectionView> {
 
     override fun isAvailable(context: Context): Boolean {
         return true
     }
 
-    override fun createView(context: Context): ColorSectionView2 {
+    override fun createView(context: Context): ColorSectionView {
         return createView(context, CustomizationSectionController.ViewCreationParams())
     }
 
     override fun createView(
         context: Context,
         params: CustomizationSectionController.ViewCreationParams
-    ): ColorSectionView2 {
+    ): ColorSectionView {
         @SuppressWarnings("It is fine to inflate with null parent for our need.")
         val view =
             LayoutInflater.from(context)
                 .inflate(
-                    R.layout.color_section_view2,
+                    R.layout.color_section_view,
                     null,
-                ) as ColorSectionView2
+                ) as ColorSectionView
         ColorSectionViewBinder.bind(
             view = view,
             viewModel = viewModel,
diff --git a/src/com/android/customization/picker/color/ui/view/ColorSectionView2.kt b/src/com/android/customization/picker/color/ui/view/ColorSectionView.kt
similarity index 90%
rename from src/com/android/customization/picker/color/ui/view/ColorSectionView2.kt
rename to src/com/android/customization/picker/color/ui/view/ColorSectionView.kt
index 7a8f21a..a89292d 100644
--- a/src/com/android/customization/picker/color/ui/view/ColorSectionView2.kt
+++ b/src/com/android/customization/picker/color/ui/view/ColorSectionView.kt
@@ -23,4 +23,4 @@
  * The class inherits from {@link SectionView} as the view representing the color section of the
  * customization picker. It displays a list of color options and an overflow option.
  */
-class ColorSectionView2(context: Context, attrs: AttributeSet?) : SectionView(context, attrs)
+class ColorSectionView(context: Context, attrs: AttributeSet?) : SectionView(context, attrs)
diff --git a/src/com/android/customization/picker/color/ui/viewmodel/ColorPickerViewModel.kt b/src/com/android/customization/picker/color/ui/viewmodel/ColorPickerViewModel.kt
index 67c6838..ed83136 100644
--- a/src/com/android/customization/picker/color/ui/viewmodel/ColorPickerViewModel.kt
+++ b/src/com/android/customization/picker/color/ui/viewmodel/ColorPickerViewModel.kt
@@ -21,6 +21,7 @@
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.viewModelScope
 import com.android.customization.model.color.ColorOptionImpl
+import com.android.customization.module.logging.ThemesUserEventLogger
 import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor
 import com.android.customization.picker.color.shared.model.ColorType
 import com.android.wallpaper.R
@@ -43,6 +44,7 @@
 private constructor(
     context: Context,
     private val interactor: ColorPickerInteractor,
+    private val logger: ThemesUserEventLogger,
 ) : ViewModel() {
 
     private val selectedColorTypeTabId = MutableStateFlow<ColorType?>(null)
@@ -142,6 +144,14 @@
                                                 {
                                                     viewModelScope.launch {
                                                         interactor.select(colorOptionModel)
+                                                        logger.logThemeColorApplied(
+                                                            colorOptionModel.colorOption
+                                                                .sourceForLogging,
+                                                            colorOptionModel.colorOption
+                                                                .styleForLogging,
+                                                            colorOptionModel.colorOption
+                                                                .seedColorForLogging,
+                                                        )
                                                     }
                                                 }
                                             }
@@ -205,12 +215,14 @@
     class Factory(
         private val context: Context,
         private val interactor: ColorPickerInteractor,
+        private val logger: ThemesUserEventLogger,
     ) : ViewModelProvider.Factory {
         override fun <T : ViewModel> create(modelClass: Class<T>): T {
             @Suppress("UNCHECKED_CAST")
             return ColorPickerViewModel(
                 context = context,
                 interactor = interactor,
+                logger = logger,
             )
                 as T
         }
diff --git a/src/com/android/customization/picker/grid/GridFragment.java b/src/com/android/customization/picker/grid/GridFragment.java
deleted file mode 100644
index 4de1dab..0000000
--- a/src/com/android/customization/picker/grid/GridFragment.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.grid;
-
-import static com.android.wallpaper.widget.BottomActionBar.BottomAction.APPLY_TEXT;
-
-import android.content.Context;
-import android.graphics.Point;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.SurfaceView;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityManager;
-import android.widget.Toast;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.constraintlayout.widget.ConstraintLayout;
-import androidx.constraintlayout.widget.ConstraintSet;
-import androidx.core.widget.ContentLoadingProgressBar;
-import androidx.lifecycle.ViewModelProvider;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.android.customization.model.CustomizationManager.Callback;
-import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
-import com.android.customization.model.CustomizationOption;
-import com.android.customization.model.grid.GridOption;
-import com.android.customization.model.grid.GridOptionViewModel;
-import com.android.customization.model.grid.GridOptionsManager;
-import com.android.customization.module.ThemesUserEventLogger;
-import com.android.customization.picker.WallpaperPreviewer;
-import com.android.customization.widget.OptionSelectorController;
-import com.android.customization.widget.OptionSelectorController.CheckmarkStyle;
-import com.android.wallpaper.R;
-import com.android.wallpaper.model.WallpaperInfo;
-import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
-import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.AppbarFragment;
-import com.android.wallpaper.util.LaunchUtils;
-import com.android.wallpaper.util.ScreenSizeCalculator;
-import com.android.wallpaper.widget.BottomActionBar;
-
-import com.bumptech.glide.Glide;
-
-import java.util.List;
-import java.util.Locale;
-
-/**
- * Fragment that contains the UI for selecting and applying a GridOption.
- */
-public class GridFragment extends AppbarFragment {
-
-    private static final String TAG = "GridFragment";
-
-    private WallpaperInfo mHomeWallpaper;
-    private RecyclerView mOptionsContainer;
-    private OptionSelectorController<GridOption> mOptionsController;
-    private GridOptionsManager mGridManager;
-    private ContentLoadingProgressBar mLoading;
-    private ConstraintLayout mContent;
-    private View mError;
-    private BottomActionBar mBottomActionBar;
-    private ThemesUserEventLogger mEventLogger;
-    private GridOptionPreviewer mGridOptionPreviewer;
-    private GridOptionViewModel mGridOptionViewModel;
-
-    private final Callback mApplyGridCallback = new Callback() {
-        @Override
-        public void onSuccess() {
-            mGridManager.fetchOptions(unused -> {}, true);
-            Toast.makeText(getContext(), R.string.applied_grid_msg, Toast.LENGTH_SHORT).show();
-            getActivity().overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
-            getActivity().finish();
-
-            // Go back to launcher home
-            LaunchUtils.launchHome(getContext());
-        }
-
-        @Override
-        public void onError(@Nullable Throwable throwable) {
-            // Since we disabled it when clicked apply button.
-            mBottomActionBar.enableActions();
-            mBottomActionBar.hide();
-            mGridOptionViewModel.setBottomActionBarVisible(false);
-            //TODO(chihhangchuang): handle
-        }
-    };
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mGridOptionViewModel = new ViewModelProvider(requireActivity()).get(
-                GridOptionViewModel.class);
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-        View view = inflater.inflate(
-                R.layout.fragment_grid_picker, container, /* attachToRoot */ false);
-        setUpToolbar(view);
-        mContent = view.findViewById(R.id.content_section);
-        mOptionsContainer = view.findViewById(R.id.options_container);
-        AccessibilityManager accessibilityManager =
-                (AccessibilityManager) getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
-        if (accessibilityManager.isEnabled()) {
-            // Make Talkback focus won't reset when notifyDataSetChange
-            mOptionsContainer.setItemAnimator(null);
-        }
-
-        // Set aspect ratio on the preview card dynamically.
-        Point mScreenSize;
-        ScreenSizeCalculator screenSizeCalculator = ScreenSizeCalculator.getInstance();
-        mScreenSize = screenSizeCalculator.getScreenSize(
-                requireActivity().getWindowManager().getDefaultDisplay());
-        ConstraintSet set = new ConstraintSet();
-        set.clone(mContent);
-        String ratio = String.format(Locale.US, "%d:%d", mScreenSize.x, mScreenSize.y);
-        set.setDimensionRatio(R.id.preview_card_container, ratio);
-        set.applyTo(mContent);
-
-        mLoading = view.findViewById(R.id.loading_indicator);
-        mError = view.findViewById(R.id.error_section);
-
-        // For nav bar edge-to-edge effect.
-        view.setOnApplyWindowInsetsListener((v, windowInsets) -> {
-            v.setPadding(
-                    v.getPaddingLeft(),
-                    windowInsets.getSystemWindowInsetTop(),
-                    v.getPaddingRight(),
-                    windowInsets.getSystemWindowInsetBottom());
-            return windowInsets.consumeSystemWindowInsets();
-        });
-
-        // Clear memory cache whenever grid fragment view is being loaded.
-        Glide.get(getContext()).clearMemory();
-
-        mGridManager = GridOptionsManager.getInstance(getContext());
-        mEventLogger = (ThemesUserEventLogger) InjectorProvider.getInjector()
-                .getUserEventLogger(getContext());
-        setUpOptions();
-
-        SurfaceView wallpaperSurface = view.findViewById(R.id.wallpaper_preview_surface);
-        WallpaperPreviewer wallpaperPreviewer = new WallpaperPreviewer(getLifecycle(),
-                getActivity(), view.findViewById(R.id.wallpaper_preview_image), wallpaperSurface,
-                view.findViewById(R.id.grid_fadein_scrim));
-        // Loads current Wallpaper.
-        CurrentWallpaperInfoFactory factory = InjectorProvider.getInjector()
-                .getCurrentWallpaperInfoFactory(getContext().getApplicationContext());
-        factory.createCurrentWallpaperInfos((homeWallpaper, lockWallpaper, presentationMode) -> {
-            mHomeWallpaper = homeWallpaper;
-            wallpaperPreviewer.setWallpaper(mHomeWallpaper, /* listener= */ null);
-        }, false);
-
-        mGridOptionPreviewer = new GridOptionPreviewer(mGridManager,
-                view.findViewById(R.id.grid_preview_container));
-
-        return view;
-    }
-
-    @Override
-    public boolean onBackPressed() {
-        mGridOptionViewModel.setSelectedOption(null);
-        mGridOptionViewModel.setBottomActionBarVisible(false);
-        return super.onBackPressed();
-    }
-
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-        if (mGridOptionPreviewer != null) {
-            mGridOptionPreviewer.release();
-        }
-    }
-
-    @Override
-    public CharSequence getDefaultTitle() {
-        return getString(R.string.grid_title);
-    }
-
-    @Override
-    protected void onBottomActionBarReady(BottomActionBar bottomActionBar) {
-        super.onBottomActionBarReady(bottomActionBar);
-        mBottomActionBar = bottomActionBar;
-        mBottomActionBar.showActionsOnly(APPLY_TEXT);
-        mBottomActionBar.setActionClickListener(APPLY_TEXT,
-                v -> applyGridOption(mGridOptionViewModel.getSelectedOption()));
-        mBottomActionBar.setActionAccessibilityTraversalAfter(APPLY_TEXT,
-                mOptionsContainer.getId());
-    }
-
-    private void applyGridOption(GridOption gridOption) {
-        mBottomActionBar.disableActions();
-        mGridManager.apply(gridOption, mApplyGridCallback);
-    }
-
-    private void setUpOptions() {
-        hideError();
-        mLoading.show();
-        mGridManager.fetchOptions(new OptionsFetchedListener<GridOption>() {
-            @Override
-            public void onOptionsLoaded(List<GridOption> options) {
-                mLoading.hide();
-                mOptionsController = new OptionSelectorController<>(
-                        mOptionsContainer, options, /* useGrid= */ false,
-                        CheckmarkStyle.CENTER_CHANGE_COLOR_WHEN_NOT_SELECTED);
-                mOptionsController.initOptions(mGridManager);
-                GridOption previouslySelectedOption = findEquivalent(options,
-                        mGridOptionViewModel.getSelectedOption());
-                mGridOptionViewModel.setSelectedOption(
-                        previouslySelectedOption != null
-                                ? previouslySelectedOption
-                                : getActiveOption(options));
-
-                mOptionsController.setSelectedOption(mGridOptionViewModel.getSelectedOption());
-                onOptionSelected(mGridOptionViewModel.getSelectedOption());
-                restoreBottomActionBarVisibility();
-
-                mOptionsController.addListener(selectedOption -> {
-                    String title = selectedOption.getTitle();
-                    int stringId = R.string.option_previewed_description;
-                    if (selectedOption.isActive(mGridManager)) {
-                        stringId = R.string.option_applied_previewed_description;
-                    }
-                    CharSequence cd = getContext().getString(stringId, title);
-                    mOptionsContainer.announceForAccessibility(cd);
-                    onOptionSelected(selectedOption);
-                    mBottomActionBar.show();
-                    mGridOptionViewModel.setBottomActionBarVisible(true);
-                });
-            }
-
-            @Override
-            public void onError(@Nullable Throwable throwable) {
-                if (throwable != null) {
-                    Log.e(TAG, "Error loading grid options", throwable);
-                }
-                showError();
-            }
-        }, /*reload= */ true);
-    }
-
-    private GridOption getActiveOption(List<GridOption> options) {
-        return options.stream()
-                .filter(option -> option.isActive(mGridManager))
-                .findAny()
-                // For development only, as there should always be a grid set.
-                .orElse(options.get(0));
-    }
-
-    @Nullable
-    private GridOption findEquivalent(List<GridOption> options, GridOption target) {
-        return options.stream()
-                .filter(option -> option.equals(target))
-                .findAny()
-                .orElse(null);
-    }
-
-    private void hideError() {
-        mContent.setVisibility(View.VISIBLE);
-        mError.setVisibility(View.GONE);
-    }
-
-    private void showError() {
-        mLoading.hide();
-        mContent.setVisibility(View.GONE);
-        mError.setVisibility(View.VISIBLE);
-    }
-
-    private void onOptionSelected(CustomizationOption selectedOption) {
-        mGridOptionViewModel.setSelectedOption((GridOption) selectedOption);
-        mEventLogger.logGridSelected(mGridOptionViewModel.getSelectedOption());
-        mGridOptionPreviewer.setGridOption(mGridOptionViewModel.getSelectedOption());
-    }
-
-    private void restoreBottomActionBarVisibility() {
-        if (mGridOptionViewModel.getBottomActionBarVisible()) {
-            mBottomActionBar.show();
-        } else {
-            mBottomActionBar.hide();
-        }
-    }
-}
diff --git a/src/com/android/customization/picker/grid/GridOptionPreviewer.java b/src/com/android/customization/picker/grid/GridOptionPreviewer.java
deleted file mode 100644
index 7786d35..0000000
--- a/src/com/android/customization/picker/grid/GridOptionPreviewer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.grid;
-
-import android.content.Context;
-import android.view.SurfaceHolder;
-import android.view.SurfaceView;
-import android.view.ViewGroup;
-
-import com.android.customization.model.grid.GridOption;
-import com.android.customization.model.grid.GridOptionsManager;
-import com.android.wallpaper.R;
-import com.android.wallpaper.picker.WorkspaceSurfaceHolderCallback;
-import com.android.wallpaper.util.PreviewUtils;
-import com.android.wallpaper.util.SurfaceViewUtils;
-
-/** A class to load the {@link GridOption} preview to the view. */
-class GridOptionPreviewer {
-
-    private final GridOptionsManager mGridManager;
-    private final ViewGroup mPreviewContainer;
-
-    private SurfaceView mGridOptionSurface;
-    private GridOption mGridOption;
-    private GridOptionSurfaceHolderCallback mSurfaceCallback;
-
-    GridOptionPreviewer(GridOptionsManager gridManager, ViewGroup previewContainer) {
-        mGridManager = gridManager;
-        mPreviewContainer = previewContainer;
-    }
-
-    /** Loads the Grid option into the container view. */
-    public void setGridOption(GridOption gridOption) {
-        mGridOption = gridOption;
-        if (mGridOption != null) {
-            updateWorkspacePreview();
-        }
-    }
-
-    /** Releases the view resource. */
-    public void release() {
-        if (mGridOptionSurface != null) {
-            mSurfaceCallback.cleanUp();
-            mGridOptionSurface = null;
-        }
-        mPreviewContainer.removeAllViews();
-    }
-
-    private void updateWorkspacePreview() {
-        // Reattach SurfaceView to trigger #surfaceCreated to update preview for different option.
-        mPreviewContainer.removeAllViews();
-        if (mSurfaceCallback != null) {
-            mSurfaceCallback.cleanUp();
-            mSurfaceCallback.resetLastSurface();
-            if (mGridOptionSurface != null) {
-                mGridOptionSurface.getHolder().removeCallback(mSurfaceCallback);
-            }
-        }
-        mGridOptionSurface = new SurfaceView(mPreviewContainer.getContext());
-        mGridOptionSurface.setLayoutParams(new ViewGroup.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
-        mGridOptionSurface.setZOrderMediaOverlay(true);
-        mSurfaceCallback = new GridOptionSurfaceHolderCallback(mGridOptionSurface,
-                mGridOptionSurface.getContext());
-        mGridOptionSurface.getHolder().addCallback(mSurfaceCallback);
-        mPreviewContainer.addView(mGridOptionSurface);
-    }
-
-    private class GridOptionSurfaceHolderCallback extends WorkspaceSurfaceHolderCallback {
-        private GridOptionSurfaceHolderCallback(SurfaceView workspaceSurface, Context context) {
-            super(
-                    workspaceSurface,
-                    new PreviewUtils(
-                            context, context.getString(R.string.grid_control_metadata_name)));
-        }
-
-        @Override
-        public void surfaceCreated(SurfaceHolder holder) {
-            if (mGridOption != null) {
-                super.surfaceCreated(holder);
-            }
-        }
-
-        @Override
-        protected void requestPreview(SurfaceView workspaceSurface,
-                PreviewUtils.WorkspacePreviewCallback callback) {
-            mGridManager.renderPreview(
-                    SurfaceViewUtils.createSurfaceViewRequest(workspaceSurface),
-                    mGridOption.name, callback);
-        }
-    }
-}
diff --git a/src/com/android/customization/model/grid/data/repository/GridRepository.kt b/src/com/android/customization/picker/grid/data/repository/GridRepository.kt
similarity index 96%
rename from src/com/android/customization/model/grid/data/repository/GridRepository.kt
rename to src/com/android/customization/picker/grid/data/repository/GridRepository.kt
index 4379dad..f384429 100644
--- a/src/com/android/customization/model/grid/data/repository/GridRepository.kt
+++ b/src/com/android/customization/picker/grid/data/repository/GridRepository.kt
@@ -15,15 +15,15 @@
  *
  */
 
-package com.android.customization.model.grid.data.repository
+package com.android.customization.picker.grid.data.repository
 
 import androidx.lifecycle.asFlow
 import com.android.customization.model.CustomizationManager
 import com.android.customization.model.CustomizationManager.Callback
 import com.android.customization.model.grid.GridOption
 import com.android.customization.model.grid.GridOptionsManager
-import com.android.customization.model.grid.shared.model.GridOptionItemModel
-import com.android.customization.model.grid.shared.model.GridOptionItemsModel
+import com.android.customization.picker.grid.shared.model.GridOptionItemModel
+import com.android.customization.picker.grid.shared.model.GridOptionItemsModel
 import kotlin.coroutines.resume
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.CoroutineScope
diff --git a/src/com/android/customization/model/grid/domain/interactor/GridInteractor.kt b/src/com/android/customization/picker/grid/domain/interactor/GridInteractor.kt
similarity index 93%
rename from src/com/android/customization/model/grid/domain/interactor/GridInteractor.kt
rename to src/com/android/customization/picker/grid/domain/interactor/GridInteractor.kt
index 7abd605..02e16dd 100644
--- a/src/com/android/customization/model/grid/domain/interactor/GridInteractor.kt
+++ b/src/com/android/customization/picker/grid/domain/interactor/GridInteractor.kt
@@ -15,13 +15,13 @@
  *
  */
 
-package com.android.customization.model.grid.domain.interactor
+package com.android.customization.picker.grid.domain.interactor
 
 import com.android.customization.model.CustomizationManager
 import com.android.customization.model.grid.GridOption
-import com.android.customization.model.grid.data.repository.GridRepository
-import com.android.customization.model.grid.shared.model.GridOptionItemModel
-import com.android.customization.model.grid.shared.model.GridOptionItemsModel
+import com.android.customization.picker.grid.data.repository.GridRepository
+import com.android.customization.picker.grid.shared.model.GridOptionItemModel
+import com.android.customization.picker.grid.shared.model.GridOptionItemsModel
 import javax.inject.Provider
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.flow.Flow
diff --git a/src/com/android/customization/model/grid/domain/interactor/GridSnapshotRestorer.kt b/src/com/android/customization/picker/grid/domain/interactor/GridSnapshotRestorer.kt
similarity index 94%
rename from src/com/android/customization/model/grid/domain/interactor/GridSnapshotRestorer.kt
rename to src/com/android/customization/picker/grid/domain/interactor/GridSnapshotRestorer.kt
index 19d4c77..74d77f7 100644
--- a/src/com/android/customization/model/grid/domain/interactor/GridSnapshotRestorer.kt
+++ b/src/com/android/customization/picker/grid/domain/interactor/GridSnapshotRestorer.kt
@@ -15,10 +15,10 @@
  *
  */
 
-package com.android.customization.model.grid.domain.interactor
+package com.android.customization.picker.grid.domain.interactor
 
 import android.util.Log
-import com.android.customization.model.grid.shared.model.GridOptionItemModel
+import com.android.customization.picker.grid.shared.model.GridOptionItemModel
 import com.android.wallpaper.picker.undo.domain.interactor.SnapshotRestorer
 import com.android.wallpaper.picker.undo.domain.interactor.SnapshotStore
 import com.android.wallpaper.picker.undo.shared.model.RestorableSnapshot
diff --git a/src/com/android/customization/model/grid/shared/model/GridOptionItemModel.kt b/src/com/android/customization/picker/grid/shared/model/GridOptionItemModel.kt
similarity index 93%
rename from src/com/android/customization/model/grid/shared/model/GridOptionItemModel.kt
rename to src/com/android/customization/picker/grid/shared/model/GridOptionItemModel.kt
index 2eabeab..1fb01be 100644
--- a/src/com/android/customization/model/grid/shared/model/GridOptionItemModel.kt
+++ b/src/com/android/customization/picker/grid/shared/model/GridOptionItemModel.kt
@@ -15,7 +15,7 @@
  *
  */
 
-package com.android.customization.model.grid.shared.model
+package com.android.customization.picker.grid.shared.model
 
 import kotlinx.coroutines.flow.StateFlow
 
diff --git a/src/com/android/customization/model/grid/shared/model/GridOptionItemsModel.kt b/src/com/android/customization/picker/grid/shared/model/GridOptionItemsModel.kt
similarity index 93%
rename from src/com/android/customization/model/grid/shared/model/GridOptionItemsModel.kt
rename to src/com/android/customization/picker/grid/shared/model/GridOptionItemsModel.kt
index e969be8..e5b33c5 100644
--- a/src/com/android/customization/model/grid/shared/model/GridOptionItemsModel.kt
+++ b/src/com/android/customization/picker/grid/shared/model/GridOptionItemsModel.kt
@@ -15,7 +15,7 @@
  *
  */
 
-package com.android.customization.model.grid.shared.model
+package com.android.customization.picker.grid.shared.model
 
 sealed class GridOptionItemsModel {
     data class Loaded(
diff --git a/src/com/android/customization/model/grid/ui/binder/GridIconViewBinder.kt b/src/com/android/customization/picker/grid/ui/binder/GridIconViewBinder.kt
similarity index 73%
rename from src/com/android/customization/model/grid/ui/binder/GridIconViewBinder.kt
rename to src/com/android/customization/picker/grid/ui/binder/GridIconViewBinder.kt
index fba89a7..9fc88a0 100644
--- a/src/com/android/customization/model/grid/ui/binder/GridIconViewBinder.kt
+++ b/src/com/android/customization/picker/grid/ui/binder/GridIconViewBinder.kt
@@ -1,7 +1,7 @@
-package com.android.customization.model.grid.ui.binder
+package com.android.customization.picker.grid.ui.binder
 
 import android.widget.ImageView
-import com.android.customization.model.grid.ui.viewmodel.GridIconViewModel
+import com.android.customization.picker.grid.ui.viewmodel.GridIconViewModel
 import com.android.customization.widget.GridTileDrawable
 
 object GridIconViewBinder {
diff --git a/src/com/android/customization/model/grid/ui/binder/GridScreenBinder.kt b/src/com/android/customization/picker/grid/ui/binder/GridScreenBinder.kt
similarity index 92%
rename from src/com/android/customization/model/grid/ui/binder/GridScreenBinder.kt
rename to src/com/android/customization/picker/grid/ui/binder/GridScreenBinder.kt
index 56fe425..bcb3737 100644
--- a/src/com/android/customization/model/grid/ui/binder/GridScreenBinder.kt
+++ b/src/com/android/customization/picker/grid/ui/binder/GridScreenBinder.kt
@@ -15,7 +15,7 @@
  *
  */
 
-package com.android.customization.model.grid.ui.binder
+package com.android.customization.picker.grid.ui.binder
 
 import android.view.View
 import android.widget.Button
@@ -26,9 +26,9 @@
 import androidx.lifecycle.repeatOnLifecycle
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
-import com.android.customization.model.grid.ui.viewmodel.GridIconViewModel
-import com.android.customization.model.grid.ui.viewmodel.GridScreenViewModel
 import com.android.customization.picker.common.ui.view.ItemSpacing
+import com.android.customization.picker.grid.ui.viewmodel.GridIconViewModel
+import com.android.customization.picker.grid.ui.viewmodel.GridScreenViewModel
 import com.android.wallpaper.R
 import com.android.wallpaper.picker.option.ui.adapter.OptionItemAdapter
 import com.android.wallpaper.picker.option.ui.binder.OptionItemBinder
@@ -55,7 +55,7 @@
         optionView.addItemDecoration(ItemSpacing(ItemSpacing.ITEM_SPACING_DP))
         val adapter =
             OptionItemAdapter(
-                layoutResourceId = R.layout.grid_option_2,
+                layoutResourceId = R.layout.grid_option,
                 lifecycleOwner = lifecycleOwner,
                 backgroundDispatcher = backgroundDispatcher,
                 foregroundTintSpec =
diff --git a/src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt b/src/com/android/customization/picker/grid/ui/fragment/GridFragment.kt
similarity index 92%
rename from src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt
rename to src/com/android/customization/picker/grid/ui/fragment/GridFragment.kt
index 9e99efe..2a301b4 100644
--- a/src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt
+++ b/src/com/android/customization/picker/grid/ui/fragment/GridFragment.kt
@@ -15,7 +15,7 @@
  *
  */
 
-package com.android.customization.model.grid.ui.fragment
+package com.android.customization.picker.grid.ui.fragment
 
 import android.os.Bundle
 import android.util.Log
@@ -30,10 +30,10 @@
 import androidx.transition.Transition
 import androidx.transition.doOnStart
 import com.android.customization.model.CustomizationManager.Callback
-import com.android.customization.model.grid.domain.interactor.GridInteractor
-import com.android.customization.model.grid.ui.binder.GridScreenBinder
-import com.android.customization.model.grid.ui.viewmodel.GridScreenViewModel
 import com.android.customization.module.ThemePickerInjector
+import com.android.customization.picker.grid.domain.interactor.GridInteractor
+import com.android.customization.picker.grid.ui.binder.GridScreenBinder
+import com.android.customization.picker.grid.ui.viewmodel.GridScreenViewModel
 import com.android.wallpaper.R
 import com.android.wallpaper.config.BaseFlags
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory
@@ -48,10 +48,10 @@
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.suspendCancellableCoroutine
 
-private val TAG = GridFragment2::class.java.simpleName
+private val TAG = GridFragment::class.java.simpleName
 
 @OptIn(ExperimentalCoroutinesApi::class)
-class GridFragment2 : AppbarFragment() {
+class GridFragment : AppbarFragment() {
 
     private lateinit var gridInteractor: GridInteractor
 
@@ -185,11 +185,11 @@
                     wallpaperInfoProvider = {
                         suspendCancellableCoroutine { continuation ->
                             wallpaperInfoFactory.createCurrentWallpaperInfos(
-                                { homeWallpaper, lockWallpaper, _ ->
-                                    continuation.resume(homeWallpaper ?: lockWallpaper, null)
-                                },
+                                context,
                                 /* forceRefresh= */ true,
-                            )
+                            ) { homeWallpaper, lockWallpaper, _ ->
+                                continuation.resume(homeWallpaper ?: lockWallpaper, null)
+                            }
                         }
                     },
                     wallpaperInteractor = wallpaperInteractor,
diff --git a/src/com/android/customization/model/grid/GridSectionController.java b/src/com/android/customization/picker/grid/ui/section/GridSectionController.java
similarity index 83%
rename from src/com/android/customization/model/grid/GridSectionController.java
rename to src/com/android/customization/picker/grid/ui/section/GridSectionController.java
index c50bfcc..6ae9acd 100644
--- a/src/com/android/customization/model/grid/GridSectionController.java
+++ b/src/com/android/customization/picker/grid/ui/section/GridSectionController.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.customization.model.grid;
+package com.android.customization.picker.grid.ui.section;
 
 import android.content.Context;
 import android.util.Log;
@@ -27,9 +27,10 @@
 import androidx.lifecycle.Observer;
 
 import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
-import com.android.customization.model.grid.ui.fragment.GridFragment2;
-import com.android.customization.picker.grid.GridFragment;
-import com.android.customization.picker.grid.GridSectionView;
+import com.android.customization.model.grid.GridOption;
+import com.android.customization.model.grid.GridOptionsManager;
+import com.android.customization.picker.grid.ui.fragment.GridFragment;
+import com.android.customization.picker.grid.ui.view.GridSectionView;
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.CustomizationSectionController;
 
@@ -42,7 +43,6 @@
 
     private final GridOptionsManager mGridOptionsManager;
     private final CustomizationSectionNavigationController mSectionNavigationController;
-    private final boolean mIsRevampedUiEnabled;
     private final Observer<Object> mOptionChangeObserver;
     private final LifecycleOwner mLifecycleOwner;
     private TextView mSectionDescription;
@@ -55,7 +55,6 @@
             boolean isRevampedUiEnabled) {
         mGridOptionsManager = gridOptionsManager;
         mSectionNavigationController = sectionNavigationController;
-        mIsRevampedUiEnabled = isRevampedUiEnabled;
         mLifecycleOwner = lifecycleOwner;
         mOptionChangeObserver = o -> updateUi(/* reload= */ true);
     }
@@ -74,20 +73,13 @@
 
         // Fetch grid options to show currently set grid.
         updateUi(/* The result is getting when calling isAvailable(), so reload= */ false);
-        if (mIsRevampedUiEnabled) {
-            mGridOptionsManager.getOptionChangeObservable(/* handler= */ null).observe(
-                    mLifecycleOwner,
-                    mOptionChangeObserver);
-        }
+        mGridOptionsManager.getOptionChangeObservable(/* handler= */ null).observe(
+                mLifecycleOwner,
+                mOptionChangeObserver);
 
         gridSectionView.setOnClickListener(
                 v -> {
-                    final Fragment gridFragment;
-                    if (mIsRevampedUiEnabled) {
-                        gridFragment = new GridFragment2();
-                    } else {
-                        gridFragment = new GridFragment();
-                    }
+                    final Fragment gridFragment = new GridFragment();
                     mSectionNavigationController.navigateTo(gridFragment);
                 });
 
@@ -96,7 +88,7 @@
 
     @Override
     public void release() {
-        if (mIsRevampedUiEnabled && mGridOptionsManager.isAvailable()) {
+        if (mGridOptionsManager.isAvailable()) {
             mGridOptionsManager.getOptionChangeObservable(/* handler= */ null).removeObserver(
                     mOptionChangeObserver
             );
diff --git a/src/com/android/customization/picker/grid/GridSectionView.java b/src/com/android/customization/picker/grid/ui/view/GridSectionView.java
similarity index 94%
rename from src/com/android/customization/picker/grid/GridSectionView.java
rename to src/com/android/customization/picker/grid/ui/view/GridSectionView.java
index 58468e1..545ef19 100644
--- a/src/com/android/customization/picker/grid/GridSectionView.java
+++ b/src/com/android/customization/picker/grid/ui/view/GridSectionView.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.customization.picker.grid;
+package com.android.customization.picker.grid.ui.view;
 
 import android.content.Context;
 import android.util.AttributeSet;
diff --git a/src/com/android/customization/model/grid/ui/viewmodel/GridIconViewModel.kt b/src/com/android/customization/picker/grid/ui/viewmodel/GridIconViewModel.kt
similarity index 92%
rename from src/com/android/customization/model/grid/ui/viewmodel/GridIconViewModel.kt
rename to src/com/android/customization/picker/grid/ui/viewmodel/GridIconViewModel.kt
index 3942d7c..d12dc6c 100644
--- a/src/com/android/customization/model/grid/ui/viewmodel/GridIconViewModel.kt
+++ b/src/com/android/customization/picker/grid/ui/viewmodel/GridIconViewModel.kt
@@ -15,7 +15,7 @@
  *
  */
 
-package com.android.customization.model.grid.ui.viewmodel
+package com.android.customization.picker.grid.ui.viewmodel
 
 data class GridIconViewModel(
     val columns: Int,
diff --git a/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModel.kt b/src/com/android/customization/picker/grid/ui/viewmodel/GridScreenViewModel.kt
similarity index 94%
rename from src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModel.kt
rename to src/com/android/customization/picker/grid/ui/viewmodel/GridScreenViewModel.kt
index c11a594..179127d 100644
--- a/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModel.kt
+++ b/src/com/android/customization/picker/grid/ui/viewmodel/GridScreenViewModel.kt
@@ -15,7 +15,7 @@
  *
  */
 
-package com.android.customization.model.grid.ui.viewmodel
+package com.android.customization.picker.grid.ui.viewmodel
 
 import android.annotation.SuppressLint
 import android.content.Context
@@ -24,8 +24,8 @@
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.viewModelScope
 import com.android.customization.model.ResourceConstants
-import com.android.customization.model.grid.domain.interactor.GridInteractor
-import com.android.customization.model.grid.shared.model.GridOptionItemsModel
+import com.android.customization.picker.grid.domain.interactor.GridInteractor
+import com.android.customization.picker.grid.shared.model.GridOptionItemsModel
 import com.android.wallpaper.picker.common.text.ui.viewmodel.Text
 import com.android.wallpaper.picker.option.ui.viewmodel.OptionItemViewModel
 import kotlinx.coroutines.flow.Flow
diff --git a/src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModel.kt b/src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModel.kt
index 954efa2..1a5254f 100644
--- a/src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModel.kt
+++ b/src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModel.kt
@@ -21,6 +21,7 @@
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.viewModelScope
+import com.android.customization.module.logging.ThemesUserEventLogger
 import com.android.customization.picker.notifications.domain.interactor.NotificationsInteractor
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.map
@@ -31,6 +32,7 @@
 @VisibleForTesting
 constructor(
     private val interactor: NotificationsInteractor,
+    private val logger: ThemesUserEventLogger,
 ) : ViewModel() {
 
     /** Whether the switch should be on. */
@@ -39,16 +41,23 @@
 
     /** Notifies that the section has been clicked. */
     fun onClicked() {
-        viewModelScope.launch { interactor.toggleShowNotificationsOnLockScreenEnabled() }
+        viewModelScope.launch {
+            interactor.toggleShowNotificationsOnLockScreenEnabled()
+            logger.logLockScreenNotificationApplied(
+                interactor.getSettings().isShowNotificationsOnLockScreenEnabled
+            )
+        }
     }
 
     class Factory(
         private val interactor: NotificationsInteractor,
+        private val logger: ThemesUserEventLogger,
     ) : ViewModelProvider.Factory {
         @Suppress("UNCHECKED_CAST")
         override fun <T : ViewModel> create(modelClass: Class<T>): T {
             return NotificationSectionViewModel(
                 interactor = interactor,
+                logger = logger,
             )
                 as T
         }
diff --git a/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt b/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
index 71dfe1d..eb25af7 100644
--- a/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
+++ b/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
@@ -42,10 +42,10 @@
 import com.android.wallpaper.R
 import com.android.wallpaper.model.CustomizationSectionController
 import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController
-import com.android.wallpaper.model.WallpaperColorsViewModel
 import com.android.wallpaper.model.WallpaperPreviewNavigator
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory
 import com.android.wallpaper.module.CustomizationSections
+import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository
 import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor
 import com.android.wallpaper.picker.customization.ui.section.ScreenPreviewClickView
 import com.android.wallpaper.picker.customization.ui.section.ScreenPreviewSectionController
@@ -64,7 +64,7 @@
     private val lifecycleOwner: LifecycleOwner,
     private val screen: CustomizationSections.Screen,
     wallpaperInfoFactory: CurrentWallpaperInfoFactory,
-    colorViewModel: WallpaperColorsViewModel,
+    wallpaperColorsRepository: WallpaperColorsRepository,
     displayUtils: DisplayUtils,
     clockCarouselViewModelFactory: ClockCarouselViewModel.Factory,
     private val clockViewFactory: ClockViewFactory,
@@ -82,7 +82,7 @@
         lifecycleOwner,
         screen,
         wallpaperInfoFactory,
-        colorViewModel,
+        wallpaperColorsRepository,
         displayUtils,
         wallpaperPreviewNavigator,
         wallpaperInteractor,
diff --git a/src/com/android/customization/picker/preview/ui/section/PreviewWithThemeSectionController.kt b/src/com/android/customization/picker/preview/ui/section/PreviewWithThemeSectionController.kt
index c4d6be4..b3e778b 100644
--- a/src/com/android/customization/picker/preview/ui/section/PreviewWithThemeSectionController.kt
+++ b/src/com/android/customization/picker/preview/ui/section/PreviewWithThemeSectionController.kt
@@ -25,16 +25,17 @@
 import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor
 import com.android.customization.picker.preview.ui.viewmodel.PreviewWithThemeViewModel
 import com.android.wallpaper.R
-import com.android.wallpaper.model.WallpaperColorsViewModel
 import com.android.wallpaper.model.WallpaperPreviewNavigator
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory
 import com.android.wallpaper.module.CustomizationSections
+import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository
 import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor
 import com.android.wallpaper.picker.customization.ui.section.ScreenPreviewSectionController
 import com.android.wallpaper.picker.customization.ui.viewmodel.CustomizationPickerViewModel
 import com.android.wallpaper.picker.customization.ui.viewmodel.ScreenPreviewViewModel
 import com.android.wallpaper.util.DisplayUtils
 import com.android.wallpaper.util.PreviewUtils
+import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.suspendCancellableCoroutine
 
 /**
@@ -46,7 +47,7 @@
     lifecycleOwner: LifecycleOwner,
     private val screen: CustomizationSections.Screen,
     private val wallpaperInfoFactory: CurrentWallpaperInfoFactory,
-    private val colorViewModel: WallpaperColorsViewModel,
+    private val wallpaperColorsRepository: WallpaperColorsRepository,
     displayUtils: DisplayUtils,
     wallpaperPreviewNavigator: WallpaperPreviewNavigator,
     private val wallpaperInteractor: WallpaperInteractor,
@@ -61,7 +62,7 @@
         lifecycleOwner,
         screen,
         wallpaperInfoFactory,
-        colorViewModel,
+        wallpaperColorsRepository,
         displayUtils,
         wallpaperPreviewNavigator,
         wallpaperInteractor,
@@ -69,6 +70,7 @@
         isTwoPaneAndSmallWidth,
         customizationPickerViewModel,
     ) {
+    @OptIn(ExperimentalCoroutinesApi::class)
     override fun createScreenPreviewViewModel(context: Context): ScreenPreviewViewModel {
         return PreviewWithThemeViewModel(
             previewUtils =
@@ -92,28 +94,28 @@
             wallpaperInfoProvider = { forceReload ->
                 suspendCancellableCoroutine { continuation ->
                     wallpaperInfoFactory.createCurrentWallpaperInfos(
-                        { homeWallpaper, lockWallpaper, _ ->
-                            val wallpaper =
-                                if (isOnLockScreen) {
-                                    lockWallpaper ?: homeWallpaper
-                                } else {
-                                    homeWallpaper ?: lockWallpaper
-                                }
-                            loadInitialColors(
-                                context = context,
-                                screen = screen,
-                            )
-                            continuation.resume(wallpaper, null)
-                        },
+                        context,
                         forceReload,
-                    )
+                    ) { homeWallpaper, lockWallpaper, _ ->
+                        val wallpaper =
+                            if (isOnLockScreen) {
+                                lockWallpaper ?: homeWallpaper
+                            } else {
+                                homeWallpaper ?: lockWallpaper
+                            }
+                        loadInitialColors(
+                            context = context,
+                            screen = screen,
+                        )
+                        continuation.resume(wallpaper, null)
+                    }
                 }
             },
             onWallpaperColorChanged = { colors ->
                 if (isOnLockScreen) {
-                    colorViewModel.setLockWallpaperColors(colors)
+                    wallpaperColorsRepository.setLockWallpaperColors(colors)
                 } else {
-                    colorViewModel.setHomeWallpaperColors(colors)
+                    wallpaperColorsRepository.setHomeWallpaperColors(colors)
                 }
             },
             initialExtrasProvider = { getInitialExtras(isOnLockScreen) },
diff --git a/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt b/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt
index b17af80..6bfe348 100644
--- a/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt
+++ b/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt
@@ -21,11 +21,11 @@
 import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSelectionModel as SelectionModel
 import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSlotModel as SlotModel
 import com.android.systemui.shared.customization.data.content.CustomizationProviderClient as Client
-import com.android.systemui.shared.customization.data.content.CustomizationProviderContract as Contract
-import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.withContext
+import kotlinx.coroutines.flow.shareIn
 
 /**
  * Abstracts access to application state related to functionality for selecting, picking, or setting
@@ -33,39 +33,25 @@
  */
 class KeyguardQuickAffordancePickerRepository(
     private val client: Client,
-    private val backgroundDispatcher: CoroutineDispatcher,
+    private val scope: CoroutineScope
 ) {
-    /** Whether the feature is enabled. */
-    val isFeatureEnabled: Flow<Boolean> =
-        client.observeFlags().map { flags -> flags.isFeatureEnabled() }
-
     /** List of slots available on the device. */
     val slots: Flow<List<SlotModel>> =
         client.observeSlots().map { slots -> slots.map { slot -> slot.toModel() } }
 
     /** List of all available quick affordances. */
     val affordances: Flow<List<AffordanceModel>> =
-        client.observeAffordances().map { affordances ->
-            affordances.map { affordance -> affordance.toModel() }
-        }
+        client
+            .observeAffordances()
+            .map { affordances -> affordances.map { affordance -> affordance.toModel() } }
+            .shareIn(scope, replay = 1, started = SharingStarted.Lazily)
 
     /** List of slot-affordance pairs, modeling what the user has currently chosen for each slot. */
     val selections: Flow<List<SelectionModel>> =
-        client.observeSelections().map { selections ->
-            selections.map { selection -> selection.toModel() }
-        }
-
-    suspend fun isFeatureEnabled(): Boolean {
-        return withContext(backgroundDispatcher) { client.queryFlags().isFeatureEnabled() }
-    }
-
-    private fun List<Client.Flag>.isFeatureEnabled(): Boolean {
-        return find { flag ->
-                flag.name ==
-                    Contract.FlagsTable.FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED
-            }
-            ?.value == true
-    }
+        client
+            .observeSelections()
+            .map { selections -> selections.map { selection -> selection.toModel() } }
+            .shareIn(scope, replay = 1, started = SharingStarted.Lazily)
 
     private fun Client.Slot.toModel(): SlotModel {
         return SlotModel(
diff --git a/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt b/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt
index f154de6..3eca624 100644
--- a/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt
+++ b/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt
@@ -64,7 +64,7 @@
     }
 
     /** Unselects all affordances from the slot with the given ID. */
-    suspend fun unselectAll(slotId: String) {
+    suspend fun unselectAllFromSlot(slotId: String) {
         client.deleteAllSelections(
             slotId = slotId,
         )
@@ -72,15 +72,15 @@
         snapshotRestorer.get().storeSnapshot()
     }
 
+    /** Unselects all affordances from all slots. */
+    suspend fun unselectAll() {
+        client.querySlots().forEach { client.deleteAllSelections(it.id) }
+    }
+
     /** Returns a [Drawable] for the given resource ID, from the system UI package. */
     suspend fun getAffordanceIcon(
         @DrawableRes iconResourceId: Int,
     ): Drawable {
         return client.getAffordanceIcon(iconResourceId)
     }
-
-    /** Returns `true` if the feature is enabled; `false` otherwise. */
-    suspend fun isFeatureEnabled(): Boolean {
-        return repository.isFeatureEnabled()
-    }
 }
diff --git a/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordanceSnapshotRestorer.kt b/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordanceSnapshotRestorer.kt
index 3c7928c..fee0cb5 100644
--- a/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordanceSnapshotRestorer.kt
+++ b/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordanceSnapshotRestorer.kt
@@ -42,9 +42,14 @@
     }
 
     override suspend fun restoreToSnapshot(snapshot: RestorableSnapshot) {
+        // reset all current selections
+        interactor.unselectAll()
+
+        val allSelections = checkNotNull(snapshot.args[KEY_SELECTIONS])
+        if (allSelections.isEmpty()) return
+
         val selections: List<Pair<String, String>> =
-            checkNotNull(snapshot.args[KEY_SELECTIONS]).split(SELECTION_SEPARATOR).map { selection
-                ->
+            allSelections.split(SELECTION_SEPARATOR).map { selection ->
                 val (slotId, affordanceId) = selection.split(SLOT_AFFORDANCE_SEPARATOR)
                 slotId to affordanceId
             }
diff --git a/src/com/android/customization/picker/quickaffordance/ui/adapter/SlotTabAdapter.kt b/src/com/android/customization/picker/quickaffordance/ui/adapter/SlotTabAdapter.kt
index 8891b03..0e3b716 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/adapter/SlotTabAdapter.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/adapter/SlotTabAdapter.kt
@@ -67,7 +67,9 @@
                 .find { it.isSelected.value }
                 ?.text
                 ?.asString(holder.itemView.context)
-        stateDescription?.let { holder.itemView.stateDescription = it }
+        holder.itemView.stateDescription =
+            stateDescription
+                ?: holder.itemView.resources.getString(R.string.keyguard_affordance_none)
     }
 
     class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
diff --git a/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePickerBinder.kt b/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePickerBinder.kt
index 091f484..3ac52ad 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePickerBinder.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePickerBinder.kt
@@ -20,7 +20,11 @@
 import android.app.Dialog
 import android.content.Context
 import android.view.View
+import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import android.widget.ImageView
+import androidx.core.view.AccessibilityDelegateCompat
+import androidx.core.view.ViewCompat
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.lifecycleScope
@@ -62,6 +66,26 @@
         slotTabView.layoutManager =
             LinearLayoutManager(view.context, RecyclerView.HORIZONTAL, false)
         slotTabView.addItemDecoration(ItemSpacing(ItemSpacing.TAB_ITEM_SPACING_DP))
+
+        // Setting a custom accessibility delegate so that the default content descriptions
+        // for items in a list aren't announced (for left & right shortcuts). We populate
+        // the content description for these shortcuts later on with the right (expected)
+        // values.
+        val slotTabViewDelegate: AccessibilityDelegateCompat =
+            object : AccessibilityDelegateCompat() {
+                override fun onRequestSendAccessibilityEvent(
+                    host: ViewGroup,
+                    child: View,
+                    event: AccessibilityEvent
+                ): Boolean {
+                    if (event.eventType != AccessibilityEvent.TYPE_VIEW_FOCUSED) {
+                        child.contentDescription = null
+                    }
+                    return super.onRequestSendAccessibilityEvent(host, child, event)
+                }
+            }
+
+        ViewCompat.setAccessibilityDelegate(slotTabView, slotTabViewDelegate)
         val affordancesAdapter =
             OptionItemAdapter(
                 layoutResourceId = R.layout.keyguard_quick_affordance,
diff --git a/src/com/android/customization/picker/quickaffordance/ui/section/KeyguardQuickAffordanceSectionController.kt b/src/com/android/customization/picker/quickaffordance/ui/section/KeyguardQuickAffordanceSectionController.kt
index e0beeff..0c7b250 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/section/KeyguardQuickAffordanceSectionController.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/section/KeyguardQuickAffordanceSectionController.kt
@@ -20,27 +20,23 @@
 import android.content.Context
 import android.view.LayoutInflater
 import androidx.lifecycle.LifecycleOwner
-import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
 import com.android.customization.picker.quickaffordance.ui.binder.KeyguardQuickAffordanceSectionViewBinder
 import com.android.customization.picker.quickaffordance.ui.fragment.KeyguardQuickAffordancePickerFragment
 import com.android.customization.picker.quickaffordance.ui.view.KeyguardQuickAffordanceSectionView
 import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel
 import com.android.wallpaper.R
+import com.android.wallpaper.config.BaseFlags
 import com.android.wallpaper.model.CustomizationSectionController
 import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController as NavigationController
-import kotlinx.coroutines.runBlocking
 
 class KeyguardQuickAffordanceSectionController(
     private val navigationController: NavigationController,
-    private val interactor: KeyguardQuickAffordancePickerInteractor,
     private val viewModel: KeyguardQuickAffordancePickerViewModel,
     private val lifecycleOwner: LifecycleOwner,
 ) : CustomizationSectionController<KeyguardQuickAffordanceSectionView> {
 
-    private val isFeatureEnabled: Boolean = runBlocking { interactor.isFeatureEnabled() }
-
     override fun isAvailable(context: Context): Boolean {
-        return isFeatureEnabled
+        return BaseFlags.get().isKeyguardQuickAffordanceEnabled(context)
     }
 
     override fun createView(context: Context): KeyguardQuickAffordanceSectionView {
diff --git a/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt b/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
index f832cde..260c0d3 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
@@ -26,6 +26,7 @@
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.viewModelScope
+import com.android.customization.module.logging.ThemesUserEventLogger
 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
 import com.android.systemui.shared.keyguard.shared.model.KeyguardQuickAffordanceSlots
 import com.android.systemui.shared.quickaffordance.shared.model.KeyguardPreviewConstants
@@ -63,6 +64,7 @@
     private val quickAffordanceInteractor: KeyguardQuickAffordancePickerInteractor,
     private val wallpaperInteractor: WallpaperInteractor,
     private val wallpaperInfoFactory: CurrentWallpaperInfoFactory,
+    private val logger: ThemesUserEventLogger,
 ) : ViewModel() {
 
     @SuppressLint("StaticFieldLeak") private val applicationContext = context.applicationContext
@@ -92,11 +94,11 @@
             wallpaperInfoProvider = { forceReload ->
                 suspendCancellableCoroutine { continuation ->
                     wallpaperInfoFactory.createCurrentWallpaperInfos(
-                        { homeWallpaper, lockWallpaper, _ ->
-                            continuation.resume(lockWallpaper ?: homeWallpaper, null)
-                        },
+                        context,
                         forceReload,
-                    )
+                    ) { homeWallpaper, lockWallpaper, _ ->
+                        continuation.resume(lockWallpaper ?: homeWallpaper, null)
+                    }
                 }
             },
             wallpaperInteractor = wallpaperInteractor,
@@ -158,7 +160,8 @@
                                         Icon.Loaded(
                                             drawable =
                                                 getAffordanceIcon(affordanceModel.iconResourceId),
-                                            contentDescription = null,
+                                            contentDescription =
+                                                Text.Loaded(getSlotContentDescription(slot.id)),
                                         ),
                                     text = Text.Loaded(affordanceModel.name),
                                     isSelected = MutableStateFlow(true) as StateFlow<Boolean>,
@@ -214,7 +217,13 @@
                             if (!isSelected) {
                                 {
                                     viewModelScope.launch {
-                                        quickAffordanceInteractor.unselectAll(selectedSlotId)
+                                        quickAffordanceInteractor.unselectAllFromSlot(
+                                            selectedSlotId
+                                        )
+                                        logger.logShortcutApplied(
+                                            shortcut = "none",
+                                            shortcutSlotId = selectedSlotId,
+                                        )
                                     }
                                 }
                             } else {
@@ -250,6 +259,10 @@
                                                     slotId = selectedSlotId,
                                                     affordanceId = affordance.id,
                                                 )
+                                                logger.logShortcutApplied(
+                                                    shortcut = affordance.id,
+                                                    shortcutSlotId = selectedSlotId,
+                                                )
                                             }
                                         }
                                     } else {
@@ -423,6 +436,18 @@
         )
     }
 
+    private fun getSlotContentDescription(slotId: String): String {
+        return applicationContext.getString(
+            when (slotId) {
+                KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START ->
+                    R.string.keyguard_slot_name_bottom_start
+                KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END ->
+                    R.string.keyguard_slot_name_bottom_end
+                else -> error("No accessibility label for slot with ID \"$slotId\"!")
+            }
+        )
+    }
+
     private suspend fun getAffordanceIcon(@DrawableRes iconResourceId: Int): Drawable {
         return quickAffordanceInteractor.getAffordanceIcon(iconResourceId)
     }
@@ -463,6 +488,7 @@
         private val quickAffordanceInteractor: KeyguardQuickAffordancePickerInteractor,
         private val wallpaperInteractor: WallpaperInteractor,
         private val wallpaperInfoFactory: CurrentWallpaperInfoFactory,
+        private val logger: ThemesUserEventLogger,
     ) : ViewModelProvider.Factory {
         override fun <T : ViewModel> create(modelClass: Class<T>): T {
             @Suppress("UNCHECKED_CAST")
@@ -471,6 +497,7 @@
                 quickAffordanceInteractor = quickAffordanceInteractor,
                 wallpaperInteractor = wallpaperInteractor,
                 wallpaperInfoFactory = wallpaperInfoFactory,
+                logger = logger,
             )
                 as T
         }
diff --git a/src/com/android/customization/picker/theme/CustomThemeActivity.java b/src/com/android/customization/picker/theme/CustomThemeActivity.java
deleted file mode 100644
index 62a2f26..0000000
--- a/src/com/android/customization/picker/theme/CustomThemeActivity.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.theme;
-
-import android.app.AlertDialog.Builder;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.View;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import androidx.annotation.Nullable;
-import androidx.annotation.StringRes;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-
-import com.android.customization.model.CustomizationManager.Callback;
-import com.android.customization.model.theme.DefaultThemeProvider;
-import com.android.customization.model.theme.OverlayManagerCompat;
-import com.android.customization.model.theme.ThemeBundle;
-import com.android.customization.model.theme.ThemeBundleProvider;
-import com.android.customization.model.theme.ThemeManager;
-import com.android.customization.model.theme.custom.ColorOptionsProvider;
-import com.android.customization.model.theme.custom.CustomTheme;
-import com.android.customization.model.theme.custom.CustomThemeManager;
-import com.android.customization.model.theme.custom.FontOptionsProvider;
-import com.android.customization.model.theme.custom.IconOptionsProvider;
-import com.android.customization.model.theme.custom.ShapeOptionsProvider;
-import com.android.customization.model.theme.custom.ThemeComponentOption;
-import com.android.customization.model.theme.custom.ThemeComponentOption.ColorOption;
-import com.android.customization.model.theme.custom.ThemeComponentOption.FontOption;
-import com.android.customization.model.theme.custom.ThemeComponentOption.IconOption;
-import com.android.customization.model.theme.custom.ThemeComponentOption.ShapeOption;
-import com.android.customization.model.theme.custom.ThemeComponentOptionProvider;
-import com.android.customization.module.CustomizationInjector;
-import com.android.customization.module.ThemesUserEventLogger;
-import com.android.customization.picker.theme.CustomThemeStepFragment.CustomThemeComponentStepHost;
-import com.android.wallpaper.R;
-import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.AppbarFragment.AppbarFragmentHost;
-
-import org.json.JSONException;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CustomThemeActivity extends FragmentActivity implements
-        AppbarFragmentHost, CustomThemeComponentStepHost {
-    public static final String EXTRA_THEME_ID = "CustomThemeActivity.ThemeId";
-    public static final String EXTRA_THEME_TITLE = "CustomThemeActivity.ThemeTitle";
-    public static final String EXTRA_THEME_PACKAGES = "CustomThemeActivity.ThemePackages";
-    public static final int REQUEST_CODE_CUSTOM_THEME = 1;
-    public static final int RESULT_THEME_DELETED = 10;
-    public static final int RESULT_THEME_APPLIED = 20;
-
-    private static final String TAG = "CustomThemeActivity";
-    private static final String KEY_STATE_CURRENT_STEP = "CustomThemeActivity.currentStep";
-
-    private ThemesUserEventLogger mUserEventLogger;
-    private List<ComponentStep<?>> mSteps;
-    private int mCurrentStep;
-    private CustomThemeManager mCustomThemeManager;
-    private ThemeManager mThemeManager;
-    private TextView mNextButton;
-    private TextView mPreviousButton;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
-        mUserEventLogger = (ThemesUserEventLogger) injector.getUserEventLogger(this);
-        ThemeBundleProvider themeProvider =
-                new DefaultThemeProvider(this, injector.getCustomizationPreferences(this));
-        Intent intent = getIntent();
-        CustomTheme customTheme = null;
-        if (intent != null && intent.hasExtra(EXTRA_THEME_PACKAGES)
-                && intent.hasExtra(EXTRA_THEME_TITLE) && intent.hasExtra(EXTRA_THEME_ID)) {
-            try {
-                CustomTheme.Builder themeBuilder = themeProvider.parseCustomTheme(
-                        intent.getStringExtra(EXTRA_THEME_PACKAGES));
-                if (themeBuilder != null) {
-                    themeBuilder.setId(intent.getStringExtra(EXTRA_THEME_ID));
-                    themeBuilder.setTitle(intent.getStringExtra(EXTRA_THEME_TITLE));
-                    customTheme = themeBuilder.build(this);
-                }
-            } catch (JSONException e) {
-                Log.w(TAG, "Couldn't parse provided custom theme, will override it");
-            }
-        }
-
-        mThemeManager = injector.getThemeManager(
-                new DefaultThemeProvider(this, injector.getCustomizationPreferences(this)),
-                this,
-                new OverlayManagerCompat(this),
-                mUserEventLogger);
-        mThemeManager.fetchOptions(null, false);
-        mCustomThemeManager = CustomThemeManager.create(customTheme, mThemeManager);
-        if (savedInstanceState != null) {
-            mCustomThemeManager.readCustomTheme(themeProvider, savedInstanceState);
-        }
-
-        int currentStep = 0;
-        if (savedInstanceState != null) {
-            currentStep = savedInstanceState.getInt(KEY_STATE_CURRENT_STEP);
-        }
-        initSteps(currentStep);
-
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_custom_theme);
-        mNextButton = findViewById(R.id.next_button);
-        mNextButton.setOnClickListener(view -> onNextOrApply());
-        mPreviousButton = findViewById(R.id.previous_button);
-        mPreviousButton.setOnClickListener(view -> onBackPressed());
-
-        FragmentManager fm = getSupportFragmentManager();
-        Fragment fragment = fm.findFragmentById(R.id.fragment_container);
-        if (fragment == null) {
-            // Navigate to the first step
-            navigateToStep(0);
-        }
-    }
-
-    @Override
-    protected void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putInt(KEY_STATE_CURRENT_STEP, mCurrentStep);
-        if (mCustomThemeManager != null) {
-            mCustomThemeManager.saveCustomTheme(this, outState);
-        }
-    }
-
-    private void navigateToStep(int i) {
-        FragmentManager fragmentManager = getSupportFragmentManager();
-        ComponentStep step = mSteps.get(i);
-        Fragment fragment = step.getFragment(mCustomThemeManager.getOriginalTheme().getTitle());
-
-        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
-        fragmentTransaction.replace(R.id.fragment_container, fragment);
-        // Don't add step 0 to the back stack so that going back from it just finishes the Activity
-        if (i > 0) {
-            fragmentTransaction.addToBackStack("Step " + i);
-        }
-        fragmentTransaction.commit();
-        fragmentManager.executePendingTransactions();
-        updateNavigationButtonLabels();
-    }
-
-    private void initSteps(int currentStep) {
-        mSteps = new ArrayList<>();
-        OverlayManagerCompat manager = new OverlayManagerCompat(this);
-        mSteps.add(new FontStep(new FontOptionsProvider(this, manager), 0));
-        mSteps.add(new IconStep(new IconOptionsProvider(this, manager), 1));
-        mSteps.add(new ColorStep(new ColorOptionsProvider(this, manager, mCustomThemeManager), 2));
-        mSteps.add(new ShapeStep(new ShapeOptionsProvider(this, manager), 3));
-        mSteps.add(new NameStep(4));
-        mCurrentStep = currentStep;
-    }
-
-    private void onNextOrApply() {
-        CustomThemeStepFragment stepFragment = getCurrentStepFragment();
-        if (stepFragment instanceof CustomThemeComponentFragment) {
-            CustomThemeComponentFragment fragment = (CustomThemeComponentFragment) stepFragment;
-            mCustomThemeManager.apply(fragment.getSelectedOption(), new Callback() {
-                @Override
-                public void onSuccess() {
-                    navigateToStep(mCurrentStep + 1);
-                }
-
-                @Override
-                public void onError(@Nullable Throwable throwable) {
-                    Log.w(TAG, "Error applying custom theme component", throwable);
-                    Toast.makeText(CustomThemeActivity.this, R.string.apply_theme_error_msg,
-                            Toast.LENGTH_LONG).show();
-                }
-            });
-        } else if (stepFragment instanceof CustomThemeNameFragment) {
-            CustomThemeNameFragment fragment = (CustomThemeNameFragment) stepFragment;
-            CustomTheme originalTheme = mCustomThemeManager.getOriginalTheme();
-
-            // We're on the last step, apply theme and leave
-            CustomTheme themeToApply = mCustomThemeManager.buildPartialCustomTheme(this,
-                    originalTheme.getId(), fragment.getThemeName());
-
-            // If the current theme is equal to the original theme being edited, then
-            // don't search for an equivalent, let the user apply the same one by keeping
-            // it null.
-            ThemeBundle equivalent = (originalTheme.isEquivalent(themeToApply))
-                    ? null : mThemeManager.findThemeByPackages(themeToApply);
-
-            if (equivalent != null) {
-                Builder builder =
-                        new Builder(CustomThemeActivity.this);
-                builder.setTitle(getString(R.string.use_style_instead_title,
-                        equivalent.getTitle()))
-                        .setMessage(getString(R.string.use_style_instead_body,
-                                equivalent.getTitle()))
-                        .setPositiveButton(getString(R.string.use_style_button,
-                                equivalent.getTitle()),
-                                (dialogInterface, i) -> applyTheme(equivalent))
-                        .setNegativeButton(R.string.no_thanks, null)
-                        .create()
-                        .show();
-            } else {
-                applyTheme(themeToApply);
-            }
-        } else {
-            throw new IllegalStateException("Unknown CustomThemeStepFragment");
-        }
-    }
-
-    private void applyTheme(ThemeBundle themeToApply) {
-        mThemeManager.apply(themeToApply, new Callback() {
-            @Override
-            public void onSuccess() {
-                overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
-                Toast.makeText(getApplicationContext(), R.string.applied_theme_msg,
-                        Toast.LENGTH_LONG).show();
-                setResult(RESULT_THEME_APPLIED);
-                finish();
-            }
-
-            @Override
-            public void onError(@Nullable Throwable throwable) {
-                Log.w(TAG, "Error applying custom theme", throwable);
-                Toast.makeText(CustomThemeActivity.this,
-                        R.string.apply_theme_error_msg,
-                        Toast.LENGTH_LONG).show();
-            }
-        });
-    }
-
-    private CustomThemeStepFragment getCurrentStepFragment() {
-        return (CustomThemeStepFragment)
-                getSupportFragmentManager().findFragmentById(R.id.fragment_container);
-    }
-
-    @Override
-    public void setCurrentStep(int i) {
-        mCurrentStep = i;
-        updateNavigationButtonLabels();
-    }
-
-    private void updateNavigationButtonLabels() {
-        mPreviousButton.setVisibility(mCurrentStep == 0 ? View.INVISIBLE : View.VISIBLE);
-        mNextButton.setText((mCurrentStep < mSteps.size() -1) ? R.string.custom_theme_next
-                : R.string.apply_btn);
-    }
-
-    @Override
-    public void delete() {
-        mThemeManager.removeCustomTheme(mCustomThemeManager.getOriginalTheme());
-        setResult(RESULT_THEME_DELETED);
-        finish();
-    }
-
-    @Override
-    public void cancel() {
-        finish();
-    }
-
-    @Override
-    public ThemeComponentOptionProvider<? extends ThemeComponentOption> getComponentOptionProvider(
-            int position) {
-        return mSteps.get(position).provider;
-    }
-
-    @Override
-    public CustomThemeManager getCustomThemeManager() {
-        return mCustomThemeManager;
-    }
-
-    @Override
-    public void onUpArrowPressed() {
-        // Skip it because CustomThemeStepFragment will implement cancel button
-        // (instead of up arrow) on action bar.
-    }
-
-    @Override
-    public boolean isUpArrowSupported() {
-        // Skip it because CustomThemeStepFragment will implement cancel button
-        // (instead of up arrow) on action bar.
-        return false;
-    }
-
-    /**
-     * Represents a step in selecting a custom theme, picking a particular component (eg font,
-     * color, shape, etc).
-     * Each step has a Fragment instance associated that instances of this class will provide.
-     */
-    private static abstract class ComponentStep<T extends ThemeComponentOption> {
-        @StringRes final int titleResId;
-        @StringRes final int accessibilityResId;
-        final ThemeComponentOptionProvider<T> provider;
-        final int position;
-        private CustomThemeStepFragment mFragment;
-
-        protected ComponentStep(@StringRes int titleResId, @StringRes int accessibilityResId,
-                ThemeComponentOptionProvider<T> provider, int position) {
-            this.titleResId = titleResId;
-            this.accessibilityResId = accessibilityResId;
-            this.provider = provider;
-            this.position = position;
-        }
-
-        CustomThemeStepFragment getFragment(String title) {
-            if (mFragment == null) {
-                mFragment = createFragment(title);
-            }
-            return mFragment;
-        }
-
-        /**
-         * @return a newly created fragment that will handle this step's UI.
-         */
-        abstract CustomThemeStepFragment createFragment(String title);
-    }
-
-    private class FontStep extends ComponentStep<FontOption> {
-
-        protected FontStep(ThemeComponentOptionProvider<FontOption> provider,
-                int position) {
-            super(R.string.font_component_title, R.string.accessibility_custom_font_title, provider,
-                    position);
-        }
-
-        @Override
-        CustomThemeComponentFragment createFragment(String title) {
-            return CustomThemeComponentFragment.newInstance(
-                    title,
-                    position,
-                    titleResId,
-                    accessibilityResId);
-        }
-    }
-
-    private class IconStep extends ComponentStep<IconOption> {
-
-        protected IconStep(ThemeComponentOptionProvider<IconOption> provider,
-                int position) {
-            super(R.string.icon_component_title, R.string.accessibility_custom_icon_title, provider,
-                    position);
-        }
-
-        @Override
-        CustomThemeComponentFragment createFragment(String title) {
-            return CustomThemeComponentFragment.newInstance(
-                    title,
-                    position,
-                    titleResId,
-                    accessibilityResId);
-        }
-    }
-
-    private class ColorStep extends ComponentStep<ColorOption> {
-
-        protected ColorStep(ThemeComponentOptionProvider<ColorOption> provider,
-                int position) {
-            super(R.string.color_component_title, R.string.accessibility_custom_color_title,
-                    provider, position);
-        }
-
-        @Override
-        CustomThemeComponentFragment createFragment(String title) {
-            return CustomThemeComponentFragment.newInstance(
-                    title,
-                    position,
-                    titleResId,
-                    accessibilityResId);
-        }
-    }
-
-    private class ShapeStep extends ComponentStep<ShapeOption> {
-
-        protected ShapeStep(ThemeComponentOptionProvider<ShapeOption> provider,
-                int position) {
-            super(R.string.shape_component_title, R.string.accessibility_custom_shape_title,
-                    provider, position);
-        }
-
-        @Override
-        CustomThemeComponentFragment createFragment(String title) {
-            return CustomThemeComponentFragment.newInstance(
-                    title,
-                    position,
-                    titleResId,
-                    accessibilityResId);
-        }
-    }
-
-    private class NameStep extends ComponentStep {
-
-        protected NameStep(int position) {
-            super(R.string.name_component_title, R.string.accessibility_custom_name_title, null,
-                    position);
-        }
-
-        @Override
-        CustomThemeNameFragment createFragment(String title) {
-            return CustomThemeNameFragment.newInstance(
-                    title,
-                    position,
-                    titleResId,
-                    accessibilityResId);
-        }
-    }
-}
diff --git a/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java b/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java
deleted file mode 100644
index a1e9967..0000000
--- a/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.theme;
-
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.android.customization.model.theme.custom.ThemeComponentOption;
-import com.android.customization.model.theme.custom.ThemeComponentOptionProvider;
-import com.android.customization.widget.OptionSelectorController;
-import com.android.customization.widget.OptionSelectorController.CheckmarkStyle;
-import com.android.wallpaper.R;
-import com.android.wallpaper.picker.AppbarFragment;
-
-public class CustomThemeComponentFragment extends CustomThemeStepFragment {
-    private static final String ARG_USE_GRID_LAYOUT = "CustomThemeComponentFragment.use_grid";;
-
-    public static CustomThemeComponentFragment newInstance(CharSequence toolbarTitle, int position,
-            int titleResId, int accessibilityResId) {
-        return newInstance(toolbarTitle, position, titleResId, accessibilityResId, false);
-    }
-
-    public static CustomThemeComponentFragment newInstance(CharSequence toolbarTitle, int position,
-            int titleResId, int accessibilityResId, boolean allowGridLayout) {
-        CustomThemeComponentFragment fragment = new CustomThemeComponentFragment();
-        Bundle arguments = AppbarFragment.createArguments(toolbarTitle);
-        arguments.putInt(ARG_KEY_POSITION, position);
-        arguments.putInt(ARG_KEY_TITLE_RES_ID, titleResId);
-        arguments.putInt(ARG_KEY_ACCESSIBILITY_RES_ID, accessibilityResId);
-        arguments.putBoolean(ARG_USE_GRID_LAYOUT, allowGridLayout);
-        fragment.setArguments(arguments);
-        return fragment;
-    }
-
-    private ThemeComponentOptionProvider<? extends ThemeComponentOption> mProvider;
-    private boolean mUseGridLayout;
-
-    private RecyclerView mOptionsContainer;
-    private OptionSelectorController<ThemeComponentOption> mOptionsController;
-    private ThemeComponentOption mSelectedOption;
-
-    @Override
-    public void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mUseGridLayout = getArguments().getBoolean(ARG_USE_GRID_LAYOUT);
-        mProvider = mHost.getComponentOptionProvider(mPosition);
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-        View view = super.onCreateView(inflater, container, savedInstanceState);
-        mOptionsContainer = view.findViewById(R.id.options_container);
-        mPreviewContainer = view.findViewById(R.id.component_preview_content);
-        mTitle = view.findViewById(R.id.component_options_title);
-        mTitle.setText(mTitleResId);
-        setUpOptions();
-
-        return view;
-    }
-
-    @Override
-    protected int getFragmentLayoutResId() {
-        return R.layout.fragment_custom_theme_component;
-    }
-
-    public ThemeComponentOption getSelectedOption() {
-        return mSelectedOption;
-    }
-
-    private void bindPreview() {
-        mSelectedOption.bindPreview(mPreviewContainer);
-    }
-
-    private void setUpOptions() {
-        mProvider.fetch(options -> {
-            mOptionsController = new OptionSelectorController(
-                    mOptionsContainer, options, mUseGridLayout, CheckmarkStyle.NONE);
-
-            mOptionsController.addListener(selected -> {
-                mSelectedOption = (ThemeComponentOption) selected;
-                bindPreview();
-                // Preview and apply. The selection will be kept whatever user goes to previous page
-                // or encounter system config changes, the current selection can be recovered.
-                mCustomThemeManager.apply(mSelectedOption, /* callback= */ null);
-            });
-            mOptionsController.initOptions(mCustomThemeManager);
-
-            for (ThemeComponentOption option : options) {
-                if (option.isActive(mCustomThemeManager)) {
-                    mSelectedOption = option;
-                    break;
-                }
-            }
-            if (mSelectedOption == null) {
-                mSelectedOption = options.get(0);
-            }
-            mOptionsController.setSelectedOption(mSelectedOption);
-        }, false);
-    }
-}
diff --git a/src/com/android/customization/picker/theme/CustomThemeNameFragment.java b/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
deleted file mode 100644
index ea9099f..0000000
--- a/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.theme;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.EditText;
-import android.widget.ImageView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.customization.model.theme.ThemeBundle.PreviewInfo;
-import com.android.customization.model.theme.custom.CustomTheme;
-import com.android.customization.module.CustomizationInjector;
-import com.android.customization.module.CustomizationPreferences;
-import com.android.customization.picker.WallpaperPreviewer;
-import com.android.wallpaper.R;
-import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
-import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.AppbarFragment;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-
-/** Fragment of naming a custom theme. */
-public class CustomThemeNameFragment extends CustomThemeStepFragment {
-
-    private static final String TAG = "CustomThemeNameFragment";
-
-    public static CustomThemeNameFragment newInstance(CharSequence toolbarTitle, int position,
-            int titleResId, int accessibilityResId) {
-        CustomThemeNameFragment fragment = new CustomThemeNameFragment();
-        Bundle arguments = AppbarFragment.createArguments(toolbarTitle);
-        arguments.putInt(ARG_KEY_POSITION, position);
-        arguments.putInt(ARG_KEY_TITLE_RES_ID, titleResId);
-        arguments.putInt(ARG_KEY_ACCESSIBILITY_RES_ID, accessibilityResId);
-        fragment.setArguments(arguments);
-        return fragment;
-    }
-
-    private EditText mNameEditor;
-    private ImageView mWallpaperImage;
-    private ThemeOptionPreviewer mThemeOptionPreviewer;
-    private CustomizationPreferences mCustomizationPreferences;
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-        View view = super.onCreateView(inflater, container, savedInstanceState);
-        mTitle = view.findViewById(R.id.component_options_title);
-        mTitle.setText(mTitleResId);
-        CurrentWallpaperInfoFactory currentWallpaperFactory = InjectorProvider.getInjector()
-                .getCurrentWallpaperInfoFactory(getActivity().getApplicationContext());
-        CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
-        mCustomizationPreferences = injector.getCustomizationPreferences(getContext());
-
-        // Set theme option.
-        ViewGroup previewContainer = view.findViewById(R.id.theme_preview_container);
-        mThemeOptionPreviewer = new ThemeOptionPreviewer(getLifecycle(), getContext(),
-                previewContainer);
-        PreviewInfo previewInfo = mCustomThemeManager.buildCustomThemePreviewInfo(getContext());
-        mThemeOptionPreviewer.setPreviewInfo(previewInfo);
-
-        // Set wallpaper background.
-        mWallpaperImage = view.findViewById(R.id.wallpaper_preview_image);
-        final WallpaperPreviewer wallpaperPreviewer = new WallpaperPreviewer(
-                getLifecycle(),
-                getActivity(),
-                mWallpaperImage,
-                view.findViewById(R.id.wallpaper_preview_surface));
-        currentWallpaperFactory.createCurrentWallpaperInfos(
-                (homeWallpaper, lockWallpaper, presentationMode) -> {
-                    wallpaperPreviewer.setWallpaper(homeWallpaper,
-                            mThemeOptionPreviewer::updateColorForLauncherWidgets);
-                }, false);
-
-        // Set theme default name.
-        mNameEditor = view.findViewById(R.id.custom_theme_name);
-        mNameEditor.setText(getOriginalThemeName());
-        return view;
-    }
-
-    private String getOriginalThemeName() {
-        CustomTheme originalTheme = mCustomThemeManager.getOriginalTheme();
-        if (originalTheme == null || !originalTheme.isDefined()) {
-            // For new custom theme. use custom themes amount plus 1 as default naming.
-            String serializedThemes = mCustomizationPreferences.getSerializedCustomThemes();
-            int customThemesCount = 0;
-            if (!TextUtils.isEmpty(serializedThemes)) {
-                try {
-                    JSONArray customThemes = new JSONArray(serializedThemes);
-                    customThemesCount = customThemes.length();
-                } catch (JSONException e) {
-                    Log.w(TAG, "Couldn't read stored custom theme");
-                }
-            }
-            return getContext().getString(
-                    R.string.custom_theme_title, customThemesCount + 1);
-        } else {
-            // For existing custom theme, keep its name as default naming.
-            return originalTheme.getTitle();
-        }
-    }
-
-    @Override
-    protected int getFragmentLayoutResId() {
-        return R.layout.fragment_custom_theme_name;
-    }
-
-    public String getThemeName() {
-        return mNameEditor.getText().toString();
-    }
-}
diff --git a/src/com/android/customization/picker/theme/CustomThemeStepFragment.java b/src/com/android/customization/picker/theme/CustomThemeStepFragment.java
deleted file mode 100644
index 3f07431..0000000
--- a/src/com/android/customization/picker/theme/CustomThemeStepFragment.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package com.android.customization.picker.theme;
-
-import android.app.AlertDialog;
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.StringRes;
-
-import com.android.customization.model.theme.custom.CustomThemeManager;
-import com.android.customization.model.theme.custom.ThemeComponentOption;
-import com.android.customization.model.theme.custom.ThemeComponentOptionProvider;
-import com.android.wallpaper.R;
-import com.android.wallpaper.picker.AppbarFragment;
-
-abstract class CustomThemeStepFragment extends AppbarFragment {
-    protected static final String ARG_KEY_POSITION = "CustomThemeStepFragment.position";
-    protected static final String ARG_KEY_TITLE_RES_ID = "CustomThemeStepFragment.title_res";
-    protected static final String ARG_KEY_ACCESSIBILITY_RES_ID =
-            "CustomThemeStepFragment.accessibility_res";
-    protected CustomThemeComponentStepHost mHost;
-    protected CustomThemeManager mCustomThemeManager;
-    protected int mPosition;
-    protected ViewGroup mPreviewContainer;
-    protected TextView mTitle;
-    @StringRes
-    protected int mTitleResId;
-    @StringRes
-    protected int mAccessibilityResId;
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        mHost = (CustomThemeComponentStepHost) context;
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        mHost.setCurrentStep(mPosition);
-    }
-
-    @Override
-    public void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mPosition = getArguments().getInt(ARG_KEY_POSITION);
-        mTitleResId = getArguments().getInt(ARG_KEY_TITLE_RES_ID);
-        mAccessibilityResId = getArguments().getInt(ARG_KEY_ACCESSIBILITY_RES_ID);
-        mCustomThemeManager = mHost.getCustomThemeManager();
-    }
-
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-        View view = inflater.inflate(
-                getFragmentLayoutResId(), container, /* attachToRoot */ false);
-        // No original theme means it's a new one, so no toolbar icon for deleting it is needed
-        if (mCustomThemeManager.getOriginalTheme() == null
-                || !mCustomThemeManager.getOriginalTheme().isDefined()) {
-            setUpToolbar(view);
-        } else {
-            setUpToolbar(view, R.menu.custom_theme_editor_menu);
-            mToolbar.getMenu().getItem(0).setIconTintList(
-                    getContext().getColorStateList(R.color.toolbar_icon_tint));
-        }
-        Drawable closeIcon = getResources().getDrawable(R.drawable.ic_close_24px, null).mutate();
-        closeIcon.setTintList(getResources().getColorStateList(R.color.toolbar_icon_tint, null));
-        mToolbar.setNavigationIcon(closeIcon);
-
-        mToolbar.setNavigationContentDescription(R.string.cancel);
-        mToolbar.setNavigationOnClickListener(v -> mHost.cancel());
-
-        mPreviewContainer = view.findViewById(R.id.component_preview_content);
-        return view;
-    }
-
-    @Override
-    protected String getAccessibilityTitle() {
-        return getString(mAccessibilityResId);
-    }
-
-    @Override
-    public boolean onMenuItemClick(MenuItem item) {
-        if (item.getItemId() == R.id.custom_theme_delete) {
-            AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
-            builder.setMessage(R.string.delete_custom_theme_confirmation)
-                    .setPositiveButton(R.string.delete_custom_theme_button,
-                            (dialogInterface, i) -> mHost.delete())
-                    .setNegativeButton(R.string.cancel, null)
-                    .create()
-                    .show();
-            return true;
-        }
-        return super.onMenuItemClick(item);
-    }
-
-    protected abstract int getFragmentLayoutResId();
-
-    public interface CustomThemeComponentStepHost {
-        void delete();
-        void cancel();
-        ThemeComponentOptionProvider<? extends ThemeComponentOption> getComponentOptionProvider(
-                int position);
-
-        CustomThemeManager getCustomThemeManager();
-
-        void setCurrentStep(int step);
-    }
-}
diff --git a/src/com/android/customization/picker/theme/ThemeFragment.java b/src/com/android/customization/picker/theme/ThemeFragment.java
deleted file mode 100644
index 3a9a56f..0000000
--- a/src/com/android/customization/picker/theme/ThemeFragment.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.theme;
-
-import static android.app.Activity.RESULT_OK;
-
-import static com.android.wallpaper.widget.BottomActionBar.BottomAction.APPLY;
-import static com.android.wallpaper.widget.BottomActionBar.BottomAction.CUSTOMIZE;
-import static com.android.wallpaper.widget.BottomActionBar.BottomAction.INFORMATION;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.Toast;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.core.widget.ContentLoadingProgressBar;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.android.customization.model.CustomizationManager.Callback;
-import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
-import com.android.customization.model.CustomizationOption;
-import com.android.customization.model.theme.ThemeBundle;
-import com.android.customization.model.theme.ThemeManager;
-import com.android.customization.model.theme.custom.CustomTheme;
-import com.android.customization.module.ThemesUserEventLogger;
-import com.android.customization.picker.WallpaperPreviewer;
-import com.android.customization.widget.OptionSelectorController;
-import com.android.wallpaper.R;
-import com.android.wallpaper.model.WallpaperInfo;
-import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
-import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.AppbarFragment;
-import com.android.wallpaper.widget.BottomActionBar;
-import com.android.wallpaper.widget.BottomActionBar.AccessibilityCallback;
-import com.android.wallpaper.widget.BottomActionBar.BottomSheetContent;
-
-import java.util.List;
-
-/**
- * Fragment that contains the main UI for selecting and applying a ThemeBundle.
- */
-public class ThemeFragment extends AppbarFragment {
-
-    private static final String TAG = "ThemeFragment";
-    private static final String KEY_SELECTED_THEME = "ThemeFragment.SelectedThemeBundle";
-    private static final String KEY_STATE_BOTTOM_ACTION_BAR_VISIBLE =
-            "ThemeFragment.bottomActionBarVisible";
-    private static final int FULL_PREVIEW_REQUEST_CODE = 1000;
-
-    /**
-     * Interface to be implemented by an Activity hosting a {@link ThemeFragment}
-     */
-    public interface ThemeFragmentHost {
-        ThemeManager getThemeManager();
-    }
-    public static ThemeFragment newInstance(CharSequence title) {
-        ThemeFragment fragment = new ThemeFragment();
-        fragment.setArguments(AppbarFragment.createArguments(title));
-        return fragment;
-    }
-
-    private RecyclerView mOptionsContainer;
-    private OptionSelectorController<ThemeBundle> mOptionsController;
-    private ThemeManager mThemeManager;
-    private ThemesUserEventLogger mEventLogger;
-    private ThemeBundle mSelectedTheme;
-    private ContentLoadingProgressBar mLoading;
-    private View mContent;
-    private View mError;
-    private WallpaperInfo mCurrentHomeWallpaper;
-    private CurrentWallpaperInfoFactory mCurrentWallpaperFactory;
-    private BottomActionBar mBottomActionBar;
-    private WallpaperPreviewer mWallpaperPreviewer;
-    private ImageView mWallpaperImage;
-    private ThemeOptionPreviewer mThemeOptionPreviewer;
-    private ThemeInfoView mThemeInfoView;
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        mThemeManager = ((ThemeFragmentHost) context).getThemeManager();
-        mEventLogger = (ThemesUserEventLogger)
-                InjectorProvider.getInjector().getUserEventLogger(context);
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-        View view = inflater.inflate(
-                R.layout.fragment_theme_picker, container, /* attachToRoot */ false);
-        setUpToolbar(view);
-
-        mContent = view.findViewById(R.id.content_section);
-        mLoading = view.findViewById(R.id.loading_indicator);
-        mError = view.findViewById(R.id.error_section);
-        mCurrentWallpaperFactory = InjectorProvider.getInjector()
-                .getCurrentWallpaperInfoFactory(getActivity().getApplicationContext());
-        mOptionsContainer = view.findViewById(R.id.options_container);
-
-        mThemeOptionPreviewer = new ThemeOptionPreviewer(
-                getLifecycle(),
-                getContext(),
-                view.findViewById(R.id.theme_preview_container));
-
-        // Set Wallpaper background.
-        mWallpaperImage = view.findViewById(R.id.wallpaper_preview_image);
-        mWallpaperPreviewer = new WallpaperPreviewer(
-                getLifecycle(),
-                getActivity(),
-                mWallpaperImage,
-                view.findViewById(R.id.wallpaper_preview_surface));
-        mCurrentWallpaperFactory.createCurrentWallpaperInfos(
-                (homeWallpaper, lockWallpaper, presentationMode) -> {
-                    mCurrentHomeWallpaper = homeWallpaper;
-                    mWallpaperPreviewer.setWallpaper(mCurrentHomeWallpaper,
-                            mThemeOptionPreviewer::updateColorForLauncherWidgets);
-                }, false);
-        return view;
-    }
-
-    @Override
-    protected void onBottomActionBarReady(BottomActionBar bottomActionBar) {
-        super.onBottomActionBarReady(bottomActionBar);
-        mBottomActionBar = bottomActionBar;
-        mBottomActionBar.showActionsOnly(INFORMATION, APPLY);
-        mBottomActionBar.setActionClickListener(APPLY, v -> {
-            mBottomActionBar.disableActions();
-            applyTheme();
-        });
-
-        mBottomActionBar.bindBottomSheetContentWithAction(
-                new ThemeInfoContent(getContext()), INFORMATION);
-        mBottomActionBar.setActionClickListener(CUSTOMIZE, this::onCustomizeClicked);
-
-        // Update target view's accessibility param since it will be blocked by the bottom sheet
-        // when expanded.
-        mBottomActionBar.setAccessibilityCallback(new AccessibilityCallback() {
-            @Override
-            public void onBottomSheetCollapsed() {
-                mOptionsContainer.setImportantForAccessibility(
-                        View.IMPORTANT_FOR_ACCESSIBILITY_YES);
-            }
-
-            @Override
-            public void onBottomSheetExpanded() {
-                mOptionsContainer.setImportantForAccessibility(
-                        View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
-            }
-        });
-    }
-
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        // Setup options here when all views are ready(including BottomActionBar), since we need to
-        // update views after options are loaded.
-        setUpOptions(savedInstanceState);
-    }
-
-    private void applyTheme() {
-        mThemeManager.apply(mSelectedTheme, new Callback() {
-            @Override
-            public void onSuccess() {
-                Toast.makeText(getContext(), R.string.applied_theme_msg, Toast.LENGTH_LONG).show();
-                getActivity().overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
-                getActivity().finish();
-            }
-
-            @Override
-            public void onError(@Nullable Throwable throwable) {
-                Log.w(TAG, "Error applying theme", throwable);
-                // Since we disabled it when clicked apply button.
-                mBottomActionBar.enableActions();
-                mBottomActionBar.hide();
-                Toast.makeText(getContext(), R.string.apply_theme_error_msg,
-                        Toast.LENGTH_LONG).show();
-            }
-        });
-    }
-
-    @Override
-    public void onSaveInstanceState(@NonNull Bundle outState) {
-        super.onSaveInstanceState(outState);
-        if (mSelectedTheme != null && !mSelectedTheme.isActive(mThemeManager)) {
-            outState.putString(KEY_SELECTED_THEME, mSelectedTheme.getSerializedPackages());
-        }
-        if (mBottomActionBar != null) {
-            outState.putBoolean(KEY_STATE_BOTTOM_ACTION_BAR_VISIBLE, mBottomActionBar.isVisible());
-        }
-    }
-
-    @Override
-    public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == CustomThemeActivity.REQUEST_CODE_CUSTOM_THEME) {
-            if (resultCode == CustomThemeActivity.RESULT_THEME_DELETED) {
-                mSelectedTheme = null;
-                reloadOptions();
-            } else if (resultCode == CustomThemeActivity.RESULT_THEME_APPLIED) {
-                getActivity().overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
-                getActivity().finish();
-            } else {
-                if (mSelectedTheme != null) {
-                    mOptionsController.setSelectedOption(mSelectedTheme);
-                    // Set selected option above will show BottomActionBar,
-                    // hide BottomActionBar for the mis-trigger.
-                    mBottomActionBar.hide();
-                } else {
-                    reloadOptions();
-                }
-            }
-        } else if (requestCode == FULL_PREVIEW_REQUEST_CODE && resultCode == RESULT_OK) {
-            applyTheme();
-        }
-        super.onActivityResult(requestCode, resultCode, data);
-    }
-
-    private void onCustomizeClicked(View view) {
-        if (mSelectedTheme instanceof CustomTheme) {
-            navigateToCustomTheme((CustomTheme) mSelectedTheme);
-        }
-    }
-
-    private void hideError() {
-        mContent.setVisibility(View.VISIBLE);
-        mError.setVisibility(View.GONE);
-    }
-
-    private void showError() {
-        mLoading.hide();
-        mContent.setVisibility(View.GONE);
-        mError.setVisibility(View.VISIBLE);
-    }
-
-    private void setUpOptions(@Nullable Bundle savedInstanceState) {
-        hideError();
-        mLoading.show();
-        mThemeManager.fetchOptions(new OptionsFetchedListener<ThemeBundle>() {
-            @Override
-            public void onOptionsLoaded(List<ThemeBundle> options) {
-                mOptionsController = new OptionSelectorController<>(mOptionsContainer, options);
-                mOptionsController.initOptions(mThemeManager);
-
-                // Find out the selected theme option.
-                // 1. Find previously selected theme.
-                String previouslySelected = savedInstanceState != null
-                        ? savedInstanceState.getString(KEY_SELECTED_THEME) : null;
-                ThemeBundle previouslySelectedTheme = null;
-                ThemeBundle activeTheme = null;
-                for (ThemeBundle theme : options) {
-                    if (previouslySelected != null
-                            && previouslySelected.equals(theme.getSerializedPackages())) {
-                        previouslySelectedTheme = theme;
-                    }
-                    if (theme.isActive(mThemeManager)) {
-                        activeTheme = theme;
-                    }
-                }
-                // 2. Use active theme if no previously selected theme.
-                mSelectedTheme = previouslySelectedTheme != null
-                        ? previouslySelectedTheme
-                        : activeTheme;
-                // 3. Select the first system theme(default theme currently)
-                //    if there is no matching custom enabled theme.
-                if (mSelectedTheme == null) {
-                    mSelectedTheme = findFirstSystemThemeBundle(options);
-                }
-
-                mOptionsController.setSelectedOption(mSelectedTheme);
-                onOptionSelected(mSelectedTheme);
-                restoreBottomActionBarVisibility(savedInstanceState);
-
-                mOptionsController.addListener(selectedOption -> {
-                    onOptionSelected(selectedOption);
-                    if (!isAddCustomThemeOption(selectedOption)) {
-                        mBottomActionBar.show();
-                    }
-                });
-                mLoading.hide();
-            }
-            @Override
-            public void onError(@Nullable Throwable throwable) {
-                if (throwable != null) {
-                    Log.e(TAG, "Error loading theme bundles", throwable);
-                }
-                showError();
-            }
-        }, false);
-    }
-
-    private void reloadOptions() {
-        mThemeManager.fetchOptions(options -> {
-            mOptionsController.resetOptions(options);
-            for (ThemeBundle theme : options) {
-                if (theme.isActive(mThemeManager)) {
-                    mSelectedTheme = theme;
-                    break;
-                }
-            }
-            if (mSelectedTheme == null) {
-                mSelectedTheme = findFirstSystemThemeBundle(options);
-            }
-            mOptionsController.setSelectedOption(mSelectedTheme);
-            // Set selected option above will show BottomActionBar,
-            // hide BottomActionBar for the mis-trigger.
-            mBottomActionBar.hide();
-        }, true);
-    }
-
-    private ThemeBundle findFirstSystemThemeBundle(List<ThemeBundle> options) {
-        for (ThemeBundle bundle : options) {
-            if (!(bundle instanceof CustomTheme)) {
-                return bundle;
-            }
-        }
-        return null;
-    }
-
-    private void onOptionSelected(CustomizationOption selectedOption) {
-        if (isAddCustomThemeOption(selectedOption)) {
-            navigateToCustomTheme((CustomTheme) selectedOption);
-        } else {
-            mSelectedTheme = (ThemeBundle) selectedOption;
-            mSelectedTheme.setOverrideThemeWallpaper(mCurrentHomeWallpaper);
-            mEventLogger.logThemeSelected(mSelectedTheme,
-                    selectedOption instanceof CustomTheme);
-            mThemeOptionPreviewer.setPreviewInfo(mSelectedTheme.getPreviewInfo());
-            if (mThemeInfoView != null && mSelectedTheme != null) {
-                mThemeInfoView.populateThemeInfo(mSelectedTheme);
-            }
-
-            if (selectedOption instanceof CustomTheme) {
-                mBottomActionBar.showActionsOnly(INFORMATION, CUSTOMIZE, APPLY);
-            } else {
-                mBottomActionBar.showActionsOnly(INFORMATION, APPLY);
-            }
-        }
-    }
-
-    private void restoreBottomActionBarVisibility(@Nullable Bundle savedInstanceState) {
-        boolean isBottomActionBarVisible = savedInstanceState != null
-                && savedInstanceState.getBoolean(KEY_STATE_BOTTOM_ACTION_BAR_VISIBLE);
-        if (isBottomActionBarVisible) {
-            mBottomActionBar.show();
-        } else {
-            mBottomActionBar.hide();
-        }
-    }
-
-    private boolean isAddCustomThemeOption(CustomizationOption option) {
-        return option instanceof CustomTheme && !((CustomTheme) option).isDefined();
-    }
-
-    private void navigateToCustomTheme(CustomTheme themeToEdit) {
-        Intent intent = new Intent(getActivity(), CustomThemeActivity.class);
-        intent.putExtra(CustomThemeActivity.EXTRA_THEME_TITLE, themeToEdit.getTitle());
-        intent.putExtra(CustomThemeActivity.EXTRA_THEME_ID, themeToEdit.getId());
-        intent.putExtra(CustomThemeActivity.EXTRA_THEME_PACKAGES,
-                themeToEdit.getSerializedPackages());
-        startActivityForResult(intent, CustomThemeActivity.REQUEST_CODE_CUSTOM_THEME);
-    }
-
-    private final class ThemeInfoContent extends BottomSheetContent<ThemeInfoView> {
-
-        private ThemeInfoContent(Context context) {
-            super(context);
-        }
-
-        @Override
-        public int getViewId() {
-            return R.layout.theme_info_view;
-        }
-
-        @Override
-        public void onViewCreated(ThemeInfoView view) {
-            mThemeInfoView = view;
-            if (mSelectedTheme != null) {
-                mThemeInfoView.populateThemeInfo(mSelectedTheme);
-            }
-        }
-    }
-}
diff --git a/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java b/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
deleted file mode 100644
index 3ba64ec..0000000
--- a/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.theme;
-
-import static android.app.Activity.RESULT_OK;
-
-import static com.android.wallpaper.widget.BottomActionBar.BottomAction.APPLY;
-import static com.android.wallpaper.widget.BottomActionBar.BottomAction.INFORMATION;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.customization.model.theme.DefaultThemeProvider;
-import com.android.customization.model.theme.ThemeBundle;
-import com.android.customization.model.theme.ThemeBundleProvider;
-import com.android.customization.module.CustomizationInjector;
-import com.android.customization.picker.WallpaperPreviewer;
-import com.android.wallpaper.R;
-import com.android.wallpaper.model.WallpaperInfo;
-import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.AppbarFragment;
-import com.android.wallpaper.widget.BottomActionBar;
-import com.android.wallpaper.widget.BottomActionBar.BottomSheetContent;
-
-import com.bumptech.glide.Glide;
-
-import org.json.JSONException;
-
-/** A Fragment for theme full preview page. */
-public class ThemeFullPreviewFragment extends AppbarFragment {
-    private static final String TAG = "ThemeFullPreviewFragment";
-
-    public static final String EXTRA_THEME_OPTION_TITLE = "theme_option_title";
-    protected static final String EXTRA_THEME_OPTION = "theme_option";
-    protected static final String EXTRA_WALLPAPER_INFO = "wallpaper_info";
-    protected static final String EXTRA_CAN_APPLY_FROM_FULL_PREVIEW = "can_apply";
-
-    private WallpaperInfo mWallpaper;
-    private ThemeBundle mThemeBundle;
-    private boolean mCanApplyFromFullPreview;
-
-    /**
-     * Returns a new {@link ThemeFullPreviewFragment} with the provided title and bundle arguments
-     * set.
-     */
-    public static ThemeFullPreviewFragment newInstance(CharSequence title, Bundle intentBundle) {
-        ThemeFullPreviewFragment fragment = new ThemeFullPreviewFragment();
-        Bundle bundle = new Bundle();
-        bundle.putAll(AppbarFragment.createArguments(title));
-        bundle.putAll(intentBundle);
-        fragment.setArguments(bundle);
-        return fragment;
-    }
-
-    @Override
-    public void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mWallpaper = getArguments().getParcelable(EXTRA_WALLPAPER_INFO);
-        mCanApplyFromFullPreview = getArguments().getBoolean(EXTRA_CAN_APPLY_FROM_FULL_PREVIEW);
-        CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
-        ThemeBundleProvider themeProvider = new DefaultThemeProvider(
-                getContext(), injector.getCustomizationPreferences(getContext()));
-        try {
-            ThemeBundle.Builder builder = themeProvider.parseThemeBundle(
-                    getArguments().getString(EXTRA_THEME_OPTION));
-            if (builder != null) {
-                builder.setTitle(getArguments().getString(EXTRA_THEME_OPTION_TITLE));
-                mThemeBundle = builder.build(getContext());
-            }
-        } catch (JSONException e) {
-            Log.w(TAG, "Couldn't parse provided custom theme, will override it");
-            // TODO(chihhangchuang): Handle the error case.
-        }
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-                             @Nullable Bundle savedInstanceState) {
-        View view = inflater.inflate(
-                R.layout.fragment_theme_full_preview, container, /* attachToRoot */ false);
-        setUpToolbar(view);
-        Glide.get(getContext()).clearMemory();
-
-        // Set theme option.
-        final ThemeOptionPreviewer themeOptionPreviewer = new ThemeOptionPreviewer(
-                getLifecycle(),
-                getContext(),
-                view.findViewById(R.id.theme_preview_container));
-        themeOptionPreviewer.setPreviewInfo(mThemeBundle.getPreviewInfo());
-
-        // Set wallpaper background.
-        ImageView wallpaperImageView = view.findViewById(R.id.wallpaper_preview_image);
-        final WallpaperPreviewer wallpaperPreviewer = new WallpaperPreviewer(
-                getLifecycle(),
-                getActivity(),
-                wallpaperImageView,
-                view.findViewById(R.id.wallpaper_preview_surface));
-        wallpaperPreviewer.setWallpaper(mWallpaper,
-                themeOptionPreviewer::updateColorForLauncherWidgets);
-        return view;
-    }
-
-    @Override
-    protected void onBottomActionBarReady(BottomActionBar bottomActionBar) {
-        super.onBottomActionBarReady(bottomActionBar);
-        if (mCanApplyFromFullPreview) {
-            bottomActionBar.showActionsOnly(INFORMATION, APPLY);
-            bottomActionBar.setActionClickListener(APPLY, v -> finishActivityWithResultOk());
-        } else {
-            bottomActionBar.showActionsOnly(INFORMATION);
-        }
-        bottomActionBar.bindBottomSheetContentWithAction(
-                new ThemeInfoContent(getContext()), INFORMATION);
-        bottomActionBar.show();
-    }
-
-    private void finishActivityWithResultOk() {
-        Activity activity = requireActivity();
-        activity.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
-        Intent intent = new Intent();
-        activity.setResult(RESULT_OK, intent);
-        activity.finish();
-    }
-
-    private final class ThemeInfoContent extends BottomSheetContent<ThemeInfoView> {
-
-        private ThemeInfoContent(Context context) {
-            super(context);
-        }
-
-        @Override
-        public int getViewId() {
-            return R.layout.theme_info_view;
-        }
-
-        @Override
-        public void onViewCreated(ThemeInfoView view) {
-            view.populateThemeInfo(mThemeBundle);
-        }
-    }
-}
diff --git a/src/com/android/customization/picker/theme/ThemeInfoView.java b/src/com/android/customization/picker/theme/ThemeInfoView.java
deleted file mode 100644
index e929c4d..0000000
--- a/src/com/android/customization/picker/theme/ThemeInfoView.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.theme;
-
-import android.content.Context;
-import android.content.res.ColorStateList;
-import android.util.AttributeSet;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.customization.model.theme.ThemeBundle;
-import com.android.wallpaper.R;
-
-/** A view for displaying style info. */
-public class ThemeInfoView extends LinearLayout {
-    private static final int WIFI_ICON_PREVIEW_INDEX = 0;
-    private static final int SHAPE_PREVIEW_INDEX = 0;
-
-    private TextView mTitle;
-    private TextView mFontPreviewTextView;
-    private ImageView mIconPreviewImageView;
-    private ImageView mAppPreviewImageView;
-    private ImageView mShapePreviewImageView;
-
-    public ThemeInfoView(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-        mTitle = findViewById(R.id.style_info_title);
-        mFontPreviewTextView = findViewById(R.id.font_preview);
-        mIconPreviewImageView = findViewById(R.id.qs_preview_icon);
-        mAppPreviewImageView = findViewById(R.id.app_preview_icon);
-        mShapePreviewImageView = findViewById(R.id.shape_preview_icon);
-    }
-
-    /** Populates theme info. */
-    public void populateThemeInfo(@NonNull ThemeBundle selectedTheme) {
-        ThemeBundle.PreviewInfo previewInfo = selectedTheme.getPreviewInfo();
-
-        if (previewInfo != null) {
-            mTitle.setText(getContext().getString(R.string.style_info_description));
-            if (previewInfo.headlineFontFamily != null) {
-                mTitle.setTypeface(previewInfo.headlineFontFamily);
-                mFontPreviewTextView.setTypeface(previewInfo.headlineFontFamily);
-            }
-
-            if (previewInfo.icons.get(WIFI_ICON_PREVIEW_INDEX) != null) {
-                mIconPreviewImageView.setImageDrawable(
-                        previewInfo.icons.get(WIFI_ICON_PREVIEW_INDEX));
-            }
-
-            if (previewInfo.shapeAppIcons.get(SHAPE_PREVIEW_INDEX) != null) {
-                mAppPreviewImageView.setBackground(
-                        previewInfo.shapeAppIcons.get(SHAPE_PREVIEW_INDEX).getDrawableCopy());
-            }
-
-            if (previewInfo.shapeDrawable != null) {
-                mShapePreviewImageView.setImageDrawable(previewInfo.shapeDrawable);
-                mShapePreviewImageView.setImageTintList(
-                        ColorStateList.valueOf(previewInfo.resolveAccentColor(getResources())));
-            }
-        }
-    }
-}
diff --git a/src/com/android/customization/picker/theme/ThemeOptionPreviewer.java b/src/com/android/customization/picker/theme/ThemeOptionPreviewer.java
deleted file mode 100644
index 14b53ec..0000000
--- a/src/com/android/customization/picker/theme/ThemeOptionPreviewer.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.theme;
-
-import static android.view.View.MeasureSpec.EXACTLY;
-import static android.view.View.MeasureSpec.makeMeasureSpec;
-
-import android.app.WallpaperColors;
-import android.content.Context;
-import android.content.res.ColorStateList;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.graphics.Typeface;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.GradientDrawable;
-import android.text.format.DateFormat;
-import android.util.DisplayMetrics;
-import android.util.TypedValue;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.animation.AnimationUtils;
-import android.widget.CompoundButton;
-import android.widget.ImageView;
-import android.widget.Switch;
-import android.widget.TextView;
-
-import androidx.annotation.MainThread;
-import androidx.annotation.Nullable;
-import androidx.cardview.widget.CardView;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
-
-import com.android.customization.model.theme.ThemeBundle;
-import com.android.customization.model.theme.ThemeBundle.PreviewInfo;
-import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
-import com.android.wallpaper.R;
-import com.android.wallpaper.util.ResourceUtils;
-import com.android.wallpaper.util.ScreenSizeCalculator;
-import com.android.wallpaper.util.TimeUtils;
-import com.android.wallpaper.util.TimeUtils.TimeTicker;
-
-import java.util.Calendar;
-import java.util.List;
-import java.util.Locale;
-import java.util.TimeZone;
-
-/** A class to load the {@link ThemeBundle} preview to the view. */
-class ThemeOptionPreviewer implements LifecycleObserver {
-    private static final String DATE_FORMAT = "EEEE, MMM d";
-
-    // Maps which icon from ResourceConstants#ICONS_FOR_PREVIEW.
-    private static final int ICON_WIFI = 0;
-    private static final int ICON_BLUETOOTH = 1;
-    private static final int ICON_FLASHLIGHT = 3;
-    private static final int ICON_AUTO_ROTATE = 4;
-    private static final int ICON_CELLULAR_SIGNAL = 6;
-    private static final int ICON_BATTERY = 7;
-
-    // Icons in the top bar (fake "status bar") with the particular order.
-    private static final int [] sTopBarIconToPreviewIcon = new int [] {
-            ICON_WIFI, ICON_CELLULAR_SIGNAL, ICON_BATTERY };
-
-    // Ids of app icon shape preview.
-    private int[] mShapeAppIconIds = {
-            R.id.shape_preview_icon_0, R.id.shape_preview_icon_1,
-            R.id.shape_preview_icon_2, R.id.shape_preview_icon_3
-    };
-    private int[] mShapeIconAppNameIds = {
-            R.id.shape_preview_icon_app_name_0, R.id.shape_preview_icon_app_name_1,
-            R.id.shape_preview_icon_app_name_2, R.id.shape_preview_icon_app_name_3
-    };
-
-    // Ids of color/icons section.
-    private int[][] mColorTileIconIds = {
-            new int[] { R.id.preview_color_qs_0_icon, ICON_WIFI},
-            new int[] { R.id.preview_color_qs_1_icon, ICON_BLUETOOTH},
-            new int[] { R.id.preview_color_qs_2_icon, ICON_FLASHLIGHT},
-            new int[] { R.id.preview_color_qs_3_icon, ICON_AUTO_ROTATE},
-    };
-    private int[] mColorTileIds = {
-            R.id.preview_color_qs_0_bg, R.id.preview_color_qs_1_bg,
-            R.id.preview_color_qs_2_bg, R.id.preview_color_qs_3_bg
-    };
-    private int[] mColorButtonIds = {
-            R.id.preview_check_selected, R.id.preview_radio_selected, R.id.preview_toggle_selected
-    };
-
-    private final Context mContext;
-
-    private View mContentView;
-    private TextView mStatusBarClock;
-    private TextView mSmartSpaceDate;
-    private TimeTicker mTicker;
-
-    private boolean mHasPreviewInfoSet;
-    private boolean mHasWallpaperColorSet;
-
-    ThemeOptionPreviewer(Lifecycle lifecycle, Context context, ViewGroup previewContainer) {
-        lifecycle.addObserver(this);
-
-        mContext = context;
-        mContentView = LayoutInflater.from(context).inflate(
-                R.layout.theme_preview_content, /* root= */ null);
-        mContentView.setVisibility(View.INVISIBLE);
-        mStatusBarClock = mContentView.findViewById(R.id.theme_preview_clock);
-        mSmartSpaceDate = mContentView.findViewById(R.id.smart_space_date);
-        updateTime();
-        final float screenAspectRatio =
-                ScreenSizeCalculator.getInstance().getScreenAspectRatio(mContext);
-        Configuration config = mContext.getResources().getConfiguration();
-        final boolean directionLTR = config.getLayoutDirection() == View.LAYOUT_DIRECTION_LTR;
-        previewContainer.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
-            @Override
-            public void onLayoutChange(View view, int left, int top, int right, int bottom,
-                                       int oldLeft, int oldTop, int oldRight, int oldBottom) {
-                // Calculate the full preview card height and width.
-                final int fullPreviewCardHeight = getFullPreviewCardHeight();
-                final int fullPreviewCardWidth = (int) (fullPreviewCardHeight / screenAspectRatio);
-
-                // Relayout the content view to match full preview card size.
-                mContentView.measure(
-                        makeMeasureSpec(fullPreviewCardWidth, EXACTLY),
-                        makeMeasureSpec(fullPreviewCardHeight, EXACTLY));
-                mContentView.layout(0, 0, fullPreviewCardWidth, fullPreviewCardHeight);
-
-                // Scale the content view from full preview size to the container size. For full
-                // preview, the scale value is 1.
-                float scale = (float) previewContainer.getMeasuredHeight() / fullPreviewCardHeight;
-                mContentView.setScaleX(scale);
-                mContentView.setScaleY(scale);
-                // The pivot point is centered by default, set to (0, 0).
-                mContentView.setPivotX(directionLTR ? 0f : mContentView.getMeasuredWidth());
-                mContentView.setPivotY(0f);
-
-                // Ensure there will be only one content view in the container.
-                previewContainer.removeAllViews();
-                // Finally, add the content view to the container.
-                previewContainer.addView(
-                        mContentView,
-                        mContentView.getMeasuredWidth(),
-                        mContentView.getMeasuredHeight());
-
-                previewContainer.removeOnLayoutChangeListener(this);
-            }
-        });
-    }
-
-    /** Loads the Theme option preview into the container view. */
-    public void setPreviewInfo(PreviewInfo previewInfo) {
-        setHeadlineFont(previewInfo.headlineFontFamily);
-        setBodyFont(previewInfo.bodyFontFamily);
-        setTopBarIcons(previewInfo.icons);
-        setAppIconShape(previewInfo.shapeAppIcons);
-        setColorAndIconsSection(previewInfo.icons, previewInfo.shapeDrawable,
-                previewInfo.resolveAccentColor(mContext.getResources()));
-        setColorAndIconsBoxRadius(previewInfo.bottomSheeetCornerRadius);
-        setQsbRadius(previewInfo.bottomSheeetCornerRadius);
-        mHasPreviewInfoSet = true;
-        showPreviewIfHasAllConfigSet();
-    }
-
-    /**
-     * Updates the color of widgets in launcher (like top status bar, smart space, and app name
-     * text) which will change its content color according to different wallpapers.
-     *
-     * @param colors the {@link WallpaperColors} of the wallpaper, or {@code null} to use light
-     *               color as default
-     */
-    public void updateColorForLauncherWidgets(@Nullable WallpaperColors colors) {
-        boolean useLightTextColor = colors == null
-                || (colors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) == 0;
-        int textColor = mContext.getColor(useLightTextColor
-                ? android.R.color.white
-                : android.R.color.black);
-        int textShadowColor = mContext.getColor(useLightTextColor
-                ? android.R.color.tertiary_text_dark
-                : android.R.color.transparent);
-        // Update the top status bar clock text color.
-        mStatusBarClock.setTextColor(textColor);
-        // Update the top status bar icon color.
-        ViewGroup iconsContainer = mContentView.findViewById(R.id.theme_preview_top_bar_icons);
-        for (int i = 0; i < iconsContainer.getChildCount(); i++) {
-            ((ImageView) iconsContainer.getChildAt(i))
-                    .setImageTintList(ColorStateList.valueOf(textColor));
-        }
-        // Update smart space date color.
-        mSmartSpaceDate.setTextColor(textColor);
-        mSmartSpaceDate.setShadowLayer(
-                mContext.getResources().getDimension(
-                        R.dimen.smartspace_preview_key_ambient_shadow_blur),
-                /* dx = */ 0,
-                /* dy = */ 0,
-                textShadowColor);
-
-        // Update shape app icon name text color.
-        for (int id : mShapeIconAppNameIds) {
-            TextView appName = mContentView.findViewById(id);
-            appName.setTextColor(textColor);
-            appName.setShadowLayer(
-                    mContext.getResources().getDimension(
-                            R.dimen.preview_theme_app_name_key_ambient_shadow_blur),
-                    /* dx = */ 0,
-                    /* dy = */ 0,
-                    textShadowColor);
-        }
-
-        mHasWallpaperColorSet = true;
-        showPreviewIfHasAllConfigSet();
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
-    @MainThread
-    public void onResume() {
-        mTicker = TimeTicker.registerNewReceiver(mContext, this::updateTime);
-        updateTime();
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
-    @MainThread
-    public void onPause() {
-        if (mContext != null) {
-            mContext.unregisterReceiver(mTicker);
-        }
-    }
-
-    private void showPreviewIfHasAllConfigSet() {
-        if (mHasPreviewInfoSet && mHasWallpaperColorSet
-                && mContentView.getVisibility() != View.VISIBLE) {
-            mContentView.setAlpha(0f);
-            mContentView.setVisibility(View.VISIBLE);
-            mContentView.animate().alpha(1f)
-                    .setStartDelay(50)
-                    .setDuration(200)
-                    .setInterpolator(AnimationUtils.loadInterpolator(mContext,
-                            android.R.interpolator.fast_out_linear_in))
-                    .start();
-        }
-    }
-
-    private void setHeadlineFont(Typeface headlineFont) {
-        mStatusBarClock.setTypeface(headlineFont);
-        mSmartSpaceDate.setTypeface(headlineFont);
-
-        // Update font of color/icons section title.
-        TextView colorIconsSectionTitle = mContentView.findViewById(R.id.color_icons_section_title);
-        colorIconsSectionTitle.setTypeface(headlineFont);
-    }
-
-    private void setBodyFont(Typeface bodyFont) {
-        // Update font of app names.
-        for (int id : mShapeIconAppNameIds) {
-            TextView appName = mContentView.findViewById(id);
-            appName.setTypeface(bodyFont);
-        }
-    }
-
-    private void setTopBarIcons(List<Drawable> icons) {
-        ViewGroup iconsContainer = mContentView.findViewById(R.id.theme_preview_top_bar_icons);
-        for (int i = 0; i < iconsContainer.getChildCount(); i++) {
-            int iconIndex = sTopBarIconToPreviewIcon[i];
-            if (iconIndex < icons.size()) {
-                ((ImageView) iconsContainer.getChildAt(i))
-                        .setImageDrawable(icons.get(iconIndex).getConstantState()
-                                .newDrawable().mutate());
-            } else {
-                iconsContainer.getChildAt(i).setVisibility(View.GONE);
-            }
-        }
-    }
-
-    private void setAppIconShape(List<ShapeAppIcon> appIcons) {
-        for (int i = 0; i < mShapeAppIconIds.length && i < mShapeIconAppNameIds.length
-                && i < appIcons.size(); i++) {
-            ShapeAppIcon icon = appIcons.get(i);
-            // Set app icon.
-            ImageView iconView = mContentView.findViewById(mShapeAppIconIds[i]);
-            iconView.setBackground(icon.getDrawableCopy());
-            // Set app name.
-            TextView appName = mContentView.findViewById(mShapeIconAppNameIds[i]);
-            appName.setText(icon.getAppName());
-        }
-    }
-
-    private void setColorAndIconsSection(List<Drawable> icons, Drawable shapeDrawable,
-                                         int accentColor) {
-        // Set QS icons and background.
-        for (int i = 0; i < mColorTileIconIds.length && i < icons.size(); i++) {
-            Drawable icon = icons.get(mColorTileIconIds[i][1]).getConstantState()
-                    .newDrawable().mutate();
-            Drawable bgShape = shapeDrawable.getConstantState().newDrawable();
-            bgShape.setTint(accentColor);
-
-            ImageView bg = mContentView.findViewById(mColorTileIds[i]);
-            bg.setImageDrawable(bgShape);
-            ImageView fg = mContentView.findViewById(mColorTileIconIds[i][0]);
-            fg.setImageDrawable(icon);
-        }
-
-        // Set color for Buttons (CheckBox, RadioButton, and Switch).
-        ColorStateList tintList = getColorStateList(accentColor);
-        for (int mColorButtonId : mColorButtonIds) {
-            CompoundButton button = mContentView.findViewById(mColorButtonId);
-            button.setButtonTintList(tintList);
-            if (button instanceof Switch) {
-                ((Switch) button).setThumbTintList(tintList);
-                ((Switch) button).setTrackTintList(tintList);
-            }
-        }
-    }
-
-    private void setColorAndIconsBoxRadius(int cornerRadius) {
-        ((CardView) mContentView.findViewById(R.id.color_icons_section)).setRadius(cornerRadius);
-    }
-
-    private void setQsbRadius(int cornerRadius) {
-        View qsb = mContentView.findViewById(R.id.theme_qsb);
-        if (qsb != null && qsb.getVisibility() == View.VISIBLE) {
-            if (qsb.getBackground() instanceof GradientDrawable) {
-                GradientDrawable bg = (GradientDrawable) qsb.getBackground();
-                float radius = useRoundedQSB(cornerRadius)
-                        ? (float) qsb.getLayoutParams().height / 2 : cornerRadius;
-                bg.setCornerRadii(new float[]{
-                        radius, radius, radius, radius,
-                        radius, radius, radius, radius});
-            }
-        }
-    }
-
-    private void updateTime() {
-        Calendar calendar = Calendar.getInstance(TimeZone.getDefault());
-        if (mStatusBarClock != null) {
-            mStatusBarClock.setText(TimeUtils.getFormattedTime(mContext, calendar));
-        }
-        if (mSmartSpaceDate != null) {
-            String datePattern =
-                    DateFormat.getBestDateTimePattern(Locale.getDefault(), DATE_FORMAT);
-            mSmartSpaceDate.setText(DateFormat.format(datePattern, calendar));
-        }
-    }
-
-    private boolean useRoundedQSB(int cornerRadius) {
-        return cornerRadius >= mContext.getResources().getDimensionPixelSize(
-                R.dimen.roundCornerThreshold);
-    }
-
-    private ColorStateList getColorStateList(int accentColor) {
-        int controlGreyColor =
-                ResourceUtils.getColorAttr(mContext, android.R.attr.textColorTertiary);
-        return new ColorStateList(
-                new int[][]{
-                        new int[]{android.R.attr.state_selected},
-                        new int[]{android.R.attr.state_checked},
-                        new int[]{-android.R.attr.state_enabled},
-                },
-                new int[] {
-                        accentColor,
-                        accentColor,
-                        controlGreyColor
-                }
-        );
-    }
-
-    /**
-     * Gets the screen height which does not include the system status bar and bottom navigation
-     * bar.
-     */
-    private int getDisplayHeight() {
-        final DisplayMetrics dm = mContext.getResources().getDisplayMetrics();
-        return dm.heightPixels;
-    }
-
-    // The height of top tool bar (R.layout.section_header).
-    private int getTopToolBarHeight() {
-        final TypedValue typedValue = new TypedValue();
-        return mContext.getTheme().resolveAttribute(
-                android.R.attr.actionBarSize, typedValue, true)
-                ? TypedValue.complexToDimensionPixelSize(
-                        typedValue.data, mContext.getResources().getDisplayMetrics())
-                : 0;
-    }
-
-    private int getFullPreviewCardHeight() {
-        final Resources res = mContext.getResources();
-        return getDisplayHeight()
-                - getTopToolBarHeight()
-                - res.getDimensionPixelSize(R.dimen.bottom_actions_height)
-                - res.getDimensionPixelSize(R.dimen.full_preview_page_default_padding_top)
-                - res.getDimensionPixelSize(R.dimen.full_preview_page_default_padding_bottom);
-    }
-}
diff --git a/src/com/android/customization/picker/themedicon/ThemedIconSectionView.java b/src/com/android/customization/picker/themedicon/ThemedIconSectionView.java
index 3e03a41..f83da8c 100644
--- a/src/com/android/customization/picker/themedicon/ThemedIconSectionView.java
+++ b/src/com/android/customization/picker/themedicon/ThemedIconSectionView.java
@@ -40,18 +40,16 @@
     protected void onFinishInflate() {
         super.onFinishInflate();
         mSwitchView = findViewById(R.id.themed_icon_toggle);
-        setOnClickListener(v -> mSwitchView.toggle());
-        mSwitchView.setOnCheckedChangeListener((buttonView, isChecked) -> viewActivated(isChecked));
+        setOnClickListener(v -> {
+            mSwitchView.toggle();
+            if (mSectionViewListener != null) {
+                mSectionViewListener.onViewActivated(getContext(), mSwitchView.isChecked());
+            }
+        });
     }
 
     /** Gets the switch view. */
     public Switch getSwitch() {
         return mSwitchView;
     }
-
-    private void viewActivated(boolean isChecked) {
-        if (mSectionViewListener != null) {
-            mSectionViewListener.onViewActivated(getContext(), isChecked);
-        }
-    }
 }
diff --git a/src/com/android/customization/widget/OptionSelectorController.java b/src/com/android/customization/widget/OptionSelectorController.java
deleted file mode 100644
index 8c7af00..0000000
--- a/src/com/android/customization/widget/OptionSelectorController.java
+++ /dev/null
@@ -1,469 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.widget;
-
-import static com.android.internal.util.Preconditions.checkNotNull;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
-import android.text.TextUtils;
-import android.util.DisplayMetrics;
-import android.util.TypedValue;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.view.accessibility.AccessibilityEvent;
-import android.widget.TextView;
-
-import androidx.annotation.Dimension;
-import androidx.annotation.IntDef;
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate;
-
-import com.android.customization.model.CustomizationManager;
-import com.android.customization.model.CustomizationOption;
-import com.android.wallpaper.R;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Simple controller for a RecyclerView-based widget to hold the options for each customization
- * section (eg, thumbnails for themes, clocks, grid sizes).
- * To use, just pass the RV that will contain the tiles and the list of {@link CustomizationOption}
- * representing each option, and call {@link #initOptions(CustomizationManager)} to populate the
- * widget.
- */
-public class OptionSelectorController<T extends CustomizationOption<T>> {
-
-    /**
-     * Interface to be notified when an option is selected by the user.
-     */
-    public interface OptionSelectedListener {
-
-        /**
-         * Called when an option has been selected (and marked as such in the UI)
-         */
-        void onOptionSelected(CustomizationOption selected);
-    }
-
-    @IntDef({CheckmarkStyle.NONE, CheckmarkStyle.CORNER, CheckmarkStyle.CENTER,
-            CheckmarkStyle.CENTER_CHANGE_COLOR_WHEN_NOT_SELECTED})
-    public @interface CheckmarkStyle {
-        int NONE = 0;
-        int CORNER = 1;
-        int CENTER = 2;
-        int CENTER_CHANGE_COLOR_WHEN_NOT_SELECTED = 3;
-    }
-
-    private final float mLinearLayoutHorizontalDisplayOptionsMax;
-
-    private final RecyclerView mContainer;
-    private final List<T> mOptions;
-    private final boolean mUseGrid;
-    @CheckmarkStyle
-    private final int mCheckmarkStyle;
-
-    private final Set<OptionSelectedListener> mListeners = new HashSet<>();
-    private RecyclerView.Adapter<TileViewHolder> mAdapter;
-    private T mSelectedOption;
-    private T mAppliedOption;
-
-    public OptionSelectorController(RecyclerView container, List<T> options) {
-        this(container, options, true, CheckmarkStyle.CORNER);
-    }
-
-    public OptionSelectorController(RecyclerView container, List<T> options,
-            boolean useGrid, @CheckmarkStyle int checkmarkStyle) {
-        mContainer = container;
-        mOptions = options;
-        mUseGrid = useGrid;
-        mCheckmarkStyle = checkmarkStyle;
-        TypedValue typedValue = new TypedValue();
-        mContainer.getResources().getValue(R.dimen.linear_layout_horizontal_display_options_max,
-                typedValue, true);
-        mLinearLayoutHorizontalDisplayOptionsMax = typedValue.getFloat();
-    }
-
-    public void addListener(OptionSelectedListener listener) {
-        mListeners.add(listener);
-    }
-
-    public void removeListener(OptionSelectedListener listener) {
-        mListeners.remove(listener);
-    }
-
-    /**
-     * Mark the given option as selected
-     */
-    public void setSelectedOption(T option) {
-        if (!mOptions.contains(option)) {
-            throw new IllegalArgumentException("Invalid option");
-        }
-        T lastSelectedOption = mSelectedOption;
-        mSelectedOption = option;
-        mAdapter.notifyItemChanged(mOptions.indexOf(option));
-        if (lastSelectedOption != null) {
-            mAdapter.notifyItemChanged(mOptions.indexOf(lastSelectedOption));
-        }
-        notifyListeners();
-    }
-
-    /**
-     * @return whether this controller contains the given option
-     */
-    public boolean containsOption(T option) {
-        return mOptions.contains(option);
-    }
-
-    /**
-     * Mark an option as the one which is currently applied on the device. This will result in a
-     * check being displayed in the lower-right corner of the corresponding ViewHolder.
-     */
-    public void setAppliedOption(T option) {
-        if (!mOptions.contains(option)) {
-            throw new IllegalArgumentException("Invalid option");
-        }
-        T lastAppliedOption = mAppliedOption;
-        mAppliedOption = option;
-        mAdapter.notifyItemChanged(mOptions.indexOf(option));
-        if (lastAppliedOption != null) {
-            mAdapter.notifyItemChanged(mOptions.indexOf(lastAppliedOption));
-        }
-    }
-
-    /**
-     * Notify that a given option has changed.
-     *
-     * @param option the option that changed
-     */
-    public void optionChanged(T option) {
-        if (!mOptions.contains(option)) {
-            throw new IllegalArgumentException("Invalid option");
-        }
-        mAdapter.notifyItemChanged(mOptions.indexOf(option));
-    }
-
-    /**
-     * Initializes the UI for the options passed in the constructor of this class.
-     */
-    public void initOptions(final CustomizationManager<T> manager) {
-        mContainer.setAccessibilityDelegateCompat(
-                new OptionSelectorAccessibilityDelegate(mContainer));
-
-        mAdapter = new RecyclerView.Adapter<TileViewHolder>() {
-            @Override
-            public int getItemViewType(int position) {
-                return mOptions.get(position).getLayoutResId();
-            }
-
-            @NonNull
-            @Override
-            public TileViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-                View v = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false);
-                // Provide width constraint when a grid layout manager is not use and width is set
-                // to match parent
-                if (!mUseGrid
-                        && v.getLayoutParams().width == RecyclerView.LayoutParams.MATCH_PARENT) {
-                    Resources res = mContainer.getContext().getResources();
-                    RecyclerView.LayoutParams layoutParams = new RecyclerView.LayoutParams(
-                            res.getDimensionPixelSize(R.dimen.option_tile_width),
-                            RecyclerView.LayoutParams.WRAP_CONTENT);
-                    v.setLayoutParams(layoutParams);
-                }
-                return new TileViewHolder(v);
-            }
-
-            @Override
-            public void onBindViewHolder(@NonNull TileViewHolder holder, int position) {
-                T option = mOptions.get(position);
-                if (option.isActive(manager)) {
-                    mAppliedOption = option;
-                    if (mSelectedOption == null) {
-                        mSelectedOption = option;
-                    }
-                }
-                if (holder.labelView != null) {
-                    holder.labelView.setText(option.getTitle());
-                }
-                holder.itemView.setActivated(option.equals(mSelectedOption));
-                option.bindThumbnailTile(holder.tileView);
-                holder.itemView.setOnClickListener(view -> setSelectedOption(option));
-
-                Resources res = mContainer.getContext().getResources();
-                if (mCheckmarkStyle == CheckmarkStyle.CORNER && option.equals(mAppliedOption)) {
-                    drawCheckmark(option, holder,
-                            res.getDrawable(R.drawable.check_circle_accent_24dp,
-                                    mContainer.getContext().getTheme()),
-                            Gravity.BOTTOM | Gravity.RIGHT,
-                            res.getDimensionPixelSize(R.dimen.check_size),
-                            res.getDimensionPixelOffset(R.dimen.check_offset), true);
-                } else if (mCheckmarkStyle == CheckmarkStyle.CENTER
-                        && option.equals(mAppliedOption)) {
-                    drawCheckmark(option, holder,
-                            res.getDrawable(R.drawable.check_circle_grey_large,
-                                    mContainer.getContext().getTheme()),
-                            Gravity.CENTER, res.getDimensionPixelSize(R.dimen.center_check_size),
-                            0, true);
-                } else if (mCheckmarkStyle == CheckmarkStyle.CENTER_CHANGE_COLOR_WHEN_NOT_SELECTED
-                        && option.equals(mAppliedOption)) {
-                    int drawableRes = option.equals(mSelectedOption)
-                            ? R.drawable.check_circle_grey_large
-                            : R.drawable.check_circle_grey_large_not_select;
-                    drawCheckmark(option, holder,
-                            res.getDrawable(drawableRes,
-                                    mContainer.getContext().getTheme()),
-                            Gravity.CENTER, res.getDimensionPixelSize(R.dimen.center_check_size),
-                            0, option.equals(mSelectedOption));
-                } else if (option.equals(mAppliedOption)) {
-                    // Initialize with "previewed" description if we don't show checkmark
-                    holder.setContentDescription(mContainer.getContext(), option,
-                            R.string.option_previewed_description);
-                } else if (mCheckmarkStyle != CheckmarkStyle.NONE) {
-                    if (mCheckmarkStyle == CheckmarkStyle.CENTER_CHANGE_COLOR_WHEN_NOT_SELECTED) {
-                        if (option.equals(mSelectedOption)) {
-                            holder.setContentDescription(mContainer.getContext(), option,
-                                    R.string.option_previewed_description);
-                        } else {
-                            holder.setContentDescription(mContainer.getContext(), option,
-                                    R.string.option_change_applied_previewed_description);
-                        }
-                    }
-
-                    holder.tileView.setForeground(null);
-                }
-            }
-
-            @Override
-            public int getItemCount() {
-                return mOptions.size();
-            }
-
-            private void drawCheckmark(CustomizationOption<?> option, TileViewHolder holder,
-                    Drawable checkmark, int gravity, @Dimension int checkSize,
-                    @Dimension int checkOffset, boolean currentlyPreviewed) {
-                Drawable frame = holder.tileView.getForeground();
-                Drawable[] layers = {frame, checkmark};
-                if (frame == null) {
-                    layers = new Drawable[]{checkmark};
-                }
-                LayerDrawable checkedFrame = new LayerDrawable(layers);
-
-                // Position according to the given gravity and offset
-                int idx = layers.length - 1;
-                checkedFrame.setLayerGravity(idx, gravity);
-                checkedFrame.setLayerWidth(idx, checkSize);
-                checkedFrame.setLayerHeight(idx, checkSize);
-                checkedFrame.setLayerInsetBottom(idx, checkOffset);
-                checkedFrame.setLayerInsetRight(idx, checkOffset);
-                holder.tileView.setForeground(checkedFrame);
-
-                // Initialize the currently applied option
-                if (currentlyPreviewed) {
-                    holder.setContentDescription(mContainer.getContext(), option,
-                            R.string.option_applied_previewed_description);
-                } else {
-                    holder.setContentDescription(mContainer.getContext(), option,
-                            R.string.option_applied_description);
-                }
-            }
-        };
-
-        Resources res = mContainer.getContext().getResources();
-        mContainer.setAdapter(mAdapter);
-        final DisplayMetrics metrics = new DisplayMetrics();
-        mContainer.getContext().getSystemService(WindowManager.class)
-                .getDefaultDisplay().getMetrics(metrics);
-        final boolean hasDecoration = mContainer.getItemDecorationCount() != 0;
-
-        if (mUseGrid) {
-            int numColumns = res.getInteger(R.integer.options_grid_num_columns);
-            GridLayoutManager gridLayoutManager = new GridLayoutManager(mContainer.getContext(),
-                    numColumns);
-            mContainer.setLayoutManager(gridLayoutManager);
-        } else {
-            final int padding = res.getDimensionPixelSize(
-                    R.dimen.option_tile_linear_padding_horizontal);
-            final int widthPerItem = res.getDimensionPixelSize(R.dimen.option_tile_width) + (
-                    hasDecoration ? 0 : 2 * padding);
-            mContainer.setLayoutManager(new LinearLayoutManager(mContainer.getContext(),
-                    LinearLayoutManager.HORIZONTAL, false));
-            mContainer.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
-            int availableWidth = metrics.widthPixels;
-            int extraSpace = availableWidth - mContainer.getMeasuredWidth();
-            if (extraSpace >= 0) {
-                mContainer.setOverScrollMode(View.OVER_SCROLL_NEVER);
-            }
-
-            if (mAdapter.getItemCount() >= mLinearLayoutHorizontalDisplayOptionsMax) {
-                int spaceBetweenItems = availableWidth
-                        - Math.round(widthPerItem * mLinearLayoutHorizontalDisplayOptionsMax)
-                        - mContainer.getPaddingLeft();
-                int itemEndMargin =
-                        spaceBetweenItems / (int) mLinearLayoutHorizontalDisplayOptionsMax;
-                itemEndMargin = Math.max(itemEndMargin, res.getDimensionPixelOffset(
-                        R.dimen.option_tile_margin_horizontal));
-                mContainer.addItemDecoration(new ItemEndHorizontalSpaceItemDecoration(
-                        mContainer.getContext(), itemEndMargin));
-                return;
-            }
-
-            int spaceBetweenItems = extraSpace / (mAdapter.getItemCount() + 1);
-            int itemSideMargin = spaceBetweenItems / 2;
-            mContainer.addItemDecoration(new HorizontalSpacerItemDecoration(itemSideMargin));
-        }
-    }
-
-    public void resetOptions(List<T> options) {
-        mOptions.clear();
-        mOptions.addAll(options);
-        mAdapter.notifyDataSetChanged();
-    }
-
-    private void notifyListeners() {
-        if (mListeners.isEmpty()) {
-            return;
-        }
-        T option = mSelectedOption;
-        Set<OptionSelectedListener> iterableListeners = new HashSet<>(mListeners);
-        for (OptionSelectedListener listener : iterableListeners) {
-            listener.onOptionSelected(option);
-        }
-    }
-
-    private static class TileViewHolder extends RecyclerView.ViewHolder {
-        TextView labelView;
-        View tileView;
-        CharSequence title;
-
-        TileViewHolder(@NonNull View itemView) {
-            super(itemView);
-            labelView = itemView.findViewById(R.id.option_label);
-            tileView = itemView.findViewById(R.id.option_tile);
-            title = null;
-        }
-
-        /**
-         * Set the content description for this holder using the given string id.
-         * If the option does not have a label, the description will be set on the tile view.
-         *
-         * @param context The view's context
-         * @param option  The customization option
-         * @param id      Resource ID of the string to use for the content description
-         */
-        public void setContentDescription(Context context, CustomizationOption<?> option, int id) {
-            title = option.getTitle();
-            if (TextUtils.isEmpty(title) && tileView != null) {
-                title = tileView.getContentDescription();
-            }
-
-            CharSequence cd = context.getString(id, title);
-            if (labelView != null && !TextUtils.isEmpty(labelView.getText())) {
-                labelView.setAccessibilityPaneTitle(cd);
-                labelView.setContentDescription(cd);
-            } else if (tileView != null) {
-                tileView.setAccessibilityPaneTitle(cd);
-                tileView.setContentDescription(cd);
-            }
-        }
-
-        public void resetContentDescription() {
-            if (labelView != null && !TextUtils.isEmpty(labelView.getText())) {
-                labelView.setAccessibilityPaneTitle(title);
-                labelView.setContentDescription(title);
-            } else if (tileView != null) {
-                tileView.setAccessibilityPaneTitle(title);
-                tileView.setContentDescription(title);
-            }
-        }
-    }
-
-    private class OptionSelectorAccessibilityDelegate extends RecyclerViewAccessibilityDelegate {
-
-        OptionSelectorAccessibilityDelegate(RecyclerView recyclerView) {
-            super(recyclerView);
-        }
-
-        @Override
-        public boolean onRequestSendAccessibilityEvent(
-                ViewGroup host, View child, AccessibilityEvent event) {
-
-            // Apply this workaround to horizontal recyclerview only,
-            // since the symptom is TalkBack will lose focus when navigating horizontal list items.
-            if (mContainer.getLayoutManager() != null
-                    && mContainer.getLayoutManager().canScrollHorizontally()
-                    && event.getEventType() == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED) {
-                int itemPos = mContainer.getChildLayoutPosition(child);
-                int itemWidth = mContainer.getContext().getResources()
-                        .getDimensionPixelOffset(R.dimen.option_tile_width);
-                int itemMarginHorizontal = mContainer.getContext().getResources()
-                        .getDimensionPixelOffset(R.dimen.option_tile_margin_horizontal) * 2;
-                int scrollOffset = itemWidth + itemMarginHorizontal;
-
-                // Make focusing item's previous/next item totally visible when changing focus,
-                // ensure TalkBack won't lose focus when recyclerview scrolling.
-                if (itemPos >= ((LinearLayoutManager) mContainer.getLayoutManager())
-                        .findLastCompletelyVisibleItemPosition()) {
-                    mContainer.scrollBy(scrollOffset, 0);
-                } else if (itemPos <= ((LinearLayoutManager) mContainer.getLayoutManager())
-                        .findFirstCompletelyVisibleItemPosition() && itemPos != 0) {
-                    mContainer.scrollBy(-scrollOffset, 0);
-                }
-            }
-            return super.onRequestSendAccessibilityEvent(host, child, event);
-        }
-    }
-
-    /** Custom ItemDecorator to add specific spacing between items in the list. */
-    private static final class ItemEndHorizontalSpaceItemDecoration
-            extends RecyclerView.ItemDecoration {
-        private final int mHorizontalSpacePx;
-        private final boolean mDirectionLTR;
-
-        private ItemEndHorizontalSpaceItemDecoration(Context context, int horizontalSpacePx) {
-            mDirectionLTR = context.getResources().getConfiguration().getLayoutDirection()
-                    == View.LAYOUT_DIRECTION_LTR;
-            mHorizontalSpacePx = horizontalSpacePx;
-        }
-
-        @Override
-        public void getItemOffsets(Rect outRect, View view, RecyclerView recyclerView,
-                RecyclerView.State state) {
-            if (recyclerView.getAdapter() == null) {
-                return;
-            }
-
-            if (recyclerView.getChildAdapterPosition(view)
-                    != checkNotNull(recyclerView.getAdapter()).getItemCount() - 1) {
-                // Don't add spacing behind the last item
-                if (mDirectionLTR) {
-                    outRect.right = mHorizontalSpacePx;
-                } else {
-                    outRect.left = mHorizontalSpacePx;
-                }
-            }
-        }
-    }
-}
diff --git a/src_override/com/android/wallpaper/module/AppModule.kt b/src_override/com/android/wallpaper/module/AppModule.kt
index 95da101..0d80e22 100644
--- a/src_override/com/android/wallpaper/module/AppModule.kt
+++ b/src_override/com/android/wallpaper/module/AppModule.kt
@@ -16,9 +16,16 @@
 package com.android.wallpaper.module
 
 import android.content.Context
+import com.android.customization.model.color.ColorCustomizationManager
+import com.android.customization.model.theme.OverlayManagerCompat
 import com.android.customization.module.CustomizationInjector
 import com.android.customization.module.DefaultCustomizationPreferences
 import com.android.customization.module.ThemePickerInjector
+import com.android.customization.module.logging.ThemesUserEventLogger
+import com.android.customization.module.logging.ThemesUserEventLoggerImpl
+import com.android.wallpaper.module.logging.UserEventLogger
+import com.android.wallpaper.util.converter.DefaultWallpaperModelFactory
+import com.android.wallpaper.util.converter.WallpaperModelFactory
 import dagger.Binds
 import dagger.Module
 import dagger.Provides
@@ -32,6 +39,20 @@
 abstract class AppModule {
     @Binds @Singleton abstract fun bindInjector(impl: ThemePickerInjector): CustomizationInjector
 
+    @Binds
+    @Singleton
+    abstract fun bindUserEventLogger(impl: ThemesUserEventLoggerImpl): UserEventLogger
+
+    @Binds
+    @Singleton
+    abstract fun bindThemesUserEventLogger(impl: ThemesUserEventLoggerImpl): ThemesUserEventLogger
+
+    @Binds
+    @Singleton
+    abstract fun bindWallpaperModelFactory(
+        impl: DefaultWallpaperModelFactory
+    ): WallpaperModelFactory
+
     companion object {
         @Provides
         @Singleton
@@ -40,5 +61,13 @@
         ): WallpaperPreferences {
             return DefaultCustomizationPreferences(context)
         }
+
+        @Provides
+        @Singleton
+        fun provideColorCustomizationManager(
+            @ApplicationContext context: Context
+        ): ColorCustomizationManager {
+            return ColorCustomizationManager.getInstance(context, OverlayManagerCompat(context))
+        }
     }
 }
diff --git a/src_override/com/android/wallpaper/picker/di/modules/InteractorModule.kt b/src_override/com/android/wallpaper/picker/di/modules/InteractorModule.kt
new file mode 100644
index 0000000..81edb2f
--- /dev/null
+++ b/src_override/com/android/wallpaper/picker/di/modules/InteractorModule.kt
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.wallpaper.picker.di.modules
+
+import android.text.TextUtils
+import com.android.customization.model.color.ColorCustomizationManager
+import com.android.customization.model.color.ColorOptionsProvider.COLOR_SOURCE_PRESET
+import com.android.wallpaper.picker.customization.data.repository.WallpaperRepository
+import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor
+import dagger.Module
+import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
+import javax.inject.Singleton
+
+/** This class provides the singleton scoped interactors for theme picker. */
+@InstallIn(SingletonComponent::class)
+@Module
+internal object InteractorModule {
+
+    @Provides
+    @Singleton
+    fun provideWallpaperInteractor(
+        wallpaperRepository: WallpaperRepository,
+        colorCustomizationManager: ColorCustomizationManager,
+    ): WallpaperInteractor {
+        return WallpaperInteractor(wallpaperRepository) {
+            TextUtils.equals(colorCustomizationManager.currentColorSource, COLOR_SOURCE_PRESET)
+        }
+    }
+}
diff --git a/tests/Android.bp b/tests/Android.bp
index 798d910..93851bd 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -21,17 +21,43 @@
     default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
+filegroup {
+    name: "ThemePickerTests_srcs",
+
+    visibility: [
+        "//visibility:public"
+    ],
+
+    srcs: [
+        "src/**/*.java",
+        "src/**/*.kt",
+    ],
+}
+
 android_test {
     name: "ThemePickerTests",
 
     defaults: ["ThemePicker_defaults"],
     srcs: [
-        "src/**/*.java",
-        "src/**/*.kt",
+        ":ThemePickerTests_srcs",
+        ":WallpaperPicker2Tests_srcs",
+        "module/src/com/android/customization/TestModule.kt",
     ],
+    exclude_srcs: [":ThemePicker_src_prod"],
     static_libs: [
         "WallpaperPicker2TestLib",
+        "WallpaperPicker2TestRunner",
+        "ThemePickerTestLib",
+        "androidx.test.espresso.core",
+        "androidx.test.espresso.contrib",
+        "androidx.test.espresso.intents",
+        "androidx.test.ext.junit",
         "androidx.test.rules",
+        "hamcrest-library",
+        "hamcrest",
+        "hilt_android",
+        "hilt_android_testing",
+        "mockito-target-minus-junit4",
         "junit",
         "kotlinx_coroutines_test",
         "truth",
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 2fd6b3f..f1c0cf2 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -18,9 +18,17 @@
 
     <application>
         <uses-library android:name="android.test.runner" />
+
+        <activity android:name="com.android.wallpaper.picker.PreviewActivity"
+            android:resizeableActivity="false">
+        </activity>
+
+        <activity android:name="com.android.wallpaper.picker.preview.ui.WallpaperPreviewActivity"
+            android:resizeableActivity="false">
+        </activity>
     </application>
 
-    <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
+    <instrumentation android:name="com.android.wallpaper.CustomTestRunner"
         android:targetPackage="com.android.wallpaper"
         android:label="Tests for ThemePicker" />
 
diff --git a/tests/AndroidTest.xml b/tests/AndroidTest.xml
index be2119b..18e95ef 100644
--- a/tests/AndroidTest.xml
+++ b/tests/AndroidTest.xml
@@ -22,7 +22,7 @@
     <option name="test-tag" value="ThemePickerTests" />
     <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
         <option name="package" value="com.android.wallpaper" />
-        <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
+        <option name="runner" value="com.android.wallpaper.CustomTestRunner" />
         <option name="hidden-api-checks" value="false"/>
     </test>
 </configuration>
diff --git a/tests/common/Android.bp b/tests/common/Android.bp
index dd23723..9215ba6 100644
--- a/tests/common/Android.bp
+++ b/tests/common/Android.bp
@@ -23,10 +23,10 @@
 android_library {
     name: "ThemePickerTestLib",
 
-    defaults: ["ThemePicker_defaults"],
+    defaults: ["ThemePicker_common_defaults"],
     srcs: [
-        "src/com/android/customization/testing/**/*.java",
-        "src/com/android/customization/testing/**/*.kt",
+        "src/**/*.java",
+        "src/**/*.kt",
     ],
     static_libs: [
         "WallpaperPicker2TestLib",
diff --git a/tests/common/src/com/android/customization/module/logging/TestThemesUserEventLogger.kt b/tests/common/src/com/android/customization/module/logging/TestThemesUserEventLogger.kt
new file mode 100644
index 0000000..8e9dacd
--- /dev/null
+++ b/tests/common/src/com/android/customization/module/logging/TestThemesUserEventLogger.kt
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.module.logging
+
+import android.stats.style.StyleEnums
+import com.android.customization.model.grid.GridOption
+import com.android.customization.module.logging.ThemesUserEventLogger.ClockSize
+import com.android.customization.module.logging.ThemesUserEventLogger.ColorSource
+import com.android.wallpaper.module.logging.TestUserEventLogger
+import javax.inject.Inject
+import javax.inject.Singleton
+
+/** Test implementation of [ThemesUserEventLogger]. */
+@Singleton
+class TestThemesUserEventLogger @Inject constructor() :
+    TestUserEventLogger(), ThemesUserEventLogger {
+    @ClockSize private var clockSize: Int = StyleEnums.CLOCK_SIZE_UNSPECIFIED
+    @ColorSource
+    var themeColorSource: Int = StyleEnums.COLOR_SOURCE_UNSPECIFIED
+        private set
+    var themeColorStyle: Int = -1
+        private set
+    var themeSeedColor: Int = -1
+        private set
+
+    override fun logThemeColorApplied(@ColorSource source: Int, style: Int, seedColor: Int) {
+        this.themeColorSource = source
+        this.themeColorStyle = style
+        this.themeSeedColor = seedColor
+    }
+
+    override fun logGridApplied(grid: GridOption) {}
+
+    override fun logClockApplied(clockId: String) {}
+
+    override fun logClockColorApplied(seedColor: Int) {}
+
+    override fun logClockSizeApplied(@ClockSize clockSize: Int) {
+        this.clockSize = clockSize
+    }
+
+    override fun logThemedIconApplied(useThemeIcon: Boolean) {}
+
+    override fun logLockScreenNotificationApplied(showLockScreenNotifications: Boolean) {}
+
+    override fun logShortcutApplied(shortcut: String, shortcutSlotId: String) {}
+
+    override fun logDarkThemeApplied(useDarkTheme: Boolean) {}
+
+    @ClockSize
+    fun getLoggedClockSize(): Int {
+        return clockSize
+    }
+}
diff --git a/tests/common/src/com/android/customization/testing/TestCustomizationInjector.kt b/tests/common/src/com/android/customization/testing/TestCustomizationInjector.kt
new file mode 100644
index 0000000..b0ffcb6
--- /dev/null
+++ b/tests/common/src/com/android/customization/testing/TestCustomizationInjector.kt
@@ -0,0 +1,104 @@
+package com.android.customization.testing
+
+import android.app.WallpaperColors
+import android.content.Context
+import android.content.res.Resources
+import androidx.activity.ComponentActivity
+import com.android.customization.model.color.ThemedWallpaperColorResources
+import com.android.customization.model.color.WallpaperColorResources
+import com.android.customization.module.CustomizationInjector
+import com.android.customization.module.CustomizationPreferences
+import com.android.customization.module.logging.ThemesUserEventLogger
+import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
+import com.android.customization.picker.clock.ui.view.ClockViewFactory
+import com.android.customization.picker.clock.ui.viewmodel.ClockCarouselViewModel
+import com.android.customization.picker.clock.ui.viewmodel.ClockSettingsViewModel
+import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor
+import com.android.customization.picker.color.ui.viewmodel.ColorPickerViewModel
+import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
+import com.android.systemui.shared.clocks.ClockRegistry
+import com.android.wallpaper.module.logging.UserEventLogger
+import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository
+import com.android.wallpaper.testing.TestInjector
+import javax.inject.Inject
+import javax.inject.Singleton
+
+@Singleton
+open class TestCustomizationInjector
+@Inject
+constructor(
+    private val customPrefs: TestDefaultCustomizationPreferences,
+    private val themesUserEventLogger: ThemesUserEventLogger
+) : TestInjector(themesUserEventLogger), CustomizationInjector {
+    /////////////////
+    // CustomizationInjector implementations
+    /////////////////
+
+    override fun getCustomizationPreferences(context: Context): CustomizationPreferences {
+        return customPrefs
+    }
+
+    override fun getKeyguardQuickAffordancePickerInteractor(
+        context: Context
+    ): KeyguardQuickAffordancePickerInteractor {
+        throw UnsupportedOperationException("not implemented")
+    }
+
+    override fun getClockRegistry(context: Context): ClockRegistry? {
+        throw UnsupportedOperationException("not implemented")
+    }
+
+    override fun getClockPickerInteractor(context: Context): ClockPickerInteractor {
+        throw UnsupportedOperationException("not implemented")
+    }
+
+    override fun getWallpaperColorResources(
+        wallpaperColors: WallpaperColors,
+        context: Context
+    ): WallpaperColorResources {
+        return ThemedWallpaperColorResources(wallpaperColors, context)
+    }
+
+    override fun getColorPickerInteractor(
+        context: Context,
+        wallpaperColorsRepository: WallpaperColorsRepository,
+    ): ColorPickerInteractor {
+        throw UnsupportedOperationException("not implemented")
+    }
+
+    override fun getColorPickerViewModelFactory(
+        context: Context,
+        wallpaperColorsRepository: WallpaperColorsRepository,
+    ): ColorPickerViewModel.Factory {
+        throw UnsupportedOperationException("not implemented")
+    }
+
+    override fun getClockCarouselViewModelFactory(
+        interactor: ClockPickerInteractor,
+        clockViewFactory: ClockViewFactory,
+        resources: Resources,
+        logger: ThemesUserEventLogger,
+    ): ClockCarouselViewModel.Factory {
+        throw UnsupportedOperationException("not implemented")
+    }
+
+    override fun getClockViewFactory(activity: ComponentActivity): ClockViewFactory {
+        throw UnsupportedOperationException("not implemented")
+    }
+
+    override fun getClockSettingsViewModelFactory(
+        context: Context,
+        wallpaperColorsRepository: WallpaperColorsRepository,
+        clockViewFactory: ClockViewFactory,
+    ): ClockSettingsViewModel.Factory {
+        throw UnsupportedOperationException("not implemented")
+    }
+
+    /////////////////
+    // TestInjector overrides
+    /////////////////
+
+    override fun getUserEventLogger(context: Context): UserEventLogger {
+        return themesUserEventLogger
+    }
+}
diff --git a/tests/common/src/com/android/customization/testing/TestDefaultCustomizationPreferences.java b/tests/common/src/com/android/customization/testing/TestDefaultCustomizationPreferences.java
deleted file mode 100644
index 81890f0..0000000
--- a/tests/common/src/com/android/customization/testing/TestDefaultCustomizationPreferences.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.testing;
-
-import android.content.Context;
-
-import com.android.customization.module.DefaultCustomizationPreferences;
-
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * Test implementation of {@link DefaultCustomizationPreferences}.
- */
-public class TestDefaultCustomizationPreferences extends DefaultCustomizationPreferences {
-
-    private String mCustomThemes;
-    private final Set<String> mTabVisited = new HashSet<>();
-
-    public TestDefaultCustomizationPreferences(Context context) {
-        super(context);
-    }
-
-    @Override
-    public String getSerializedCustomThemes() {
-        return mCustomThemes;
-    }
-
-    @Override
-    public void storeCustomThemes(String serializedCustomThemes) {
-        mCustomThemes = serializedCustomThemes;
-    }
-
-    @Override
-    public boolean getTabVisited(String id) {
-        return mTabVisited.contains(id);
-    }
-
-    @Override
-    public void setTabVisited(String id) {
-        mTabVisited.add(id);
-    }
-}
diff --git a/tests/common/src/com/android/customization/testing/TestDefaultCustomizationPreferences.kt b/tests/common/src/com/android/customization/testing/TestDefaultCustomizationPreferences.kt
new file mode 100644
index 0000000..10fe5ac
--- /dev/null
+++ b/tests/common/src/com/android/customization/testing/TestDefaultCustomizationPreferences.kt
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.testing
+
+import com.android.customization.module.CustomizationPreferences
+import com.android.wallpaper.testing.TestWallpaperPreferences
+import javax.inject.Inject
+import javax.inject.Singleton
+
+/** Test implementation of [CustomizationPreferences]. */
+@Singleton
+open class TestDefaultCustomizationPreferences @Inject constructor() :
+    TestWallpaperPreferences(), CustomizationPreferences {
+
+    private var customThemes: String? = null
+    private val tabVisited: MutableSet<String> = HashSet()
+    private var themedIconEnabled = false
+
+    override fun getSerializedCustomThemes(): String? {
+        return customThemes
+    }
+
+    override fun storeCustomThemes(serializedCustomThemes: String) {
+        customThemes = serializedCustomThemes
+    }
+
+    override fun getTabVisited(id: String): Boolean {
+        return tabVisited.contains(id)
+    }
+
+    override fun setTabVisited(id: String) {
+        tabVisited.add(id)
+    }
+
+    override fun getThemedIconEnabled(): Boolean {
+        return themedIconEnabled
+    }
+
+    override fun setThemedIconEnabled(enabled: Boolean) {
+        themedIconEnabled = enabled
+    }
+}
diff --git a/tests/common/src/com/android/customization/testing/TestDrawableLayerResolver.java b/tests/common/src/com/android/customization/testing/TestDrawableLayerResolver.java
deleted file mode 100644
index 8b16299..0000000
--- a/tests/common/src/com/android/customization/testing/TestDrawableLayerResolver.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.testing;
-
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
-
-import com.android.wallpaper.module.DrawableLayerResolver;
-
-/**
- * Test implementation of {@link DrawableLayerResolver}.
- */
-public class TestDrawableLayerResolver implements DrawableLayerResolver {
-    @Override
-    public Drawable resolveLayer(LayerDrawable layerDrawable) {
-        return layerDrawable.getDrawable(0);
-    }
-}
diff --git a/tests/common/src/com/android/customization/testing/TestPackageStatusNotifier.java b/tests/common/src/com/android/customization/testing/TestPackageStatusNotifier.java
deleted file mode 100644
index 2aadae8..0000000
--- a/tests/common/src/com/android/customization/testing/TestPackageStatusNotifier.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.testing;
-
-import com.android.wallpaper.module.PackageStatusNotifier;
-
-/**
- * Test implementation of {@link PackageStatusNotifier}.
- */
-public class TestPackageStatusNotifier implements PackageStatusNotifier {
-    @Override
-    public void addListener(Listener listener, String action) {
-        // Do nothing
-    }
-
-    @Override
-    public void removeListener(Listener listener) {
-        // Do nothing
-    }
-}
diff --git a/tests/common/src/com/android/customization/testing/TestThemeManager.java b/tests/common/src/com/android/customization/testing/TestThemeManager.java
deleted file mode 100644
index 5175b24..0000000
--- a/tests/common/src/com/android/customization/testing/TestThemeManager.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.testing;
-
-import androidx.fragment.app.FragmentActivity;
-
-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.module.ThemesUserEventLogger;
-
-/**
- * Test implementation of {@link ThemeManager}.
- */
-public class TestThemeManager extends ThemeManager {
-
-    private static boolean sIsAvailable;
-
-    public TestThemeManager(
-            ThemeBundleProvider provider,
-            FragmentActivity activity,
-            OverlayManagerCompat overlayManagerCompat,
-            ThemesUserEventLogger logger) {
-        super(provider, activity, overlayManagerCompat, logger);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return sIsAvailable;
-    }
-
-    public static void setAvailable(boolean available) {
-        sIsAvailable = available;
-    }
-}
diff --git a/tests/common/src/com/android/customization/testing/TestThemesUserEventLogger.java b/tests/common/src/com/android/customization/testing/TestThemesUserEventLogger.java
deleted file mode 100644
index 22a5b94..0000000
--- a/tests/common/src/com/android/customization/testing/TestThemesUserEventLogger.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.testing;
-
-import com.android.customization.model.color.ColorOption;
-import com.android.customization.model.grid.GridOption;
-import com.android.customization.model.theme.ThemeBundle;
-import com.android.customization.module.ThemesUserEventLogger;
-import com.android.wallpaper.testing.TestUserEventLogger;
-
-/**
- * Test implementation of {@link ThemesUserEventLogger}.
- */
-public class TestThemesUserEventLogger extends TestUserEventLogger
-        implements ThemesUserEventLogger {
-    @Override
-    public void logThemeSelected(ThemeBundle theme, boolean isCustomTheme) {
-        // Do nothing.
-    }
-
-    @Override
-    public void logThemeApplied(ThemeBundle theme, boolean isCustomTheme) {
-        // Do nothing.
-    }
-
-    @Override
-    public void logColorApplied(int action, ColorOption colorOption) {
-        // Do nothing.
-    }
-
-    @Override
-    public void logGridSelected(GridOption grid) {
-        // Do nothing.
-    }
-
-    @Override
-    public void logGridApplied(GridOption grid) {
-        // Do nothing.
-    }
-}
diff --git a/tests/module/src/com/android/customization/TestModule.kt b/tests/module/src/com/android/customization/TestModule.kt
new file mode 100644
index 0000000..1ad63a9
--- /dev/null
+++ b/tests/module/src/com/android/customization/TestModule.kt
@@ -0,0 +1,83 @@
+package com.android.customization
+
+import androidx.test.core.app.ApplicationProvider
+import com.android.customization.model.color.ColorCustomizationManager
+import com.android.customization.model.theme.OverlayManagerCompat
+import com.android.customization.module.CustomizationInjector
+import com.android.customization.module.CustomizationPreferences
+import com.android.customization.module.logging.TestThemesUserEventLogger
+import com.android.customization.module.logging.ThemesUserEventLogger
+import com.android.customization.testing.TestCustomizationInjector
+import com.android.customization.testing.TestDefaultCustomizationPreferences
+import com.android.wallpaper.module.AppModule
+import com.android.wallpaper.module.Injector
+import com.android.wallpaper.module.WallpaperPreferences
+import com.android.wallpaper.module.logging.TestUserEventLogger
+import com.android.wallpaper.module.logging.UserEventLogger
+import com.android.wallpaper.testing.TestInjector
+import com.android.wallpaper.testing.TestWallpaperPreferences
+import com.android.wallpaper.util.converter.DefaultWallpaperModelFactory
+import com.android.wallpaper.util.converter.WallpaperModelFactory
+import dagger.Binds
+import dagger.Module
+import dagger.Provides
+import dagger.hilt.components.SingletonComponent
+import dagger.hilt.testing.TestInstallIn
+import javax.inject.Singleton
+
+@Module
+@TestInstallIn(components = [SingletonComponent::class], replaces = [AppModule::class])
+abstract class TestModule {
+    //// WallpaperPicker2 prod
+
+    @Binds @Singleton abstract fun bindInjector(impl: TestCustomizationInjector): Injector
+
+    @Binds @Singleton abstract fun bindUserEventLogger(impl: TestUserEventLogger): UserEventLogger
+
+    @Binds
+    @Singleton
+    abstract fun bindThemesUserEventLogger(impl: TestThemesUserEventLogger): ThemesUserEventLogger
+
+    @Binds
+    @Singleton
+    abstract fun bindWallpaperPrefs(impl: TestDefaultCustomizationPreferences): WallpaperPreferences
+
+    //// WallpaperPicker2 test
+
+    @Binds @Singleton abstract fun bindTestInjector(impl: TestCustomizationInjector): TestInjector
+
+    @Binds
+    @Singleton
+    abstract fun bindTestWallpaperPrefs(
+        impl: TestDefaultCustomizationPreferences
+    ): TestWallpaperPreferences
+
+    //// ThemePicker prod
+
+    @Binds
+    @Singleton
+    abstract fun bindCustomizationInjector(impl: TestCustomizationInjector): CustomizationInjector
+
+    @Binds
+    @Singleton
+    abstract fun bindCustomizationPrefs(
+        impl: TestDefaultCustomizationPreferences
+    ): CustomizationPreferences
+
+    @Binds
+    @Singleton
+    abstract fun bindWallpaperModelFactory(
+        impl: DefaultWallpaperModelFactory
+    ): WallpaperModelFactory
+
+    companion object {
+        @Provides
+        @Singleton
+        fun provideColorCustomizationManager(): ColorCustomizationManager {
+            return ColorCustomizationManager.getInstance(
+                ApplicationProvider.getApplicationContext(),
+                OverlayManagerCompat(ApplicationProvider.getApplicationContext())
+            )
+        }
+    }
+}
diff --git a/tests/robotests/Android.bp b/tests/robotests/Android.bp
index 645b452..4c67591 100644
--- a/tests/robotests/Android.bp
+++ b/tests/robotests/Android.bp
@@ -3,22 +3,30 @@
     default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
+android_app {
+    name: "ThemePickerShell",
+    defaults: ["ThemePicker_defaults"],
+    platform_apis: true,
+    static_libs: ["ThemePickerTestLib"],
+}
+
 android_robolectric_test {
     name: "ThemePickerRoboTests",
     srcs: [
         "src/**/*.java",
         "src/**/*.kt",
     ],
-    // TODO(b/291104503) Enable this test
-    exclude_srcs: ["src/com/android/customization/model/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModelTest.kt"],
     java_resource_dirs: ["config"],
+
+    // Do not add picker-related dependencies here. Add them to ThemePickerShell
+    // instead.
     static_libs: [
-        "WallpaperPicker2TestLib",
         "androidx.test.rules",
         "junit",
         "kotlinx_coroutines_test",
         "truth",
     ],
+
     libs: [
         "androidx.test.core",
         "androidx.test.runner",
@@ -26,5 +34,5 @@
 
     upstream: true,
 
-    instrumentation_for: "ThemePicker",
+    instrumentation_for: "ThemePickerShell",
 }
diff --git a/tests/robotests/res/values/overlayable_icons_test.xml b/tests/robotests/res/values/overlayable_icons_test.xml
deleted file mode 100644
index 73cffe1..0000000
--- a/tests/robotests/res/values/overlayable_icons_test.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<!--
-   Copyright (C) 2019 The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-<resources>
-  <!-- overlayable_icons references all of the drawables in this package
-       that are being overlayed by resource overlays. If you remove/rename
-       any of these resources, you must also change the resource overlay icons.-->
-  <array name="overlayable_icons">
-    <item>@drawable/ic_add_24px</item>
-    <item>@drawable/ic_close_24px</item>
-    <item>@drawable/ic_colorize_24px</item>
-    <item>@drawable/ic_delete_24px</item>
-    <item>@drawable/ic_font</item>
-    <item>@drawable/ic_nav_clock</item>
-    <item>@drawable/ic_nav_grid</item>
-    <item>@drawable/ic_nav_theme</item>
-    <item>@drawable/ic_nav_wallpaper</item>
-    <item>@drawable/ic_shapes_24px</item>
-    <item>@drawable/ic_tune</item>
-    <item>@drawable/ic_wifi_24px</item>
-  </array>
-</resources>
diff --git a/tests/robotests/src/com/android/customization/model/color/ColorCustomizationManagerTest.kt b/tests/robotests/src/com/android/customization/model/color/ColorCustomizationManagerTest.kt
index 80d01c6..e9f4683 100644
--- a/tests/robotests/src/com/android/customization/model/color/ColorCustomizationManagerTest.kt
+++ b/tests/robotests/src/com/android/customization/model/color/ColorCustomizationManagerTest.kt
@@ -16,7 +16,9 @@
 package com.android.customization.model.color
 
 import android.app.WallpaperColors
+import android.content.Context
 import android.graphics.Color
+import androidx.test.core.app.ApplicationProvider
 import com.android.customization.model.CustomizationManager
 import com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR
 import com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SYSTEM_PALETTE
@@ -25,25 +27,23 @@
 import com.android.customization.model.color.ColorOptionsProvider.OVERLAY_COLOR_BOTH
 import com.android.customization.model.color.ColorOptionsProvider.OVERLAY_COLOR_INDEX
 import com.android.customization.model.color.ColorOptionsProvider.OVERLAY_COLOR_SOURCE
+import com.android.customization.model.color.ColorOptionsProvider.OVERLAY_THEME_STYLE
 import com.android.customization.model.theme.OverlayManagerCompat
+import com.android.customization.picker.color.shared.model.ColorType
 import com.android.systemui.monet.Style
 import com.google.common.truth.Truth.assertThat
 import org.json.JSONObject
 import org.junit.Before
-import org.junit.Ignore
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.ArgumentMatchers.anyInt
 import org.mockito.Mock
 import org.mockito.MockitoAnnotations
 import org.mockito.junit.MockitoJUnit
 import org.mockito.junit.MockitoRule
 import org.robolectric.RobolectricTestRunner
-import org.robolectric.RuntimeEnvironment
 
 /** Tests of {@link ColorCustomizationManager}. */
-// TODO(b/222433744): most of these tests are failing due to the manager apk missing in the image
 @RunWith(RobolectricTestRunner::class)
 class ColorCustomizationManagerTest {
 
@@ -57,12 +57,11 @@
     @Before
     fun setUp() {
         MockitoAnnotations.initMocks(this)
-        val application = RuntimeEnvironment.application
+        val application = ApplicationProvider.getApplicationContext<Context>()
         manager = ColorCustomizationManager(provider, application.contentResolver, mockOM)
     }
 
     @Test
-    @Ignore("b/260925899")
     fun testParseSettings() {
         val source = COLOR_SOURCE_HOME
         val style = Style.SPRITZ
@@ -73,6 +72,7 @@
                 OVERLAY_CATEGORY_SYSTEM_PALETTE to someColor,
                 OVERLAY_CATEGORY_COLOR to someOtherColor,
                 OVERLAY_COLOR_SOURCE to source,
+                OVERLAY_THEME_STYLE to style.toString(),
                 ColorOption.TIMESTAMP_FIELD to "12345"
             )
         val json = JSONObject(settings).toString()
@@ -80,114 +80,119 @@
         manager.parseSettings(json)
 
         assertThat(manager.currentColorSource).isEqualTo(source)
-        assertThat(manager.currentStyle).isEqualTo(style)
+        assertThat(manager.currentStyle).isEqualTo(style.toString())
         assertThat(manager.currentOverlays.size).isEqualTo(2)
-        assertThat(manager.currentOverlays.get(OVERLAY_CATEGORY_COLOR)).isEqualTo(someOtherColor)
-        assertThat(manager.currentOverlays.get(OVERLAY_CATEGORY_SYSTEM_PALETTE))
-            .isEqualTo(someColor)
+        assertThat(manager.currentOverlays[OVERLAY_CATEGORY_COLOR]).isEqualTo(someOtherColor)
+        assertThat(manager.currentOverlays[OVERLAY_CATEGORY_SYSTEM_PALETTE]).isEqualTo(someColor)
     }
 
     @Test
-    @Ignore("b/260925899")
-    fun apply_ColorBundle_index() {
-        testApplyColorBundle(1, "1")
-        testApplyColorBundle(2, "2")
-        testApplyColorBundle(3, "3")
-        testApplyColorBundle(4, "4")
+    fun apply_PresetColorOption_index() {
+        testApplyPresetColorOption(1, "1")
+        testApplyPresetColorOption(2, "2")
+        testApplyPresetColorOption(3, "3")
+        testApplyPresetColorOption(4, "4")
     }
 
-    private fun testApplyColorBundle(index: Int, value: String) {
+    private fun testApplyPresetColorOption(index: Int, value: String) {
         manager.apply(
-            getColorBundle(index),
+            getPresetColorOption(index),
             object : CustomizationManager.Callback {
                 override fun onSuccess() {}
                 override fun onError(throwable: Throwable?) {}
             }
         )
 
+        Thread.sleep(100)
+
         val overlaysJson = JSONObject(manager.storedOverlays)
 
         assertThat(overlaysJson.getString(OVERLAY_COLOR_INDEX)).isEqualTo(value)
     }
-
-    private fun getColorBundle(index: Int): ColorBundle {
-        return ColorBundle(
-            "fake color",
-            mapOf("fake_package" to "fake_color"),
-            /* isDefault= */ false,
-            null,
-            /* index= */ index,
-            null
-        )
-    }
-
     @Test
-    @Ignore("b/260925899")
-    fun apply_ColorSeed_index() {
-        testApplyColorSeed(1, "1")
-        testApplyColorSeed(2, "2")
-        testApplyColorSeed(3, "3")
-        testApplyColorSeed(4, "4")
+    fun apply_WallpaperColorOption_index() {
+        testApplyWallpaperColorOption(1, "1")
+        testApplyWallpaperColorOption(2, "2")
+        testApplyWallpaperColorOption(3, "3")
+        testApplyWallpaperColorOption(4, "4")
     }
 
-    private fun testApplyColorSeed(index: Int, value: String) {
+    private fun testApplyWallpaperColorOption(index: Int, value: String) {
         manager.apply(
-            getColorSeed(index),
+            getWallpaperColorOption(index),
             object : CustomizationManager.Callback {
                 override fun onSuccess() {}
                 override fun onError(throwable: Throwable?) {}
             }
         )
 
+        Thread.sleep(100)
+
         val overlaysJson = JSONObject(manager.storedOverlays)
         assertThat(overlaysJson.getString(OVERLAY_COLOR_INDEX)).isEqualTo(value)
     }
 
-    private fun getColorSeed(index: Int): ColorSeedOption {
-        return ColorSeedOption(
+    private fun getPresetColorOption(index: Int): ColorOptionImpl {
+        return ColorOptionImpl(
             "fake color",
             mapOf("fake_package" to "fake_color"),
             /* isDefault= */ false,
             COLOR_SOURCE_PRESET,
-            null,
+            Style.TONAL_SPOT,
             index,
-            null
+            ColorOptionImpl.PreviewInfo(intArrayOf(0), intArrayOf(0)),
+            ColorType.PRESET_COLOR
+        )
+    }
+
+    private fun getWallpaperColorOption(index: Int): ColorOptionImpl {
+        return ColorOptionImpl(
+            "fake color",
+            mapOf("fake_package" to "fake_color"),
+            /* isDefault= */ false,
+            COLOR_SOURCE_HOME,
+            Style.TONAL_SPOT,
+            index,
+            ColorOptionImpl.PreviewInfo(intArrayOf(0), intArrayOf(0)),
+            ColorType.WALLPAPER_COLOR
         )
     }
 
     @Test
-    @Ignore("b/260925899")
     fun testApply_colorSeedFromWallpaperBoth_shouldReturnBothValue() {
         val wallpaperColor = WallpaperColors(Color.valueOf(Color.RED), null, null)
         manager.setWallpaperColors(wallpaperColor, wallpaperColor)
 
         manager.apply(
-            getColorSeed(anyInt()),
+            getWallpaperColorOption(0),
             object : CustomizationManager.Callback {
                 override fun onSuccess() {}
                 override fun onError(throwable: Throwable?) {}
             }
         )
 
+        Thread.sleep(100)
+
         val overlaysJson = JSONObject(manager.storedOverlays)
         assertThat(overlaysJson.getString(OVERLAY_COLOR_BOTH)).isEqualTo("1")
     }
 
     @Test
-    @Ignore("b/260925899")
     fun testApply_colorSeedFromWallpaperDifferent_shouldReturnNonBothValue() {
         val wallpaperColor1 = WallpaperColors(Color.valueOf(Color.RED), null, null)
         val wallpaperColor2 = WallpaperColors(Color.valueOf(Color.BLUE), null, null)
         manager.setWallpaperColors(wallpaperColor1, wallpaperColor2)
 
         manager.apply(
-            getColorSeed(anyInt()),
+            getWallpaperColorOption(0),
             object : CustomizationManager.Callback {
                 override fun onSuccess() {}
                 override fun onError(throwable: Throwable?) {}
             }
         )
 
+        Thread.sleep(100)
+
         val overlaysJson = JSONObject(manager.storedOverlays)
         assertThat(overlaysJson.getString(OVERLAY_COLOR_BOTH)).isEqualTo("0")
     }
diff --git a/tests/robotests/src/com/android/customization/model/color/ColorOptionTest.kt b/tests/robotests/src/com/android/customization/model/color/ColorOptionTest.kt
index 0431c19..b9156d6 100644
--- a/tests/robotests/src/com/android/customization/model/color/ColorOptionTest.kt
+++ b/tests/robotests/src/com/android/customization/model/color/ColorOptionTest.kt
@@ -15,13 +15,14 @@
  */
 package com.android.customization.model.color
 
+import com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SYSTEM_PALETTE
 import com.android.customization.model.color.ColorOptionsProvider.COLOR_SOURCE_HOME
 import com.android.customization.model.color.ColorOptionsProvider.COLOR_SOURCE_LOCK
 import com.android.customization.model.color.ColorOptionsProvider.COLOR_SOURCE_PRESET
+import com.android.customization.picker.color.shared.model.ColorType
 import com.android.systemui.monet.Style
 import com.google.common.truth.Truth.assertThat
-import org.junit.Assert.assertEquals
-import org.junit.Ignore
+import org.json.JSONObject
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -40,108 +41,77 @@
     @Mock private lateinit var manager: ColorCustomizationManager
 
     @Test
-    fun colorOption_Source_Preset() {
-        val bundleOption: ColorOption =
-            ColorBundle(
-                "fake color",
-                mapOf("fake_package" to "fake_color"),
-                false,
-                null,
-                /* index= */ 0,
-                null
-            )
-        assertEquals(COLOR_SOURCE_PRESET, bundleOption.source)
+    fun colorOption_Source() {
+        testColorOptionSource(COLOR_SOURCE_HOME)
+        testColorOptionSource(COLOR_SOURCE_LOCK)
+        testColorOptionSource(COLOR_SOURCE_PRESET)
     }
 
-    @Test
-    fun colorOption_bundle_index() {
-        testBundleOptionIndex(1)
-        testBundleOptionIndex(2)
-        testBundleOptionIndex(3)
-        testBundleOptionIndex(4)
-    }
-
-    private fun testBundleOptionIndex(index: Int) {
-        val bundleOption: ColorBundle =
-            ColorBundle(
-                "fake color",
-                mapOf("fake_package" to "fake_color"),
-                false,
-                null,
-                /* index= */ index,
-                null
-            )
-        assertThat(bundleOption.index).isEqualTo(index)
-    }
-
-    @Test
-    fun colorOption_Source_Seed() {
-        testSeedOptionSource(COLOR_SOURCE_HOME)
-        testSeedOptionSource(COLOR_SOURCE_LOCK)
-    }
-
-    private fun testSeedOptionSource(source: String) {
-        val seedOption: ColorOption =
-            ColorSeedOption(
+    private fun testColorOptionSource(source: String) {
+        val colorOption: ColorOption =
+            ColorOptionImpl(
                 "fake color",
                 mapOf("fake_package" to "fake_color"),
                 false,
                 source,
-                null,
+                Style.TONAL_SPOT,
                 /* index= */ 0,
-                null
+                ColorOptionImpl.PreviewInfo(intArrayOf(0), intArrayOf(0)),
+                ColorType.WALLPAPER_COLOR
             )
-        assertThat(seedOption.source).isEqualTo(source)
+        assertThat(colorOption.source).isEqualTo(source)
     }
 
     @Test
-    fun colorOption_seed_style() {
-        testSeedOptionStyle(Style.TONAL_SPOT)
-        testSeedOptionStyle(Style.SPRITZ)
-        testSeedOptionStyle(Style.VIBRANT)
-        testSeedOptionStyle(Style.EXPRESSIVE)
+    fun colorOption_style() {
+        testColorOptionStyle(Style.TONAL_SPOT)
+        testColorOptionStyle(Style.SPRITZ)
+        testColorOptionStyle(Style.VIBRANT)
+        testColorOptionStyle(Style.EXPRESSIVE)
     }
 
-    private fun testSeedOptionStyle(style: Style) {
-        val seedOption: ColorOption =
-            ColorSeedOption(
+    private fun testColorOptionStyle(style: Style) {
+        val colorOption: ColorOption =
+            ColorOptionImpl(
                 "fake color",
                 mapOf("fake_package" to "fake_color"),
                 /* isDefault= */ false,
                 "fake_source",
                 style,
                 0,
-                null
+                ColorOptionImpl.PreviewInfo(intArrayOf(0), intArrayOf(0)),
+                ColorType.WALLPAPER_COLOR
             )
-        assertThat(seedOption.style).isEqualTo(style)
+        assertThat(colorOption.style).isEqualTo(style)
     }
 
     @Test
-    fun colorOption_seed_index() {
-        testSeedOptionIndex(1)
-        testSeedOptionIndex(2)
-        testSeedOptionIndex(3)
-        testSeedOptionIndex(4)
+    fun colorOption_index() {
+        testColorOptionIndex(1)
+        testColorOptionIndex(2)
+        testColorOptionIndex(3)
+        testColorOptionIndex(4)
     }
 
-    private fun testSeedOptionIndex(index: Int) {
-        val seedOption: ColorOption =
-            ColorSeedOption(
+    private fun testColorOptionIndex(index: Int) {
+        val colorOption: ColorOption =
+            ColorOptionImpl(
                 "fake color",
                 mapOf("fake_package" to "fake_color"),
                 /* isDefault= */ false,
                 "fake_source",
                 Style.TONAL_SPOT,
                 index,
-                /* previewInfo= */ null
+                ColorOptionImpl.PreviewInfo(intArrayOf(0), intArrayOf(0)),
+                ColorType.WALLPAPER_COLOR
             )
-        assertThat(seedOption.index).isEqualTo(index)
+        assertThat(colorOption.index).isEqualTo(index)
     }
 
-    private fun setUpSeedOption(
+    private fun setUpWallpaperColorOption(
         isDefault: Boolean,
         source: String = "some_source"
-    ): ColorSeedOption {
+    ): ColorOptionImpl {
         val overlays =
             if (isDefault) {
                 HashMap()
@@ -149,67 +119,69 @@
                 mapOf("package" to "value", "otherPackage" to "otherValue")
             }
         `when`(manager.currentOverlays).thenReturn(overlays)
-        return ColorSeedOption(
+        return ColorOptionImpl(
             "seed",
             overlays,
             isDefault,
             source,
             Style.TONAL_SPOT,
             /* index= */ 0,
-            /* previewInfo= */ null
+            ColorOptionImpl.PreviewInfo(intArrayOf(0), intArrayOf(0)),
+            ColorType.WALLPAPER_COLOR
         )
     }
 
     @Test
-    fun seedOption_isActive_notDefault_SourceSet() {
+    fun wallpaperColorOption_isActive_notDefault_SourceSet() {
         val source = "some_source"
-        val seedOption = setUpSeedOption(false, source)
+        val colorOption = setUpWallpaperColorOption(false, source)
         `when`(manager.currentColorSource).thenReturn(source)
 
-        assertThat(seedOption.isActive(manager)).isTrue()
+        assertThat(colorOption.isActive(manager)).isTrue()
     }
 
     @Test
-    fun seedOption_isActive_notDefault_NoSource() {
-        val seedOption = setUpSeedOption(false)
+    fun wallpaperColorOption_isActive_notDefault_NoSource() {
+        val colorOption = setUpWallpaperColorOption(false)
         `when`(manager.currentColorSource).thenReturn(null)
 
-        assertThat(seedOption.isActive(manager)).isTrue()
+        assertThat(colorOption.isActive(manager)).isTrue()
     }
 
     @Test
-    fun seedOption_isActive_notDefault_differentSource() {
-        val seedOption = setUpSeedOption(false)
+    fun wallpaperColorOption_isActive_notDefault_differentSource() {
+        val colorOption = setUpWallpaperColorOption(false)
         `when`(manager.currentColorSource).thenReturn("some_other_source")
 
-        assertThat(seedOption.isActive(manager)).isFalse()
+        assertThat(colorOption.isActive(manager)).isFalse()
     }
 
     @Test
-    fun seedOption_isActive_default_emptyJson() {
-        val seedOption = setUpSeedOption(true)
+    fun wallpaperColorOption_isActive_default_emptyJson() {
+        val colorOption = setUpWallpaperColorOption(true)
         `when`(manager.storedOverlays).thenReturn("")
 
-        assertThat(seedOption.isActive(manager)).isTrue()
+        assertThat(colorOption.isActive(manager)).isTrue()
     }
 
     @Test
-    fun seedOption_isActive_default_nonEmptyJson() {
-        val seedOption = setUpSeedOption(true)
+    fun wallpaperColorOption_isActive_default_nonEmptyJson() {
+        val colorOption = setUpWallpaperColorOption(true)
 
         `when`(manager.storedOverlays).thenReturn("{non-empty-json}")
 
         // Should still be Active because overlays is empty
-        assertThat(seedOption.isActive(manager)).isTrue()
+        assertThat(colorOption.isActive(manager)).isTrue()
     }
 
     @Test
-    @Ignore("b/260925899")
-    fun seedOption_isActive_default_nonEmptyOverlays() {
-        val seedOption = setUpSeedOption(true)
+    fun wallpaperColorOption_isActive_default_nonEmptyOverlays() {
+        val colorOption = setUpWallpaperColorOption(true)
 
-        `when`(manager.currentOverlays).thenReturn(mapOf("a" to "b"))
-        // TODO(b/222433744): failing as it's true
-        assertThat(seedOption.isActive(manager)).isFalse()
+        val settings = mapOf(OVERLAY_CATEGORY_SYSTEM_PALETTE to "fake_color")
+        val json = JSONObject(settings).toString()
+        `when`(manager.storedOverlays).thenReturn(json)
+        `when`(manager.currentOverlays).thenReturn(settings)
+        assertThat(colorOption.isActive(manager)).isFalse()
     }
 }
diff --git a/tests/robotests/src/com/android/customization/model/grid/GridOptionsManagerTest.java b/tests/robotests/src/com/android/customization/model/grid/GridOptionsManagerTest.java
index 04ac024..52c6489 100644
--- a/tests/robotests/src/com/android/customization/model/grid/GridOptionsManagerTest.java
+++ b/tests/robotests/src/com/android/customization/model/grid/GridOptionsManagerTest.java
@@ -24,7 +24,7 @@
 import androidx.annotation.Nullable;
 
 import com.android.customization.model.CustomizationManager.Callback;
-import com.android.customization.module.ThemesUserEventLogger;
+import com.android.customization.module.logging.ThemesUserEventLogger;
 
 import org.junit.Before;
 import org.junit.Ignore;
diff --git a/tests/robotests/src/com/android/customization/model/grid/data/repository/FakeGridRepository.kt b/tests/robotests/src/com/android/customization/model/grid/data/repository/FakeGridRepository.kt
index 317ad3a..de68bf0 100644
--- a/tests/robotests/src/com/android/customization/model/grid/data/repository/FakeGridRepository.kt
+++ b/tests/robotests/src/com/android/customization/model/grid/data/repository/FakeGridRepository.kt
@@ -19,8 +19,9 @@
 
 import com.android.customization.model.CustomizationManager
 import com.android.customization.model.grid.GridOption
-import com.android.customization.model.grid.shared.model.GridOptionItemModel
-import com.android.customization.model.grid.shared.model.GridOptionItemsModel
+import com.android.customization.picker.grid.data.repository.GridRepository
+import com.android.customization.picker.grid.shared.model.GridOptionItemModel
+import com.android.customization.picker.grid.shared.model.GridOptionItemsModel
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.channels.BufferOverflow
 import kotlinx.coroutines.flow.Flow
diff --git a/tests/robotests/src/com/android/customization/model/grid/domain/interactor/GridInteractorTest.kt b/tests/robotests/src/com/android/customization/model/grid/domain/interactor/GridInteractorTest.kt
index f73d5a3..3d6c623 100644
--- a/tests/robotests/src/com/android/customization/model/grid/domain/interactor/GridInteractorTest.kt
+++ b/tests/robotests/src/com/android/customization/model/grid/domain/interactor/GridInteractorTest.kt
@@ -19,7 +19,9 @@
 
 import androidx.test.filters.SmallTest
 import com.android.customization.model.grid.data.repository.FakeGridRepository
-import com.android.customization.model.grid.shared.model.GridOptionItemsModel
+import com.android.customization.picker.grid.domain.interactor.GridInteractor
+import com.android.customization.picker.grid.domain.interactor.GridSnapshotRestorer
+import com.android.customization.picker.grid.shared.model.GridOptionItemsModel
 import com.android.wallpaper.testing.FakeSnapshotStore
 import com.android.wallpaper.testing.collectLastValue
 import com.google.common.truth.Truth.assertThat
diff --git a/tests/robotests/src/com/android/customization/model/grid/domain/interactor/GridSnapshotRestorerTest.kt b/tests/robotests/src/com/android/customization/model/grid/domain/interactor/GridSnapshotRestorerTest.kt
index c2712b1..e3f03b7 100644
--- a/tests/robotests/src/com/android/customization/model/grid/domain/interactor/GridSnapshotRestorerTest.kt
+++ b/tests/robotests/src/com/android/customization/model/grid/domain/interactor/GridSnapshotRestorerTest.kt
@@ -19,7 +19,9 @@
 
 import androidx.test.filters.SmallTest
 import com.android.customization.model.grid.data.repository.FakeGridRepository
-import com.android.customization.model.grid.shared.model.GridOptionItemsModel
+import com.android.customization.picker.grid.domain.interactor.GridInteractor
+import com.android.customization.picker.grid.domain.interactor.GridSnapshotRestorer
+import com.android.customization.picker.grid.shared.model.GridOptionItemsModel
 import com.android.wallpaper.testing.FakeSnapshotStore
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.ExperimentalCoroutinesApi
diff --git a/tests/robotests/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModelTest.kt b/tests/robotests/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModelTest.kt
index 58c5d99..46e914c 100644
--- a/tests/robotests/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModelTest.kt
+++ b/tests/robotests/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModelTest.kt
@@ -20,8 +20,10 @@
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
 import com.android.customization.model.grid.data.repository.FakeGridRepository
-import com.android.customization.model.grid.domain.interactor.GridInteractor
-import com.android.customization.model.grid.domain.interactor.GridSnapshotRestorer
+import com.android.customization.picker.grid.domain.interactor.GridInteractor
+import com.android.customization.picker.grid.domain.interactor.GridSnapshotRestorer
+import com.android.customization.picker.grid.ui.viewmodel.GridIconViewModel
+import com.android.customization.picker.grid.ui.viewmodel.GridScreenViewModel
 import com.android.wallpaper.picker.option.ui.viewmodel.OptionItemViewModel
 import com.android.wallpaper.testing.FakeSnapshotStore
 import com.android.wallpaper.testing.collectLastValue
diff --git a/tests/robotests/src/com/android/customization/model/picker/color/ui/viewmodel/ColorPickerViewModelTest.kt b/tests/robotests/src/com/android/customization/model/picker/color/ui/viewmodel/ColorPickerViewModelTest.kt
index 9968c5f..889720e 100644
--- a/tests/robotests/src/com/android/customization/model/picker/color/ui/viewmodel/ColorPickerViewModelTest.kt
+++ b/tests/robotests/src/com/android/customization/model/picker/color/ui/viewmodel/ColorPickerViewModelTest.kt
@@ -17,8 +17,12 @@
 package com.android.customization.model.picker.color.ui.viewmodel
 
 import android.content.Context
+import android.graphics.Color
+import android.stats.style.StyleEnums
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import com.android.customization.model.color.ColorOptionsProvider
+import com.android.customization.module.logging.TestThemesUserEventLogger
 import com.android.customization.picker.color.data.repository.FakeColorPickerRepository
 import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor
 import com.android.customization.picker.color.domain.interactor.ColorPickerSnapshotRestorer
@@ -26,6 +30,7 @@
 import com.android.customization.picker.color.ui.viewmodel.ColorOptionIconViewModel
 import com.android.customization.picker.color.ui.viewmodel.ColorPickerViewModel
 import com.android.customization.picker.color.ui.viewmodel.ColorTypeTabViewModel
+import com.android.systemui.monet.Style
 import com.android.wallpaper.picker.option.ui.viewmodel.OptionItemViewModel
 import com.android.wallpaper.testing.FakeSnapshotStore
 import com.android.wallpaper.testing.collectLastValue
@@ -36,6 +41,7 @@
 import kotlinx.coroutines.runBlocking
 import kotlinx.coroutines.test.StandardTestDispatcher
 import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.advanceUntilIdle
 import kotlinx.coroutines.test.resetMain
 import kotlinx.coroutines.test.runTest
 import kotlinx.coroutines.test.setMain
@@ -49,6 +55,7 @@
 @SmallTest
 @RunWith(RobolectricTestRunner::class)
 class ColorPickerViewModelTest {
+    private val logger = TestThemesUserEventLogger()
     private lateinit var underTest: ColorPickerViewModel
     private lateinit var repository: FakeColorPickerRepository
     private lateinit var interactor: ColorPickerInteractor
@@ -77,7 +84,11 @@
             )
 
         underTest =
-            ColorPickerViewModel.Factory(context = context, interactor = interactor)
+            ColorPickerViewModel.Factory(
+                    context = context,
+                    interactor = interactor,
+                    logger = logger
+                )
                 .create(ColorPickerViewModel::class.java)
 
         repository.setOptions(4, 4, ColorType.WALLPAPER_COLOR, 0)
@@ -112,6 +123,67 @@
         }
 
     @Test
+    fun `Log selected wallpaper color`() =
+        testScope.runTest {
+            repository.setOptions(
+                listOf(
+                    repository.buildWallpaperOption(
+                        ColorOptionsProvider.COLOR_SOURCE_LOCK,
+                        Style.EXPRESSIVE,
+                        "121212"
+                    )
+                ),
+                listOf(repository.buildPresetOption(Style.FRUIT_SALAD, "#ABCDEF")),
+                ColorType.PRESET_COLOR,
+                0
+            )
+
+            val colorTypes = collectLastValue(underTest.colorTypeTabs)
+            val colorOptions = collectLastValue(underTest.colorOptions)
+
+            // Select "Wallpaper colors" tab
+            colorTypes()?.get(ColorType.WALLPAPER_COLOR)?.onClick?.invoke()
+            // Select a color option
+            selectColorOption(colorOptions, 0)
+            advanceUntilIdle()
+
+            assertThat(logger.themeColorSource)
+                .isEqualTo(StyleEnums.COLOR_SOURCE_LOCK_SCREEN_WALLPAPER)
+            assertThat(logger.themeColorStyle).isEqualTo(Style.EXPRESSIVE.toString().hashCode())
+            assertThat(logger.themeSeedColor).isEqualTo(Color.parseColor("#121212"))
+        }
+
+    @Test
+    fun `Log selected preset color`() =
+        testScope.runTest {
+            repository.setOptions(
+                listOf(
+                    repository.buildWallpaperOption(
+                        ColorOptionsProvider.COLOR_SOURCE_LOCK,
+                        Style.EXPRESSIVE,
+                        "121212"
+                    )
+                ),
+                listOf(repository.buildPresetOption(Style.FRUIT_SALAD, "#ABCDEF")),
+                ColorType.WALLPAPER_COLOR,
+                0
+            )
+
+            val colorTypes = collectLastValue(underTest.colorTypeTabs)
+            val colorOptions = collectLastValue(underTest.colorOptions)
+
+            // Select "Wallpaper colors" tab
+            colorTypes()?.get(ColorType.PRESET_COLOR)?.onClick?.invoke()
+            // Select a color option
+            selectColorOption(colorOptions, 0)
+            advanceUntilIdle()
+
+            assertThat(logger.themeColorSource).isEqualTo(StyleEnums.COLOR_SOURCE_PRESET_COLOR)
+            assertThat(logger.themeColorStyle).isEqualTo(Style.FRUIT_SALAD.toString().hashCode())
+            assertThat(logger.themeSeedColor).isEqualTo(Color.parseColor("#ABCDEF"))
+        }
+
+    @Test
     fun `Select a preset color`() =
         testScope.runTest {
             val colorTypes = collectLastValue(underTest.colorTypeTabs)
diff --git a/tests/robotests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt b/tests/robotests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt
index 35dbadd..8687b30 100644
--- a/tests/robotests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt
+++ b/tests/robotests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt
@@ -19,17 +19,13 @@
 
 import androidx.test.filters.SmallTest
 import com.android.customization.picker.quickaffordance.data.repository.KeyguardQuickAffordancePickerRepository
-import com.android.systemui.shared.customization.data.content.CustomizationProviderContract
 import com.android.systemui.shared.customization.data.content.FakeCustomizationProviderClient
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.flow.toList
-import kotlinx.coroutines.launch
 import kotlinx.coroutines.test.TestScope
 import kotlinx.coroutines.test.UnconfinedTestDispatcher
 import kotlinx.coroutines.test.resetMain
-import kotlinx.coroutines.test.runTest
 import kotlinx.coroutines.test.setMain
 import org.junit.After
 import org.junit.Before
@@ -57,44 +53,18 @@
         underTest =
             KeyguardQuickAffordancePickerRepository(
                 client = client,
-                backgroundDispatcher = coroutineDispatcher,
+                scope = testScope.backgroundScope,
             )
     }
 
+    // We need at least one test to prevent Studio errors
+    @Test
+    fun creationSucceeds() {
+        assertThat(underTest).isNotNull()
+    }
+
     @After
     fun tearDown() {
         Dispatchers.resetMain()
     }
-
-    @Test
-    fun `isFeatureEnabled - enabled`() =
-        testScope.runTest {
-            client.setFlag(
-                CustomizationProviderContract.FlagsTable
-                    .FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED,
-                true,
-            )
-            val values = mutableListOf<Boolean>()
-            val job = launch { underTest.isFeatureEnabled.toList(values) }
-
-            assertThat(values.last()).isTrue()
-
-            job.cancel()
-        }
-
-    @Test
-    fun `isFeatureEnabled - not enabled`() =
-        testScope.runTest {
-            client.setFlag(
-                CustomizationProviderContract.FlagsTable
-                    .FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED,
-                false,
-            )
-            val values = mutableListOf<Boolean>()
-            val job = launch { underTest.isFeatureEnabled.toList(values) }
-
-            assertThat(values.last()).isFalse()
-
-            job.cancel()
-        }
 }
diff --git a/tests/robotests/src/com/android/customization/model/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractorTest.kt b/tests/robotests/src/com/android/customization/model/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractorTest.kt
index efe9f64..4b4790a 100644
--- a/tests/robotests/src/com/android/customization/model/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractorTest.kt
+++ b/tests/robotests/src/com/android/customization/model/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractorTest.kt
@@ -62,7 +62,7 @@
                 repository =
                     KeyguardQuickAffordancePickerRepository(
                         client = client,
-                        backgroundDispatcher = testDispatcher,
+                        scope = testScope.backgroundScope,
                     ),
                 client = client,
                 snapshotRestorer = {
@@ -132,7 +132,7 @@
                 affordanceId = FakeCustomizationProviderClient.AFFORDANCE_3,
             )
 
-            underTest.unselectAll(
+            underTest.unselectAllFromSlot(
                 slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END,
             )
 
diff --git a/tests/robotests/src/com/android/customization/model/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModelTest.kt b/tests/robotests/src/com/android/customization/model/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModelTest.kt
index f71bfc7..b572401 100644
--- a/tests/robotests/src/com/android/customization/model/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModelTest.kt
+++ b/tests/robotests/src/com/android/customization/model/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModelTest.kt
@@ -21,6 +21,7 @@
 import android.content.Intent
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.filters.SmallTest
+import com.android.customization.module.logging.TestThemesUserEventLogger
 import com.android.customization.picker.quickaffordance.data.repository.KeyguardQuickAffordancePickerRepository
 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordanceSnapshotRestorer
@@ -64,6 +65,8 @@
 @RunWith(RobolectricTestRunner::class)
 class KeyguardQuickAffordancePickerViewModelTest {
 
+    private val logger = TestThemesUserEventLogger()
+
     private lateinit var underTest: KeyguardQuickAffordancePickerViewModel
 
     private lateinit var context: Context
@@ -74,7 +77,7 @@
 
     @Before
     fun setUp() {
-        InjectorProvider.setInjector(TestInjector())
+        InjectorProvider.setInjector(TestInjector(logger))
         context = ApplicationProvider.getApplicationContext()
         val testDispatcher = StandardTestDispatcher()
         testScope = TestScope(testDispatcher)
@@ -86,7 +89,7 @@
                 repository =
                     KeyguardQuickAffordancePickerRepository(
                         client = client,
-                        backgroundDispatcher = testDispatcher,
+                        scope = testScope.backgroundScope,
                     ),
                 client = client,
                 snapshotRestorer = {
@@ -113,6 +116,7 @@
                     quickAffordanceInteractor = quickAffordanceInteractor,
                     wallpaperInteractor = wallpaperInteractor,
                     wallpaperInfoFactory = TestCurrentWallpaperInfoFactory(context),
+                    logger = logger,
                 )
                 .create(KeyguardQuickAffordancePickerViewModel::class.java)
     }
@@ -349,8 +353,16 @@
                                 "${FakeCustomizationProviderClient.AFFORDANCE_1}," +
                                     " ${FakeCustomizationProviderClient.AFFORDANCE_3}"
                             ),
-                        icon1 = Icon.Loaded(FakeCustomizationProviderClient.ICON_1, null),
-                        icon2 = Icon.Loaded(FakeCustomizationProviderClient.ICON_3, null),
+                        icon1 =
+                            Icon.Loaded(
+                                FakeCustomizationProviderClient.ICON_1,
+                                Text.Loaded("Left shortcut")
+                            ),
+                        icon2 =
+                            Icon.Loaded(
+                                FakeCustomizationProviderClient.ICON_3,
+                                Text.Loaded("Right shortcut")
+                            ),
                     )
                 )
         }
@@ -369,7 +381,11 @@
                 .isEqualTo(
                     KeyguardQuickAffordanceSummaryViewModel(
                         description = Text.Loaded(FakeCustomizationProviderClient.AFFORDANCE_1),
-                        icon1 = Icon.Loaded(FakeCustomizationProviderClient.ICON_1, null),
+                        icon1 =
+                            Icon.Loaded(
+                                FakeCustomizationProviderClient.ICON_1,
+                                Text.Loaded("Left shortcut")
+                            ),
                         icon2 = null,
                     )
                 )
@@ -393,7 +409,11 @@
                     KeyguardQuickAffordanceSummaryViewModel(
                         description = Text.Loaded(FakeCustomizationProviderClient.AFFORDANCE_3),
                         icon1 = null,
-                        icon2 = Icon.Loaded(FakeCustomizationProviderClient.ICON_3, null),
+                        icon2 =
+                            Icon.Loaded(
+                                FakeCustomizationProviderClient.ICON_3,
+                                Text.Loaded("Right shortcut")
+                            ),
                     )
                 )
         }
diff --git a/tests/robotests/src/com/android/customization/model/theme/ThemeManagerTest.java b/tests/robotests/src/com/android/customization/model/theme/ThemeManagerTest.java
deleted file mode 100644
index cfb8a33..0000000
--- a/tests/robotests/src/com/android/customization/model/theme/ThemeManagerTest.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.theme;
-
-import static com.android.customization.model.ResourceConstants.ANDROID_PACKAGE;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_FONT;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_ANDROID;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SETTINGS;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SYSUI;
-import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
-import static com.android.customization.model.ResourceConstants.SETTINGS_PACKAGE;
-import static com.android.customization.model.ResourceConstants.SYSUI_PACKAGE;
-import static com.android.customization.model.ResourceConstants.THEME_SETTING;
-
-import static junit.framework.Assert.assertFalse;
-import static junit.framework.Assert.assertTrue;
-import static junit.framework.TestCase.assertEquals;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.provider.Settings;
-
-import androidx.annotation.Nullable;
-import androidx.fragment.app.FragmentActivity;
-
-import com.android.customization.model.CustomizationManager.Callback;
-import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
-import com.android.customization.model.theme.custom.CustomTheme;
-import com.android.customization.module.ThemesUserEventLogger;
-import com.android.customization.testutils.OverlayManagerMocks;
-
-import org.json.JSONObject;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-public class ThemeManagerTest {
-
-    @Mock OverlayManagerCompat mMockOm;
-    @Mock ThemesUserEventLogger mThemesUserEventLogger;
-    @Mock ThemeBundleProvider mThemeBundleProvider;
-    private OverlayManagerMocks mMockOmHelper;
-    private ThemeManager mThemeManager;
-    private FragmentActivity mActivity;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
-        mActivity = spy(activity);
-        mMockOmHelper = new OverlayManagerMocks();
-        mMockOmHelper.setUpMock(mMockOm);
-        mThemeManager = new ThemeManager(mThemeBundleProvider, activity,
-                mMockOm, mThemesUserEventLogger);
-    }
-
-    @After
-    public void cleanUp() {
-        mMockOmHelper.clearOverlays();
-    }
-
-    @Test
-    public void apply_WithDefaultTheme_StoresEmptyJsonString() {
-        mMockOmHelper.addOverlay("test.package.name_color", ANDROID_PACKAGE,
-                OVERLAY_CATEGORY_COLOR, true, 0);
-        mMockOmHelper.addOverlay("test.package.name_font", ANDROID_PACKAGE,
-                OVERLAY_CATEGORY_FONT, true, 0);
-        mMockOmHelper.addOverlay("test.package.name_shape", ANDROID_PACKAGE,
-                OVERLAY_CATEGORY_SHAPE, true, 0);
-        mMockOmHelper.addOverlay("test.package.name_icon", ANDROID_PACKAGE,
-                OVERLAY_CATEGORY_ICON_ANDROID, true, 0);
-        mMockOmHelper.addOverlay("test.package.name_settings", SETTINGS_PACKAGE,
-                OVERLAY_CATEGORY_ICON_SETTINGS, true, 0);
-        mMockOmHelper.addOverlay("test.package.name_sysui", SYSUI_PACKAGE,
-                OVERLAY_CATEGORY_ICON_SYSUI, true, 0);
-        mMockOmHelper.addOverlay("test.package.name_themepicker", mActivity.getPackageName(),
-                OVERLAY_CATEGORY_ICON_SYSUI, true, 0);
-
-        ThemeBundle defaultTheme = new ThemeBundle.Builder().asDefault().build(mActivity);
-
-        applyTheme(defaultTheme);
-
-        assertEquals("Secure Setting should be empty JSON string after applying default theme",
-                new JSONObject().toString(),
-                Settings.Secure.getString(mActivity.getContentResolver(), THEME_SETTING));
-    }
-
-    @Test
-    public void apply_WithOverlayTheme_StoresSerializedPackagesWithTimestamp() {
-        ThemeBundle theme = getOverlayTheme();
-        final String serializedPackagesWithTimestamp = theme.getSerializedPackagesWithTimestamp();
-
-        theme = spy(theme);
-        // Makes it return the fixed serializedPackagesWithTimestamp to test. Since we will get
-        // fresh time every time, it's hard to compare for testing.
-        when(theme.getSerializedPackagesWithTimestamp())
-                .thenReturn(serializedPackagesWithTimestamp);
-
-        applyTheme(theme);
-
-        assertEquals("Secure Setting should be the overlay packages after applying theme",
-                serializedPackagesWithTimestamp,
-                Settings.Secure.getString(mActivity.getContentResolver(), THEME_SETTING));
-    }
-
-    @Test
-    public void isAvailable_ThemeBundleProviderAndOverlayManagerAreAvailable_ReturnsTrue() {
-        when(mThemeBundleProvider.isAvailable()).thenReturn(true);
-        when(mMockOm.isAvailable()).thenReturn(true);
-
-        assertTrue(mThemeManager.isAvailable());
-    }
-
-    @Test
-    public void isAvailable_ThemeBundleProviderOrOverlayManagerIsAvailable_ReturnsFalse() {
-        when(mThemeBundleProvider.isAvailable()).thenReturn(false);
-        when(mMockOm.isAvailable()).thenReturn(true);
-        assertFalse(mThemeManager.isAvailable());
-
-        when(mThemeBundleProvider.isAvailable()).thenReturn(true);
-        when(mMockOm.isAvailable()).thenReturn(false);
-        assertFalse(mThemeManager.isAvailable());
-    }
-
-    @Test
-    public void fetchOptions_ThemeBundleProviderFetches() {
-        OptionsFetchedListener listener = mock(OptionsFetchedListener.class);
-
-        mThemeManager.fetchOptions(listener, false);
-
-        verify(mThemeBundleProvider).fetch(listener, false);
-    }
-
-    @Test
-    public void removeCustomTheme_ThemeBundleProviderRemovesCustomTheme() {
-        CustomTheme customTheme = mock(CustomTheme.class);
-        mThemeManager.removeCustomTheme(customTheme);
-
-        verify(mThemeBundleProvider).removeCustomTheme(customTheme);
-    }
-
-    @Test
-    public void findThemeByPackages_ThemeBundleProviderFindsEquivalent() {
-        CustomTheme theme = mock(CustomTheme.class);
-        mThemeManager.findThemeByPackages(theme);
-
-        verify(mThemeBundleProvider).findEquivalent(theme);
-    }
-
-    @Test
-    public void storeEmptyTheme_SettingsSecureStoresEmptyTheme() {
-        mThemeManager.storeEmptyTheme();
-
-        assertEquals(
-                new JSONObject().toString(),
-                Settings.Secure.getString(mActivity.getContentResolver(), THEME_SETTING));
-    }
-
-    @Test
-    public void getStoredOverlays_GetsFromSettingsSecureWithExpectedName() {
-        ThemeBundle theme = getOverlayTheme();
-
-        applyTheme(theme);
-
-        assertEquals(
-                Settings.Secure.getString(mActivity.getContentResolver(), THEME_SETTING),
-                mThemeManager.getStoredOverlays());
-    }
-
-    private ThemeBundle getOverlayTheme() {
-        final String bundleColorPackage = "test.package.name_color";
-        final String bundleFontPackage = "test.package.name_font";
-        final String otherPackage = "other.package.name_font";
-
-        mMockOmHelper.addOverlay(bundleColorPackage, ANDROID_PACKAGE,
-                OVERLAY_CATEGORY_COLOR, false, 0);
-        mMockOmHelper.addOverlay(bundleFontPackage, ANDROID_PACKAGE,
-                OVERLAY_CATEGORY_FONT, false, 0);
-        mMockOmHelper.addOverlay(otherPackage, ANDROID_PACKAGE,
-                OVERLAY_CATEGORY_FONT, false, 0);
-
-        return new ThemeBundle.Builder()
-                .addOverlayPackage(OVERLAY_CATEGORY_COLOR, bundleColorPackage)
-                .addOverlayPackage(OVERLAY_CATEGORY_FONT, bundleFontPackage)
-                .build(mActivity);
-    }
-
-    private void applyTheme(ThemeBundle theme) {
-        mThemeManager.apply(theme, new Callback() {
-            @Override
-            public void onSuccess() {
-            }
-
-            @Override
-            public void onError(@Nullable Throwable throwable) {
-            }
-        });
-    }
-}
diff --git a/tests/robotests/src/com/android/customization/picker/clock/data/repository/FakeClockPickerRepository.kt b/tests/robotests/src/com/android/customization/picker/clock/data/repository/FakeClockPickerRepository.kt
index 95d7e35..4d8f32e 100644
--- a/tests/robotests/src/com/android/customization/picker/clock/data/repository/FakeClockPickerRepository.kt
+++ b/tests/robotests/src/com/android/customization/picker/clock/data/repository/FakeClockPickerRepository.kt
@@ -46,7 +46,6 @@
             checkNotNull(selectedClock)
             ClockMetadataModel(
                 clockId = selectedClock.clockId,
-                name = selectedClock.name,
                 isSelected = true,
                 selectedColorId = selectedColor,
                 colorToneProgress = colorTone,
@@ -82,10 +81,10 @@
         const val CLOCK_ID_3 = "clock3"
         val fakeClocks =
             listOf(
-                ClockMetadataModel(CLOCK_ID_0, "clock0", true, null, 50, null),
-                ClockMetadataModel(CLOCK_ID_1, "clock1", false, null, 50, null),
-                ClockMetadataModel(CLOCK_ID_2, "clock2", false, null, 50, null),
-                ClockMetadataModel(CLOCK_ID_3, "clock3", false, null, 50, null),
+                ClockMetadataModel(CLOCK_ID_0, true, null, 50, null),
+                ClockMetadataModel(CLOCK_ID_1, false, null, 50, null),
+                ClockMetadataModel(CLOCK_ID_2, false, null, 50, null),
+                ClockMetadataModel(CLOCK_ID_3, false, null, 50, null),
             )
         const val CLOCK_COLOR_ID = "RED"
         const val CLOCK_COLOR_TONE_PROGRESS = 87
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
new file mode 100644
index 0000000..6fe76b9
--- /dev/null
+++ b/tests/robotests/src/com/android/customization/picker/clock/ui/FakeClockViewFactory.kt
@@ -0,0 +1,93 @@
+package com.android.customization.picker.clock.ui
+
+import android.content.res.Resources
+import android.view.View
+import androidx.lifecycle.LifecycleOwner
+import com.android.customization.picker.clock.data.repository.FakeClockPickerRepository
+import com.android.customization.picker.clock.ui.FakeClockViewFactory.Companion.fakeClocks
+import com.android.customization.picker.clock.ui.view.ClockViewFactory
+import com.android.systemui.plugins.clocks.ClockConfig
+import com.android.systemui.plugins.clocks.ClockController
+import com.android.systemui.plugins.clocks.ClockEvents
+import com.android.systemui.plugins.clocks.ClockFaceController
+import java.io.PrintWriter
+
+/**
+ * This is a fake [ClockViewFactory]. Only implement the function if it's actually called in a test.
+ */
+class FakeClockViewFactory(
+    val clockControllers: MutableMap<String, ClockController> = fakeClocks.toMutableMap(),
+) : ClockViewFactory {
+
+    class FakeClockController(
+        override var config: ClockConfig,
+    ) : ClockController {
+        override val smallClock: ClockFaceController
+            get() = TODO("Not yet implemented")
+
+        override val largeClock: ClockFaceController
+            get() = TODO("Not yet implemented")
+
+        override val events: ClockEvents
+            get() = TODO("Not yet implemented")
+
+        override fun initialize(resources: Resources, dozeFraction: Float, foldFraction: Float) =
+            TODO("Not yet implemented")
+
+        override fun dump(pw: PrintWriter) = TODO("Not yet implemented")
+    }
+
+    override fun getController(clockId: String): ClockController = clockControllers.get(clockId)!!
+
+    override fun getLargeView(clockId: String): View {
+        TODO("Not yet implemented")
+    }
+
+    override fun getSmallView(clockId: String): View {
+        TODO("Not yet implemented")
+    }
+
+    override fun updateColorForAllClocks(seedColor: Int?) {
+        TODO("Not yet implemented")
+    }
+
+    override fun updateColor(clockId: String, seedColor: Int?) {
+        TODO("Not yet implemented")
+    }
+
+    override fun updateRegionDarkness() {
+        TODO("Not yet implemented")
+    }
+
+    override fun updateTimeFormat(clockId: String) {
+        TODO("Not yet implemented")
+    }
+
+    override fun registerTimeTicker(owner: LifecycleOwner) {
+        TODO("Not yet implemented")
+    }
+
+    override fun onDestroy() {
+        TODO("Not yet implemented")
+    }
+
+    override fun unregisterTimeTicker(owner: LifecycleOwner) {
+        TODO("Not yet implemented")
+    }
+
+    companion object {
+        val fakeClocks =
+            FakeClockPickerRepository.fakeClocks
+                .map { clock ->
+                    clock.clockId to
+                        FakeClockController(
+                            ClockConfig(
+                                id = clock.clockId,
+                                name = "Name: ${clock.clockId}",
+                                description = "Desc: ${clock.clockId}"
+                            )
+                        )
+                }
+                .toMap()
+    }
+}
diff --git a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt
index ca6f8c7..46afe35 100644
--- a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt
+++ b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockCarouselViewModelTest.kt
@@ -16,11 +16,15 @@
 package com.android.customization.picker.clock.ui.viewmodel
 
 import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.customization.module.logging.TestThemesUserEventLogger
 import com.android.customization.picker.clock.data.repository.ClockPickerRepository
 import com.android.customization.picker.clock.data.repository.FakeClockPickerRepository
 import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
 import com.android.customization.picker.clock.domain.interactor.ClockPickerSnapshotRestorer
 import com.android.customization.picker.clock.shared.model.ClockMetadataModel
+import com.android.customization.picker.clock.ui.FakeClockViewFactory
+import com.android.customization.picker.clock.ui.view.ClockViewFactory
 import com.android.wallpaper.testing.FakeSnapshotStore
 import com.android.wallpaper.testing.collectLastValue
 import com.google.common.truth.Truth.assertThat
@@ -48,8 +52,7 @@
         FakeClockPickerRepository(
             listOf(
                 ClockMetadataModel(
-                    clockId = "clock0",
-                    name = "clock0",
+                    clockId = FakeClockPickerRepository.CLOCK_ID_0,
                     isSelected = true,
                     selectedColorId = null,
                     colorToneProgress = ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS,
@@ -58,13 +61,16 @@
             )
         )
     }
+
     private lateinit var testDispatcher: CoroutineDispatcher
     private lateinit var underTest: ClockCarouselViewModel
     private lateinit var interactor: ClockPickerInteractor
+    private lateinit var clockViewFactory: ClockViewFactory
 
     @Before
     fun setUp() {
         testDispatcher = StandardTestDispatcher()
+        clockViewFactory = FakeClockViewFactory()
         Dispatchers.setMain(testDispatcher)
     }
 
@@ -78,7 +84,10 @@
         underTest =
             ClockCarouselViewModel(
                 getClockPickerInteractor(repositoryWithMultipleClocks),
-                testDispatcher
+                backgroundDispatcher = testDispatcher,
+                clockViewFactory = clockViewFactory,
+                resources = InstrumentationRegistry.getInstrumentation().targetContext.resources,
+                logger = TestThemesUserEventLogger(),
             )
         val observedSelectedIndex = collectLastValue(underTest.selectedIndex)
         advanceTimeBy(ClockCarouselViewModel.CLOCKS_EVENT_UPDATE_DELAY_MILLIS)
diff --git a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSectionViewModelTest.kt b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSectionViewModelTest.kt
deleted file mode 100644
index 19a704c..0000000
--- a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSectionViewModelTest.kt
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.clock.ui.viewmodel
-
-import androidx.test.filters.SmallTest
-import androidx.test.platform.app.InstrumentationRegistry
-import com.android.customization.picker.clock.data.repository.FakeClockPickerRepository
-import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
-import com.android.customization.picker.clock.domain.interactor.ClockPickerSnapshotRestorer
-import com.android.customization.picker.clock.shared.ClockSize
-import com.android.customization.picker.clock.shared.model.ClockMetadataModel
-import com.android.wallpaper.testing.FakeSnapshotStore
-import com.android.wallpaper.testing.collectLastValue
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.runBlocking
-import kotlinx.coroutines.test.StandardTestDispatcher
-import kotlinx.coroutines.test.resetMain
-import kotlinx.coroutines.test.runTest
-import kotlinx.coroutines.test.setMain
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.robolectric.RobolectricTestRunner
-
-@OptIn(ExperimentalCoroutinesApi::class)
-@SmallTest
-@RunWith(RobolectricTestRunner::class)
-class ClockSectionViewModelTest {
-
-    private lateinit var clockColorMap: Map<String, ClockColorViewModel>
-    private lateinit var interactor: ClockPickerInteractor
-    private lateinit var underTest: ClockSectionViewModel
-
-    @Before
-    fun setUp() {
-        val testDispatcher = StandardTestDispatcher()
-        Dispatchers.setMain(testDispatcher)
-        val context = InstrumentationRegistry.getInstrumentation().targetContext
-        clockColorMap = ClockColorViewModel.getPresetColorMap(context.resources)
-        interactor =
-            ClockPickerInteractor(
-                repository = FakeClockPickerRepository(),
-                snapshotRestorer = {
-                    ClockPickerSnapshotRestorer(interactor = interactor).apply {
-                        runBlocking { setUpSnapshotRestorer(store = FakeSnapshotStore()) }
-                    }
-                },
-            )
-        underTest =
-            ClockSectionViewModel(
-                context,
-                interactor,
-            )
-    }
-
-    @After
-    fun tearDown() {
-        Dispatchers.resetMain()
-    }
-
-    @Test
-    fun setSelectedClock() = runTest {
-        val colorGrey = clockColorMap.values.first()
-        val observedSelectedClockColorAndSizeText =
-            collectLastValue(underTest.selectedClockColorAndSizeText)
-
-        interactor.setClockColor(
-            colorGrey.colorId,
-            ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS,
-            ClockSettingsViewModel.blendColorWithTone(
-                colorGrey.color,
-                colorGrey.getColorTone(ClockMetadataModel.DEFAULT_COLOR_TONE_PROGRESS),
-            )
-        )
-        interactor.setClockSize(ClockSize.DYNAMIC)
-
-        assertThat(observedSelectedClockColorAndSizeText()).isEqualTo("Grey, dynamic")
-    }
-}
diff --git a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModelTest.kt b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModelTest.kt
index f09e977..d3ae9cb 100644
--- a/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModelTest.kt
+++ b/tests/robotests/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModelTest.kt
@@ -1,8 +1,10 @@
 package com.android.customization.picker.clock.ui.viewmodel
 
 import android.content.Context
+import android.stats.style.StyleEnums
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
+import com.android.customization.module.logging.TestThemesUserEventLogger
 import com.android.customization.picker.clock.data.repository.FakeClockPickerRepository
 import com.android.customization.picker.clock.domain.interactor.ClockPickerInteractor
 import com.android.customization.picker.clock.domain.interactor.ClockPickerSnapshotRestorer
@@ -35,6 +37,7 @@
 @RunWith(RobolectricTestRunner::class)
 class ClockSettingsViewModelTest {
 
+    private val logger = TestThemesUserEventLogger()
     private lateinit var context: Context
     private lateinit var testScope: TestScope
     private lateinit var colorPickerInteractor: ColorPickerInteractor
@@ -81,6 +84,7 @@
                     context = context,
                     clockPickerInteractor = clockPickerInteractor,
                     colorPickerInteractor = colorPickerInteractor,
+                    logger = logger,
                     getIsReactiveToTone = getIsReactiveToTone,
                 )
                 .create(ClockSettingsViewModel::class.java)
@@ -186,9 +190,11 @@
         val observedClockSize = collectLastValue(underTest.selectedClockSize)
         underTest.setClockSize(ClockSize.DYNAMIC)
         assertThat(observedClockSize()).isEqualTo(ClockSize.DYNAMIC)
+        assertThat(logger.getLoggedClockSize()).isEqualTo(StyleEnums.CLOCK_SIZE_DYNAMIC)
 
         underTest.setClockSize(ClockSize.SMALL)
         assertThat(observedClockSize()).isEqualTo(ClockSize.SMALL)
+        assertThat(logger.getLoggedClockSize()).isEqualTo(StyleEnums.CLOCK_SIZE_SMALL)
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModelTest.kt b/tests/robotests/src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModelTest.kt
index 5c3544a..1ff1fc8 100644
--- a/tests/robotests/src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModelTest.kt
+++ b/tests/robotests/src/com/android/customization/picker/notifications/ui/viewmodel/NotificationSectionViewModelTest.kt
@@ -18,6 +18,8 @@
 package com.android.customization.picker.notifications.ui.viewmodel
 
 import androidx.test.filters.SmallTest
+import com.android.customization.module.logging.TestThemesUserEventLogger
+import com.android.customization.module.logging.ThemesUserEventLogger
 import com.android.customization.picker.notifications.data.repository.NotificationsRepository
 import com.android.customization.picker.notifications.domain.interactor.NotificationsInteractor
 import com.android.customization.picker.notifications.domain.interactor.NotificationsSnapshotRestorer
@@ -44,6 +46,8 @@
 @RunWith(RobolectricTestRunner::class)
 class NotificationSectionViewModelTest {
 
+    private val logger: ThemesUserEventLogger = TestThemesUserEventLogger()
+
     private lateinit var underTest: NotificationSectionViewModel
 
     private lateinit var testScope: TestScope
@@ -73,6 +77,7 @@
         underTest =
             NotificationSectionViewModel(
                 interactor = interactor,
+                logger = logger,
             )
     }
 
diff --git a/themes/res/values-en-rCA/strings.xml b/themes/res/values-en-rCA/strings.xml
index 780a3c9..ae4e8c5 100644
--- a/themes/res/values-en-rCA/strings.xml
+++ b/themes/res/values-en-rCA/strings.xml
@@ -24,6 +24,5 @@
     <string name="rainbow_color_name_blue" msgid="3473176664458856892">"Blue"</string>
     <string name="rainbow_color_name_purple" msgid="2704722524588084868">"Purple"</string>
     <string name="rainbow_color_name_magenta" msgid="7248703626077785569">"Magenta"</string>
-    <!-- no translation found for monochromatic_name (2554823570460886176) -->
-    <skip />
+    <string name="monochromatic_name" msgid="2554823570460886176">"Monochromatic"</string>
 </resources>