diff --git a/res/layout/color_option_2.xml b/res/layout/color_option_2.xml
new file mode 100644
index 0000000..2ac0fe6
--- /dev/null
+++ b/res/layout/color_option_2.xml
@@ -0,0 +1,90 @@
+<?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="wrap_content"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:clipChildren="false">
+    <FrameLayout
+        android:id="@+id/icon_container"
+        android:layout_width="@dimen/option_tile_width"
+        android:layout_height="@dimen/option_tile_width"
+        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" />
+
+        <FrameLayout
+            android:id="@id/foreground"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+            <ImageView
+                android:id="@+id/color_preview_0"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginRight="@dimen/color_seed_chip_margin"
+                android:layout_marginBottom="@dimen/color_seed_chip_margin"
+                android:src="@drawable/color_chip_seed_filled0"
+                android:importantForAccessibility="no"/>
+
+            <ImageView
+                android:id="@+id/color_preview_1"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginLeft="@dimen/color_seed_chip_margin"
+                android:layout_marginBottom="@dimen/color_seed_chip_margin"
+                android:src="@drawable/color_chip_seed_filled2"
+                android:importantForAccessibility="no"/>
+
+            <ImageView
+                android:id="@+id/color_preview_2"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginRight="@dimen/color_seed_chip_margin"
+                android:layout_marginTop="@dimen/color_seed_chip_margin"
+                android:src="@drawable/color_chip_seed_filled1"
+                android:importantForAccessibility="no"/>
+
+            <ImageView
+                android:id="@+id/color_preview_3"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginLeft="@dimen/color_seed_chip_margin"
+                android:layout_marginTop="@dimen/color_seed_chip_margin"
+                android:src="@drawable/color_chip_seed_filled3"
+                android:importantForAccessibility="no" />
+        </FrameLayout>
+    </FrameLayout>
+</LinearLayout>
+
diff --git a/res/layout/color_option_with_background.xml b/res/layout/color_option_with_background.xml
index 67079f7..36990b5 100644
--- a/res/layout/color_option_with_background.xml
+++ b/res/layout/color_option_with_background.xml
@@ -14,6 +14,7 @@
      limitations under the License.
 -->
 <!-- Content description is set programmatically on the parent FrameLayout -->
+<!-- TODO (b/272109171): Remove after clock settings is refactored to use OptionItemAdapter -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
@@ -21,8 +22,8 @@
     android:orientation="vertical" >
     <FrameLayout
         android:id="@+id/icon_container"
-        android:layout_width="@dimen/option_tile_width"
-        android:layout_height="@dimen/option_tile_width"
+        android:layout_width="@dimen/option_item_size"
+        android:layout_height="@dimen/option_item_size"
         android:importantForAccessibility="yes">
 
         <ImageView
@@ -42,45 +43,45 @@
 
         <ImageView
             android:id="@+id/color_preview_0"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_width="@dimen/component_color_chip_small_radius_default2"
+            android:layout_height="@dimen/component_color_chip_small_radius_default2"
             android:layout_gravity="center"
-            android:layout_marginRight="@dimen/color_seed_chip_margin"
-            android:layout_marginBottom="@dimen/color_seed_chip_margin"
+            android:layout_marginRight="@dimen/color_seed_chip_margin2"
+            android:layout_marginBottom="@dimen/color_seed_chip_margin2"
             android:src="@drawable/color_chip_seed_filled0"
             android:importantForAccessibility="no"/>
 
         <ImageView
             android:id="@+id/color_preview_1"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_width="@dimen/component_color_chip_small_radius_default2"
+            android:layout_height="@dimen/component_color_chip_small_radius_default2"
             android:layout_gravity="center"
-            android:layout_marginLeft="@dimen/color_seed_chip_margin"
-            android:layout_marginBottom="@dimen/color_seed_chip_margin"
+            android:layout_marginLeft="@dimen/color_seed_chip_margin2"
+            android:layout_marginBottom="@dimen/color_seed_chip_margin2"
             android:src="@drawable/color_chip_seed_filled2"
             android:importantForAccessibility="no"/>
 
         <ImageView
             android:id="@+id/color_preview_2"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_width="@dimen/component_color_chip_small_radius_default2"
+            android:layout_height="@dimen/component_color_chip_small_radius_default2"
             android:layout_gravity="center"
-            android:layout_marginRight="@dimen/color_seed_chip_margin"
-            android:layout_marginTop="@dimen/color_seed_chip_margin"
+            android:layout_marginRight="@dimen/color_seed_chip_margin2"
+            android:layout_marginTop="@dimen/color_seed_chip_margin2"
             android:src="@drawable/color_chip_seed_filled1"
             android:importantForAccessibility="no"/>
 
         <ImageView
             android:id="@+id/color_preview_3"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_width="@dimen/component_color_chip_small_radius_default2"
+            android:layout_height="@dimen/component_color_chip_small_radius_default2"
             android:layout_gravity="center"
-            android:layout_marginLeft="@dimen/color_seed_chip_margin"
-            android:layout_marginTop="@dimen/color_seed_chip_margin"
+            android:layout_marginLeft="@dimen/color_seed_chip_margin2"
+            android:layout_marginTop="@dimen/color_seed_chip_margin2"
             android:src="@drawable/color_chip_seed_filled3"
-            android:importantForAccessibility="no" />
+            android:importantForAccessibility="no"/>
     </FrameLayout>
-
+    
     <TextView
         android:id="@+id/option_title"
         android:layout_width="@dimen/option_tile_width"
@@ -90,4 +91,3 @@
         android:visibility="gone"
         android:gravity="center" />
 </LinearLayout>
-
diff --git a/res/layout/fragment_color_picker.xml b/res/layout/fragment_color_picker.xml
index a9d2adc..7cf94d6 100644
--- a/res/layout/fragment_color_picker.xml
+++ b/res/layout/fragment_color_picker.xml
@@ -35,7 +35,7 @@
         android:layout_height="0dp"
         android:layout_weight="1"
         android:layout_marginHorizontal="24dp"
-        android:paddingTop="36dp"
+        android:paddingTop="20dp"
         android:paddingBottom="40dp"
         android:orientation="horizontal"
         android:gravity="center_vertical">
@@ -60,7 +60,8 @@
         android:layout_marginHorizontal="24dp"
         android:layout_marginBottom="28dp"
         android:background="@drawable/picker_fragment_background"
-        android:paddingTop="22dp">
+        android:paddingTop="22dp"
+        android:clipChildren="false">
 
         <FrameLayout
             android:layout_width="match_parent"
@@ -69,10 +70,11 @@
 
             <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/color_type_tabs"
-                android:layout_width="match_parent"
+                android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:clipToPadding="false"
-                android:paddingHorizontal="16dp" />
+                android:paddingHorizontal="16dp"
+                android:layout_gravity="center_horizontal"/>
 
             <!--
             This is just an invisible placeholder put in place so that the parent keeps its height
@@ -93,18 +95,33 @@
 
         <View
             android:layout_width="0dp"
-            android:layout_height="22dp" />
+            android:layout_height="6dp" />
+
+        <TextView
+            android:id="@+id/color_type_tab_subhead"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:textColor="@color/text_color_secondary"
+            android:textSize="12sp"
+            android:gravity="center"
+            android:paddingHorizontal="16dp"/>
+
+        <View
+            android:layout_width="0dp"
+            android:layout_height="8dp" />
 
         <FrameLayout
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:clipChildren="false">
 
             <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/color_options"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:clipToPadding="false"
-                android:paddingHorizontal="16dp" />
+                android:paddingHorizontal="16dp"
+                android:clipChildren="false" />
 
             <!--
             This is just an invisible placeholder put in place so that the parent keeps its height
@@ -116,7 +133,7 @@
             It's critical for any TextViews inside the included layout to have text.
             -->
             <include
-                layout="@layout/color_option_with_background"
+                layout="@layout/color_option_2"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="invisible" />
diff --git a/res/values-af/clock_colors.xml b/res/values-af/clock_colors.xml
new file mode 100644
index 0000000..f4e0fef
--- /dev/null
+++ b/res/values-af/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ROOI"</item>
+    <item msgid="6882970855289978213">"ORANJE"</item>
+    <item msgid="5560732545714984533">"GEEL"</item>
+    <item msgid="7246284817845434226">"GROEN"</item>
+    <item msgid="6762906417604676001">"BLOU"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOOLTJIEPERS"</item>
+    <item msgid="6835537356703747621">"GRYS"</item>
+    <item msgid="2470141365136884119">"BLOUGROEN"</item>
+  </string-array>
+</resources>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index d446aa5..c14b6a5 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Rooi"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oranje"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Geel"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Groen"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Blou"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Viooltjiepers"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Grys"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Blougroen"</string>
     <string name="clock_size" msgid="5028923902364418263">"Grootte"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamies"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Horlosiegrootte verander na gelang van sluitskerminhoud"</string>
diff --git a/res/values-am/clock_colors.xml b/res/values-am/clock_colors.xml
new file mode 100644
index 0000000..3da51af
--- /dev/null
+++ b/res/values-am/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ቀይ"</item>
+    <item msgid="6882970855289978213">"ብርቱካናማ"</item>
+    <item msgid="5560732545714984533">"ቢጫ"</item>
+    <item msgid="7246284817845434226">"አረንጓዴ"</item>
+    <item msgid="6762906417604676001">"ሰማያዊ"</item>
+    <item msgid="8974135109557664892">"ሐምራዊ"</item>
+    <item msgid="786643557830463422">"ወይን ጠጅ"</item>
+    <item msgid="6835537356703747621">"ግራጫ"</item>
+    <item msgid="2470141365136884119">"ደማቅ አረንጓዴ-ሰማያዊ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 1edf1da..5e6e794 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"ቀይ"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"ብርቱካናማ"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"ቢጫ"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"አረንጓዴ"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"ሰማያዊ"</string>
+    <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_size" msgid="5028923902364418263">"መጠን"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ተለዋዋጭ"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"የClock መጠን በማያ ገጽ ቁልፍ ይዘት መሰረት ይለወጣል"</string>
diff --git a/res/values-ar/clock_colors.xml b/res/values-ar/clock_colors.xml
new file mode 100644
index 0000000..51bc5fe
--- /dev/null
+++ b/res/values-ar/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"أحمر"</item>
+    <item msgid="6882970855289978213">"برتقالي"</item>
+    <item msgid="5560732545714984533">"أصفر"</item>
+    <item msgid="7246284817845434226">"أخضر"</item>
+    <item msgid="6762906417604676001">"أزرق"</item>
+    <item msgid="8974135109557664892">"نيلي"</item>
+    <item msgid="786643557830463422">"بنفسجي"</item>
+    <item msgid="6835537356703747621">"رمادي"</item>
+    <item msgid="2470141365136884119">"أزرق مخضرّ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index ef1a102..2e9d500 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"برتقالي"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"أصفر"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"أخضر"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"أزرق"</string>
+    <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_size" msgid="5028923902364418263">"الحجم"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ديناميكي"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"يتغير حجم الساعة وفقًا للمحتوى على شاشة القفل."</string>
diff --git a/res/values-as/clock_colors.xml b/res/values-as/clock_colors.xml
new file mode 100644
index 0000000..74e0aaf
--- /dev/null
+++ b/res/values-as/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ৰঙা"</item>
+    <item msgid="6882970855289978213">"কমলা"</item>
+    <item msgid="5560732545714984533">"হালধীয়া"</item>
+    <item msgid="7246284817845434226">"সেউজীয়া"</item>
+    <item msgid="6762906417604676001">"নীলা"</item>
+    <item msgid="8974135109557664892">"ইণ্ডিগ’"</item>
+    <item msgid="786643557830463422">"বেঙুনীয়া"</item>
+    <item msgid="6835537356703747621">"ধোঁৱাবৰণীয়া"</item>
+    <item msgid="2470141365136884119">"গাঢ় সেউজ-নীলা"</item>
+  </string-array>
+</resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 82b5139..45910f4 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"কমলা"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"হালধীয়া"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"সেউজীয়া"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"নীলা"</string>
+    <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_size" msgid="5028923902364418263">"আকাৰ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"পৰিৱৰ্তনশীল"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"বন্ধ স্ক্ৰীনৰ সমল অনুসৰি ঘড়ীৰ আকাৰ সলনি হয়"</string>
diff --git a/res/values-az/clock_colors.xml b/res/values-az/clock_colors.xml
new file mode 100644
index 0000000..6cea40b
--- /dev/null
+++ b/res/values-az/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"QIRMIZI"</item>
+    <item msgid="6882970855289978213">"NARINCI"</item>
+    <item msgid="5560732545714984533">"SARI"</item>
+    <item msgid="7246284817845434226">"YAŞIL"</item>
+    <item msgid="6762906417604676001">"MAVİ"</item>
+    <item msgid="8974135109557664892">"TÜND-GÖY"</item>
+    <item msgid="786643557830463422">"BƏNÖVŞƏYİ"</item>
+    <item msgid="6835537356703747621">"BOZ"</item>
+    <item msgid="2470141365136884119">"YAŞILIMTIL MAVİ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 9bfd5e5..b7ce017 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Qırmızı"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Narıncı"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Sarı"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Yaşıl"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Mavi"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Tünd-göy"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Bənövşəyi"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Boz"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Yaşılımtıl mavi"</string>
     <string name="clock_size" msgid="5028923902364418263">"Ölçü"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamik"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Saat ölçüsü kilid ekranının məzmununa görə dəyişir"</string>
diff --git a/res/values-b+sr+Latn/clock_colors.xml b/res/values-b+sr+Latn/clock_colors.xml
new file mode 100644
index 0000000..c30c8c2
--- /dev/null
+++ b/res/values-b+sr+Latn/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"CRVENA"</item>
+    <item msgid="6882970855289978213">"NARANDŽASTA"</item>
+    <item msgid="5560732545714984533">"ŽUTA"</item>
+    <item msgid="7246284817845434226">"ZELENA"</item>
+    <item msgid="6762906417604676001">"PLAVA"</item>
+    <item msgid="8974135109557664892">"TAMNOPLAVA"</item>
+    <item msgid="786643557830463422">"LJUBIČASTA"</item>
+    <item msgid="6835537356703747621">"SIVA"</item>
+    <item msgid="2470141365136884119">"TIRKIZNA"</item>
+  </string-array>
+</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 72e7104..0a26302 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Crvena"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Narandžasta"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Žuta"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Zelena"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Plava"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Tamnoplava"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Ljubičasta"</string>
+    <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_description" msgid="2776620745774561662">"Veličina sata se menja u skladu sa sadržajem zaključanog ekrana"</string>
diff --git a/res/values-be/clock_colors.xml b/res/values-be/clock_colors.xml
new file mode 100644
index 0000000..d9a4bcc
--- /dev/null
+++ b/res/values-be/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ЧЫРВОНЫ"</item>
+    <item msgid="6882970855289978213">"АРАНЖАВЫ"</item>
+    <item msgid="5560732545714984533">"ЖОЎТЫ"</item>
+    <item msgid="7246284817845434226">"ЗЯЛЁНЫ"</item>
+    <item msgid="6762906417604676001">"СІНІ"</item>
+    <item msgid="8974135109557664892">"ІНДЫГА"</item>
+    <item msgid="786643557830463422">"ФІЯЛЕТАВЫ"</item>
+    <item msgid="6835537356703747621">"ШЭРЫ"</item>
+    <item msgid="2470141365136884119">"СІНЕ-ЗЯЛЁНЫ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index c5d82ec..7e75ee3 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Аранжавы"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Жоўты"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Зялёны"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Сіні"</string>
+    <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_size" msgid="5028923902364418263">"Памер"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Дынамічны"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Памер гадзінніка змяняецца ў залежнасці ад змесціва на экране блакіроўкі"</string>
diff --git a/res/values-bg/clock_colors.xml b/res/values-bg/clock_colors.xml
new file mode 100644
index 0000000..058b54d
--- /dev/null
+++ b/res/values-bg/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ЧЕРВЕНО"</item>
+    <item msgid="6882970855289978213">"ОРАНЖЕВО"</item>
+    <item msgid="5560732545714984533">"ЖЪЛТО"</item>
+    <item msgid="7246284817845434226">"ЗЕЛЕНО"</item>
+    <item msgid="6762906417604676001">"СИНЬО"</item>
+    <item msgid="8974135109557664892">"ИНДИГО"</item>
+    <item msgid="786643557830463422">"ВИОЛЕТОВО"</item>
+    <item msgid="6835537356703747621">"СИВО"</item>
+    <item msgid="2470141365136884119">"СИНЬО-ЗЕЛЕНО"</item>
+  </string-array>
+</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 54b460c..00d6319 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"оранжево"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"жълто"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"зелено"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"синьо"</string>
+    <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_size" msgid="5028923902364418263">"Размер"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамичен"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Размерът на часовника се променя според съдържанието на заключения екран"</string>
diff --git a/res/values-bn/clock_colors.xml b/res/values-bn/clock_colors.xml
new file mode 100644
index 0000000..cd433fa
--- /dev/null
+++ b/res/values-bn/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"লাল"</item>
+    <item msgid="6882970855289978213">"কমলা"</item>
+    <item msgid="5560732545714984533">"হলুদ"</item>
+    <item msgid="7246284817845434226">"সবুজ"</item>
+    <item msgid="6762906417604676001">"নীল"</item>
+    <item msgid="8974135109557664892">"নীলচে বেগুনি"</item>
+    <item msgid="786643557830463422">"বেগুনি"</item>
+    <item msgid="6835537356703747621">"ধূসর"</item>
+    <item msgid="2470141365136884119">"নীলচে সবুজ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 3d05072..ac174e8 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"কমলা"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"হলুদ"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"সবুজ"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"নীল"</string>
+    <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_size" msgid="5028923902364418263">"সাইজ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ডায়নামিক"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"লক স্ক্রিনের কন্টেন্ট অনুযায়ী ঘড়ির সাইজ পরিবর্তন হয়"</string>
diff --git a/res/values-bs/clock_colors.xml b/res/values-bs/clock_colors.xml
new file mode 100644
index 0000000..0e7f923
--- /dev/null
+++ b/res/values-bs/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"CRVENA"</item>
+    <item msgid="6882970855289978213">"NARANDŽASTA"</item>
+    <item msgid="5560732545714984533">"ŽUTA"</item>
+    <item msgid="7246284817845434226">"ZELENA"</item>
+    <item msgid="6762906417604676001">"PLAVA"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"LJUBIČASTA"</item>
+    <item msgid="6835537356703747621">"SIVA"</item>
+    <item msgid="2470141365136884119">"TIRKIZNA"</item>
+  </string-array>
+</resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 5136881..9e35d9f 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Crvena"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Narandžasta"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Žuta"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Zelena"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Plava"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Ljubičasta"</string>
+    <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_description" msgid="2776620745774561662">"Veličina sata se mijenja u skladu sa sadržajem na zaključanom ekranu"</string>
diff --git a/res/values-ca/clock_colors.xml b/res/values-ca/clock_colors.xml
new file mode 100644
index 0000000..c44a460
--- /dev/null
+++ b/res/values-ca/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"VERMELL"</item>
+    <item msgid="6882970855289978213">"TARONJA"</item>
+    <item msgid="5560732545714984533">"GROC"</item>
+    <item msgid="7246284817845434226">"VERD"</item>
+    <item msgid="6762906417604676001">"BLAU"</item>
+    <item msgid="8974135109557664892">"ANYIL"</item>
+    <item msgid="786643557830463422">"VIOLETA"</item>
+    <item msgid="6835537356703747621">"GRIS"</item>
+    <item msgid="2470141365136884119">"VERD BLAVÓS"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 7b312e0..6b36c5f 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Taronja"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Groc"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Verd"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Blau"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Anyil"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violeta"</string>
+    <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_description" msgid="2776620745774561662">"La mida del rellotge canvia d\'acord amb el contingut de la pantalla de bloqueig"</string>
diff --git a/res/values-cs/clock_colors.xml b/res/values-cs/clock_colors.xml
new file mode 100644
index 0000000..9406e46
--- /dev/null
+++ b/res/values-cs/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ČERVENÁ"</item>
+    <item msgid="6882970855289978213">"ORANŽOVÁ"</item>
+    <item msgid="5560732545714984533">"ŽLUTÁ"</item>
+    <item msgid="7246284817845434226">"ZELENÁ"</item>
+    <item msgid="6762906417604676001">"MODRÁ"</item>
+    <item msgid="8974135109557664892">"INDIGOVÁ"</item>
+    <item msgid="786643557830463422">"FIALOVÁ"</item>
+    <item msgid="6835537356703747621">"ŠEDÁ"</item>
+    <item msgid="2470141365136884119">"ŠEDOZELENÁ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 9a1dbd2..c8eb7c5 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Červená"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oranžová"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Žlutá"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Zelená"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Modrá"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigová"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Fialová"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Šedá"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Modrozelená"</string>
     <string name="clock_size" msgid="5028923902364418263">"Velikost"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamická"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Velikost hodin se mění podle obsahu obrazovky uzamčení"</string>
diff --git a/res/values-da/clock_colors.xml b/res/values-da/clock_colors.xml
new file mode 100644
index 0000000..6dcbb4d
--- /dev/null
+++ b/res/values-da/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"RØD"</item>
+    <item msgid="6882970855289978213">"ORANGE"</item>
+    <item msgid="5560732545714984533">"GUL"</item>
+    <item msgid="7246284817845434226">"GRØN"</item>
+    <item msgid="6762906417604676001">"BLÅ"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLET"</item>
+    <item msgid="6835537356703747621">"GRÅ"</item>
+    <item msgid="2470141365136884119">"GRØNBLÅ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index c44e844..a71b0e9 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Rød"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Orange"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Gul"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Grøn"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Blå"</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">"Grå"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Grønblå"</string>
     <string name="clock_size" msgid="5028923902364418263">"Størrelse"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamisk"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Størrelsen på uret ændrer sig baseret på indhold på låseskærmen"</string>
diff --git a/res/values-de/clock_colors.xml b/res/values-de/clock_colors.xml
new file mode 100644
index 0000000..170bf96
--- /dev/null
+++ b/res/values-de/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ROT"</item>
+    <item msgid="6882970855289978213">"ORANGE"</item>
+    <item msgid="5560732545714984533">"GELB"</item>
+    <item msgid="7246284817845434226">"GRÜN"</item>
+    <item msgid="6762906417604676001">"BLAU"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLETT"</item>
+    <item msgid="6835537356703747621">"GRAU"</item>
+    <item msgid="2470141365136884119">"BLAUGRÜN"</item>
+  </string-array>
+</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 18cf15e..f089c5f 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Rot"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Orange"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Gelb"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Grün"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Blau"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violett"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Grau"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Blaugrün"</string>
     <string name="clock_size" msgid="5028923902364418263">"Größe"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamisch"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Die Größe der Uhr ändert sich je nach Inhalt auf dem Sperrbildschirm"</string>
diff --git a/res/values-el/clock_colors.xml b/res/values-el/clock_colors.xml
new file mode 100644
index 0000000..9c0394f
--- /dev/null
+++ b/res/values-el/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ΚΟΚΚΙΝΟ"</item>
+    <item msgid="6882970855289978213">"ΠΟΡΤΟΚΑΛΙ"</item>
+    <item msgid="5560732545714984533">"ΚΙΤΡΙΝΟ"</item>
+    <item msgid="7246284817845434226">"ΠΡΑΣΙΝΟ"</item>
+    <item msgid="6762906417604676001">"ΜΠΛΕ"</item>
+    <item msgid="8974135109557664892">"ΛΟΥΛΑΚΙ"</item>
+    <item msgid="786643557830463422">"ΒΙΟΛΕΤΙ"</item>
+    <item msgid="6835537356703747621">"ΓΚΡΙ"</item>
+    <item msgid="2470141365136884119">"ΓΑΛΑΖΟΠΡΑΣΙΝΟ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index b7c89f8..b4aaef6 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Πορτοκαλί"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Κίτρινο"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Πράσινο"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Μπλε"</string>
+    <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_size" msgid="5028923902364418263">"Μέγεθος"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Δυναμικό"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Το μέγεθος του ρολογιού αλλάζει ανάλογα με το περιεχόμενο της οθόνης κλειδώματος"</string>
diff --git a/res/values-en-rAU/clock_colors.xml b/res/values-en-rAU/clock_colors.xml
new file mode 100644
index 0000000..31e40f5
--- /dev/null
+++ b/res/values-en-rAU/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"RED"</item>
+    <item msgid="6882970855289978213">"ORANGE"</item>
+    <item msgid="5560732545714984533">"YELLOW"</item>
+    <item msgid="7246284817845434226">"GREEN"</item>
+    <item msgid="6762906417604676001">"BLUE"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLET"</item>
+    <item msgid="6835537356703747621">"GREY"</item>
+    <item msgid="2470141365136884119">"TEAL"</item>
+  </string-array>
+</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 93dd001..0a6357d 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <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>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 43ad75f..9c77ff7 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -24,8 +24,30 @@
     <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) -->
diff --git a/res/values-en-rGB/clock_colors.xml b/res/values-en-rGB/clock_colors.xml
new file mode 100644
index 0000000..31e40f5
--- /dev/null
+++ b/res/values-en-rGB/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"RED"</item>
+    <item msgid="6882970855289978213">"ORANGE"</item>
+    <item msgid="5560732545714984533">"YELLOW"</item>
+    <item msgid="7246284817845434226">"GREEN"</item>
+    <item msgid="6762906417604676001">"BLUE"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLET"</item>
+    <item msgid="6835537356703747621">"GREY"</item>
+    <item msgid="2470141365136884119">"TEAL"</item>
+  </string-array>
+</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 93dd001..0a6357d 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <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>
diff --git a/res/values-en-rIN/clock_colors.xml b/res/values-en-rIN/clock_colors.xml
new file mode 100644
index 0000000..31e40f5
--- /dev/null
+++ b/res/values-en-rIN/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"RED"</item>
+    <item msgid="6882970855289978213">"ORANGE"</item>
+    <item msgid="5560732545714984533">"YELLOW"</item>
+    <item msgid="7246284817845434226">"GREEN"</item>
+    <item msgid="6762906417604676001">"BLUE"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLET"</item>
+    <item msgid="6835537356703747621">"GREY"</item>
+    <item msgid="2470141365136884119">"TEAL"</item>
+  </string-array>
+</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 93dd001..0a6357d 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <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>
diff --git a/res/values-en-rXC/clock_colors.xml b/res/values-en-rXC/clock_colors.xml
new file mode 100644
index 0000000..a06793b
--- /dev/null
+++ b/res/values-en-rXC/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‎‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‎‎‏‎‏‎‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‎RED‎‏‎‎‏‎"</item>
+    <item msgid="6882970855289978213">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‎ORANGE‎‏‎‎‏‎"</item>
+    <item msgid="5560732545714984533">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‏‏‎‎‏‎‏‎‏‎‏‎YELLOW‎‏‎‎‏‎"</item>
+    <item msgid="7246284817845434226">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‎‎GREEN‎‏‎‎‏‎"</item>
+    <item msgid="6762906417604676001">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‎‏‎‎‎‎‏‎BLUE‎‏‎‎‏‎"</item>
+    <item msgid="8974135109557664892">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‎‎INDIGO‎‏‎‎‏‎"</item>
+    <item msgid="786643557830463422">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‎VIOLET‎‏‎‎‏‎"</item>
+    <item msgid="6835537356703747621">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‎‎‏‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‎‎‏‎‏‎GRAY‎‏‎‎‏‎"</item>
+    <item msgid="2470141365136884119">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‏‎TEAL‎‏‎‎‏‎"</item>
+  </string-array>
+</resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index ccce7e2..6368683 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -23,7 +23,18 @@
     <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 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>
diff --git a/res/values-es-rUS/clock_colors.xml b/res/values-es-rUS/clock_colors.xml
new file mode 100644
index 0000000..6caf3b8
--- /dev/null
+++ b/res/values-es-rUS/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ROJO"</item>
+    <item msgid="6882970855289978213">"NARANJA"</item>
+    <item msgid="5560732545714984533">"AMARILLO"</item>
+    <item msgid="7246284817845434226">"VERDE"</item>
+    <item msgid="6762906417604676001">"AZUL"</item>
+    <item msgid="8974135109557664892">"ÍNDIGO"</item>
+    <item msgid="786643557830463422">"VIOLETA"</item>
+    <item msgid="6835537356703747621">"GRIS"</item>
+    <item msgid="2470141365136884119">"VERDE AZULADO"</item>
+  </string-array>
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 6b7c1be..3a4be84 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Rojo"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Naranja"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Amarillo"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Verde"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Azul"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Índigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violeta"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Gris"</string>
+    <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>
diff --git a/res/values-es/clock_colors.xml b/res/values-es/clock_colors.xml
new file mode 100644
index 0000000..b8607fb
--- /dev/null
+++ b/res/values-es/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ROJO"</item>
+    <item msgid="6882970855289978213">"NARANJA"</item>
+    <item msgid="5560732545714984533">"AMARILLO"</item>
+    <item msgid="7246284817845434226">"VERDE"</item>
+    <item msgid="6762906417604676001">"AZUL"</item>
+    <item msgid="8974135109557664892">"ÍNDIGO"</item>
+    <item msgid="786643557830463422">"VIOLETA"</item>
+    <item msgid="6835537356703747621">"GRIS"</item>
+    <item msgid="2470141365136884119">"TURQUESA"</item>
+  </string-array>
+</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 1c80202..f2d79eb 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Rojo"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Naranja"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Amarillo"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Verde"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Azul"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Índigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violeta"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Gris"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Turquesa"</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">"El tamaño del reloj cambia en función del contenido de la pantalla de bloqueo"</string>
diff --git a/res/values-et/clock_colors.xml b/res/values-et/clock_colors.xml
new file mode 100644
index 0000000..7d73aa2
--- /dev/null
+++ b/res/values-et/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"PUNANE"</item>
+    <item msgid="6882970855289978213">"ORANŽ"</item>
+    <item msgid="5560732545714984533">"KOLLANE"</item>
+    <item msgid="7246284817845434226">"ROHELINE"</item>
+    <item msgid="6762906417604676001">"SININE"</item>
+    <item msgid="8974135109557664892">"INDIGOSININE"</item>
+    <item msgid="786643557830463422">"VIOLETNE"</item>
+    <item msgid="6835537356703747621">"HALL"</item>
+    <item msgid="2470141365136884119">"SINAKASROHELINE"</item>
+  </string-array>
+</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 9ee2a32..04bf1f5 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Punane"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oranž"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Kollane"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Roheline"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Sinine"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigosinine"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violetne"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Hall"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Sinakasroheline"</string>
     <string name="clock_size" msgid="5028923902364418263">"Suurus"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dünaamiline"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Kella suurus muutub olenevalt lukustuskuva sisust"</string>
diff --git a/res/values-eu/clock_colors.xml b/res/values-eu/clock_colors.xml
new file mode 100644
index 0000000..453cb8e
--- /dev/null
+++ b/res/values-eu/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"GORRIA"</item>
+    <item msgid="6882970855289978213">"LARANJA"</item>
+    <item msgid="5560732545714984533">"HORIA"</item>
+    <item msgid="7246284817845434226">"BERDEA"</item>
+    <item msgid="6762906417604676001">"URDINA"</item>
+    <item msgid="8974135109557664892">"INDIGOA"</item>
+    <item msgid="786643557830463422">"BIOLETA"</item>
+    <item msgid="6835537356703747621">"GRISA"</item>
+    <item msgid="2470141365136884119">"ANILA"</item>
+  </string-array>
+</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 4979948..846d4dd 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Gorria"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Laranja"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Horia"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Berdea"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Urdina"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigoa"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Bioleta"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Grisa"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Anila"</string>
     <string name="clock_size" msgid="5028923902364418263">"Tamaina"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamikoa"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Erlojuaren tamaina pantaila blokeatuko edukiaren arabera aldatzen da"</string>
diff --git a/res/values-fa/clock_colors.xml b/res/values-fa/clock_colors.xml
new file mode 100644
index 0000000..e890d08
--- /dev/null
+++ b/res/values-fa/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"قرمز"</item>
+    <item msgid="6882970855289978213">"نارنجی"</item>
+    <item msgid="5560732545714984533">"زرد"</item>
+    <item msgid="7246284817845434226">"سبز"</item>
+    <item msgid="6762906417604676001">"آبی"</item>
+    <item msgid="8974135109557664892">"نیلی"</item>
+    <item msgid="786643557830463422">"یاسی"</item>
+    <item msgid="6835537356703747621">"خاکستری"</item>
+    <item msgid="2470141365136884119">"سبز دودی"</item>
+  </string-array>
+</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 7a1611a..681273f 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"نارنجی"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"زرد"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"سبز"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"آبی"</string>
+    <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_size" msgid="5028923902364418263">"اندازه"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"پویا"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"اندازه ساعت نسبت به محتوای صفحه قفل تغییر می‌کند"</string>
diff --git a/res/values-fi/clock_colors.xml b/res/values-fi/clock_colors.xml
new file mode 100644
index 0000000..4da60ae
--- /dev/null
+++ b/res/values-fi/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"PUNAINEN"</item>
+    <item msgid="6882970855289978213">"ORANSSI"</item>
+    <item msgid="5560732545714984533">"KELTAINEN"</item>
+    <item msgid="7246284817845434226">"VIHREÄ"</item>
+    <item msgid="6762906417604676001">"SININEN"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLETTI"</item>
+    <item msgid="6835537356703747621">"HARMAA"</item>
+    <item msgid="2470141365136884119">"TURKOOSI"</item>
+  </string-array>
+</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 2828534..753c714 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Punainen"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oranssi"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Keltainen"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Vihreä"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Sininen"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violetti"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Harmaa"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Turkoosi"</string>
     <string name="clock_size" msgid="5028923902364418263">"Koko"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynaaminen"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Kellon koko riippuu lukitusnäytön sisällöstä"</string>
diff --git a/res/values-fr-rCA/clock_colors.xml b/res/values-fr-rCA/clock_colors.xml
new file mode 100644
index 0000000..a02729a
--- /dev/null
+++ b/res/values-fr-rCA/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ROUGE"</item>
+    <item msgid="6882970855289978213">"ORANGE"</item>
+    <item msgid="5560732545714984533">"JAUNE"</item>
+    <item msgid="7246284817845434226">"VERT"</item>
+    <item msgid="6762906417604676001">"BLEU"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLET"</item>
+    <item msgid="6835537356703747621">"GRIS"</item>
+    <item msgid="2470141365136884119">"BLEU SARCELLE"</item>
+  </string-array>
+</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 0c59faa..545c568 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Rouge"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Orange"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Jaune"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Vert"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Bleu"</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">"Gris"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Bleu sarcelle"</string>
     <string name="clock_size" msgid="5028923902364418263">"Taille"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamique"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"La taille de l\'horloge varie en fonction du contenu de l\'écran de verrouillage"</string>
diff --git a/res/values-fr/clock_colors.xml b/res/values-fr/clock_colors.xml
new file mode 100644
index 0000000..6daf394
--- /dev/null
+++ b/res/values-fr/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ROUGE"</item>
+    <item msgid="6882970855289978213">"ORANGE"</item>
+    <item msgid="5560732545714984533">"JAUNE"</item>
+    <item msgid="7246284817845434226">"VERT"</item>
+    <item msgid="6762906417604676001">"BLEU"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"MAUVE"</item>
+    <item msgid="6835537356703747621">"GRIS"</item>
+    <item msgid="2470141365136884119">"TURQUOISE"</item>
+  </string-array>
+</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index f239f98..400ba37 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Orange"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Jaune"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Vert"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Bleu"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Mauve"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Gris"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Turquoise"</string>
     <string name="clock_size" msgid="5028923902364418263">"Taille"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamique"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"La taille de l\'horloge change selon le contenu de l\'écran de verrouillage"</string>
diff --git a/res/values-gl/clock_colors.xml b/res/values-gl/clock_colors.xml
new file mode 100644
index 0000000..5d9da17
--- /dev/null
+++ b/res/values-gl/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"VERMELLO"</item>
+    <item msgid="6882970855289978213">"LARANXA"</item>
+    <item msgid="5560732545714984533">"AMARELO"</item>
+    <item msgid="7246284817845434226">"VERDE"</item>
+    <item msgid="6762906417604676001">"AZUL"</item>
+    <item msgid="8974135109557664892">"ÍNDIGO"</item>
+    <item msgid="786643557830463422">"VIOLETA"</item>
+    <item msgid="6835537356703747621">"GRIS"</item>
+    <item msgid="2470141365136884119">"VERDE AZULADO"</item>
+  </string-array>
+</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 70f2809..ded1ec0 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Vermello"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Laranxa"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Amarelo"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Verde"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Azul"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Índigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violeta"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Gris"</string>
+    <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">"O tamaño do reloxo cambia en función do contido da pantalla de bloqueo"</string>
diff --git a/res/values-gu/clock_colors.xml b/res/values-gu/clock_colors.xml
new file mode 100644
index 0000000..0818083
--- /dev/null
+++ b/res/values-gu/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"લાલ"</item>
+    <item msgid="6882970855289978213">"નારંગી"</item>
+    <item msgid="5560732545714984533">"પીળો"</item>
+    <item msgid="7246284817845434226">"લીલો"</item>
+    <item msgid="6762906417604676001">"વાદળી"</item>
+    <item msgid="8974135109557664892">"ઘેરો વાદળી રંગ"</item>
+    <item msgid="786643557830463422">"જાંબલી"</item>
+    <item msgid="6835537356703747621">"રાખોડી"</item>
+    <item msgid="2470141365136884119">"ટીલ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index d3f5cfc..f10c80f 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"નારંગી"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"પીળો"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"લીલો"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"વાદળી"</string>
+    <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_size" msgid="5028923902364418263">"કદ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ડાઇનૅમિક"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ઘડિયાળનું કદ લૉક સ્ક્રીન પરના કન્ટેન્ટ અનુસાર બદલાય છે"</string>
diff --git a/res/values-hi/clock_colors.xml b/res/values-hi/clock_colors.xml
new file mode 100644
index 0000000..e613f33
--- /dev/null
+++ b/res/values-hi/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"लाल"</item>
+    <item msgid="6882970855289978213">"नारंगी"</item>
+    <item msgid="5560732545714984533">"पीला"</item>
+    <item msgid="7246284817845434226">"हरा"</item>
+    <item msgid="6762906417604676001">"नीला"</item>
+    <item msgid="8974135109557664892">"इंडिगो"</item>
+    <item msgid="786643557830463422">"बैंगनी"</item>
+    <item msgid="6835537356703747621">"स्लेटी"</item>
+    <item msgid="2470141365136884119">"टील"</item>
+  </string-array>
+</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 8ff9f1c..6fd8ed3 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"नारंगी"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"पीला"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"हरा"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"नीला"</string>
+    <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_size" msgid="5028923902364418263">"साइज़"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"डाइनैमिक"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"लॉक स्क्रीन के कॉन्टेंट के हिसाब से घड़ी का साइज़ बदलता है"</string>
diff --git a/res/values-hr/clock_colors.xml b/res/values-hr/clock_colors.xml
new file mode 100644
index 0000000..de6b751
--- /dev/null
+++ b/res/values-hr/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"CRVENA"</item>
+    <item msgid="6882970855289978213">"NARANČASTA"</item>
+    <item msgid="5560732545714984533">"ŽUTA"</item>
+    <item msgid="7246284817845434226">"ZELENA"</item>
+    <item msgid="6762906417604676001">"PLAVA"</item>
+    <item msgid="8974135109557664892">"MODROLJUBIČASTA"</item>
+    <item msgid="786643557830463422">"LJUBIČASTA"</item>
+    <item msgid="6835537356703747621">"SIVA"</item>
+    <item msgid="2470141365136884119">"TIRKIZNOPLAVA"</item>
+  </string-array>
+</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 5d8fb0c..ad6782c 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Crvena"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Narančasta"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Žuta"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Zelena"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Plava"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Modroljubičasta"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Ljubičasta"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Siva"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Tirkiznoplava"</string>
     <string name="clock_size" msgid="5028923902364418263">"Veličina"</string>
     <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>
diff --git a/res/values-hu/clock_colors.xml b/res/values-hu/clock_colors.xml
new file mode 100644
index 0000000..cc869be
--- /dev/null
+++ b/res/values-hu/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"PIROS"</item>
+    <item msgid="6882970855289978213">"NARANCSSÁRGA"</item>
+    <item msgid="5560732545714984533">"SÁRGA"</item>
+    <item msgid="7246284817845434226">"ZÖLD"</item>
+    <item msgid="6762906417604676001">"KÉK"</item>
+    <item msgid="8974135109557664892">"INDIGÓKÉK"</item>
+    <item msgid="786643557830463422">"IBOLYAKÉK"</item>
+    <item msgid="6835537356703747621">"SZÜRKE"</item>
+    <item msgid="2470141365136884119">"PÁVAKÉK"</item>
+  </string-array>
+</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index f51e20a..005d1b5 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Piros"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Narancssárga"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Sárga"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Zöld"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Kék"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigókék"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Ibolyakék"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Szürke"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Pávakék"</string>
     <string name="clock_size" msgid="5028923902364418263">"Méret"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamikus"</string>
     <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>
diff --git a/res/values-hy/clock_colors.xml b/res/values-hy/clock_colors.xml
new file mode 100644
index 0000000..15366a7
--- /dev/null
+++ b/res/values-hy/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ԿԱՐՄԻՐ"</item>
+    <item msgid="6882970855289978213">"ՆԱՐՆՋԱԳՈՒՅՆ"</item>
+    <item msgid="5560732545714984533">"ԴԵՂԻՆ"</item>
+    <item msgid="7246284817845434226">"ԿԱՆԱՉ"</item>
+    <item msgid="6762906417604676001">"ԿԱՊՈՒՅՏ"</item>
+    <item msgid="8974135109557664892">"ԻՆԴԻԳՈ"</item>
+    <item msgid="786643557830463422">"ՄԱՆՈՒՇԱԿԱԳՈՒՅՆ"</item>
+    <item msgid="6835537356703747621">"ՄՈԽՐԱԳՈՒՅՆ"</item>
+    <item msgid="2470141365136884119">"ՓԻՐՈՒԶԱԳՈՒՅՆ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index dcd7bae..220da75 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Նարնջագույն"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Դեղին"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Կանաչ"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Կապույտ"</string>
+    <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_size" msgid="5028923902364418263">"Չափս"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Դինամիկ"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Ժամացույցի չափսը փոխվում է կողպէկրանի բովանդակությանը համապատասխան"</string>
diff --git a/res/values-in/clock_colors.xml b/res/values-in/clock_colors.xml
new file mode 100644
index 0000000..f3b4693
--- /dev/null
+++ b/res/values-in/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"MERAH"</item>
+    <item msgid="6882970855289978213">"ORANYE"</item>
+    <item msgid="5560732545714984533">"KUNING"</item>
+    <item msgid="7246284817845434226">"HIJAU"</item>
+    <item msgid="6762906417604676001">"BIRU"</item>
+    <item msgid="8974135109557664892">"NILA"</item>
+    <item msgid="786643557830463422">"VIOLET"</item>
+    <item msgid="6835537356703747621">"ABU-ABU"</item>
+    <item msgid="2470141365136884119">"HIJAU KEBIRUAN"</item>
+  </string-array>
+</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 921274c..8dc19c3 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Merah"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oranye"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Kuning"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Hijau"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Biru"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Nila"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violet"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Abu-abu"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Hijau Kebiruan"</string>
     <string name="clock_size" msgid="5028923902364418263">"Ukuran"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamis"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Ukuran jam berubah sesuai dengan konten layar kunci"</string>
diff --git a/res/values-is/clock_colors.xml b/res/values-is/clock_colors.xml
new file mode 100644
index 0000000..c7f0a59
--- /dev/null
+++ b/res/values-is/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"RAUÐUR"</item>
+    <item msgid="6882970855289978213">"APPELSÍNUGULUR"</item>
+    <item msgid="5560732545714984533">"GULUR"</item>
+    <item msgid="7246284817845434226">"GRÆNN"</item>
+    <item msgid="6762906417604676001">"BLÁR"</item>
+    <item msgid="8974135109557664892">"DIMMFJÓLUBLÁR"</item>
+    <item msgid="786643557830463422">"FJÓLUBLÁR"</item>
+    <item msgid="6835537356703747621">"GRÁR"</item>
+    <item msgid="2470141365136884119">"GRÆNBLÁR"</item>
+  </string-array>
+</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index d5ade3a..00faa6f 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Rauður"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Appelsínugulur"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Gulur"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Grænn"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"BLÁR"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Dimmfjólublár"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Fjólublár"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Grár"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Grænblár"</string>
     <string name="clock_size" msgid="5028923902364418263">"Stærð"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Breytilegt"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Stærð klukku breytist í samræmi við efni á lásskjá"</string>
diff --git a/res/values-it/clock_colors.xml b/res/values-it/clock_colors.xml
new file mode 100644
index 0000000..6e9505c
--- /dev/null
+++ b/res/values-it/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ROSSO"</item>
+    <item msgid="6882970855289978213">"ARANCIONE"</item>
+    <item msgid="5560732545714984533">"GIALLO"</item>
+    <item msgid="7246284817845434226">"VERDE"</item>
+    <item msgid="6762906417604676001">"BLU"</item>
+    <item msgid="8974135109557664892">"INDACO"</item>
+    <item msgid="786643557830463422">"VIOLA"</item>
+    <item msgid="6835537356703747621">"GRIGIO"</item>
+    <item msgid="2470141365136884119">"VERDE ACQUA"</item>
+  </string-array>
+</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index b7810fa..c3246e0 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Arancione"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Giallo"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Verde"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Blu"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indaco"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Viola"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Grigio"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Verde acqua"</string>
     <string name="clock_size" msgid="5028923902364418263">"Dimensioni"</string>
     <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>
diff --git a/res/values-iw/clock_colors.xml b/res/values-iw/clock_colors.xml
new file mode 100644
index 0000000..36c8783
--- /dev/null
+++ b/res/values-iw/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"אדום"</item>
+    <item msgid="6882970855289978213">"כתום"</item>
+    <item msgid="5560732545714984533">"צהוב"</item>
+    <item msgid="7246284817845434226">"ירוק"</item>
+    <item msgid="6762906417604676001">"כחול"</item>
+    <item msgid="8974135109557664892">"אינדיגו"</item>
+    <item msgid="786643557830463422">"סגול"</item>
+    <item msgid="6835537356703747621">"אפור"</item>
+    <item msgid="2470141365136884119">"כחול-ירקרק"</item>
+  </string-array>
+</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 44e8575..cc15c84 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"כתום"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"צהוב"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"ירוק"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"כחול"</string>
+    <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_size" msgid="5028923902364418263">"גודל"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"דינמי"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"גודל השעון משתנה בהתאם לתוכן במסך הנעילה"</string>
diff --git a/res/values-ja/clock_colors.xml b/res/values-ja/clock_colors.xml
new file mode 100644
index 0000000..3bdde56
--- /dev/null
+++ b/res/values-ja/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"赤"</item>
+    <item msgid="6882970855289978213">"オレンジ"</item>
+    <item msgid="5560732545714984533">"黄"</item>
+    <item msgid="7246284817845434226">"緑"</item>
+    <item msgid="6762906417604676001">"青"</item>
+    <item msgid="8974135109557664892">"インディゴ"</item>
+    <item msgid="786643557830463422">"バイオレット"</item>
+    <item msgid="6835537356703747621">"グレー"</item>
+    <item msgid="2470141365136884119">"ティール"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 29cd608..203008d 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"オレンジ"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"黄"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"緑"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"青"</string>
+    <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_size" msgid="5028923902364418263">"サイズ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"動的"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"時計のサイズはロック画面の内容に応じて変わります"</string>
diff --git a/res/values-ka/clock_colors.xml b/res/values-ka/clock_colors.xml
new file mode 100644
index 0000000..dd13e10
--- /dev/null
+++ b/res/values-ka/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"წითელი"</item>
+    <item msgid="6882970855289978213">"ნარინჯისფერი"</item>
+    <item msgid="5560732545714984533">"ყვითელი"</item>
+    <item msgid="7246284817845434226">"მწვანე"</item>
+    <item msgid="6762906417604676001">"ლურჯი"</item>
+    <item msgid="8974135109557664892">"მუქი ლურჯი"</item>
+    <item msgid="786643557830463422">"იისფერი"</item>
+    <item msgid="6835537356703747621">"რუხი"</item>
+    <item msgid="2470141365136884119">"ზურმუხტისფერი"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index faf29ab..cc53862 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -23,7 +23,18 @@
     <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; 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>
+    <string name="clock_color_red" msgid="3843504214807597810">"წითელი"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"ნარინჯისფერი"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"ყვითელი"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"მწვანე"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"ლურჯი"</string>
+    <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_size" msgid="5028923902364418263">"ზომა"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"დინამიკური"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"საათის ზომა იცვლება დაბლოკილი ეკრანის შინაარსის მიხედვით"</string>
diff --git a/res/values-kk/clock_colors.xml b/res/values-kk/clock_colors.xml
new file mode 100644
index 0000000..b8abce4
--- /dev/null
+++ b/res/values-kk/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ҚЫЗЫЛ"</item>
+    <item msgid="6882970855289978213">"ҚЫЗҒЫЛТ САРЫ"</item>
+    <item msgid="5560732545714984533">"САРЫ"</item>
+    <item msgid="7246284817845434226">"ЖАСЫЛ"</item>
+    <item msgid="6762906417604676001">"КӨК"</item>
+    <item msgid="8974135109557664892">"ИНДИГО"</item>
+    <item msgid="786643557830463422">"КҮЛГІН"</item>
+    <item msgid="6835537356703747621">"СҰР"</item>
+    <item msgid="2470141365136884119">"КӨКШІЛ ЖАСЫЛ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index c939afa..c0968e4 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Қызғылт сары"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Сары"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Жасыл"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Көк"</string>
+    <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_size" msgid="5028923902364418263">"Көлем"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамикалық"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Сағат көлемі құлып экранындағы контентке сай өзгереді."</string>
diff --git a/res/values-km/clock_colors.xml b/res/values-km/clock_colors.xml
new file mode 100644
index 0000000..25bc604
--- /dev/null
+++ b/res/values-km/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ក្រហម"</item>
+    <item msgid="6882970855289978213">"ទឹកក្រូច"</item>
+    <item msgid="5560732545714984533">"លឿង"</item>
+    <item msgid="7246284817845434226">"បៃតង"</item>
+    <item msgid="6762906417604676001">"ខៀវ"</item>
+    <item msgid="8974135109557664892">"ទឹកប៊ិក"</item>
+    <item msgid="786643557830463422">"ត្របែក​ព្រៃ"</item>
+    <item msgid="6835537356703747621">"ប្រផេះ"</item>
+    <item msgid="2470141365136884119">"បៃតងចាស់"</item>
+  </string-array>
+</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 5d1d816..30aa5d9 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"ទឹកក្រូច"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"លឿង"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"បៃតង"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"ខៀវ"</string>
+    <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_size" msgid="5028923902364418263">"ទំហំ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ឌីណាមិក"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ទំហំនាឡិកា​ផ្លាស់ប្ដូរទៅតាមខ្លឹមសារ​លើអេក្រង់ចាក់សោ"</string>
@@ -95,7 +106,7 @@
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"ប្ដូរ​ក្រឡា​កម្មវិធី"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"ពណ៌ផ្ទាំងរូបភាព"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"ពណ៌​ផ្ទាំងរូបភាព"</string>
-    <string name="preset_color_tab" msgid="3133391839341329314">"ពណ៌​លំនាំដើម"</string>
+    <string name="preset_color_tab" msgid="3133391839341329314">"ពណ៌​គោល"</string>
     <string name="color_changed" msgid="7029571720331641235">"បាន​ផ្លាស់ប្ដូរ​ពណ៌"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ឌីណាមិក"</string>
     <string name="color_picker_title" msgid="9150524788313065978">"ពណ៌ប្រព័ន្ធ"</string>
diff --git a/res/values-kn/clock_colors.xml b/res/values-kn/clock_colors.xml
new file mode 100644
index 0000000..775db7f
--- /dev/null
+++ b/res/values-kn/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ಕೆಂಪು"</item>
+    <item msgid="6882970855289978213">"ಕಿತ್ತಳೆ"</item>
+    <item msgid="5560732545714984533">"ಹಳದಿ"</item>
+    <item msgid="7246284817845434226">"ಹಸಿರು"</item>
+    <item msgid="6762906417604676001">"ನೀಲಿ"</item>
+    <item msgid="8974135109557664892">"ಇಂಡಿಗೊ"</item>
+    <item msgid="786643557830463422">"ನೇರಳೆ"</item>
+    <item msgid="6835537356703747621">"ಬೂದು"</item>
+    <item msgid="2470141365136884119">"ಟೀಲ್"</item>
+  </string-array>
+</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 8a9d75b..b0dc064 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"ಕಿತ್ತಳೆ"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"ಹಳದಿ"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"ಹಸಿರು"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"ನೀಲಿ"</string>
+    <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_size" msgid="5028923902364418263">"ಗಾತ್ರ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ಡೈನಾಮಿಕ್"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿರುವ ವಿಷಯಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಗಡಿಯಾರದ ಗಾತ್ರ ಬದಲಾಗುತ್ತದೆ"</string>
diff --git a/res/values-ko/clock_colors.xml b/res/values-ko/clock_colors.xml
new file mode 100644
index 0000000..2b596c8
--- /dev/null
+++ b/res/values-ko/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"빨간색"</item>
+    <item msgid="6882970855289978213">"주황색"</item>
+    <item msgid="5560732545714984533">"노란색"</item>
+    <item msgid="7246284817845434226">"초록색"</item>
+    <item msgid="6762906417604676001">"파란색"</item>
+    <item msgid="8974135109557664892">"인디고"</item>
+    <item msgid="786643557830463422">"보라색"</item>
+    <item msgid="6835537356703747621">"회색"</item>
+    <item msgid="2470141365136884119">"청록색"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index f5173e0..bc4fe85 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"주황색"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"노란색"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"초록색"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"파란색"</string>
+    <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_size" msgid="5028923902364418263">"크기"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"동적"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"시계 크기가 잠금 화면 콘텐츠에 따라 변경됩니다."</string>
diff --git a/res/values-ky/clock_colors.xml b/res/values-ky/clock_colors.xml
new file mode 100644
index 0000000..06d711c
--- /dev/null
+++ b/res/values-ky/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"КЫЗЫЛ"</item>
+    <item msgid="6882970855289978213">"КЫЗГЫЛТ САРЫ"</item>
+    <item msgid="5560732545714984533">"САРЫ"</item>
+    <item msgid="7246284817845434226">"ЖАШЫЛ"</item>
+    <item msgid="6762906417604676001">"КӨК"</item>
+    <item msgid="8974135109557664892">"ИНДИГО"</item>
+    <item msgid="786643557830463422">"КЫЗГЫЛТ КӨК"</item>
+    <item msgid="6835537356703747621">"БОЗ"</item>
+    <item msgid="2470141365136884119">"КӨГҮШ ЖАШЫЛ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 64cead8..64c1f2f 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"КЫЗГЫЛТ САРЫ"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"САРЫ"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"ЖАШЫЛ"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"КӨК"</string>
+    <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_size" msgid="5028923902364418263">"Өлчөмү"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамикалык"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Сааттын өлчөмү кулпуланган экрандагы нерселерге ылайык өзгөрөт"</string>
diff --git a/res/values-lo/clock_colors.xml b/res/values-lo/clock_colors.xml
new file mode 100644
index 0000000..857c2b0
--- /dev/null
+++ b/res/values-lo/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ສີແດງ"</item>
+    <item msgid="6882970855289978213">"ສີສົ້ມ"</item>
+    <item msgid="5560732545714984533">"ສີເຫຼືອງ"</item>
+    <item msgid="7246284817845434226">"ສີຂຽວ"</item>
+    <item msgid="6762906417604676001">"ສີຟ້າ"</item>
+    <item msgid="8974135109557664892">"ສີຄາມ"</item>
+    <item msgid="786643557830463422">"ສີມ່ວງ"</item>
+    <item msgid="6835537356703747621">"ສີເທົາ"</item>
+    <item msgid="2470141365136884119">"ສີຟ້າອົມຂຽວ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 25f03c3..e03c2b5 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"ສີສົ້ມ"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"ສີເຫຼືອງ"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"ສີຂຽວ"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"ສີຟ້າ"</string>
+    <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_size" msgid="5028923902364418263">"ຂະໜາດ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ໄດນາມິກ"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ຂະໜາດຂອງໂມງປ່ຽນຕາມເນື້ອຫາໃນໜ້າຈໍລັອກ"</string>
diff --git a/res/values-lt/clock_colors.xml b/res/values-lt/clock_colors.xml
new file mode 100644
index 0000000..4e30d75
--- /dev/null
+++ b/res/values-lt/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"RAUDONA"</item>
+    <item msgid="6882970855289978213">"ORANŽINĖ"</item>
+    <item msgid="5560732545714984533">"GELTONA"</item>
+    <item msgid="7246284817845434226">"ŽALIA"</item>
+    <item msgid="6762906417604676001">"MĖLYNA"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLETINĖ"</item>
+    <item msgid="6835537356703747621">"PILKA"</item>
+    <item msgid="2470141365136884119">"ŽALSVAI MĖLYNA"</item>
+  </string-array>
+</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 4373569..1f50883 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Raudona"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oranžinė"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Geltona"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Žalia"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Mėlyna"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violetinė"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Pilka"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Žalsvai mėlyna"</string>
     <string name="clock_size" msgid="5028923902364418263">"Dydis"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinaminis"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Laikrodžio dydis keičiamas pagal užrakinimo ekrano turinį"</string>
diff --git a/res/values-lv/clock_colors.xml b/res/values-lv/clock_colors.xml
new file mode 100644
index 0000000..0983836
--- /dev/null
+++ b/res/values-lv/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"SARKANA"</item>
+    <item msgid="6882970855289978213">"ORANŽA"</item>
+    <item msgid="5560732545714984533">"DZELTENA"</item>
+    <item msgid="7246284817845434226">"ZAĻA"</item>
+    <item msgid="6762906417604676001">"ZILA"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLETA"</item>
+    <item msgid="6835537356703747621">"PELĒKA"</item>
+    <item msgid="2470141365136884119">"ZILGANZAĻA"</item>
+  </string-array>
+</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 1261749..5a5f0d9 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Sarkana"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oranža"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Dzeltena"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Zaļa"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Zila"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violeta"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Pelēka"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Zilganzaļa"</string>
     <string name="clock_size" msgid="5028923902364418263">"Lielums"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamisks"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Pulksteņa lielums mainās atkarībā no bloķēšanas ekrāna satura."</string>
diff --git a/res/values-mk/clock_colors.xml b/res/values-mk/clock_colors.xml
new file mode 100644
index 0000000..e89597c
--- /dev/null
+++ b/res/values-mk/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ЦРВЕНА"</item>
+    <item msgid="6882970855289978213">"ПОРТОКАЛОВА"</item>
+    <item msgid="5560732545714984533">"ЖОЛТА"</item>
+    <item msgid="7246284817845434226">"ЗЕЛЕНА"</item>
+    <item msgid="6762906417604676001">"СИНА"</item>
+    <item msgid="8974135109557664892">"ИНДИГО"</item>
+    <item msgid="786643557830463422">"ВИОЛЕТОВА"</item>
+    <item msgid="6835537356703747621">"СИВА"</item>
+    <item msgid="2470141365136884119">"СИНО-ЗЕЛЕНА"</item>
+  </string-array>
+</resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index fb01850..822573f 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Портокалова"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Жолта"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Зелена"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Сина"</string>
+    <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_size" msgid="5028923902364418263">"Димензија"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамичнa"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Големината на часовникот се променува според содржините на заклучен екран"</string>
diff --git a/res/values-ml/clock_colors.xml b/res/values-ml/clock_colors.xml
new file mode 100644
index 0000000..b194aed
--- /dev/null
+++ b/res/values-ml/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ചുവപ്പ്"</item>
+    <item msgid="6882970855289978213">"ഓറഞ്ച്"</item>
+    <item msgid="5560732545714984533">"മഞ്ഞ"</item>
+    <item msgid="7246284817845434226">"പച്ച"</item>
+    <item msgid="6762906417604676001">"നീല"</item>
+    <item msgid="8974135109557664892">"ഇൻഡിഗോ"</item>
+    <item msgid="786643557830463422">"വയലറ്റ്"</item>
+    <item msgid="6835537356703747621">"ചാരനിറം"</item>
+    <item msgid="2470141365136884119">"ടീൽ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index bbd8186..c0189c7 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"ഓറഞ്ച്"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"മഞ്ഞ"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"പച്ച"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"നീല"</string>
+    <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_size" msgid="5028923902364418263">"വലുപ്പം"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ഡൈനാമിക്"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ലോക്ക് സ്‌ക്രീൻ ഉള്ളടക്കത്തിനനുസരിച്ച് ക്ലോക്കിന്റെ വലുപ്പം മാറുന്നു"</string>
diff --git a/res/values-mn/clock_colors.xml b/res/values-mn/clock_colors.xml
new file mode 100644
index 0000000..d059fc0
--- /dev/null
+++ b/res/values-mn/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"УЛААН"</item>
+    <item msgid="6882970855289978213">"УЛБАР ШАР"</item>
+    <item msgid="5560732545714984533">"ШАР"</item>
+    <item msgid="7246284817845434226">"НОГООН"</item>
+    <item msgid="6762906417604676001">"ЦЭНХЭР"</item>
+    <item msgid="8974135109557664892">"ХӨХӨВТӨР НИЛ ЯГААН"</item>
+    <item msgid="786643557830463422">"ХӨХ ЯГААН"</item>
+    <item msgid="6835537356703747621">"СААРАЛ"</item>
+    <item msgid="2470141365136884119">"УСАН ЦЭНХЭР"</item>
+  </string-array>
+</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 42d33ee..b911004 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Улбар шар"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Шар"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Ногоон"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Цэнхэр"</string>
+    <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_size" msgid="5028923902364418263">"Хэмжээ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамик"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Цагны хэмжээ нь түгжигдсэн дэлгэцийн контентоос хамаарч өөрчлөгддөг"</string>
diff --git a/res/values-mr/clock_colors.xml b/res/values-mr/clock_colors.xml
new file mode 100644
index 0000000..a37bf2a
--- /dev/null
+++ b/res/values-mr/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"लाल"</item>
+    <item msgid="6882970855289978213">"नारिंगी"</item>
+    <item msgid="5560732545714984533">"पिवळा"</item>
+    <item msgid="7246284817845434226">"हिरवा"</item>
+    <item msgid="6762906417604676001">"निळा"</item>
+    <item msgid="8974135109557664892">"गडद निळा"</item>
+    <item msgid="786643557830463422">"जांभळा"</item>
+    <item msgid="6835537356703747621">"राखाडी"</item>
+    <item msgid="2470141365136884119">"हिरवट निळा"</item>
+  </string-array>
+</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index ab666ef..5b7313b 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"नारिंगी"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"पिवळा"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"हिरवा"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"निळा"</string>
+    <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_size" msgid="5028923902364418263">"आकार"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"डायनॅमिक"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"लॉक स्‍क्रीनवरील आशयानुसार घड्याळाचा आकार बदलेल"</string>
diff --git a/res/values-ms/clock_colors.xml b/res/values-ms/clock_colors.xml
new file mode 100644
index 0000000..fb06584
--- /dev/null
+++ b/res/values-ms/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"MERAH"</item>
+    <item msgid="6882970855289978213">"JINGGA"</item>
+    <item msgid="5560732545714984533">"KUNING"</item>
+    <item msgid="7246284817845434226">"HIJAU"</item>
+    <item msgid="6762906417604676001">"BIRU"</item>
+    <item msgid="8974135109557664892">"BIRU NILA"</item>
+    <item msgid="786643557830463422">"LEMBAYUNG"</item>
+    <item msgid="6835537356703747621">"KELABU"</item>
+    <item msgid="2470141365136884119">"HIJAU KEBIRUAN"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 226001a..129e6f3 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Merah"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Jingga"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Kuning"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Hijau"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Biru"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Biru nila"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Lembayung"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Kelabu"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Hijau kebiruan"</string>
     <string name="clock_size" msgid="5028923902364418263">"Saiz"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamik"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Saiz jam berubah mengikut kandungan skrin kunci"</string>
diff --git a/res/values-my/clock_colors.xml b/res/values-my/clock_colors.xml
new file mode 100644
index 0000000..121056b
--- /dev/null
+++ b/res/values-my/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"အနီရောင်"</item>
+    <item msgid="6882970855289978213">"လိမ္မော်ရောင်"</item>
+    <item msgid="5560732545714984533">"အဝါရောင်"</item>
+    <item msgid="7246284817845434226">"အစိမ်းရောင်"</item>
+    <item msgid="6762906417604676001">"အပြာရောင်"</item>
+    <item msgid="8974135109557664892">"မဲနယ်ရောင်"</item>
+    <item msgid="786643557830463422">"ခရမ်းရောင်"</item>
+    <item msgid="6835537356703747621">"မီးခိုးရောင်"</item>
+    <item msgid="2470141365136884119">"စိမ်းပြာရောင်"</item>
+  </string-array>
+</resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 7ca2bf6..d66738b 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"လိမ္မော်ရောင်"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"အဝါရောင်"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"အစိမ်းရောင်"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"အပြာရောင်"</string>
+    <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_size" msgid="5028923902364418263">"အရွယ်အစား"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ပြောင်းလဲနိုင်"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"လော့ခ်မျက်နှာပြင် အကြောင်းအရာအလိုက် နာရီအရွယ်အစား ပြောင်းလဲသည်"</string>
diff --git a/res/values-nb/clock_colors.xml b/res/values-nb/clock_colors.xml
new file mode 100644
index 0000000..7b27822
--- /dev/null
+++ b/res/values-nb/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"RØD"</item>
+    <item msgid="6882970855289978213">"ORANSJE"</item>
+    <item msgid="5560732545714984533">"GUL"</item>
+    <item msgid="7246284817845434226">"GRØNN"</item>
+    <item msgid="6762906417604676001">"BLÅ"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"FIOLETT"</item>
+    <item msgid="6835537356703747621">"GRÅ"</item>
+    <item msgid="2470141365136884119">"BLÅGRØNN"</item>
+  </string-array>
+</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index c32acf8..61ddc47 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Rød"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oransje"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Gul"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Grønn"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Blå"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Fiolett"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Grå"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Blågrønn"</string>
     <string name="clock_size" msgid="5028923902364418263">"Størrelse"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamisk"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Klokkens størrelse endres basert på innholdet på låseskjermen"</string>
diff --git a/res/values-ne/clock_colors.xml b/res/values-ne/clock_colors.xml
new file mode 100644
index 0000000..a46e357
--- /dev/null
+++ b/res/values-ne/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"रातो"</item>
+    <item msgid="6882970855289978213">"सुन्तले"</item>
+    <item msgid="5560732545714984533">"पहेँलो"</item>
+    <item msgid="7246284817845434226">"हरियो"</item>
+    <item msgid="6762906417604676001">"निलो"</item>
+    <item msgid="8974135109557664892">"इन्डिगो"</item>
+    <item msgid="786643557830463422">"बैजनी"</item>
+    <item msgid="6835537356703747621">"खैरो"</item>
+    <item msgid="2470141365136884119">"निलोमिश्रित हरियो"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index a8e3190..5dc768f 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"सुन्तले"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"पहेँलो"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"हरियो"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"निलो"</string>
+    <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_size" msgid="5028923902364418263">"आकार"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"गतिशील"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"घडीको आकार लक स्क्रिनको सामग्रीका आधारमा परिवर्तन हुन्छ"</string>
diff --git a/res/values-nl/clock_colors.xml b/res/values-nl/clock_colors.xml
new file mode 100644
index 0000000..bd072a1
--- /dev/null
+++ b/res/values-nl/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ROOD"</item>
+    <item msgid="6882970855289978213">"ORANJE"</item>
+    <item msgid="5560732545714984533">"GEEL"</item>
+    <item msgid="7246284817845434226">"GROEN"</item>
+    <item msgid="6762906417604676001">"BLAUW"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLET"</item>
+    <item msgid="6835537356703747621">"GRIJS"</item>
+    <item msgid="2470141365136884119">"BLAUWGROEN"</item>
+  </string-array>
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 90d4c62..d943249 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oranje"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Geel"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Groen"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Blauw"</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">"Grijs"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Blauwgroen"</string>
     <string name="clock_size" msgid="5028923902364418263">"Formaat"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamisch"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Het formaat van de klok past zich aan de content van het vergrendelscherm aan"</string>
diff --git a/res/values-or/clock_colors.xml b/res/values-or/clock_colors.xml
new file mode 100644
index 0000000..ab38485
--- /dev/null
+++ b/res/values-or/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ଲାଲ"</item>
+    <item msgid="6882970855289978213">"କମଳା"</item>
+    <item msgid="5560732545714984533">"ହଳଦିଆ"</item>
+    <item msgid="7246284817845434226">"ସବୁଜ"</item>
+    <item msgid="6762906417604676001">"ନୀଳ"</item>
+    <item msgid="8974135109557664892">"ଇଣ୍ଡିଗୋ"</item>
+    <item msgid="786643557830463422">"ବାଇଗଣୀ"</item>
+    <item msgid="6835537356703747621">"ଧୂସର"</item>
+    <item msgid="2470141365136884119">"ଟିଲ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 73ee228..13e5b58 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"କମଳା"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"ହଳଦିଆ"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"ସବୁଜ"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"ନୀଳ"</string>
+    <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_size" msgid="5028923902364418263">"ଆକାର"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ଡାଇନାମିକ"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ଘଣ୍ଟାର ଆକାର ଲକ ସ୍କ୍ରିନର ବିଷୟବସ୍ତୁ ଅନୁସାରେ ପରିବର୍ତ୍ତନ ହୋଇଥାଏ"</string>
diff --git a/res/values-pa/clock_colors.xml b/res/values-pa/clock_colors.xml
new file mode 100644
index 0000000..3201dab
--- /dev/null
+++ b/res/values-pa/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ਲਾਲ"</item>
+    <item msgid="6882970855289978213">"ਸੰਤਰੀ"</item>
+    <item msgid="5560732545714984533">"ਪੀਲਾ"</item>
+    <item msgid="7246284817845434226">"ਹਰਾ"</item>
+    <item msgid="6762906417604676001">"ਨੀਲਾ"</item>
+    <item msgid="8974135109557664892">"ਲਾਜਵਰ"</item>
+    <item msgid="786643557830463422">"ਜਾਮਣੀ"</item>
+    <item msgid="6835537356703747621">"ਸਲੇਟੀ"</item>
+    <item msgid="2470141365136884119">"ਟੀਲ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 9426d30..e0980f2 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"ਸੰਤਰੀ"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"ਪੀਲਾ"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"ਹਰਾ"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"ਨੀਲਾ"</string>
+    <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_size" msgid="5028923902364418263">"ਆਕਾਰ"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ਪਰਿਵਰਤਨਸ਼ੀਲ"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ਘੜੀ ਦਾ ਆਕਾਰ ਲਾਕ ਸਕ੍ਰੀਨ ਦੀ ਸਮੱਗਰੀ ਮੁਤਾਬਕ ਬਦਲਦਾ ਹੈ"</string>
diff --git a/res/values-pl/clock_colors.xml b/res/values-pl/clock_colors.xml
new file mode 100644
index 0000000..2e6f58b
--- /dev/null
+++ b/res/values-pl/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"CZERWONY"</item>
+    <item msgid="6882970855289978213">"POMARAŃCZOWY"</item>
+    <item msgid="5560732545714984533">"ŻÓŁTY"</item>
+    <item msgid="7246284817845434226">"ZIELONY"</item>
+    <item msgid="6762906417604676001">"NIEBIESKI"</item>
+    <item msgid="8974135109557664892">"INDYGO"</item>
+    <item msgid="786643557830463422">"FIOLETOWY"</item>
+    <item msgid="6835537356703747621">"SZARY"</item>
+    <item msgid="2470141365136884119">"MORSKI"</item>
+  </string-array>
+</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 882452a..1db2078 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Czerwony"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Pomarańczowy"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Żółty"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Zielony"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Niebieski"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indygo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Fioletowy"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Szary"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Morski"</string>
     <string name="clock_size" msgid="5028923902364418263">"Rozmiar"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamiczny"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Rozmiar zegara zmienia się w zależności od zawartości ekranu blokady"</string>
diff --git a/res/values-pt-rPT/clock_colors.xml b/res/values-pt-rPT/clock_colors.xml
new file mode 100644
index 0000000..029295a
--- /dev/null
+++ b/res/values-pt-rPT/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"VERMELHO"</item>
+    <item msgid="6882970855289978213">"LARANJA"</item>
+    <item msgid="5560732545714984533">"AMARELO"</item>
+    <item msgid="7246284817845434226">"VERDE"</item>
+    <item msgid="6762906417604676001">"AZUL"</item>
+    <item msgid="8974135109557664892">"ÍNDIGO"</item>
+    <item msgid="786643557830463422">"VIOLETA"</item>
+    <item msgid="6835537356703747621">"CINZENTO"</item>
+    <item msgid="2470141365136884119">"AZUL-ESVERDEADO"</item>
+  </string-array>
+</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 6e71d80..d45f156 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Vermelho"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Laranja"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Amarelo"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Verde"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Azul"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Índigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violeta"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Cinzento"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Azul-esverdeado"</string>
     <string name="clock_size" msgid="5028923902364418263">"Tamanho"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinâmico"</string>
     <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>
@@ -76,7 +87,7 @@
     <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_button" msgid="1754493078383627019">"Utilizar <xliff:g id="ID_1">%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>
     <string name="something_went_wrong" msgid="529840112449799117">"Ups! Algo correu mal."</string>
diff --git a/res/values-pt/clock_colors.xml b/res/values-pt/clock_colors.xml
new file mode 100644
index 0000000..57538ba
--- /dev/null
+++ b/res/values-pt/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"VERMELHO"</item>
+    <item msgid="6882970855289978213">"LARANJA"</item>
+    <item msgid="5560732545714984533">"AMARELO"</item>
+    <item msgid="7246284817845434226">"VERDE"</item>
+    <item msgid="6762906417604676001">"AZUL"</item>
+    <item msgid="8974135109557664892">"ÍNDIGO"</item>
+    <item msgid="786643557830463422">"VIOLETA"</item>
+    <item msgid="6835537356703747621">"CINZA"</item>
+    <item msgid="2470141365136884119">"AZUL-PETRÓLEO"</item>
+  </string-array>
+</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 8aef312..ee2fd37 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Vermelho"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Laranja"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Amarelo"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Verde"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Azul"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Índigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violeta"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Cinza"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Azul-petróleo"</string>
     <string name="clock_size" msgid="5028923902364418263">"Tamanho"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinâmico"</string>
     <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>
diff --git a/res/values-ro/clock_colors.xml b/res/values-ro/clock_colors.xml
new file mode 100644
index 0000000..003fa39
--- /dev/null
+++ b/res/values-ro/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ROȘU"</item>
+    <item msgid="6882970855289978213">"PORTOCALIU"</item>
+    <item msgid="5560732545714984533">"GALBEN"</item>
+    <item msgid="7246284817845434226">"VERDE"</item>
+    <item msgid="6762906417604676001">"ALBASTRU"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLET"</item>
+    <item msgid="6835537356703747621">"GRI"</item>
+    <item msgid="2470141365136884119">"TURCOAZ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 2dce76f..51eec27 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Roșu"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Portocaliu"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Galben"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Verde"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Albastru"</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">"Gri"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Turcoaz"</string>
     <string name="clock_size" msgid="5028923902364418263">"Dimensiune"</string>
     <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>
diff --git a/res/values-ru/clock_colors.xml b/res/values-ru/clock_colors.xml
new file mode 100644
index 0000000..17e429a
--- /dev/null
+++ b/res/values-ru/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"КРАСНЫЙ"</item>
+    <item msgid="6882970855289978213">"ОРАНЖЕВЫЙ"</item>
+    <item msgid="5560732545714984533">"ЖЕЛТЫЙ"</item>
+    <item msgid="7246284817845434226">"ЗЕЛЕНЫЙ"</item>
+    <item msgid="6762906417604676001">"СИНИЙ"</item>
+    <item msgid="8974135109557664892">"ИНДИГО"</item>
+    <item msgid="786643557830463422">"ФИОЛЕТОВЫЙ"</item>
+    <item msgid="6835537356703747621">"СЕРЫЙ"</item>
+    <item msgid="2470141365136884119">"ТЕМНО-БИРЮЗОВЫЙ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 7a358a9..185db9a 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Оранжевый"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Желтый"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Зеленый"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Синий"</string>
+    <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_size" msgid="5028923902364418263">"Размер"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамичный"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Размер часов меняется в зависимости от контента на заблокированном экране"</string>
diff --git a/res/values-si/clock_colors.xml b/res/values-si/clock_colors.xml
new file mode 100644
index 0000000..c0b3da5
--- /dev/null
+++ b/res/values-si/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"රතු"</item>
+    <item msgid="6882970855289978213">"තැඹිලි"</item>
+    <item msgid="5560732545714984533">"කහ"</item>
+    <item msgid="7246284817845434226">"කොළ"</item>
+    <item msgid="6762906417604676001">"නිල්"</item>
+    <item msgid="8974135109557664892">"ඉන්ඩිගෝ"</item>
+    <item msgid="786643557830463422">"වයලට්"</item>
+    <item msgid="6835537356703747621">"අළු"</item>
+    <item msgid="2470141365136884119">"හරිත නිල්"</item>
+  </string-array>
+</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index bbc9174..b2e1ab2 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"තැඹිලි"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"කහ"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"කොළ"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"නිල්"</string>
+    <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_size" msgid="5028923902364418263">"තරම"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ගතික"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"අගුළු තිරයේ අන්තර්ගතය අනුව ඔරලෝසුවේ තරම වෙනස් වේ"</string>
diff --git a/res/values-sk/clock_colors.xml b/res/values-sk/clock_colors.xml
new file mode 100644
index 0000000..a443c4b
--- /dev/null
+++ b/res/values-sk/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ČERVENÁ"</item>
+    <item msgid="6882970855289978213">"ORANŽOVÁ"</item>
+    <item msgid="5560732545714984533">"ŽLTÁ"</item>
+    <item msgid="7246284817845434226">"ZELENÁ"</item>
+    <item msgid="6762906417604676001">"MODRÁ"</item>
+    <item msgid="8974135109557664892">"INDIGOVÁ"</item>
+    <item msgid="786643557830463422">"FIALOVÁ"</item>
+    <item msgid="6835537356703747621">"SIVÁ"</item>
+    <item msgid="2470141365136884119">"MODROZELENÁ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 3d422be..a6cf36d 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Červená"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oranžová"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Žltá"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Zelená"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Modrá"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigová"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Fialová"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Sivá"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Modrozelená"</string>
     <string name="clock_size" msgid="5028923902364418263">"Veľkosť"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamické"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Veľkosť hodín sa mení podľa obsahu na uzamknutej obrazovke"</string>
diff --git a/res/values-sl/clock_colors.xml b/res/values-sl/clock_colors.xml
new file mode 100644
index 0000000..edf1377
--- /dev/null
+++ b/res/values-sl/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"RDEČA"</item>
+    <item msgid="6882970855289978213">"ORANŽNA"</item>
+    <item msgid="5560732545714984533">"RUMENA"</item>
+    <item msgid="7246284817845434226">"ZELENA"</item>
+    <item msgid="6762906417604676001">"MODRA"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIJOLIČNA"</item>
+    <item msgid="6835537356703747621">"SIVA"</item>
+    <item msgid="2470141365136884119">"ZELENOMODRA"</item>
+  </string-array>
+</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index bef3e79..85a73c1 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Rdeča"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Oranžna"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Rumena"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Zelena"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Modra"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Vijolična"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Siva"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Zelenomodra"</string>
     <string name="clock_size" msgid="5028923902364418263">"Velikost"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamična"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Velikost ure se spremeni glede na vsebino zaklenjenega zaslona."</string>
diff --git a/res/values-sq/clock_colors.xml b/res/values-sq/clock_colors.xml
new file mode 100644
index 0000000..69a2b0c
--- /dev/null
+++ b/res/values-sq/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"E KUQE"</item>
+    <item msgid="6882970855289978213">"PORTOKALLI"</item>
+    <item msgid="5560732545714984533">"E VERDHË"</item>
+    <item msgid="7246284817845434226">"E GJELBËR"</item>
+    <item msgid="6762906417604676001">"BLU"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VJOLLCË"</item>
+    <item msgid="6835537356703747621">"GRI"</item>
+    <item msgid="2470141365136884119">"GURKALI"</item>
+  </string-array>
+</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 34883e7..9a558d6 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"E kuqe"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Portokalli"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"E verdhë"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"E gjelbër"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Blu"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Vjollcë"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Gri"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Gurkali"</string>
     <string name="clock_size" msgid="5028923902364418263">"Madhësia"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamike"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Madhësia e orës ndryshon sipas përmbajtjes së ekranit të kyçjes"</string>
diff --git a/res/values-sr/clock_colors.xml b/res/values-sr/clock_colors.xml
new file mode 100644
index 0000000..9250371
--- /dev/null
+++ b/res/values-sr/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ЦРВЕНА"</item>
+    <item msgid="6882970855289978213">"НАРАНЏАСТА"</item>
+    <item msgid="5560732545714984533">"ЖУТА"</item>
+    <item msgid="7246284817845434226">"ЗЕЛЕНА"</item>
+    <item msgid="6762906417604676001">"ПЛАВА"</item>
+    <item msgid="8974135109557664892">"ТАМНОПЛАВА"</item>
+    <item msgid="786643557830463422">"ЉУБИЧАСТА"</item>
+    <item msgid="6835537356703747621">"СИВА"</item>
+    <item msgid="2470141365136884119">"ТИРКИЗНА"</item>
+  </string-array>
+</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index a599e45..b726d82 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Наранџаста"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Жута"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Зелена"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Плава"</string>
+    <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_size" msgid="5028923902364418263">"Величина"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамички"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Величина сата се мења у складу са садржајем закључаног екрана"</string>
diff --git a/res/values-sv/clock_colors.xml b/res/values-sv/clock_colors.xml
new file mode 100644
index 0000000..46df56a
--- /dev/null
+++ b/res/values-sv/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"RÖD"</item>
+    <item msgid="6882970855289978213">"ORANGE"</item>
+    <item msgid="5560732545714984533">"GUL"</item>
+    <item msgid="7246284817845434226">"GRÖN"</item>
+    <item msgid="6762906417604676001">"BLÅ"</item>
+    <item msgid="8974135109557664892">"INDIGOBLÅ"</item>
+    <item msgid="786643557830463422">"VIOLETT"</item>
+    <item msgid="6835537356703747621">"GRÅ"</item>
+    <item msgid="2470141365136884119">"BLÅGRÖN"</item>
+  </string-array>
+</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index b9ce05e..506ab4b 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Röd"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Orange"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Gul"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Grön"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Blå"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigoblå"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Violett"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Grå"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Blågrön"</string>
     <string name="clock_size" msgid="5028923902364418263">"Storlek"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamisk"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Klockans storlek ändras utifrån innehållet på låsskärmen"</string>
diff --git a/res/values-sw/clock_colors.xml b/res/values-sw/clock_colors.xml
new file mode 100644
index 0000000..b2fd0c2
--- /dev/null
+++ b/res/values-sw/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"NYEKUNDU"</item>
+    <item msgid="6882970855289978213">"RANGI YA CHUNGWA"</item>
+    <item msgid="5560732545714984533">"NJANO"</item>
+    <item msgid="7246284817845434226">"KIJANI"</item>
+    <item msgid="6762906417604676001">"BULUU"</item>
+    <item msgid="8974135109557664892">"NILI"</item>
+    <item msgid="786643557830463422">"ZAMBARAU ILIYOKOLEA"</item>
+    <item msgid="6835537356703747621">"KIJIVU"</item>
+    <item msgid="2470141365136884119">"SAMAWATI YA KIJANI"</item>
+  </string-array>
+</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 1fc180a..3e2a5e5 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Nyekundu"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Rangi ya chungwa"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Njano"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Kijani"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Buluu"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Nili"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Zambarau iliyokolea"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Kijivu"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Samawati ya Kijani"</string>
     <string name="clock_size" msgid="5028923902364418263">"Ukubwa"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Nyumbufu"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Ukubwa wa saa hubadilika kulingana na maudhui yaliyo kwenye skrini iliyofungwa"</string>
diff --git a/res/values-ta/clock_colors.xml b/res/values-ta/clock_colors.xml
new file mode 100644
index 0000000..67824d6
--- /dev/null
+++ b/res/values-ta/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"சிவப்பு"</item>
+    <item msgid="6882970855289978213">"ஆரஞ்சு"</item>
+    <item msgid="5560732545714984533">"மஞ்சள்"</item>
+    <item msgid="7246284817845434226">"பச்சை"</item>
+    <item msgid="6762906417604676001">"நீலம்"</item>
+    <item msgid="8974135109557664892">"அடர் நீலம்"</item>
+    <item msgid="786643557830463422">"ஊதா"</item>
+    <item msgid="6835537356703747621">"சாம்பல்"</item>
+    <item msgid="2470141365136884119">"பசும் நீலம்"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index ffe7463..dc537c3 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"ஆரஞ்சு"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"மஞ்சள்"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"பச்சை"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"நீலம்"</string>
+    <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_size" msgid="5028923902364418263">"அளவு"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"டைனமிக்"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"பூட்டுத் திரையில் உள்ள உள்ளடக்கத்தைப் பொறுத்து கடிகாரத்தின் அளவு மாறுபடும்"</string>
diff --git a/res/values-te/clock_colors.xml b/res/values-te/clock_colors.xml
new file mode 100644
index 0000000..a142c76
--- /dev/null
+++ b/res/values-te/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ఎరుపు రంగు"</item>
+    <item msgid="6882970855289978213">"నారింజ రంగు"</item>
+    <item msgid="5560732545714984533">"పసుపు రంగు"</item>
+    <item msgid="7246284817845434226">"ఆకుపచ్చ రంగు"</item>
+    <item msgid="6762906417604676001">"నీలం రంగు"</item>
+    <item msgid="8974135109557664892">"ఇండిగో రంగు"</item>
+    <item msgid="786643557830463422">"ఊదా రంగు"</item>
+    <item msgid="6835537356703747621">"బూడిద రంగు"</item>
+    <item msgid="2470141365136884119">"టీల్ రంగు"</item>
+  </string-array>
+</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 2814413..855e461 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"నారింజ రంగు"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"పసుపు రంగు"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"ఆకుపచ్చ రంగు"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"నీలం రంగు"</string>
+    <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_size" msgid="5028923902364418263">"సైజ్"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"డైనమిక్"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"లాక్ స్క్రీన్ కంటెంట్ ప్రకారం గడియారం సైజ్ మారుతుంది"</string>
diff --git a/res/values-th/clock_colors.xml b/res/values-th/clock_colors.xml
new file mode 100644
index 0000000..c63bdd1
--- /dev/null
+++ b/res/values-th/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"แดง"</item>
+    <item msgid="6882970855289978213">"ส้ม"</item>
+    <item msgid="5560732545714984533">"เหลือง"</item>
+    <item msgid="7246284817845434226">"เขียว"</item>
+    <item msgid="6762906417604676001">"น้ำเงิน"</item>
+    <item msgid="8974135109557664892">"น้ำเงินอมม่วง"</item>
+    <item msgid="786643557830463422">"ม่วงอมน้ำเงิน"</item>
+    <item msgid="6835537356703747621">"เทา"</item>
+    <item msgid="2470141365136884119">"น้ำเงินอมเขียว"</item>
+  </string-array>
+</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index f4e07d5..1023120 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"ส้ม"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"เหลือง"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"เขียว"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"น้ำเงิน"</string>
+    <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_size" msgid="5028923902364418263">"ขนาด"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ไดนามิก"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"ขนาดของนาฬิกาจะเปลี่ยนตามเนื้อหาในหน้าจอล็อก"</string>
diff --git a/res/values-tl/clock_colors.xml b/res/values-tl/clock_colors.xml
new file mode 100644
index 0000000..6c26409
--- /dev/null
+++ b/res/values-tl/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"PULA"</item>
+    <item msgid="6882970855289978213">"ORANGE"</item>
+    <item msgid="5560732545714984533">"DILAW"</item>
+    <item msgid="7246284817845434226">"BERDE"</item>
+    <item msgid="6762906417604676001">"ASUL"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"VIOLET"</item>
+    <item msgid="6835537356703747621">"GRAY"</item>
+    <item msgid="2470141365136884119">"TEAL"</item>
+  </string-array>
+</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 96c088f..9e39e89 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Pula"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Orange"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Dilaw"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Berde"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Asul"</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">"Gray"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Teal"</string>
     <string name="clock_size" msgid="5028923902364418263">"Laki"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dynamic"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Mga pagbabago sa laki ng orasan ayon sa content ng lock screen"</string>
diff --git a/res/values-tr/clock_colors.xml b/res/values-tr/clock_colors.xml
new file mode 100644
index 0000000..45c8118
--- /dev/null
+++ b/res/values-tr/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"KIRMIZI"</item>
+    <item msgid="6882970855289978213">"TURUNCU"</item>
+    <item msgid="5560732545714984533">"SARI"</item>
+    <item msgid="7246284817845434226">"YEŞİL"</item>
+    <item msgid="6762906417604676001">"MAVİ"</item>
+    <item msgid="8974135109557664892">"ÇİVİT MAVİSİ"</item>
+    <item msgid="786643557830463422">"MOR"</item>
+    <item msgid="6835537356703747621">"GRİ"</item>
+    <item msgid="2470141365136884119">"TURKUAZ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index de506a8..23a8fc6 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Kırmızı"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Turuncu"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Sarı"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Yeşil"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Mavi"</string>
+    <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_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>
diff --git a/res/values-uk/clock_colors.xml b/res/values-uk/clock_colors.xml
new file mode 100644
index 0000000..aaa3b71
--- /dev/null
+++ b/res/values-uk/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ЧЕРВОНИЙ"</item>
+    <item msgid="6882970855289978213">"ОРАНЖЕВИЙ"</item>
+    <item msgid="5560732545714984533">"ЖОВТИЙ"</item>
+    <item msgid="7246284817845434226">"ЗЕЛЕНИЙ"</item>
+    <item msgid="6762906417604676001">"СИНІЙ"</item>
+    <item msgid="8974135109557664892">"ІНДИГО"</item>
+    <item msgid="786643557830463422">"ФІОЛЕТОВИЙ"</item>
+    <item msgid="6835537356703747621">"СІРИЙ"</item>
+    <item msgid="2470141365136884119">"БІРЮЗОВИЙ"</item>
+  </string-array>
+</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 7a070cd..bfe2526 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -17,13 +17,24 @@
 
 <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Оранжевий"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Жовтий"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Зелений"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Синій"</string>
+    <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_size" msgid="5028923902364418263">"Розмір"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Динамічний"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Розмір годинника змінюється відповідно до вмісту заблокованого екрана"</string>
@@ -93,7 +104,7 @@
     <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_tab" msgid="1447926591721403840">"Кольори фону"</string>
     <string name="wallpaper_color_title" msgid="5687965239180986458">"Колір фонового малюнка"</string>
     <string name="preset_color_tab" msgid="3133391839341329314">"Основні кольори"</string>
     <string name="color_changed" msgid="7029571720331641235">"Колір змінено"</string>
diff --git a/res/values-ur/clock_colors.xml b/res/values-ur/clock_colors.xml
new file mode 100644
index 0000000..2203d92
--- /dev/null
+++ b/res/values-ur/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"سرخ"</item>
+    <item msgid="6882970855289978213">"نارنجی"</item>
+    <item msgid="5560732545714984533">"زرد"</item>
+    <item msgid="7246284817845434226">"سبز"</item>
+    <item msgid="6762906417604676001">"نیلا"</item>
+    <item msgid="8974135109557664892">"گہرا نیلا"</item>
+    <item msgid="786643557830463422">"بیگنی"</item>
+    <item msgid="6835537356703747621">"خاکستری"</item>
+    <item msgid="2470141365136884119">"نیلگوں سبز"</item>
+  </string-array>
+</resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 0120ec2..c309d95 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"نارنجی"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"زرد"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"سبز"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"نیلا"</string>
+    <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_size" msgid="5028923902364418263">"سائز"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"ڈائنیمک"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"مقفل اسکرین کے مواد کے مطابق گھڑی کا سائز تبدیل ہوتا ہے"</string>
diff --git a/res/values-uz/clock_colors.xml b/res/values-uz/clock_colors.xml
new file mode 100644
index 0000000..737d2bd
--- /dev/null
+++ b/res/values-uz/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"QIZIL"</item>
+    <item msgid="6882970855289978213">"TOʻQ SARIQ"</item>
+    <item msgid="5560732545714984533">"SARIQ"</item>
+    <item msgid="7246284817845434226">"YASHIL"</item>
+    <item msgid="6762906417604676001">"KOʻK"</item>
+    <item msgid="8974135109557664892">"INDIGO"</item>
+    <item msgid="786643557830463422">"BINAFSHARANG"</item>
+    <item msgid="6835537356703747621">"KULRANG"</item>
+    <item msgid="2470141365136884119">"MOVIY"</item>
+  </string-array>
+</resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index cdec083..8eb6f18 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Qizil"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Toʻq sariq"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Sariq"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Yashil"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Koʻk"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Binafsharang"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Kulrang"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Moviy"</string>
     <string name="clock_size" msgid="5028923902364418263">"Hajmi"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Dinamik"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Soat hajmi ekran qulfidagi kontent asosida oʻzgaradi"</string>
diff --git a/res/values-vi/clock_colors.xml b/res/values-vi/clock_colors.xml
new file mode 100644
index 0000000..5ef97c5
--- /dev/null
+++ b/res/values-vi/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"ĐỎ"</item>
+    <item msgid="6882970855289978213">"CAM"</item>
+    <item msgid="5560732545714984533">"VÀNG"</item>
+    <item msgid="7246284817845434226">"XANH LỤC"</item>
+    <item msgid="6762906417604676001">"XANH LAM"</item>
+    <item msgid="8974135109557664892">"CHÀM"</item>
+    <item msgid="786643557830463422">"TÍM"</item>
+    <item msgid="6835537356703747621">"XÁM"</item>
+    <item msgid="2470141365136884119">"XANH MÒNG KÉT"</item>
+  </string-array>
+</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index f3f7e14..340faf2 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Đỏ"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Cam"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Vàng"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Xanh lục"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Xanh lam"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Chàm"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Tím"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Xám"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Xanh mòng két"</string>
     <string name="clock_size" msgid="5028923902364418263">"Kích thước"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Linh hoạt"</string>
     <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>
diff --git a/res/values-zh-rCN/clock_colors.xml b/res/values-zh-rCN/clock_colors.xml
new file mode 100644
index 0000000..e3c68c0
--- /dev/null
+++ b/res/values-zh-rCN/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"红色"</item>
+    <item msgid="6882970855289978213">"橙色"</item>
+    <item msgid="5560732545714984533">"黄色"</item>
+    <item msgid="7246284817845434226">"绿色"</item>
+    <item msgid="6762906417604676001">"蓝色"</item>
+    <item msgid="8974135109557664892">"靛蓝色"</item>
+    <item msgid="786643557830463422">"紫罗兰色"</item>
+    <item msgid="6835537356703747621">"灰色"</item>
+    <item msgid="2470141365136884119">"蓝绿色"</item>
+  </string-array>
+</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 798cb7b..ad07203 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"橙色"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"黄色"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"绿色"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"蓝色"</string>
+    <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_size" msgid="5028923902364418263">"大小"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"动态"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"时钟大小会依据锁定屏幕上的内容而变化"</string>
diff --git a/res/values-zh-rHK/clock_colors.xml b/res/values-zh-rHK/clock_colors.xml
new file mode 100644
index 0000000..2861c3b
--- /dev/null
+++ b/res/values-zh-rHK/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"紅色"</item>
+    <item msgid="6882970855289978213">"橙色"</item>
+    <item msgid="5560732545714984533">"黃色"</item>
+    <item msgid="7246284817845434226">"綠色"</item>
+    <item msgid="6762906417604676001">"藍色"</item>
+    <item msgid="8974135109557664892">"靛藍色"</item>
+    <item msgid="786643557830463422">"紫羅蘭色"</item>
+    <item msgid="6835537356703747621">"灰色"</item>
+    <item msgid="2470141365136884119">"藍綠色"</item>
+  </string-array>
+</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 3f13af1..25246b0 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_orange" msgid="4175805201144275804">"橙色"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"黃色"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"綠色"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"藍色"</string>
+    <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_size" msgid="5028923902364418263">"大小"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"動態"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"時鐘按上鎖畫面內容變更大小"</string>
diff --git a/res/values-zh-rTW/clock_colors.xml b/res/values-zh-rTW/clock_colors.xml
new file mode 100644
index 0000000..596109b
--- /dev/null
+++ b/res/values-zh-rTW/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"紅色"</item>
+    <item msgid="6882970855289978213">"橘色"</item>
+    <item msgid="5560732545714984533">"黃色"</item>
+    <item msgid="7246284817845434226">"綠色"</item>
+    <item msgid="6762906417604676001">"藍色"</item>
+    <item msgid="8974135109557664892">"靛藍色"</item>
+    <item msgid="786643557830463422">"紫羅蘭色"</item>
+    <item msgid="6835537356703747621">"灰色"</item>
+    <item msgid="2470141365136884119">"藍綠色"</item>
+  </string-array>
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 8c05f73..46248cf 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"紅色"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"橘色"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"黃色"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"綠色"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"藍色"</string>
+    <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_size" msgid="5028923902364418263">"大小"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"動態"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"時鐘大小會依螢幕鎖定畫面上的內容調整"</string>
diff --git a/res/values-zu/clock_colors.xml b/res/values-zu/clock_colors.xml
new file mode 100644
index 0000000..f33ef25
--- /dev/null
+++ b/res/values-zu/clock_colors.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="clock_color_ids">
+    <item msgid="4948142733161826319">"OKUBOMVU"</item>
+    <item msgid="6882970855289978213">"OKUWOLINTSHI"</item>
+    <item msgid="5560732545714984533">"OKUPHUZI"</item>
+    <item msgid="7246284817845434226">"OKULUHLAZA OKOTSHANI"</item>
+    <item msgid="6762906417604676001">"OKULUHLAZA OKWESIBHAKABHAKA"</item>
+    <item msgid="8974135109557664892">"OKU-INDIGO"</item>
+    <item msgid="786643557830463422">"OKU-VIOLET"</item>
+    <item msgid="6835537356703747621">"OKUMPUNGA"</item>
+    <item msgid="2470141365136884119">"OKU-TEAL"</item>
+  </string-array>
+</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 7f11575..99baa3b 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -23,7 +23,18 @@
     <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="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>
+    <string name="clock_color_red" msgid="3843504214807597810">"Okubomvu"</string>
+    <string name="clock_color_orange" msgid="4175805201144275804">"Okuwolintshi"</string>
+    <string name="clock_color_yellow" msgid="7391699163247349977">"Okuphuzi"</string>
+    <string name="clock_color_green" msgid="1991157556500156596">"Okuluhlaza okotshani"</string>
+    <string name="clock_color_blue" msgid="4037792003465759149">"Okuluhlaza okwesibhakabhaka"</string>
+    <string name="clock_color_indigo" msgid="8910855386698452917">"Oku-Indigo"</string>
+    <string name="clock_color_violet" msgid="3454503847169375826">"Oku-Violet"</string>
+    <string name="clock_color_gray" msgid="9221530636948859231">"Okumpunga"</string>
+    <string name="clock_color_teal" msgid="7499223425741344251">"Oku-Teal"</string>
     <string name="clock_size" msgid="5028923902364418263">"Usayizi"</string>
     <string name="clock_size_dynamic" msgid="1023930312455061642">"Okuguqukayo"</string>
     <string name="clock_size_dynamic_description" msgid="2776620745774561662">"Usayizi wewashi uyashintsha ngokuya ngokuqukethwe kokukhiya isikrini"</string>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index e98a47e..0d5a9a8 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -130,20 +130,25 @@
     <dimen name="beta_tag_background_width">46dp</dimen>
     <dimen name="beta_tag_background_height">24dp</dimen>
 
-    <!-- For the color option section -->
+    <!-- For the color picker section -->
+    <!-- Dimension for the original color picker section -->
     <dimen name="color_options_container_top_margin">24dp</dimen>
-
+    <dimen name="color_page_indicator_margin_top">16dp</dimen>
+    <!-- Dimension for the original color chip resource -->
+    <dimen name="component_color_chip_small_radius_default">29dp</dimen>
+    <dimen name="component_color_chip_small_diameter_default">58dp</dimen>
+    <dimen name="color_seed_chip_margin">14dp</dimen>
+    <!-- Dimension for the revamped UI color chip -->
     <dimen name="component_color_overflow_small_radius_default">20dp</dimen>
     <dimen name="component_color_overflow_small_diameter_default">40dp</dimen>
     <dimen name="component_color_selected_small_radius_default">22dp</dimen>
     <dimen name="component_color_selected_small_diameter_default">44dp</dimen>
 
-    <!-- For the color page. -->
-    <dimen name="color_page_indicator_margin_top">16dp</dimen>
-
-    <dimen name="component_color_chip_small_radius_default">29dp</dimen>
-    <dimen name="component_color_chip_small_diameter_default">58dp</dimen>
-    <dimen name="color_seed_chip_margin">14dp</dimen>
+    <!-- For the color picker page. -->
+    <!-- Dimension for the revamped UI color chip -->
+    <dimen name="component_color_chip_small_radius_default2">24dp</dimen>
+    <dimen name="component_color_chip_small_diameter_default2">48dp</dimen>
+    <dimen name="color_seed_chip_margin2">11dp</dimen>
 
     <!-- Keyguard quick affordances -->
     <!-- Size for the container for the icon of a quick affordance for the lock screen in the picker experience. -->
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 18c0103..01113c4 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -311,11 +311,17 @@
 
     <!-- The title for the tab with colors from wallpaper. [CHAR_LIMIT=20]-->
     <string name="wallpaper_color_tab">Wallpaper colors</string>
+    <!-- The subheader for the tab with colors from wallpaper. [CHAR_LIMIT=55]-->
+    <string name="wallpaper_color_subheader">Icons, text, and more match colors in your wallpaper</string>
     <!-- The description on an item that shows a color obtained from the wallpaper
         (used mainly for accessibility). [CHAR_LIMIT=NONE] -->
     <string name="wallpaper_color_title">Wallpaper color</string>
     <!-- The title for the tab with a default set of color options. [CHAR_LIMIT=20]-->
     <string name="preset_color_tab">Basic colors</string>
+    <!-- The revised title for the tab with a default set of color options. [CHAR_LIMIT=20]-->
+    <string name="preset_color_tab_2">Other colors</string>
+    <!-- The subheader for the tab with a default set of color options. [CHAR_LIMIT=55]-->
+    <string name="preset_color_subheader">Choose any color for your icons, clock, and more</string>
     <!-- The text for A11y announcement when color changes. -->
     <string name="color_changed">Color changed</string>
     <!-- Title of a section of color selection option that obtains colors automatically from the
@@ -326,7 +332,7 @@
     color options.
     [CHAR LIMIT=32].
     -->
-    <string name="color_picker_title">System Colors</string>
+    <string name="color_picker_title">System colors</string>
 
     <!--
     Name of the slot on the "start" side of the bottom of the lock screen, where lock screen
diff --git a/src/com/android/customization/model/color/ColorOption.java b/src/com/android/customization/model/color/ColorOption.java
index 66a3a3c..216bb9b 100644
--- a/src/com/android/customization/model/color/ColorOption.java
+++ b/src/com/android/customization/model/color/ColorOption.java
@@ -110,9 +110,12 @@
         if (mStyle != other.getStyle()) {
             return false;
         }
-        if (mIsDefault) {
-            return other.isDefault() || TextUtils.isEmpty(other.getSerializedPackages())
-                    || EMPTY_JSON.equals(other.getSerializedPackages());
+        String thisSerializedPackages = getSerializedPackages();
+        if (mIsDefault || TextUtils.isEmpty(thisSerializedPackages)
+                || EMPTY_JSON.equals(thisSerializedPackages)) {
+            String otherSerializedPackages = other.getSerializedPackages();
+            return other.isDefault() || TextUtils.isEmpty(otherSerializedPackages)
+                    || EMPTY_JSON.equals(otherSerializedPackages);
         }
         // Map#equals ensures keys and values are compared.
         return mPackagesByCategory.equals(other.mPackagesByCategory);
diff --git a/src/com/android/customization/model/grid/ui/binder/GridIconViewBinder.kt b/src/com/android/customization/model/grid/ui/binder/GridIconViewBinder.kt
new file mode 100644
index 0000000..fba89a7
--- /dev/null
+++ b/src/com/android/customization/model/grid/ui/binder/GridIconViewBinder.kt
@@ -0,0 +1,17 @@
+package com.android.customization.model.grid.ui.binder
+
+import android.widget.ImageView
+import com.android.customization.model.grid.ui.viewmodel.GridIconViewModel
+import com.android.customization.widget.GridTileDrawable
+
+object GridIconViewBinder {
+    fun bind(view: ImageView, viewModel: GridIconViewModel) {
+        view.setImageDrawable(
+            GridTileDrawable(
+                viewModel.columns,
+                viewModel.rows,
+                viewModel.path,
+            )
+        )
+    }
+}
diff --git a/src/com/android/customization/model/grid/ui/binder/GridScreenBinder.kt b/src/com/android/customization/model/grid/ui/binder/GridScreenBinder.kt
index d24467a..78536ca 100644
--- a/src/com/android/customization/model/grid/ui/binder/GridScreenBinder.kt
+++ b/src/com/android/customization/model/grid/ui/binder/GridScreenBinder.kt
@@ -18,12 +18,14 @@
 package com.android.customization.model.grid.ui.binder
 
 import android.view.View
+import android.widget.ImageView
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.lifecycleScope
 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.wallpaper.R
@@ -57,7 +59,11 @@
                     OptionItemBinder.TintSpec(
                         selectedColor = view.context.getColor(R.color.text_color_primary),
                         unselectedColor = view.context.getColor(R.color.text_color_secondary),
-                    )
+                    ),
+                bindIcon = { foregroundView: View, gridIcon: GridIconViewModel ->
+                    val imageView = foregroundView as? ImageView
+                    imageView?.let { GridIconViewBinder.bind(imageView, gridIcon) }
+                }
             )
         optionView.adapter = adapter
 
diff --git a/src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt b/src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt
index 4440b77..d8cad82 100644
--- a/src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt
+++ b/src/com/android/customization/model/grid/ui/fragment/GridFragment2.kt
@@ -27,8 +27,10 @@
 import com.android.customization.module.ThemePickerInjector
 import com.android.wallpaper.R
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory
+import com.android.wallpaper.module.CustomizationSections
 import com.android.wallpaper.module.InjectorProvider
 import com.android.wallpaper.picker.AppbarFragment
+import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor
 import com.android.wallpaper.picker.customization.ui.binder.ScreenPreviewBinder
 import com.android.wallpaper.picker.customization.ui.viewmodel.ScreenPreviewViewModel
 import com.android.wallpaper.util.PreviewUtils
@@ -55,7 +57,12 @@
         val injector = InjectorProvider.getInjector() as ThemePickerInjector
 
         val wallpaperInfoFactory = injector.getCurrentWallpaperInfoFactory(requireContext())
-        var screenPreviewBinding = bindScreenPreview(view, wallpaperInfoFactory)
+        var screenPreviewBinding =
+            bindScreenPreview(
+                view,
+                wallpaperInfoFactory,
+                injector.getWallpaperInteractor(requireContext())
+            )
 
         val viewModelFactory = injector.getGridScreenViewModelFactory(requireContext())
         GridScreenBinder.bind(
@@ -69,7 +76,12 @@
             backgroundDispatcher = Dispatchers.IO,
             onOptionsChanged = {
                 screenPreviewBinding.destroy()
-                screenPreviewBinding = bindScreenPreview(view, wallpaperInfoFactory)
+                screenPreviewBinding =
+                    bindScreenPreview(
+                        view,
+                        wallpaperInfoFactory,
+                        injector.getWallpaperInteractor(requireContext())
+                    )
             }
         )
 
@@ -83,6 +95,7 @@
     private fun bindScreenPreview(
         view: View,
         wallpaperInfoFactory: CurrentWallpaperInfoFactory,
+        wallpaperInteractor: WallpaperInteractor,
     ): ScreenPreviewBinder.Binding {
         return ScreenPreviewBinder.bind(
             activity = requireActivity(),
@@ -108,9 +121,12 @@
                             )
                         }
                     },
+                    wallpaperInteractor = wallpaperInteractor,
                 ),
             lifecycleOwner = this,
             offsetToStart = false,
+            screen = CustomizationSections.Screen.HOME_SCREEN,
+            onPreviewDirty = { activity?.recreate() },
         )
     }
 }
diff --git a/src/com/android/customization/model/grid/ui/viewmodel/GridIconViewModel.kt b/src/com/android/customization/model/grid/ui/viewmodel/GridIconViewModel.kt
new file mode 100644
index 0000000..3942d7c
--- /dev/null
+++ b/src/com/android/customization/model/grid/ui/viewmodel/GridIconViewModel.kt
@@ -0,0 +1,24 @@
+/*
+ * 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.grid.ui.viewmodel
+
+data class GridIconViewModel(
+    val columns: Int,
+    val rows: Int,
+    val path: String,
+)
diff --git a/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModel.kt b/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModel.kt
index af6ed0f..c11a594 100644
--- a/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModel.kt
+++ b/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModel.kt
@@ -26,12 +26,11 @@
 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.widget.GridTileDrawable
-import com.android.wallpaper.picker.common.icon.ui.viewmodel.Icon
 import com.android.wallpaper.picker.common.text.ui.viewmodel.Text
 import com.android.wallpaper.picker.option.ui.viewmodel.OptionItemViewModel
 import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.launch
 
@@ -43,12 +42,12 @@
     @SuppressLint("StaticFieldLeak") // We're not leaking this context as it is the app context.
     private val applicationContext = context.applicationContext
 
-    val optionItems: Flow<List<OptionItemViewModel>> =
+    val optionItems: Flow<List<OptionItemViewModel<GridIconViewModel>>> =
         interactor.options.map { model -> toViewModel(model) }
 
     private fun toViewModel(
         model: GridOptionItemsModel,
-    ): List<OptionItemViewModel> {
+    ): List<OptionItemViewModel<GridIconViewModel>> {
         val iconShapePath =
             applicationContext.resources.getString(
                 Resources.getSystem()
@@ -63,17 +62,14 @@
             is GridOptionItemsModel.Loaded ->
                 model.options.map { option ->
                     val text = Text.Loaded(option.name)
-                    OptionItemViewModel(
-                        key = flowOf("${option.cols}x${option.rows}"),
-                        icon =
-                            Icon.Loaded(
-                                drawable =
-                                    GridTileDrawable(
-                                        option.cols,
-                                        option.rows,
-                                        iconShapePath,
-                                    ),
-                                contentDescription = text
+                    OptionItemViewModel<GridIconViewModel>(
+                        key =
+                            MutableStateFlow("${option.cols}x${option.rows}") as StateFlow<String>,
+                        payload =
+                            GridIconViewModel(
+                                columns = option.cols,
+                                rows = option.rows,
+                                path = iconShapePath,
                             ),
                         text = text,
                         isSelected = option.isSelected,
diff --git a/src/com/android/customization/module/DefaultCustomizationSections.java b/src/com/android/customization/module/DefaultCustomizationSections.java
index 482ece01..232e948 100644
--- a/src/com/android/customization/module/DefaultCustomizationSections.java
+++ b/src/com/android/customization/module/DefaultCustomizationSections.java
@@ -36,6 +36,7 @@
 import com.android.wallpaper.model.WallpaperSectionController;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
 import com.android.wallpaper.module.CustomizationSections;
+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.ScreenPreviewSectionController;
 import com.android.wallpaper.picker.customization.ui.section.WallpaperQuickSwitchSectionController;
@@ -97,7 +98,8 @@
             @Nullable Bundle savedInstanceState,
             CurrentWallpaperInfoFactory wallpaperInfoFactory,
             DisplayUtils displayUtils,
-            WallpaperQuickSwitchViewModel wallpaperQuickSwitchViewModel) {
+            WallpaperQuickSwitchViewModel wallpaperQuickSwitchViewModel,
+            WallpaperInteractor wallpaperInteractor) {
         List<CustomizationSectionController<?>> sectionControllers = new ArrayList<>();
 
         // Wallpaper section.
@@ -112,7 +114,8 @@
                         displayUtils,
                         mClockCarouselViewModel,
                         mClockViewFactory,
-                        sectionNavigationController)
+                        sectionNavigationController,
+                        wallpaperInteractor)
                         : new ScreenPreviewSectionController(
                                 activity,
                                 lifecycleOwner,
@@ -120,7 +123,8 @@
                                 wallpaperInfoFactory,
                                 wallpaperColorsViewModel,
                                 displayUtils,
-                                sectionNavigationController));
+                                sectionNavigationController,
+                                wallpaperInteractor));
 
         sectionControllers.add(
                 new ConnectedSectionController(
diff --git a/src/com/android/customization/module/ThemePickerInjector.kt b/src/com/android/customization/module/ThemePickerInjector.kt
index e06a1b5..eb20037 100644
--- a/src/com/android/customization/module/ThemePickerInjector.kt
+++ b/src/com/android/customization/module/ThemePickerInjector.kt
@@ -21,10 +21,13 @@
 import android.content.Intent
 import android.net.Uri
 import android.os.Bundle
+import android.text.TextUtils
 import androidx.activity.ComponentActivity
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentActivity
 import androidx.lifecycle.ViewModelProvider
+import com.android.customization.model.color.ColorCustomizationManager
+import com.android.customization.model.color.ColorOptionsProvider
 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
@@ -72,6 +75,9 @@
 import com.android.wallpaper.picker.ImagePreviewFragment
 import com.android.wallpaper.picker.LivePreviewFragment
 import com.android.wallpaper.picker.PreviewFragment
+import com.android.wallpaper.picker.customization.data.content.WallpaperClientImpl
+import com.android.wallpaper.picker.customization.data.repository.WallpaperRepository
+import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor
 import com.android.wallpaper.picker.undo.domain.interactor.SnapshotRestorer
 import kotlinx.coroutines.DelicateCoroutinesApi
 import kotlinx.coroutines.Dispatchers
@@ -82,6 +88,7 @@
     private var customizationSections: CustomizationSections? = null
     private var userEventLogger: UserEventLogger? = null
     private var prefs: WallpaperPreferences? = null
+    private var wallpaperInteractor: WallpaperInteractor? = null
     private var keyguardQuickAffordancePickerInteractor: KeyguardQuickAffordancePickerInteractor? =
         null
     private var keyguardQuickAffordancePickerViewModelFactory:
@@ -102,6 +109,7 @@
     private var colorPickerInteractor: ColorPickerInteractor? = null
     private var colorPickerViewModelFactory: ColorPickerViewModel.Factory? = null
     private var colorPickerSnapshotRestorer: ColorPickerSnapshotRestorer? = null
+    private var colorCustomizationManager: ColorCustomizationManager? = null
     private var darkModeSnapshotRestorer: DarkModeSnapshotRestorer? = null
     private var themedIconSnapshotRestorer: ThemedIconSnapshotRestorer? = null
     private var themedIconInteractor: ThemedIconInteractor? = null
@@ -209,6 +217,25 @@
         return ThemeManager(provider, activity, overlayManagerCompat, logger)
     }
 
+    override fun getWallpaperInteractor(context: Context): WallpaperInteractor {
+        return wallpaperInteractor
+            ?: WallpaperInteractor(
+                    repository =
+                        WallpaperRepository(
+                            scope = GlobalScope,
+                            client = WallpaperClientImpl(context = context),
+                            backgroundDispatcher = Dispatchers.IO,
+                        ),
+                    shouldHandleReload = {
+                        TextUtils.equals(
+                            getColorCustomizationManager(context).currentColorSource,
+                            ColorOptionsProvider.COLOR_SOURCE_PRESET
+                        )
+                    }
+                )
+                .also { wallpaperInteractor = it }
+    }
+
     override fun getKeyguardQuickAffordancePickerInteractor(
         context: Context
     ): KeyguardQuickAffordancePickerInteractor {
@@ -352,7 +379,11 @@
     ): ColorPickerInteractor {
         return colorPickerInteractor
             ?: ColorPickerInteractor(
-                    repository = ColorPickerRepositoryImpl(context, wallpaperColorsViewModel),
+                    repository =
+                        ColorPickerRepositoryImpl(
+                            wallpaperColorsViewModel,
+                            getColorCustomizationManager(context)
+                        ),
                     snapshotRestorer = {
                         getColorPickerSnapshotRestorer(context, wallpaperColorsViewModel)
                     }
@@ -383,6 +414,13 @@
                 .also { colorPickerSnapshotRestorer = it }
     }
 
+    private fun getColorCustomizationManager(context: Context): ColorCustomizationManager {
+        return colorCustomizationManager
+            ?: ColorCustomizationManager.getInstance(context, OverlayManagerCompat(context)).also {
+                colorCustomizationManager = it
+            }
+    }
+
     fun getDarkModeSnapshotRestorer(
         context: Context,
     ): DarkModeSnapshotRestorer {
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 23fbc7e..c3cd217 100644
--- a/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt
+++ b/src/com/android/customization/picker/clock/ui/viewmodel/ClockSettingsViewModel.kt
@@ -123,7 +123,7 @@
                                 context,
                                 selectedColorId,
                             )
-                            ?: (colorOptions[ColorType.BASIC_COLOR]
+                            ?: (colorOptions[ColorType.PRESET_COLOR]
                                     ?.find { it.isSelected }
                                     ?.colorOption as? ColorBundle)
                                 ?.toColorOptionViewModel(
diff --git a/src/com/android/customization/picker/color/data/repository/ColorPickerRepository.kt b/src/com/android/customization/picker/color/data/repository/ColorPickerRepository.kt
index 1a0f5a9..7cf9fd0 100644
--- a/src/com/android/customization/picker/color/data/repository/ColorPickerRepository.kt
+++ b/src/com/android/customization/picker/color/data/repository/ColorPickerRepository.kt
@@ -34,4 +34,7 @@
 
     /** Returns the current selected color option based on system settings */
     fun getCurrentColorOption(): ColorOptionModel
+
+    /** Returns the current selected color source based on system settings */
+    fun getCurrentColorSource(): String?
 }
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 4c43d78..512a500 100644
--- a/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl.kt
+++ b/src/com/android/customization/picker/color/data/repository/ColorPickerRepositoryImpl.kt
@@ -17,14 +17,12 @@
 package com.android.customization.picker.color.data.repository
 
 import android.app.WallpaperColors
-import android.content.Context
 import android.util.Log
 import com.android.customization.model.CustomizationManager
 import com.android.customization.model.color.ColorBundle
 import com.android.customization.model.color.ColorCustomizationManager
 import com.android.customization.model.color.ColorOption
 import com.android.customization.model.color.ColorSeedOption
-import com.android.customization.model.theme.OverlayManagerCompat
 import com.android.customization.picker.color.shared.model.ColorOptionModel
 import com.android.customization.picker.color.shared.model.ColorType
 import com.android.systemui.monet.Style
@@ -38,16 +36,14 @@
 // TODO (b/262924623): refactor to remove dependency on ColorCustomizationManager & ColorOption
 // TODO (b/268203200): Create test for ColorPickerRepositoryImpl
 class ColorPickerRepositoryImpl(
-    context: Context,
     wallpaperColorsViewModel: WallpaperColorsViewModel,
+    private val colorManager: ColorCustomizationManager,
 ) : ColorPickerRepository {
 
     private val homeWallpaperColors: StateFlow<WallpaperColors?> =
         wallpaperColorsViewModel.homeWallpaperColors
     private val lockWallpaperColors: StateFlow<WallpaperColors?> =
         wallpaperColorsViewModel.lockWallpaperColors
-    private val colorManager: ColorCustomizationManager =
-        ColorCustomizationManager.getInstance(context, OverlayManagerCompat(context))
 
     override val colorOptions: Flow<Map<ColorType, List<ColorOptionModel>>> =
         combine(homeWallpaperColors, lockWallpaperColors) { homeColors, lockColors ->
@@ -74,7 +70,7 @@
                                     Result.success(
                                         mapOf(
                                             ColorType.WALLPAPER_COLOR to wallpaperColorOptions,
-                                            ColorType.BASIC_COLOR to presetColorOptions
+                                            ColorType.PRESET_COLOR to presetColorOptions
                                         )
                                     )
                                 )
@@ -124,14 +120,21 @@
         for (overlay in overlays) {
             colorOptionBuilder.addOverlayPackage(overlay.key, overlay.value)
         }
+        val colorOption = colorOptionBuilder.build()
         return ColorOptionModel(
-            colorOption = colorOptionBuilder.build(),
+            key = "${colorOption.style}::${colorOption.serializedPackages}",
+            colorOption = colorOption,
             isSelected = false,
         )
     }
 
+    override fun getCurrentColorSource(): String? {
+        return colorManager.currentColorSource
+    }
+
     private fun ColorOption.toModel(): ColorOptionModel {
         return ColorOptionModel(
+            key = "${this.style}::${this.serializedPackages}",
             colorOption = this,
             isSelected = isActive(colorManager),
         )
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 7dab2d8..edbf6dc 100644
--- a/src/com/android/customization/picker/color/data/repository/FakeColorPickerRepository.kt
+++ b/src/com/android/customization/picker/color/data/repository/FakeColorPickerRepository.kt
@@ -18,7 +18,9 @@
 
 import android.content.Context
 import android.graphics.Color
+import android.text.TextUtils
 import com.android.customization.model.color.ColorBundle
+import com.android.customization.model.color.ColorOptionsProvider
 import com.android.customization.model.color.ColorSeedOption
 import com.android.customization.picker.color.shared.model.ColorOptionModel
 import com.android.customization.picker.color.shared.model.ColorType
@@ -34,7 +36,7 @@
         MutableStateFlow(
             mapOf<ColorType, List<ColorOptionModel>>(
                 ColorType.WALLPAPER_COLOR to listOf(),
-                ColorType.BASIC_COLOR to listOf()
+                ColorType.PRESET_COLOR to listOf()
             )
         )
     override val colorOptions: StateFlow<Map<ColorType, List<ColorOptionModel>>> =
@@ -60,6 +62,7 @@
                                     selectedColorOptionIndex == index
                             val colorOption =
                                 ColorOptionModel(
+                                    key = "${ColorType.WALLPAPER_COLOR}::$index",
                                     colorOption = buildWallpaperOption(index),
                                     isSelected = isSelected,
                                 )
@@ -69,17 +72,18 @@
                             add(colorOption)
                         }
                     },
-                ColorType.BASIC_COLOR to
+                ColorType.PRESET_COLOR to
                     buildList {
                         repeat(times = numPresetOptions) { index ->
                             val isSelected =
-                                selectedColorOptionType == ColorType.BASIC_COLOR &&
+                                selectedColorOptionType == ColorType.PRESET_COLOR &&
                                     selectedColorOptionIndex == index
                             val colorOption =
                                 ColorOptionModel(
+                                    key = "${ColorType.PRESET_COLOR}::$index",
                                     colorOption = buildPresetOption(index),
                                     isSelected =
-                                        selectedColorOptionType == ColorType.BASIC_COLOR &&
+                                        selectedColorOptionType == ColorType.PRESET_COLOR &&
                                             selectedColorOptionIndex == index,
                                 )
                             if (isSelected) {
@@ -130,17 +134,19 @@
             wallpaperColorOptions.forEach { option ->
                 add(
                     ColorOptionModel(
+                        key = option.key,
                         colorOption = option.colorOption,
                         isSelected = option.testEquals(colorOptionModel),
                     )
                 )
             }
         }
-        val basicColorOptions = colorOptions[ColorType.BASIC_COLOR]!!
+        val basicColorOptions = colorOptions[ColorType.PRESET_COLOR]!!
         val newBasicColorOptions = buildList {
             basicColorOptions.forEach { option ->
                 add(
                     ColorOptionModel(
+                        key = option.key,
                         colorOption = option.colorOption,
                         isSelected = option.testEquals(colorOptionModel),
                     )
@@ -150,21 +156,25 @@
         _colorOptions.value =
             mapOf(
                 ColorType.WALLPAPER_COLOR to newWallpaperColorOptions,
-                ColorType.BASIC_COLOR to newBasicColorOptions
+                ColorType.PRESET_COLOR to newBasicColorOptions
             )
     }
 
     override fun getCurrentColorOption(): ColorOptionModel = selectedColorOption
 
+    override fun getCurrentColorSource(): String? =
+        when (selectedColorOption.colorOption) {
+            is ColorSeedOption -> ColorOptionsProvider.COLOR_SOURCE_HOME
+            is ColorBundle -> ColorOptionsProvider.COLOR_SOURCE_PRESET
+            else -> null
+        }
+
     private fun ColorOptionModel.testEquals(other: Any?): Boolean {
         if (other == null) {
             return false
         }
         return if (other is ColorOptionModel) {
-            val thisColorOptionIsWallpaperColor = this.colorOption is ColorSeedOption
-            val otherColorOptionIsWallpaperColor = other.colorOption is ColorSeedOption
-            (thisColorOptionIsWallpaperColor == otherColorOptionIsWallpaperColor) &&
-                (this.colorOption.index == other.colorOption.index)
+            TextUtils.equals(this.key, other.key)
         } else {
             false
         }
diff --git a/src/com/android/customization/picker/color/domain/interactor/ColorPickerInteractor.kt b/src/com/android/customization/picker/color/domain/interactor/ColorPickerInteractor.kt
index a932067..8c7a4b7 100644
--- a/src/com/android/customization/picker/color/domain/interactor/ColorPickerInteractor.kt
+++ b/src/com/android/customization/picker/color/domain/interactor/ColorPickerInteractor.kt
@@ -16,12 +16,10 @@
  */
 package com.android.customization.picker.color.domain.interactor
 
-import androidx.annotation.VisibleForTesting
 import com.android.customization.picker.color.data.repository.ColorPickerRepository
 import com.android.customization.picker.color.shared.model.ColorOptionModel
 import javax.inject.Provider
 import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.flow.combine
 
 /** Single entry-point for all application state and business logic related to system color. */
 class ColorPickerInteractor(
@@ -32,31 +30,10 @@
      * The newly selected color option for overwriting the current active option during an
      * optimistic update, the value is set to null when update fails
      */
-    @VisibleForTesting private val activeColorOption = MutableStateFlow<ColorOptionModel?>(null)
+    val activeColorOption = MutableStateFlow<ColorOptionModel?>(null)
 
     /** List of wallpaper and preset color options on the device, categorized by Color Type */
-    val colorOptions =
-        combine(repository.colorOptions, activeColorOption) { colorOptions, activeOption ->
-            colorOptions
-                .map { colorTypeEntry ->
-                    colorTypeEntry.key to
-                        colorTypeEntry.value.map { colorOptionModel ->
-                            val isSelected =
-                                if (activeOption != null) {
-                                    colorOptionModel.colorOption.isEquivalent(
-                                        activeOption.colorOption
-                                    )
-                                } else {
-                                    colorOptionModel.isSelected
-                                }
-                            ColorOptionModel(
-                                colorOption = colorOptionModel.colorOption,
-                                isSelected = isSelected
-                            )
-                        }
-                }
-                .toMap()
-        }
+    val colorOptions = repository.colorOptions
 
     suspend fun select(colorOptionModel: ColorOptionModel) {
         activeColorOption.value = colorOptionModel
diff --git a/src/com/android/customization/picker/color/shared/model/ColorOptionModel.kt b/src/com/android/customization/picker/color/shared/model/ColorOptionModel.kt
index 69ef62a..5fde08e 100644
--- a/src/com/android/customization/picker/color/shared/model/ColorOptionModel.kt
+++ b/src/com/android/customization/picker/color/shared/model/ColorOptionModel.kt
@@ -21,6 +21,8 @@
 
 /** Models application state for a color option in a picker experience. */
 data class ColorOptionModel(
+    val key: String,
+
     /** Colors for the color option. */
     val colorOption: ColorOption,
 
diff --git a/src/com/android/customization/picker/color/shared/model/ColorType.kt b/src/com/android/customization/picker/color/shared/model/ColorType.kt
index 631bb3d..c9a01d0 100644
--- a/src/com/android/customization/picker/color/shared/model/ColorType.kt
+++ b/src/com/android/customization/picker/color/shared/model/ColorType.kt
@@ -21,5 +21,5 @@
     WALLPAPER_COLOR,
 
     /** Preset colors */
-    BASIC_COLOR,
+    PRESET_COLOR,
 }
diff --git a/src/com/android/customization/picker/color/ui/adapter/ColorOptionAdapter.kt b/src/com/android/customization/picker/color/ui/adapter/ColorOptionAdapter.kt
index 0e53766..7aa390d 100644
--- a/src/com/android/customization/picker/color/ui/adapter/ColorOptionAdapter.kt
+++ b/src/com/android/customization/picker/color/ui/adapter/ColorOptionAdapter.kt
@@ -32,7 +32,7 @@
 /**
  * Adapts between color option items and views.
  *
- * TODO (b/262924623): Refactor color picker with animated option framework ag/21132368
+ * TODO (b/272109171): Remove after clock settings is refactored to use OptionItemAdapter
  */
 class ColorOptionAdapter : RecyclerView.Adapter<ColorOptionAdapter.ViewHolder>() {
 
diff --git a/src/com/android/customization/picker/color/ui/adapter/ColorTypeTabAdapter.kt b/src/com/android/customization/picker/color/ui/adapter/ColorTypeTabAdapter.kt
index 8f1340a..bb9f082 100644
--- a/src/com/android/customization/picker/color/ui/adapter/ColorTypeTabAdapter.kt
+++ b/src/com/android/customization/picker/color/ui/adapter/ColorTypeTabAdapter.kt
@@ -22,15 +22,15 @@
 import android.view.ViewGroup
 import android.widget.TextView
 import androidx.recyclerview.widget.RecyclerView
-import com.android.customization.picker.color.ui.viewmodel.ColorTypeViewModel
+import com.android.customization.picker.color.ui.viewmodel.ColorTypeTabViewModel
 import com.android.wallpaper.R
 
 /** Adapts between color type items and views. */
 class ColorTypeTabAdapter : RecyclerView.Adapter<ColorTypeTabAdapter.ViewHolder>() {
 
-    private val items = mutableListOf<ColorTypeViewModel>()
+    private val items = mutableListOf<ColorTypeTabViewModel>()
 
-    fun setItems(items: List<ColorTypeViewModel>) {
+    fun setItems(items: List<ColorTypeTabViewModel>) {
         this.items.clear()
         this.items.addAll(items)
         notifyDataSetChanged()
diff --git a/src/com/android/customization/picker/color/ui/binder/ColorOptionIconBinder.kt b/src/com/android/customization/picker/color/ui/binder/ColorOptionIconBinder.kt
new file mode 100644
index 0000000..1478cc4
--- /dev/null
+++ b/src/com/android/customization/picker/color/ui/binder/ColorOptionIconBinder.kt
@@ -0,0 +1,41 @@
+/*
+ * 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.color.ui.binder
+
+import android.graphics.BlendMode
+import android.graphics.BlendModeColorFilter
+import android.view.ViewGroup
+import android.widget.ImageView
+import com.android.customization.picker.color.ui.viewmodel.ColorOptionIconViewModel
+import com.android.wallpaper.R
+
+object ColorOptionIconBinder {
+    fun bind(
+        view: ViewGroup,
+        viewModel: ColorOptionIconViewModel,
+    ) {
+        val color0View: ImageView = view.requireViewById(R.id.color_preview_0)
+        val color1View: ImageView = view.requireViewById(R.id.color_preview_1)
+        val color2View: ImageView = view.requireViewById(R.id.color_preview_2)
+        val color3View: ImageView = view.requireViewById(R.id.color_preview_3)
+        color0View.drawable.colorFilter = BlendModeColorFilter(viewModel.color0, BlendMode.SRC)
+        color1View.drawable.colorFilter = BlendModeColorFilter(viewModel.color1, BlendMode.SRC)
+        color2View.drawable.colorFilter = BlendModeColorFilter(viewModel.color2, BlendMode.SRC)
+        color3View.drawable.colorFilter = BlendModeColorFilter(viewModel.color3, BlendMode.SRC)
+    }
+}
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 887fef0..7623048 100644
--- a/src/com/android/customization/picker/color/ui/binder/ColorPickerBinder.kt
+++ b/src/com/android/customization/picker/color/ui/binder/ColorPickerBinder.kt
@@ -17,19 +17,22 @@
 
 package com.android.customization.picker.color.ui.binder
 
-import android.graphics.Rect
 import android.view.View
-import androidx.core.view.ViewCompat
+import android.view.ViewGroup
+import android.widget.TextView
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.repeatOnLifecycle
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
-import com.android.customization.picker.color.ui.adapter.ColorOptionAdapter
 import com.android.customization.picker.color.ui.adapter.ColorTypeTabAdapter
+import com.android.customization.picker.color.ui.viewmodel.ColorOptionIconViewModel
 import com.android.customization.picker.color.ui.viewmodel.ColorPickerViewModel
+import com.android.customization.picker.common.ui.view.ItemSpacing
 import com.android.wallpaper.R
+import com.android.wallpaper.picker.option.ui.adapter.OptionItemAdapter
+import kotlinx.coroutines.flow.collect
 import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.launch
 
@@ -47,28 +50,43 @@
         lifecycleOwner: LifecycleOwner,
     ) {
         val colorTypeTabView: RecyclerView = view.requireViewById(R.id.color_type_tabs)
+        val colorTypeTabSubheaderView: TextView = view.requireViewById(R.id.color_type_tab_subhead)
         val colorOptionContainerView: RecyclerView = view.requireViewById(R.id.color_options)
 
         val colorTypeTabAdapter = ColorTypeTabAdapter()
         colorTypeTabView.adapter = colorTypeTabAdapter
         colorTypeTabView.layoutManager =
             LinearLayoutManager(view.context, RecyclerView.HORIZONTAL, false)
-        colorTypeTabView.addItemDecoration(ItemSpacing())
-        val colorOptionAdapter = ColorOptionAdapter()
+        colorTypeTabView.addItemDecoration(ItemSpacing(ItemSpacing.TAB_ITEM_SPACING_DP))
+        val colorOptionAdapter =
+            OptionItemAdapter(
+                layoutResourceId = R.layout.color_option_2,
+                lifecycleOwner = lifecycleOwner,
+                bindIcon = { foregroundView: View, colorIcon: ColorOptionIconViewModel ->
+                    val viewGroup = foregroundView as? ViewGroup
+                    viewGroup?.let { ColorOptionIconBinder.bind(viewGroup, colorIcon) }
+                }
+            )
         colorOptionContainerView.adapter = colorOptionAdapter
         colorOptionContainerView.layoutManager =
             LinearLayoutManager(view.context, RecyclerView.HORIZONTAL, false)
-        colorOptionContainerView.addItemDecoration(ItemSpacing())
+        colorOptionContainerView.addItemDecoration(ItemSpacing(ItemSpacing.ITEM_SPACING_DP))
 
         lifecycleOwner.lifecycleScope.launch {
             lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
                 launch {
-                    viewModel.colorTypes
+                    viewModel.colorTypeTabs
                         .map { colorTypeById -> colorTypeById.values }
                         .collect { colorTypes -> colorTypeTabAdapter.setItems(colorTypes.toList()) }
                 }
 
                 launch {
+                    viewModel.colorTypeTabSubheader.collect { subhead ->
+                        colorTypeTabSubheaderView.text = subhead
+                    }
+                }
+
+                launch {
                     viewModel.colorOptions.collect { colorOptions ->
                         colorOptionAdapter.setItems(colorOptions)
                     }
@@ -76,29 +94,4 @@
             }
         }
     }
-
-    // TODO (b/262924623): Remove function and use common ItemSpacing after ag/20929223 is merged
-    private class ItemSpacing : RecyclerView.ItemDecoration() {
-        override fun getItemOffsets(outRect: Rect, itemPosition: Int, parent: RecyclerView) {
-            val addSpacingToStart = itemPosition > 0
-            val addSpacingToEnd = itemPosition < (parent.adapter?.itemCount ?: 0) - 1
-            val isRtl = parent.layoutManager?.layoutDirection == ViewCompat.LAYOUT_DIRECTION_RTL
-            val density = parent.context.resources.displayMetrics.density
-            if (!isRtl) {
-                outRect.left = if (addSpacingToStart) ITEM_SPACING_DP.toPx(density) else 0
-                outRect.right = if (addSpacingToEnd) ITEM_SPACING_DP.toPx(density) else 0
-            } else {
-                outRect.left = if (addSpacingToEnd) ITEM_SPACING_DP.toPx(density) else 0
-                outRect.right = if (addSpacingToStart) ITEM_SPACING_DP.toPx(density) else 0
-            }
-        }
-
-        private fun Int.toPx(density: Float): Int {
-            return (this * density).toInt()
-        }
-
-        companion object {
-            private const val ITEM_SPACING_DP = 8
-        }
-    }
 }
diff --git a/src/com/android/customization/picker/color/ui/binder/ColorSectionViewBinder.kt b/src/com/android/customization/picker/color/ui/binder/ColorSectionViewBinder.kt
index 0842870..05b0916 100644
--- a/src/com/android/customization/picker/color/ui/binder/ColorSectionViewBinder.kt
+++ b/src/com/android/customization/picker/color/ui/binder/ColorSectionViewBinder.kt
@@ -17,10 +17,9 @@
 
 package com.android.customization.picker.color.ui.binder
 
-import android.graphics.BlendMode
-import android.graphics.BlendModeColorFilter
 import android.view.LayoutInflater
 import android.view.View
+import android.view.ViewGroup
 import android.widget.ImageView
 import android.widget.LinearLayout
 import androidx.core.view.isVisible
@@ -28,9 +27,10 @@
 import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.repeatOnLifecycle
-import com.android.customization.picker.color.ui.viewmodel.ColorOptionViewModel
+import com.android.customization.picker.color.ui.viewmodel.ColorOptionIconViewModel
 import com.android.customization.picker.color.ui.viewmodel.ColorPickerViewModel
 import com.android.wallpaper.R
+import com.android.wallpaper.picker.option.ui.viewmodel.OptionItemViewModel
 import kotlinx.coroutines.launch
 
 object ColorSectionViewBinder {
@@ -63,8 +63,9 @@
                         setOptions(
                             options = colorOptions,
                             view = optionContainer,
+                            lifecycleOwner = lifecycleOwner,
                             addOverflowOption = !isConnectedHorizontallyToOtherSections,
-                            overflowOnClick = navigationOnClick
+                            overflowOnClick = navigationOnClick,
                         )
                     }
                 }
@@ -73,10 +74,11 @@
     }
 
     fun setOptions(
-        options: List<ColorOptionViewModel>,
+        options: List<OptionItemViewModel<ColorOptionIconViewModel>>,
         view: LinearLayout,
+        lifecycleOwner: LifecycleOwner,
         addOverflowOption: Boolean = false,
-        overflowOnClick: (View) -> Unit = {}
+        overflowOnClick: (View) -> Unit = {},
     ) {
         view.removeAllViews()
         // Color option slot size is the minimum between the color option size and the view column
@@ -92,26 +94,29 @@
             val itemView =
                 LayoutInflater.from(view.context)
                     .inflate(R.layout.color_option_no_background, view, false)
-
-            val color0View: ImageView = itemView.requireViewById(R.id.color_preview_0)
-            val color1View: ImageView = itemView.requireViewById(R.id.color_preview_1)
-            val color2View: ImageView = itemView.requireViewById(R.id.color_preview_2)
-            val color3View: ImageView = itemView.requireViewById(R.id.color_preview_3)
-            color0View.drawable.colorFilter = BlendModeColorFilter(item.color0, BlendMode.SRC)
-            color1View.drawable.colorFilter = BlendModeColorFilter(item.color1, BlendMode.SRC)
-            color2View.drawable.colorFilter = BlendModeColorFilter(item.color2, BlendMode.SRC)
-            color3View.drawable.colorFilter = BlendModeColorFilter(item.color3, BlendMode.SRC)
-
+            item.payload?.let { ColorOptionIconBinder.bind(itemView as ViewGroup, item.payload) }
             val optionSelectedView = itemView.findViewById<ImageView>(R.id.option_selected)
-            optionSelectedView.isVisible = item.isSelected
 
-            itemView.setOnClickListener(
-                if (item.onClick != null) {
-                    View.OnClickListener { item.onClick.invoke() }
-                } else {
-                    null
+            lifecycleOwner.lifecycleScope.launch {
+                lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+                    launch {
+                        item.isSelected.collect { isSelected ->
+                            optionSelectedView.isVisible = isSelected
+                        }
+                    }
+                    launch {
+                        item.onClicked.collect { onClicked ->
+                            itemView.setOnClickListener(
+                                if (onClicked != null) {
+                                    View.OnClickListener { onClicked.invoke() }
+                                } else {
+                                    null
+                                }
+                            )
+                        }
+                    }
                 }
-            )
+            }
             view.addView(itemView)
         }
         // add overflow option
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 fa7a344..ef68a4e 100644
--- a/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
+++ b/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
@@ -155,4 +155,8 @@
     override fun getDefaultTitle(): CharSequence {
         return requireContext().getString(R.string.color_picker_title)
     }
+
+    override fun getToolbarColorId(): Int {
+        return android.R.color.transparent
+    }
 }
diff --git a/src/com/android/customization/picker/color/ui/viewmodel/ColorTypeViewModel.kt b/src/com/android/customization/picker/color/ui/viewmodel/ColorOptionIconViewModel.kt
similarity index 64%
copy from src/com/android/customization/picker/color/ui/viewmodel/ColorTypeViewModel.kt
copy to src/com/android/customization/picker/color/ui/viewmodel/ColorOptionIconViewModel.kt
index 7343748..d32538d 100644
--- a/src/com/android/customization/picker/color/ui/viewmodel/ColorTypeViewModel.kt
+++ b/src/com/android/customization/picker/color/ui/viewmodel/ColorOptionIconViewModel.kt
@@ -17,14 +17,11 @@
 
 package com.android.customization.picker.color.ui.viewmodel
 
-/** Models UI state for a single color type in a picker experience. */
-data class ColorTypeViewModel(
-    /** User-visible name for the color type. */
-    val name: String,
+import android.annotation.ColorInt
 
-    /** Whether this is the currently-selected color type in the picker. */
-    val isSelected: Boolean,
-
-    /** Notifies that the color type has been clicked by the user. */
-    val onClick: (() -> Unit)?,
+data class ColorOptionIconViewModel(
+    @ColorInt val color0: Int,
+    @ColorInt val color1: Int,
+    @ColorInt val color2: Int,
+    @ColorInt val color3: Int,
 )
diff --git a/src/com/android/customization/picker/color/ui/viewmodel/ColorOptionViewModel.kt b/src/com/android/customization/picker/color/ui/viewmodel/ColorOptionViewModel.kt
index 784ec2e..7af2aa5 100644
--- a/src/com/android/customization/picker/color/ui/viewmodel/ColorOptionViewModel.kt
+++ b/src/com/android/customization/picker/color/ui/viewmodel/ColorOptionViewModel.kt
@@ -19,7 +19,11 @@
 
 import android.annotation.ColorInt
 
-/** Models UI state for a color options in a picker experience. */
+/**
+ * Models UI state for a color options in a picker experience.
+ *
+ * TODO (b/272109171): Remove after clock settings is refactored to use OptionItemAdapter
+ */
 data class ColorOptionViewModel(
     /** Colors for the color option. */
     @ColorInt val color0: Int,
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 5784855..81a5810 100644
--- a/src/com/android/customization/picker/color/ui/viewmodel/ColorPickerViewModel.kt
+++ b/src/com/android/customization/picker/color/ui/viewmodel/ColorPickerViewModel.kt
@@ -25,12 +25,16 @@
 import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor
 import com.android.customization.picker.color.shared.model.ColorType
 import com.android.wallpaper.R
+import com.android.wallpaper.picker.common.text.ui.viewmodel.Text
+import com.android.wallpaper.picker.option.ui.viewmodel.OptionItemViewModel
 import kotlin.math.max
 import kotlin.math.min
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.stateIn
 import kotlinx.coroutines.launch
 
 /** Models UI state for a color picker experience. */
@@ -40,13 +44,13 @@
     private val interactor: ColorPickerInteractor,
 ) : ViewModel() {
 
-    private val selectedColorTypeId = MutableStateFlow<ColorType?>(null)
+    private val selectedColorTypeTabId = MutableStateFlow<ColorType?>(null)
 
-    /** View-models for each color type. */
-    val colorTypes: Flow<Map<ColorType, ColorTypeViewModel>> =
+    /** View-models for each color tab. */
+    val colorTypeTabs: Flow<Map<ColorType, ColorTypeTabViewModel>> =
         combine(
             interactor.colorOptions,
-            selectedColorTypeId,
+            selectedColorTypeTabId,
         ) { colorOptions, selectedColorTypeIdOrNull ->
             colorOptions.keys
                 .mapIndexed { index, colorType ->
@@ -54,28 +58,40 @@
                         (selectedColorTypeIdOrNull == null && index == 0) ||
                             selectedColorTypeIdOrNull == colorType
                     colorType to
-                        ColorTypeViewModel(
+                        ColorTypeTabViewModel(
                             name =
                                 when (colorType) {
                                     ColorType.WALLPAPER_COLOR ->
                                         context.resources.getString(R.string.wallpaper_color_tab)
-                                    ColorType.BASIC_COLOR ->
-                                        context.resources.getString(R.string.preset_color_tab)
+                                    ColorType.PRESET_COLOR ->
+                                        context.resources.getString(R.string.preset_color_tab_2)
                                 },
                             isSelected = isSelected,
                             onClick =
                                 if (isSelected) {
                                     null
                                 } else {
-                                    { this.selectedColorTypeId.value = colorType }
+                                    { this.selectedColorTypeTabId.value = colorType }
                                 },
                         )
                 }
                 .toMap()
         }
 
+    /** View-models for each color tab subheader */
+    val colorTypeTabSubheader: Flow<String> =
+        selectedColorTypeTabId.map { selectedColorTypeIdOrNull ->
+            when (selectedColorTypeIdOrNull ?: ColorType.WALLPAPER_COLOR) {
+                ColorType.WALLPAPER_COLOR ->
+                    context.resources.getString(R.string.wallpaper_color_subheader)
+                ColorType.PRESET_COLOR ->
+                    context.resources.getString(R.string.preset_color_subheader)
+            }
+        }
+
     /** The list of all color options mapped by their color type */
-    private val allColorOptions: Flow<Map<ColorType, List<ColorOptionViewModel>>> =
+    private val allColorOptions:
+        Flow<Map<ColorType, List<OptionItemViewModel<ColorOptionIconViewModel>>>> =
         interactor.colorOptions.map { colorOptions ->
             colorOptions
                 .map { colorOptionEntry ->
@@ -87,30 +103,49 @@
                                         colorOptionModel.colorOption as ColorSeedOption
                                     val colors =
                                         colorSeedOption.previewInfo.resolveColors(context.resources)
-                                    ColorOptionViewModel(
-                                        color0 = colors[0],
-                                        color1 = colors[1],
-                                        color2 = colors[2],
-                                        color3 = colors[3],
-                                        contentDescription =
-                                            colorSeedOption
-                                                .getContentDescription(context)
-                                                .toString(),
-                                        isSelected = colorOptionModel.isSelected,
-                                        onClick =
-                                            if (colorOptionModel.isSelected) {
-                                                null
-                                            } else {
-                                                {
-                                                    viewModelScope.launch {
-                                                        interactor.select(colorOptionModel)
+                                    val isSelectedFlow: StateFlow<Boolean> =
+                                        interactor.activeColorOption
+                                            .map {
+                                                it?.colorOption?.isEquivalent(
+                                                    colorOptionModel.colorOption
+                                                )
+                                                    ?: colorOptionModel.isSelected
+                                            }
+                                            .stateIn(viewModelScope)
+                                    OptionItemViewModel<ColorOptionIconViewModel>(
+                                        key =
+                                            MutableStateFlow(colorOptionModel.key)
+                                                as StateFlow<String>,
+                                        payload =
+                                            ColorOptionIconViewModel(
+                                                colors[0],
+                                                colors[1],
+                                                colors[2],
+                                                colors[3]
+                                            ),
+                                        text =
+                                            Text.Loaded(
+                                                colorSeedOption
+                                                    .getContentDescription(context)
+                                                    .toString()
+                                            ),
+                                        isSelected = isSelectedFlow,
+                                        onClicked =
+                                            isSelectedFlow.map { isSelected ->
+                                                if (isSelected) {
+                                                    null
+                                                } else {
+                                                    {
+                                                        viewModelScope.launch {
+                                                            interactor.select(colorOptionModel)
+                                                        }
                                                     }
                                                 }
-                                            }
+                                            },
                                     )
                                 }
                             }
-                            ColorType.BASIC_COLOR -> {
+                            ColorType.PRESET_COLOR -> {
                                 colorOptionEntry.value.map { colorOptionModel ->
                                     val colorBundle: ColorBundle =
                                         colorOptionModel.colorOption as ColorBundle
@@ -122,21 +157,42 @@
                                         colorBundle.previewInfo.resolveSecondaryColor(
                                             context.resources
                                         )
-                                    ColorOptionViewModel(
-                                        color0 = primaryColor,
-                                        color1 = secondaryColor,
-                                        color2 = primaryColor,
-                                        color3 = secondaryColor,
-                                        contentDescription =
-                                            colorBundle.getContentDescription(context).toString(),
-                                        isSelected = colorOptionModel.isSelected,
-                                        onClick =
-                                            if (colorOptionModel.isSelected) {
-                                                null
-                                            } else {
-                                                {
-                                                    viewModelScope.launch {
-                                                        interactor.select(colorOptionModel)
+                                    val isSelectedFlow: StateFlow<Boolean> =
+                                        interactor.activeColorOption
+                                            .map {
+                                                it?.colorOption?.isEquivalent(
+                                                    colorOptionModel.colorOption
+                                                )
+                                                    ?: colorOptionModel.isSelected
+                                            }
+                                            .stateIn(viewModelScope)
+                                    OptionItemViewModel<ColorOptionIconViewModel>(
+                                        key =
+                                            MutableStateFlow(colorOptionModel.key)
+                                                as StateFlow<String>,
+                                        payload =
+                                            ColorOptionIconViewModel(
+                                                primaryColor,
+                                                secondaryColor,
+                                                primaryColor,
+                                                secondaryColor
+                                            ),
+                                        text =
+                                            Text.Loaded(
+                                                colorBundle
+                                                    .getContentDescription(context)
+                                                    .toString()
+                                            ),
+                                        isSelected = isSelectedFlow,
+                                        onClicked =
+                                            isSelectedFlow.map { isSelected ->
+                                                if (isSelected) {
+                                                    null
+                                                } else {
+                                                    {
+                                                        viewModelScope.launch {
+                                                            interactor.select(colorOptionModel)
+                                                        }
                                                     }
                                                 }
                                             },
@@ -149,18 +205,19 @@
         }
 
     /** The list of all available color options for the selected Color Type. */
-    val colorOptions: Flow<List<ColorOptionViewModel>> =
-        combine(allColorOptions, selectedColorTypeId) { allColorOptions, selectedColorTypeIdOrNull
-            ->
+    val colorOptions: Flow<List<OptionItemViewModel<ColorOptionIconViewModel>>> =
+        combine(allColorOptions, selectedColorTypeTabId) {
+            allColorOptions: Map<ColorType, List<OptionItemViewModel<ColorOptionIconViewModel>>>,
+            selectedColorTypeIdOrNull ->
             val selectedColorTypeId = selectedColorTypeIdOrNull ?: ColorType.WALLPAPER_COLOR
             allColorOptions[selectedColorTypeId]!!
         }
 
     /** The list of color options for the color section */
-    val colorSectionOptions: Flow<List<ColorOptionViewModel>> =
+    val colorSectionOptions: Flow<List<OptionItemViewModel<ColorOptionIconViewModel>>> =
         allColorOptions.map { allColorOptions ->
             val wallpaperOptions = allColorOptions[ColorType.WALLPAPER_COLOR]
-            val presetOptions = allColorOptions[ColorType.BASIC_COLOR]
+            val presetOptions = allColorOptions[ColorType.PRESET_COLOR]
             val subOptions =
                 wallpaperOptions!!.subList(0, min(COLOR_SECTION_OPTION_SIZE, wallpaperOptions.size))
             // Add additional options based on preset colors if size of wallpaper color options is
diff --git a/src/com/android/customization/picker/color/ui/viewmodel/ColorTypeViewModel.kt b/src/com/android/customization/picker/color/ui/viewmodel/ColorTypeTabViewModel.kt
similarity index 96%
rename from src/com/android/customization/picker/color/ui/viewmodel/ColorTypeViewModel.kt
rename to src/com/android/customization/picker/color/ui/viewmodel/ColorTypeTabViewModel.kt
index 7343748..6a789cc 100644
--- a/src/com/android/customization/picker/color/ui/viewmodel/ColorTypeViewModel.kt
+++ b/src/com/android/customization/picker/color/ui/viewmodel/ColorTypeTabViewModel.kt
@@ -18,7 +18,7 @@
 package com.android.customization.picker.color.ui.viewmodel
 
 /** Models UI state for a single color type in a picker experience. */
-data class ColorTypeViewModel(
+data class ColorTypeTabViewModel(
     /** User-visible name for the color type. */
     val name: String,
 
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 700439b..a2afc81 100644
--- a/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
+++ b/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
@@ -32,6 +32,7 @@
 import com.android.wallpaper.model.WallpaperColorsViewModel
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory
 import com.android.wallpaper.module.CustomizationSections
+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.section.ScreenPreviewView
 import com.android.wallpaper.util.DisplayUtils
@@ -48,6 +49,7 @@
     private val clockCarouselViewModel: ClockCarouselViewModel,
     private val clockViewFactory: ClockViewFactory,
     navigator: CustomizationSectionController.CustomizationSectionNavigationController,
+    wallpaperInteractor: WallpaperInteractor,
 ) :
     ScreenPreviewSectionController(
         activity,
@@ -57,6 +59,7 @@
         colorViewModel,
         displayUtils,
         navigator,
+        wallpaperInteractor,
     ) {
 
     private var clockCarouselBinding: ClockCarouselViewBinder.Binding? = null
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 af5cd13..4395f5e 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePickerBinder.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePickerBinder.kt
@@ -20,6 +20,7 @@
 import android.app.Dialog
 import android.content.Context
 import android.view.View
+import android.widget.ImageView
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.lifecycleScope
@@ -32,6 +33,8 @@
 import com.android.wallpaper.R
 import com.android.wallpaper.picker.common.dialog.ui.viewbinder.DialogViewBinder
 import com.android.wallpaper.picker.common.dialog.ui.viewmodel.DialogViewModel
+import com.android.wallpaper.picker.common.icon.ui.viewbinder.IconViewBinder
+import com.android.wallpaper.picker.common.icon.ui.viewmodel.Icon
 import com.android.wallpaper.picker.option.ui.adapter.OptionItemAdapter
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.combine
@@ -62,6 +65,10 @@
             OptionItemAdapter(
                 layoutResourceId = R.layout.keyguard_quick_affordance,
                 lifecycleOwner = lifecycleOwner,
+                bindIcon = { foregroundView: View, gridIcon: Icon ->
+                    val imageView = foregroundView as? ImageView
+                    imageView?.let { IconViewBinder.bind(imageView, gridIcon) }
+                }
             )
         affordancesView.adapter = affordancesAdapter
         affordancesView.layoutManager =
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 d88edfa..14b6acc 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
@@ -147,16 +147,18 @@
                         isSelected = isSelected,
                         selectedQuickAffordances =
                             selectedAffordances.map { affordanceModel ->
-                                OptionItemViewModel(
-                                    key = flowOf("${slot.id}::${affordanceModel.id}"),
-                                    icon =
+                                OptionItemViewModel<Icon>(
+                                    key =
+                                        MutableStateFlow("${slot.id}::${affordanceModel.id}")
+                                            as StateFlow<String>,
+                                    payload =
                                         Icon.Loaded(
                                             drawable =
                                                 getAffordanceIcon(affordanceModel.iconResourceId),
                                             contentDescription = null,
                                         ),
                                     text = Text.Loaded(affordanceModel.name),
-                                    isSelected = flowOf(true),
+                                    isSelected = MutableStateFlow(true) as StateFlow<Boolean>,
                                     onClicked = flowOf(null),
                                     onLongClicked = null,
                                     isEnabled = true,
@@ -194,9 +196,9 @@
             )
 
     /** The list of all available quick affordances for the selected slot. */
-    val quickAffordances: Flow<List<OptionItemViewModel>> =
+    val quickAffordances: Flow<List<OptionItemViewModel<Icon>>> =
         quickAffordanceInteractor.affordances.map { affordances ->
-            val isNoneSelected = selectedAffordanceIds.map { it.isEmpty() }
+            val isNoneSelected = selectedAffordanceIds.map { it.isEmpty() }.stateIn(viewModelScope)
             listOf(
                 none(
                     slotId = selectedSlotId,
@@ -220,11 +222,16 @@
             ) +
                 affordances.map { affordance ->
                     val affordanceIcon = getAffordanceIcon(affordance.iconResourceId)
-                    val isSelectedFlow: Flow<Boolean> =
-                        selectedAffordanceIds.map { it.contains(affordance.id) }
-                    OptionItemViewModel(
-                        key = selectedSlotId.map { slotId -> "$slotId::${affordance.id}" },
-                        icon = Icon.Loaded(drawable = affordanceIcon, contentDescription = null),
+                    val isSelectedFlow: StateFlow<Boolean> =
+                        selectedAffordanceIds
+                            .map { it.contains(affordance.id) }
+                            .stateIn(viewModelScope)
+                    OptionItemViewModel<Icon>(
+                        key =
+                            selectedSlotId
+                                .map { slotId -> "$slotId::${affordance.id}" }
+                                .stateIn(viewModelScope),
+                        payload = Icon.Loaded(drawable = affordanceIcon, contentDescription = null),
                         text = Text.Loaded(affordance.name),
                         isSelected = isSelectedFlow,
                         onClicked =
@@ -273,15 +280,15 @@
     val summary: Flow<KeyguardQuickAffordanceSummaryViewModel> =
         slots.map { slots ->
             val icon2 =
-                slots[KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END]
-                    ?.selectedQuickAffordances
-                    ?.firstOrNull()
-                    ?.icon
+                (slots[KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END]
+                        ?.selectedQuickAffordances
+                        ?.firstOrNull())
+                    ?.payload
             val icon1 =
-                slots[KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START]
-                    ?.selectedQuickAffordances
-                    ?.firstOrNull()
-                    ?.icon
+                (slots[KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START]
+                        ?.selectedQuickAffordances
+                        ?.firstOrNull())
+                    ?.payload
 
             KeyguardQuickAffordanceSummaryViewModel(
                 description = toDescriptionText(context, slots),
@@ -359,14 +366,14 @@
 
     /** Returns a view-model for the special "None" option. */
     @SuppressLint("UseCompatLoadingForDrawables")
-    private fun none(
-        slotId: Flow<String>,
-        isSelected: Flow<Boolean>,
+    private suspend fun none(
+        slotId: StateFlow<String>,
+        isSelected: StateFlow<Boolean>,
         onSelected: Flow<(() -> Unit)?>,
-    ): OptionItemViewModel {
-        return OptionItemViewModel(
-            key = slotId.map { "$it::none" },
-            icon = Icon.Resource(res = R.drawable.link_off, contentDescription = null),
+    ): OptionItemViewModel<Icon> {
+        return OptionItemViewModel<Icon>(
+            key = slotId.map { "$it::none" }.stateIn(viewModelScope),
+            payload = Icon.Resource(res = R.drawable.link_off, contentDescription = null),
             text = Text.Resource(res = R.string.keyguard_affordance_none),
             isSelected = isSelected,
             onClicked = onSelected,
diff --git a/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordanceSlotViewModel.kt b/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordanceSlotViewModel.kt
index 6d8195a..4d11346 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordanceSlotViewModel.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordanceSlotViewModel.kt
@@ -17,6 +17,7 @@
 
 package com.android.customization.picker.quickaffordance.ui.viewmodel
 
+import com.android.wallpaper.picker.common.icon.ui.viewmodel.Icon
 import com.android.wallpaper.picker.option.ui.viewmodel.OptionItemViewModel
 
 /** Models UI state for a single lock screen quick affordance slot in a picker experience. */
@@ -32,7 +33,7 @@
      *
      * Useful for preview.
      */
-    val selectedQuickAffordances: List<OptionItemViewModel>,
+    val selectedQuickAffordances: List<OptionItemViewModel<Icon>>,
 
     /**
      * The maximum number of quick affordances that can be selected for this slot.
diff --git a/tests/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModelTest.kt b/tests/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModelTest.kt
index 7d0a527..58c5d99 100644
--- a/tests/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModelTest.kt
+++ b/tests/src/com/android/customization/model/grid/ui/viewmodel/GridScreenViewModelTest.kt
@@ -94,13 +94,17 @@
             assertThat(getOnClick(optionItemsValue[1])).isNull()
         }
 
-    private fun TestScope.getSelectedIndex(optionItems: List<OptionItemViewModel>): Int {
+    private fun TestScope.getSelectedIndex(
+        optionItems: List<OptionItemViewModel<GridIconViewModel>>
+    ): Int {
         return optionItems.indexOfFirst { optionItem ->
             collectLastValue(optionItem.isSelected).invoke() == true
         }
     }
 
-    private fun TestScope.getOnClick(optionItem: OptionItemViewModel): (() -> Unit)? {
+    private fun TestScope.getOnClick(
+        optionItem: OptionItemViewModel<GridIconViewModel>
+    ): (() -> Unit)? {
         return collectLastValue(optionItem.onClicked).invoke()
     }
 }
diff --git a/tests/src/com/android/customization/model/picker/color/domain/interactor/ColorPickerInteractorTest.kt b/tests/src/com/android/customization/model/picker/color/domain/interactor/ColorPickerInteractorTest.kt
index 885d5a9..cbf1365 100644
--- a/tests/src/com/android/customization/model/picker/color/domain/interactor/ColorPickerInteractorTest.kt
+++ b/tests/src/com/android/customization/model/picker/color/domain/interactor/ColorPickerInteractorTest.kt
@@ -72,11 +72,11 @@
         val wallpaperColorOptionModelAfter = colorOptions()?.get(ColorType.WALLPAPER_COLOR)?.get(2)
         assertThat(wallpaperColorOptionModelAfter?.isSelected).isTrue()
 
-        val presetColorOptionModelBefore = colorOptions()?.get(ColorType.BASIC_COLOR)?.get(1)
+        val presetColorOptionModelBefore = colorOptions()?.get(ColorType.PRESET_COLOR)?.get(1)
         assertThat(presetColorOptionModelBefore?.isSelected).isFalse()
 
         presetColorOptionModelBefore?.let { underTest.select(colorOptionModel = it) }
-        val presetColorOptionModelAfter = colorOptions()?.get(ColorType.BASIC_COLOR)?.get(1)
+        val presetColorOptionModelAfter = colorOptions()?.get(ColorType.PRESET_COLOR)?.get(1)
         assertThat(presetColorOptionModelAfter?.isSelected).isTrue()
     }
 
diff --git a/tests/src/com/android/customization/model/picker/color/domain/interactor/ColorPickerSnapshotRestorerTest.kt b/tests/src/com/android/customization/model/picker/color/domain/interactor/ColorPickerSnapshotRestorerTest.kt
index 27b8550..71a8f23 100644
--- a/tests/src/com/android/customization/model/picker/color/domain/interactor/ColorPickerSnapshotRestorerTest.kt
+++ b/tests/src/com/android/customization/model/picker/color/domain/interactor/ColorPickerSnapshotRestorerTest.kt
@@ -70,9 +70,9 @@
         val initialSnapshot = underTest.setUpSnapshotRestorer(store = store)
         assertThat(initialSnapshot.args).isNotEmpty()
 
-        val colorOptionToSelect = colorOptions()?.get(ColorType.BASIC_COLOR)?.get(3)
+        val colorOptionToSelect = colorOptions()?.get(ColorType.PRESET_COLOR)?.get(3)
         colorOptionToSelect?.let { repository.select(it) }
-        assertState(colorOptions(), ColorType.BASIC_COLOR, 3)
+        assertState(colorOptions(), ColorType.PRESET_COLOR, 3)
 
         underTest.restoreToSnapshot(initialSnapshot)
         assertState(colorOptions(), ColorType.WALLPAPER_COLOR, 2)
@@ -86,11 +86,11 @@
         val initialSnapshot = underTest.setUpSnapshotRestorer(store = store)
         assertThat(initialSnapshot.args).isNotEmpty()
 
-        val colorOptionToSelect = colorOptions()?.get(ColorType.BASIC_COLOR)?.get(3)
+        val colorOptionToSelect = colorOptions()?.get(ColorType.PRESET_COLOR)?.get(3)
         colorOptionToSelect?.let { repository.select(it) }
-        assertState(colorOptions(), ColorType.BASIC_COLOR, 3)
+        assertState(colorOptions(), ColorType.PRESET_COLOR, 3)
 
-        val colorOptionToStore = colorOptions()?.get(ColorType.BASIC_COLOR)?.get(1)
+        val colorOptionToStore = colorOptions()?.get(ColorType.PRESET_COLOR)?.get(1)
         colorOptionToStore?.let { underTest.storeSnapshot(colorOptionToStore) }
 
         underTest.restoreToSnapshot(initialSnapshot)
diff --git a/tests/src/com/android/customization/model/picker/color/ui/viewmodel/ColorPickerViewModelTest.kt b/tests/src/com/android/customization/model/picker/color/ui/viewmodel/ColorPickerViewModelTest.kt
index 7d87a55..1d9457a 100644
--- a/tests/src/com/android/customization/model/picker/color/ui/viewmodel/ColorPickerViewModelTest.kt
+++ b/tests/src/com/android/customization/model/picker/color/ui/viewmodel/ColorPickerViewModelTest.kt
@@ -23,9 +23,10 @@
 import com.android.customization.picker.color.domain.interactor.ColorPickerInteractor
 import com.android.customization.picker.color.domain.interactor.ColorPickerSnapshotRestorer
 import com.android.customization.picker.color.shared.model.ColorType
-import com.android.customization.picker.color.ui.viewmodel.ColorOptionViewModel
+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.ColorTypeViewModel
+import com.android.customization.picker.color.ui.viewmodel.ColorTypeTabViewModel
+import com.android.wallpaper.picker.option.ui.viewmodel.OptionItemViewModel
 import com.android.wallpaper.testing.FakeSnapshotStore
 import com.android.wallpaper.testing.collectLastValue
 import com.google.common.truth.Truth.assertThat
@@ -97,13 +98,13 @@
                 selectedColorOptionIndex = 0
             )
 
-            colorSectionOptions()?.get(2)?.onClick?.invoke()
+            selectColorOption(colorSectionOptions, 2)
             assertColorOptionUiState(
                 colorOptions = colorSectionOptions(),
                 selectedColorOptionIndex = 2
             )
 
-            colorSectionOptions()?.get(4)?.onClick?.invoke()
+            selectColorOption(colorSectionOptions, 4)
             assertColorOptionUiState(
                 colorOptions = colorSectionOptions(),
                 selectedColorOptionIndex = 4
@@ -113,7 +114,7 @@
     @Test
     fun `Select a preset color`() =
         testScope.runTest {
-            val colorTypes = collectLastValue(underTest.colorTypes)
+            val colorTypes = collectLastValue(underTest.colorTypeTabs)
             val colorOptions = collectLastValue(underTest.colorOptions)
 
             // Initially, the wallpaper color tab should be selected
@@ -125,7 +126,7 @@
             )
 
             // Select "Basic colors" tab
-            colorTypes()?.get(ColorType.BASIC_COLOR)?.onClick?.invoke()
+            colorTypes()?.get(ColorType.PRESET_COLOR)?.onClick?.invoke()
             assertPickerUiState(
                 colorTypes = colorTypes(),
                 colorOptions = colorOptions(),
@@ -134,7 +135,7 @@
             )
 
             // Select a color option
-            colorOptions()?.get(2)?.onClick?.invoke()
+            selectColorOption(colorOptions, 2)
 
             // Check original option is no longer selected
             colorTypes()?.get(ColorType.WALLPAPER_COLOR)?.onClick?.invoke()
@@ -146,7 +147,7 @@
             )
 
             // Check new option is selected
-            colorTypes()?.get(ColorType.BASIC_COLOR)?.onClick?.invoke()
+            colorTypes()?.get(ColorType.PRESET_COLOR)?.onClick?.invoke()
             assertPickerUiState(
                 colorTypes = colorTypes(),
                 colorOptions = colorOptions(),
@@ -155,6 +156,20 @@
             )
         }
 
+    /** Simulates a user selecting the affordance at the given index, if that is clickable. */
+    private fun TestScope.selectColorOption(
+        colorOptions: () -> List<OptionItemViewModel<ColorOptionIconViewModel>>?,
+        index: Int,
+    ) {
+        val onClickedFlow = colorOptions()?.get(index)?.onClicked
+        val onClickedLastValueOrNull: (() -> (() -> Unit)?)? =
+            onClickedFlow?.let { collectLastValue(it) }
+        onClickedLastValueOrNull?.let { onClickedLastValue ->
+            val onClickedOrNull: (() -> Unit)? = onClickedLastValue()
+            onClickedOrNull?.let { onClicked -> onClicked() }
+        }
+    }
+
     /**
      * Asserts the entire picker UI state is what is expected. This includes the color type tabs and
      * the color options list.
@@ -165,9 +180,9 @@
      * @param selectedColorOptionIndex The index of the color option that's expected to be selected,
      *   -1 stands for no color option should be selected
      */
-    private fun assertPickerUiState(
-        colorTypes: Map<ColorType, ColorTypeViewModel>?,
-        colorOptions: List<ColorOptionViewModel>?,
+    private fun TestScope.assertPickerUiState(
+        colorTypes: Map<ColorType, ColorTypeTabViewModel>?,
+        colorOptions: List<OptionItemViewModel<ColorOptionIconViewModel>>?,
         selectedColorTypeText: String,
         selectedColorOptionIndex: Int,
     ) {
@@ -178,7 +193,7 @@
         )
         assertColorTypeTabUiState(
             colorTypes = colorTypes,
-            colorTypeId = ColorType.BASIC_COLOR,
+            colorTypeId = ColorType.PRESET_COLOR,
             isSelected = "Basic colors" == selectedColorTypeText,
         )
         assertColorOptionUiState(colorOptions, selectedColorOptionIndex)
@@ -191,8 +206,8 @@
      * @param selectedColorOptionIndex The index of the color option that's expected to be selected,
      *   -1 stands for no color option should be selected
      */
-    private fun assertColorOptionUiState(
-        colorOptions: List<ColorOptionViewModel>?,
+    private fun TestScope.assertColorOptionUiState(
+        colorOptions: List<OptionItemViewModel<ColorOptionIconViewModel>>?,
         selectedColorOptionIndex: Int,
     ) {
         var foundSelectedColorOption = false
@@ -200,12 +215,13 @@
         if (colorOptions != null) {
             for (i in colorOptions.indices) {
                 val colorOptionHasSelectedIndex = i == selectedColorOptionIndex
+                val isSelected: Boolean? = collectLastValue(colorOptions[i].isSelected).invoke()
                 assertWithMessage(
                         "Expected color option with index \"${i}\" to have" +
                             " isSelected=$colorOptionHasSelectedIndex but it was" +
-                            " ${colorOptions[i].isSelected}, num options: ${colorOptions.size}"
+                            " ${isSelected}, num options: ${colorOptions.size}"
                     )
-                    .that(colorOptions[i].isSelected)
+                    .that(isSelected)
                     .isEqualTo(colorOptionHasSelectedIndex)
                 foundSelectedColorOption = foundSelectedColorOption || colorOptionHasSelectedIndex
             }
@@ -235,7 +251,7 @@
      * @param isSelected Whether that color type should be selected
      */
     private fun assertColorTypeTabUiState(
-        colorTypes: Map<ColorType, ColorTypeViewModel>?,
+        colorTypes: Map<ColorType, ColorTypeTabViewModel>?,
         colorTypeId: ColorType,
         isSelected: Boolean,
     ) {
diff --git a/tests/src/com/android/customization/model/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModelTest.kt b/tests/src/com/android/customization/model/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModelTest.kt
index 5c99585..103ae84 100644
--- a/tests/src/com/android/customization/model/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModelTest.kt
+++ b/tests/src/com/android/customization/model/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModelTest.kt
@@ -382,7 +382,7 @@
 
     /** Simulates a user selecting the affordance at the given index, if that is clickable. */
     private fun TestScope.selectAffordance(
-        affordances: () -> List<OptionItemViewModel>?,
+        affordances: () -> List<OptionItemViewModel<Icon>>?,
         index: Int,
     ) {
         val onClickedFlow = affordances()?.get(index)?.onClicked
@@ -405,7 +405,7 @@
      */
     private fun TestScope.assertPickerUiState(
         slots: Map<String, KeyguardQuickAffordanceSlotViewModel>?,
-        affordances: List<OptionItemViewModel>?,
+        affordances: List<OptionItemViewModel<Icon>>?,
         selectedSlotText: String,
         selectedAffordanceText: String,
     ) {
diff --git a/tests/src/com/android/customization/testing/TestCustomizationInjector.kt b/tests/src/com/android/customization/testing/TestCustomizationInjector.kt
index 5b0ecae..b49e654 100644
--- a/tests/src/com/android/customization/testing/TestCustomizationInjector.kt
+++ b/tests/src/com/android/customization/testing/TestCustomizationInjector.kt
@@ -2,7 +2,10 @@
 
 import android.app.Activity
 import android.content.Context
+import android.text.TextUtils
 import androidx.fragment.app.FragmentActivity
+import com.android.customization.model.color.ColorCustomizationManager
+import com.android.customization.model.color.ColorOptionsProvider
 import com.android.customization.model.theme.OverlayManagerCompat
 import com.android.customization.model.theme.ThemeBundleProvider
 import com.android.customization.model.theme.ThemeManager
@@ -16,6 +19,7 @@
 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.color.data.repository.ColorPickerRepository
 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
@@ -31,6 +35,9 @@
 import com.android.wallpaper.module.DrawableLayerResolver
 import com.android.wallpaper.module.PackageStatusNotifier
 import com.android.wallpaper.module.UserEventLogger
+import com.android.wallpaper.picker.customization.data.content.WallpaperClientImpl
+import com.android.wallpaper.picker.customization.data.repository.WallpaperRepository
+import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor
 import com.android.wallpaper.picker.undo.domain.interactor.SnapshotRestorer
 import com.android.wallpaper.testing.TestInjector
 import kotlinx.coroutines.Dispatchers
@@ -43,6 +50,7 @@
     private var packageStatusNotifier: PackageStatusNotifier? = null
     private var drawableLayerResolver: DrawableLayerResolver? = null
     private var userEventLogger: UserEventLogger? = null
+    private var wallpaperInteractor: WallpaperInteractor? = null
     private var keyguardQuickAffordancePickerInteractor: KeyguardQuickAffordancePickerInteractor? =
         null
     private var flags: BaseFlags? = null
@@ -53,9 +61,11 @@
     private var clockPickerInteractor: ClockPickerInteractor? = null
     private var clockSectionViewModel: ClockSectionViewModel? = null
     private var clockViewFactory: ClockViewFactory? = null
+    private var colorPickerRepository: ColorPickerRepository? = null
     private var colorPickerInteractor: ColorPickerInteractor? = null
     private var colorPickerViewModelFactory: ColorPickerViewModel.Factory? = null
     private var colorPickerSnapshotRestorer: ColorPickerSnapshotRestorer? = null
+    private var colorCustomizationManager: ColorCustomizationManager? = null
     private var clockCarouselViewModel: ClockCarouselViewModel? = null
     private var clockSettingsViewModelFactory: ClockSettingsViewModel.Factory? = null
 
@@ -92,6 +102,25 @@
         return userEventLogger ?: TestThemesUserEventLogger().also { userEventLogger = it }
     }
 
+    override fun getWallpaperInteractor(context: Context): WallpaperInteractor {
+        return wallpaperInteractor
+            ?: WallpaperInteractor(
+                    repository =
+                        WallpaperRepository(
+                            scope = GlobalScope,
+                            client = WallpaperClientImpl(context = context),
+                            backgroundDispatcher = Dispatchers.IO,
+                        ),
+                    shouldHandleReload = {
+                        TextUtils.equals(
+                            getColorCustomizationManager(context).currentColorSource,
+                            ColorOptionsProvider.COLOR_SOURCE_PRESET
+                        )
+                    }
+                )
+                .also { wallpaperInteractor = it }
+    }
+
     override fun getKeyguardQuickAffordancePickerInteractor(
         context: Context
     ): KeyguardQuickAffordancePickerInteractor {
@@ -169,13 +198,24 @@
             }
     }
 
+    private fun getColorPickerRepository(
+        context: Context,
+        wallpaperColorsViewModel: WallpaperColorsViewModel,
+    ): ColorPickerRepository {
+        return colorPickerRepository
+            ?: ColorPickerRepositoryImpl(
+                wallpaperColorsViewModel,
+                getColorCustomizationManager(context)
+            )
+    }
+
     override fun getColorPickerInteractor(
         context: Context,
         wallpaperColorsViewModel: WallpaperColorsViewModel,
     ): ColorPickerInteractor {
         return colorPickerInteractor
             ?: ColorPickerInteractor(
-                    repository = ColorPickerRepositoryImpl(context, wallpaperColorsViewModel),
+                    repository = getColorPickerRepository(context, wallpaperColorsViewModel),
                     snapshotRestorer = {
                         getColorPickerSnapshotRestorer(context, wallpaperColorsViewModel)
                     },
@@ -206,6 +246,13 @@
                 .also { colorPickerSnapshotRestorer = it }
     }
 
+    private fun getColorCustomizationManager(context: Context): ColorCustomizationManager {
+        return colorCustomizationManager
+            ?: ColorCustomizationManager.getInstance(context, OverlayManagerCompat(context)).also {
+                colorCustomizationManager = it
+            }
+    }
+
     override fun getClockCarouselViewModel(context: Context): ClockCarouselViewModel {
         return clockCarouselViewModel
             ?: ClockCarouselViewModel(getClockPickerInteractor(context)).also {
