Merge "Add metrics for probing wallpaper effect readiness." into tm-qpr-dev
diff --git a/Android.bp b/Android.bp
index 64fc327..6d9ff8f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -28,6 +28,14 @@
 }
 
 filegroup {
+    name: "ThemePicker_src_overrides",
+    srcs: [
+        "src_override/**/*.java",
+        "src_override/**/*.kt",
+    ],
+}
+
+filegroup {
     name: "ThemePicker_Manifest",
     srcs: [
         "AndroidManifest.xml",
@@ -46,11 +54,20 @@
         + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR"
 }
 
-//
-// Build app code.
-//
-android_app {
-    name: "ThemePicker",
+genrule {
+    name: "ThemePicker_res_overrides",
+    tools: ["soong_zip"],
+    srcs: [
+        "res_override/**/*",
+    ],
+    out: ["ThemePicker_res_overrides.zip"],
+    cmd: "INPUTS=($(in)) && "
+        + "RES_DIR=$$(dirname $$(dirname $${INPUTS[0]})) && "
+        + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR"
+}
+
+java_defaults {
+    name: "ThemePicker_defaults",
 
     static_libs: [
         "guava",
@@ -73,17 +90,12 @@
     srcs: [
         ":WallpaperPicker2_srcs",
         ":ThemePicker_srcs",
-        "src_override/**/*.java",
-        "src_override/**/*.kt",
-    ],
-
-    resource_dirs: [
-        "res_override",
+        ":ThemePicker_src_overrides",
     ],
 
     use_embedded_native_libs: true,
 
-    resource_zips: [":WallpaperPicker2_res", ":ThemePicker_res"],
+    resource_zips: [":WallpaperPicker2_res", ":ThemePicker_res", ":ThemePicker_res_overrides"],
 
     optimize: {
         enabled: false,
@@ -93,6 +105,15 @@
 
     privileged: true,
     system_ext_specific: true,
+}
+
+//
+// Build app code.
+//
+android_app {
+    name: "ThemePicker",
+    defaults: ["ThemePicker_defaults"],
+
     platform_apis: true,
     manifest: "AndroidManifest.xml",
     additional_manifests: [":WallpaperPicker2_Manifest"],
diff --git a/res/drawable/color_chip_seed_filled0.xml b/res/drawable/color_chip_seed_filled0.xml
index a93bc6b..2d4376c 100644
--- a/res/drawable/color_chip_seed_filled0.xml
+++ b/res/drawable/color_chip_seed_filled0.xml
@@ -19,10 +19,10 @@
     <item>
         <shape android:shape="rectangle">
             <corners
-                android:topLeftRadius="@dimen/component_color_chip_small_size_default" />
+                android:topLeftRadius="@dimen/component_color_chip_small_radius_default" />
             <size
-                android:width="@dimen/component_color_chip_small_size_default"
-                android:height="@dimen/component_color_chip_small_size_default" />
+                android:width="@dimen/component_color_chip_small_radius_default"
+                android:height="@dimen/component_color_chip_small_radius_default" />
             <solid android:color="@android:color/black" />
         </shape>
     </item>
diff --git a/res/drawable/color_chip_seed_filled1.xml b/res/drawable/color_chip_seed_filled1.xml
index a0672bc..1514939 100644
--- a/res/drawable/color_chip_seed_filled1.xml
+++ b/res/drawable/color_chip_seed_filled1.xml
@@ -19,10 +19,10 @@
     <item>
          <shape android:shape="rectangle">
             <corners
-                android:bottomLeftRadius="@dimen/component_color_chip_small_size_default" />
+                android:bottomLeftRadius="@dimen/component_color_chip_small_radius_default" />
             <size
-                android:width="@dimen/component_color_chip_small_size_default"
-                android:height="@dimen/component_color_chip_small_size_default" />
+                android:width="@dimen/component_color_chip_small_radius_default"
+                android:height="@dimen/component_color_chip_small_radius_default" />
             <solid android:color="@android:color/black" />
         </shape>
     </item>
diff --git a/res/drawable/color_chip_seed_filled2.xml b/res/drawable/color_chip_seed_filled2.xml
index 545fbdd..b415bb2 100644
--- a/res/drawable/color_chip_seed_filled2.xml
+++ b/res/drawable/color_chip_seed_filled2.xml
@@ -19,10 +19,10 @@
     <item>
         <shape android:shape="rectangle">
             <corners
-                android:topRightRadius="@dimen/component_color_chip_small_size_default" />
+                android:topRightRadius="@dimen/component_color_chip_small_radius_default" />
             <size
-                android:width="@dimen/component_color_chip_small_size_default"
-                android:height="@dimen/component_color_chip_small_size_default" />
+                android:width="@dimen/component_color_chip_small_radius_default"
+                android:height="@dimen/component_color_chip_small_radius_default" />
             <solid android:color="@android:color/black" />
         </shape>
     </item>
diff --git a/res/drawable/color_chip_seed_filled3.xml b/res/drawable/color_chip_seed_filled3.xml
index 0e286a5..49f429d 100644
--- a/res/drawable/color_chip_seed_filled3.xml
+++ b/res/drawable/color_chip_seed_filled3.xml
@@ -19,10 +19,10 @@
     <item>
         <shape android:shape="rectangle">
             <corners
-                android:bottomRightRadius="@dimen/component_color_chip_small_size_default" />
+                android:bottomRightRadius="@dimen/component_color_chip_small_radius_default" />
             <size
-                android:width="@dimen/component_color_chip_small_size_default"
-                android:height="@dimen/component_color_chip_small_size_default" />
+                android:width="@dimen/component_color_chip_small_radius_default"
+                android:height="@dimen/component_color_chip_small_radius_default" />
             <solid android:color="@android:color/black" />
         </shape>
     </item>
diff --git a/res/layout/color_option.xml b/res/layout/color_option.xml
index 9bbfd7f..d9a7136 100644
--- a/res/layout/color_option.xml
+++ b/res/layout/color_option.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
      Copyright (C) 2022 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,50 +13,91 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<!-- Enclosing layout must be match_parent so that we can center content within -->
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:layout_gravity="center"
     android:clipChildren="false"
-    android:clipToPadding="false"
-    android:orientation="vertical">
+    android:gravity="center"
+    android:padding="@dimen/option_tile_grid_tile_padding_min">
 
-    <FrameLayout
-        android:id="@+id/option_tile"
-        android:layout_width="@dimen/option_tile_width"
-        android:layout_height="@dimen/option_tile_width"
-        android:layout_gravity="center_horizontal"
-        android:background="@drawable/option_border_color">
-        <ImageView
-            android:id="@+id/color_preview_0"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+    <!--
+        This displays the background. It is dynamically sized, constrained remain square and
+        have a maximum size, and be centered within its parent.
+     -->
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:layout_gravity="center"
+        android:background="@drawable/option_border_color"
+        android:gravity="center"
+        android:padding="@dimen/option_tile_grid_icon_padding_min"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintDimensionRatio="1:1"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintWidth_max="@dimen/option_tile_width">
+
+        <!-- This is the color wheel itself, constrained to a maximum size and centered -->
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/option_tile"
+            android:layout_width="0dp"
+            android:layout_height="0dp"
             android:layout_gravity="center"
-            android:layout_marginRight="@dimen/color_seed_chip_margin"
-            android:layout_marginBottom="@dimen/color_seed_chip_margin"
-            android:src="@drawable/color_chip_seed_filled0"/>
-        <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"/>
-        <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"/>
-        <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"/>
-    </FrameLayout>
-</FrameLayout>
+            android:gravity="center"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintHeight_max="@dimen/component_color_chip_small_diameter_default"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintWidth_max="@dimen/component_color_chip_small_diameter_default">
+
+            <ImageView
+                android:id="@+id/color_preview_0"
+                android:layout_width="0dp"
+                android:layout_height="0dp"
+                android:adjustViewBounds="true"
+                android:src="@drawable/color_chip_seed_filled0"
+                app:layout_constraintHeight_percent=".50"
+                app:layout_constraintLeft_toLeftOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                app:layout_constraintWidth_percent=".50" />
+
+            <ImageView
+                android:id="@+id/color_preview_1"
+                android:layout_width="0dp"
+                android:layout_height="0dp"
+                android:adjustViewBounds="true"
+                android:src="@drawable/color_chip_seed_filled2"
+                app:layout_constraintHeight_percent=".50"
+                app:layout_constraintLeft_toRightOf="@id/color_preview_0"
+                app:layout_constraintTop_toTopOf="parent"
+                app:layout_constraintWidth_percent=".50" />
+
+            <ImageView
+                android:id="@+id/color_preview_2"
+                android:layout_width="0dp"
+                android:layout_height="0dp"
+                android:adjustViewBounds="true"
+                android:src="@drawable/color_chip_seed_filled1"
+                app:layout_constraintHeight_percent=".50"
+                app:layout_constraintLeft_toLeftOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/color_preview_0"
+                app:layout_constraintWidth_percent=".50" />
+
+            <ImageView
+                android:id="@+id/color_preview_3"
+                android:layout_width="0dp"
+                android:layout_height="0dp"
+                android:adjustViewBounds="true"
+                android:src="@drawable/color_chip_seed_filled3"
+                app:layout_constraintHeight_percent=".50"
+                app:layout_constraintLeft_toRightOf="@id/color_preview_2"
+                app:layout_constraintTop_toBottomOf="@id/color_preview_1"
+                app:layout_constraintWidth_percent=".50" />
+        </androidx.constraintlayout.widget.ConstraintLayout>
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/fragment_lock_screen_quick_affordances.xml b/res/layout/fragment_lock_screen_quick_affordances.xml
index 9927e6a..331d501 100644
--- a/res/layout/fragment_lock_screen_quick_affordances.xml
+++ b/res/layout/fragment_lock_screen_quick_affordances.xml
@@ -15,8 +15,7 @@
   ~
   -->
 
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
@@ -30,11 +29,21 @@
 
     </FrameLayout>
 
-    <!-- TODO(b/254858701): plug in the preview here. -->
-    <View
+    <com.android.wallpaper.picker.DisplayAspectRatioFrameLayout
         android:layout_width="match_parent"
         android:layout_height="0dp"
-        android:layout_weight="1" />
+        android:layout_weight="1"
+        android:paddingTop="36dp"
+        android:paddingBottom="40dp">
+
+        <include
+            android:id="@+id/preview"
+            layout="@layout/wallpaper_preview_card"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_gravity="center"/>
+
+    </com.android.wallpaper.picker.DisplayAspectRatioFrameLayout>
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -46,23 +55,66 @@
         android:paddingTop="22dp"
         android:paddingBottom="62dp">
 
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@id/slot_tabs"
+        <FrameLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:clipToPadding="false"
-            android:paddingHorizontal="16dp" />
+            >
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@id/slot_tabs"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:clipToPadding="false"
+                android:paddingHorizontal="16dp" />
+
+            <!--
+            This is just an invisible placeholder put in place so that the parent keeps its height
+            stable as the RecyclerView updates from 0 items to N items. Keeping it stable allows the
+            layout logic to keep the size of the preview container stable as well, which bodes well
+            for setting up the SurfaceView for remote rendering without changing its size after the
+            content is loaded into the RecyclerView.
+
+            It's critical for any TextViews inside the included layout to have text.
+            -->
+            <include
+                layout="@layout/keyguard_quick_affordance_slot_tab"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:visibility="invisible" />
+
+        </FrameLayout>
 
         <View
             android:layout_width="0dp"
             android:layout_height="22dp" />
 
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@id/affordances"
+        <FrameLayout
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:clipToPadding="false"
-            android:paddingHorizontal="16dp" />
+            android:layout_height="wrap_content">
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@id/affordances"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:clipToPadding="false"
+                android:paddingHorizontal="16dp" />
+
+            <!--
+            This is just an invisible placeholder put in place so that the parent keeps its height
+            stable as the RecyclerView updates from 0 items to N items. Keeping it stable allows the
+            layout logic to keep the size of the preview container stable as well, which bodes well
+            for setting up the SurfaceView for remote rendering without changing its size after the
+            content is loaded into the RecyclerView.
+
+            It's critical for any TextViews inside the included layout to have text.
+            -->
+            <include
+                layout="@layout/keyguard_quick_affordance"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:visibility="invisible" />
+
+        </FrameLayout>
 
     </LinearLayout>
 
diff --git a/res/layout/keyguard_quick_affordance.xml b/res/layout/keyguard_quick_affordance.xml
index 90ba68e..b3b6893 100644
--- a/res/layout/keyguard_quick_affordance.xml
+++ b/res/layout/keyguard_quick_affordance.xml
@@ -18,7 +18,7 @@
 
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="@dimen/keyguard_quick_affordance_picker_item_width"
     android:layout_height="wrap_content"
     android:orientation="vertical"
@@ -48,6 +48,8 @@
         android:layout_height="wrap_content"
         android:textColor="@color/text_color_primary"
         android:singleLine="true"
-        android:ellipsize="end"/>
+        android:ellipsize="end"
+        android:text="Placeholder for stable size calculation, please do not remove."
+        tools:ignore="HardcodedText" />
 
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/keyguard_quick_affordance_slot_tab.xml b/res/layout/keyguard_quick_affordance_slot_tab.xml
index ba233cd..c4934d8 100644
--- a/res/layout/keyguard_quick_affordance_slot_tab.xml
+++ b/res/layout/keyguard_quick_affordance_slot_tab.xml
@@ -17,6 +17,7 @@
 
 <TextView
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/text"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
@@ -26,4 +27,6 @@
     android:minWidth="48dp"
     android:minHeight="48dp"
     android:gravity="center"
-    android:background="@drawable/keyguard_quick_affordance_slot_tab_background" />
+    android:background="@drawable/keyguard_quick_affordance_slot_tab_background"
+    android:text="Placeholder for stable size calculation, please do not remove."
+    tools:ignore="HardcodedText" />
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 70c733b..5144dc7 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Maak <xliff:g id="APPNAME">%1$s</xliff:g> oop"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Om die <xliff:g id="APPNAME">%1$s</xliff:g>-app as ’n kortpad by te voeg, moet jy seker maak dat"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Klaar"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Kortpaaie"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Kortpaaie"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Geen"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index fbf311f..e7e5e12 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"መሰረታዊ ቀለሞች"</string>
     <string name="color_changed" msgid="7029571720331641235">"ቀለም ተቀይሯል"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ተለዋዋጭ"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"የግራ አዝራር"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"የቀኝ አዝራር"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"ምንም"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"ተጨማሪ ውቅረት ያስፈልጋል"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ይክፈቱ"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"የ<xliff:g id="APPNAME">%1$s</xliff:g> መተግበሪያን እንደ አቋራጭ ለማከል የሚከተሉትን ማድረግዎን እርግጠኛ ይሁኑ"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ተከናውኗል"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"አቋራጮች"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"አቋራጮች"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>፣ <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ምንም"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 017a61c..c7750d2 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"الألوان الأساسية"</string>
     <string name="color_changed" msgid="7029571720331641235">"تم تغيير اللون."</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ألوان ديناميكية"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"الزر الأيسر"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"الزر الأيمن"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"بدون أزرار"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"يجب ضبط إعدادات إضافية"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"فتح <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"لإضافة تطبيق \"<xliff:g id="APPNAME">%1$s</xliff:g>\" كاختصار، تأكَّد من"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"تم"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"الاختصارات"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"الاختصارات"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"\"<xliff:g id="FIRST">%1$s</xliff:g>\" و\"<xliff:g id="SECOND">%2$s</xliff:g>\""</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"بدون اختصارات"</string>
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index d8c0adf..17cb28d 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"প্ৰাথমিক ৰং"</string>
     <string name="color_changed" msgid="7029571720331641235">"ৰং সলনি কৰা হৈছে"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ডাইনামিক"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"বাওঁফালৰ বুটাম"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"সোঁফালৰ বুটাম"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"নাই"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"অতিৰিক্ত ছেটআপৰ আৱশ্যক"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> খোলক"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> এপ্‌টোক এটা শ্বৰ্টকাট হিচাপে যোগ দিবলৈ, এইকেইটা কথা নিশ্চিত কৰক"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"কৰা হ’ল"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"শ্বৰ্টকাট"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"শ্বৰ্টকাট"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"নাই"</string>
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index a712a54..791c879 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> linkini açın"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> tətbiqini qısayol kimi əlavə etmək üçün bunları təmin edin:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Hazırdır"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Qısayollar"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Qısayollar"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Heç bir"</string>
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index ef5e61e..26e34ff 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -17,93 +17,89 @@
 
 <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">"Pozadina i stil"</string>
-    <string name="theme_title" msgid="2144932106319405101">"Stil"</string>
-    <string name="clock_title" msgid="1974314575211361352">"Prilagođeni sat"</string>
-    <string name="clock_description" msgid="3563839327378948">"Prilagođeni sat"</string>
-    <string name="clock_picker_entry_content_description" msgid="8377139273468595734">"Promenite prilagođeni sat"</string>
-    <string name="grid_title" msgid="1688173478777254123">"Mreža apl."</string>
-    <string name="apply_theme_btn" msgid="6293081192321303991">"Primeni"</string>
-    <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Dodirnite da biste izmenili"</string>
-    <string name="keep_my_wallpaper" msgid="8012385376769568517">"Zadrži aktuelnu pozadinu"</string>
-    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Pregled stila"</string>
-    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Pregled mreže"</string>
-    <string name="font_preview_content_description" msgid="128230439293337891">"Pregled fonta"</string>
-    <string name="icon_preview_content_description" msgid="7761101284351952890">"Pregled ikone"</string>
-    <string name="color_preview_content_description" msgid="4879120462082058124">"Pregled boje"</string>
-    <string name="shape_preview_content_description" msgid="6479487796176550432">"Pregled oblika"</string>
-    <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, trenutno je primenjeno"</string>
-    <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, trenutno je primenjeno i pregleda se"</string>
-    <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, trenutno se pregleda"</string>
-    <string name="option_change_applied_previewed_description" msgid="9197311327728570816">"<xliff:g id="ID_1">%1$s</xliff:g>, promenite izabranu stavku koja se prikazuje"</string>
-    <string name="theme_description" msgid="3697012391785254635">"Font: <xliff:g id="ID_1">%1$s</xliff:g>, ikone: <xliff:g id="ID_2">%2$s</xliff:g>, oblik: <xliff:g id="ID_3">%3$s</xliff:g>, boja: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"Podrazumevano"</string>
-    <string name="preview_name_font" msgid="4465423899630037038">"Font"</string>
-    <string name="preview_name_icon" msgid="6818927315316316440">"Ikona"</string>
-    <string name="preview_name_color" msgid="8776203144994416172">"Boja"</string>
-    <string name="preview_name_shape" msgid="5676971146080968721">"Oblik"</string>
-    <string name="preview_name_wallpaper" msgid="1738652462949531828">"Pozadina"</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="grid_title" msgid="1688173478777254123">"Мрежа апл."</string>
+    <string name="apply_theme_btn" msgid="6293081192321303991">"Примени"</string>
+    <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Додирните да бисте изменили"</string>
+    <string name="keep_my_wallpaper" msgid="8012385376769568517">"Задржи актуелну позадину"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Преглед стила"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Преглед мреже"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Преглед фонта"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Преглед иконе"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Преглед боје"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Преглед облика"</string>
+    <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, тренутно је примењено"</string>
+    <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, тренутно је примењено и прегледа се"</string>
+    <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, тренутно се прегледа"</string>
+    <string name="option_change_applied_previewed_description" msgid="9197311327728570816">"<xliff:g id="ID_1">%1$s</xliff:g>, промените изабрану ставку која се приказује"</string>
+    <string name="theme_description" msgid="3697012391785254635">"Фонт: <xliff:g id="ID_1">%1$s</xliff:g>, иконе: <xliff:g id="ID_2">%2$s</xliff:g>, облик: <xliff:g id="ID_3">%3$s</xliff:g>, боја: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"Подразумевано"</string>
+    <string name="preview_name_font" msgid="4465423899630037038">"Фонт"</string>
+    <string name="preview_name_icon" msgid="6818927315316316440">"Икона"</string>
+    <string name="preview_name_color" msgid="8776203144994416172">"Боја"</string>
+    <string name="preview_name_shape" msgid="5676971146080968721">"Облик"</string>
+    <string name="preview_name_wallpaper" msgid="1738652462949531828">"Позадина"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"Dodajte omiljene fontove na svaki ekran"</string>
-    <string name="grid_options_title" msgid="7071930966989877023">"Odaberite veličinu mreže"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"Додајте омиљене фонтове на сваки екран"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Одаберите величину мреже"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="3749018706366796244">"Stil je podešen"</string>
-    <string name="applied_clock_msg" msgid="1303338016701443767">"Podešavanje sata je uspelo"</string>
-    <string name="applied_grid_msg" msgid="3250499654436933034">"Mreža je podešena"</string>
-    <string name="apply_theme_error_msg" msgid="791364062636538317">"Došlo je do problema pri primeni stila"</string>
-    <string name="custom_theme_next" msgid="6235420097213197301">"Dalje"</string>
-    <string name="custom_theme_previous" msgid="4941132112640503022">"Prethodno"</string>
-    <string name="custom_theme" msgid="1618351922263478163">"Prilagođeno"</string>
-    <string name="custom_theme_title" msgid="2192300350332693631">"Prilagođeno <xliff:g id="ID_1">%1$d</xliff:g>"</string>
-    <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Prilagođeni stil"</string>
-    <string name="custom_theme_delete" msgid="4744494663184126202">"Izbriši"</string>
-    <string name="font_component_title" msgid="8800340833695292049">"Izaberite font"</string>
-    <string name="icon_component_title" msgid="5779787138399083903">"Izaberite ikone"</string>
-    <string name="color_component_title" msgid="1194089273921078816">"Odaberite boju"</string>
-    <string name="shape_component_title" msgid="8366847436022025538">"Odaberite oblik"</string>
-    <string name="name_component_title" msgid="532425087968663437">"Imenujte stil"</string>
-    <string name="icon_component_label" msgid="2625784884001407944">"Ikone <xliff:g id="ID_1">%1$d</xliff:g>"</string>
-    <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"Želite li da izbrišete prilagođeni stil?"</string>
-    <string name="delete_custom_theme_button" msgid="5102462988130208824">"Izbriši"</string>
-    <string name="cancel" msgid="4651030493668562067">"Otkaži"</string>
-    <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Podesite pozadinu stila"</string>
-    <string name="use_style_instead_title" msgid="1578754995763917502">"Želite li da koristite: <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Odabrane komponente odgovaraju stilu <xliff:g id="ID_1">%1$s</xliff:g>. Želite li da koristite: <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
-    <string name="use_style_button" msgid="1754493078383627019">"Koristi <xliff:g id="ID_1">%1$s</xliff:g>"</string>
-    <string name="no_thanks" msgid="7286616980115687627">"Ne, hvala"</string>
-    <string name="clock_preview_content_description" msgid="5460561185905717460">"Pregled sata <xliff:g id="ID_1">%1$s</xliff:g>"</string>
-    <string name="something_went_wrong" msgid="529840112449799117">"Ups! Došlo je do greške."</string>
-    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Boja/ikone"</string>
-    <string name="style_info_description" msgid="2612473574431003251">"Pregled fonta, ikona, oblika aplikacije i boje"</string>
-    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Prilagođeni font"</string>
-    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Prilagođena ikona"</string>
-    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Prilagođena boja"</string>
-    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Prilagođeni oblik"</string>
-    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Prilagođeni naziv stila"</string>
-    <string name="mode_title" msgid="2394873501427436055">"Tamna tema"</string>
-    <string name="mode_disabled_msg" msgid="9196245518435936512">"Privremeno je onemogućeno zbog uštede baterije"</string>
-    <string name="mode_changed" msgid="2243581369395418584">"Tema je promenjena"</string>
-    <string name="themed_icon_title" msgid="7312460430471956558">"Tematske ikone"</string>
-    <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
-    <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Promenite mrežu aplikacija"</string>
-    <string name="wallpaper_color_tab" msgid="1447926591721403840">"Boje pozadine"</string>
-    <string name="wallpaper_color_title" msgid="5687965239180986458">"Boja pozadine"</string>
-    <string name="preset_color_tab" msgid="3133391839341329314">"Osnovne boje"</string>
-    <string name="color_changed" msgid="7029571720331641235">"Boja je promenjena"</string>
-    <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamički"</string>
-    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Levo dugme"</string>
-    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Desno dugme"</string>
-    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ništa"</string>
-    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Potrebno je dodatno podešavanje"</string>
-    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otvorite: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
-    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Da biste dodali aplikaciju <xliff:g id="APPNAME">%1$s</xliff:g> kao prečicu, uverite se"</string>
-    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gotovo"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Стил је подешен"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Подешавање сата је успело"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Мрежа је подешена"</string>
+    <string name="apply_theme_error_msg" msgid="791364062636538317">"Дошло је до проблема при примени стила"</string>
+    <string name="custom_theme_next" msgid="6235420097213197301">"Даље"</string>
+    <string name="custom_theme_previous" msgid="4941132112640503022">"Претходно"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Прилагођено"</string>
+    <string name="custom_theme_title" msgid="2192300350332693631">"Прилагођено <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Прилагођени стил"</string>
+    <string name="custom_theme_delete" msgid="4744494663184126202">"Избриши"</string>
+    <string name="font_component_title" msgid="8800340833695292049">"Изаберите фонт"</string>
+    <string name="icon_component_title" msgid="5779787138399083903">"Изаберите иконе"</string>
+    <string name="color_component_title" msgid="1194089273921078816">"Одаберите боју"</string>
+    <string name="shape_component_title" msgid="8366847436022025538">"Одаберите облик"</string>
+    <string name="name_component_title" msgid="532425087968663437">"Именујте стил"</string>
+    <string name="icon_component_label" msgid="2625784884001407944">"Иконе <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"Желите ли да избришете прилагођени стил?"</string>
+    <string name="delete_custom_theme_button" msgid="5102462988130208824">"Избриши"</string>
+    <string name="cancel" msgid="4651030493668562067">"Откажи"</string>
+    <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Подесите позадину стила"</string>
+    <string name="use_style_instead_title" msgid="1578754995763917502">"Желите ли да користите: <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"Одабране компоненте одговарају стилу <xliff:g id="ID_1">%1$s</xliff:g>. Желите ли да користите: <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
+    <string name="use_style_button" msgid="1754493078383627019">"Користи <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="no_thanks" msgid="7286616980115687627">"Не, хвала"</string>
+    <string name="clock_preview_content_description" msgid="5460561185905717460">"Преглед сата <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="something_went_wrong" msgid="529840112449799117">"Упс! Дошло је до грешке."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Боја/иконе"</string>
+    <string name="style_info_description" msgid="2612473574431003251">"Преглед фонта, икона, облика апликације и боје"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Прилагођени фонт"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Прилагођена икона"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Прилагођена боја"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Прилагођени облик"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Прилагођени назив стила"</string>
+    <string name="mode_title" msgid="2394873501427436055">"Тамна тема"</string>
+    <string name="mode_disabled_msg" msgid="9196245518435936512">"Привремено је онемогућено због уштеде батерије"</string>
+    <string name="mode_changed" msgid="2243581369395418584">"Тема је промењена"</string>
+    <string name="themed_icon_title" msgid="7312460430471956558">"Тематске иконе"</string>
+    <string name="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_title" msgid="5687965239180986458">"Боја позадине"</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="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Лево дугме"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Десно дугме"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ништа"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Потребно је додатно подешавање"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Отворите: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Да бисте додали апликацију <xliff:g id="APPNAME">%1$s</xliff:g> као пречицу, уверите се"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Готово"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Пречице"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Пречице"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ништа"</string>
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 089824a..d223bfb 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Асноўныя колеры"</string>
     <string name="color_changed" msgid="7029571720331641235">"Колер зменены"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Дынамічны"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Левая кнопка"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Правая кнопка"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Няма"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Патрабуецца дадатковае наладжванне"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Адкрыць \"<xliff:g id="APPNAME">%1$s</xliff:g>\""</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Каб дадаць ярлык для праграмы \"<xliff:g id="APPNAME">%1$s</xliff:g>\", патрабуюцца наступныя ўмовы:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Гатова"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Ярлыкі"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Ярлыкі"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Няма"</string>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 58feec1..1c6dbac 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Отваряне на <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"За да добавите пряк път към приложението <xliff:g id="APPNAME">%1$s</xliff:g>, трябва да се уверите в следното:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Готово"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Преки пътища"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Преки пътища"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Няма"</string>
 </resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index c7447fa..0059504 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"প্রাথমিক রঙ"</string>
     <string name="color_changed" msgid="7029571720331641235">"রঙ পরিবর্তন করা হয়েছে"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ডায়নামিক"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"বাঁদিকের বোতাম"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"ডানদিকের বোতাম"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"কোনওটিই নয়"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"অতিরিক্ত সেট-আপ করতে হবে"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> খুলুন"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"শর্টকাট হিসেবে <xliff:g id="APPNAME">%1$s</xliff:g> অ্যাপ যোগ করতে, এইসব বিষয় নিশ্চিত করতে হবে"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"হয়ে গেছে"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"শর্টকাট"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"শর্টকাট"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"কোনও শর্টকাট নেই"</string>
 </resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 23ac2de..d1dae4e 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otvori aplikaciju <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Da dodate aplikaciju <xliff:g id="APPNAME">%1$s</xliff:g> kao prečicu, pobrinite se za sljedeće"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gotovo"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Prečice"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Prečice"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ništa"</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 4953cad..81d1807 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Colors bàsics"</string>
     <string name="color_changed" msgid="7029571720331641235">"S\'ha canviat el color"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinàmic"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Botó esquerre"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Botó dret"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Cap"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Configuració addicional necessària"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Obre <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Per afegir l\'aplicació <xliff:g id="APPNAME">%1$s</xliff:g> com a drecera, assegura\'t que:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Fet"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Dreceres"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Dreceres"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Cap"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 62cebf5..824ef8b 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Základní barvy"</string>
     <string name="color_changed" msgid="7029571720331641235">"Barva byla změněna"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dynamické"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Levé tlačítko"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Pravé tlačítko"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Žádné"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Je potřeba další nastavení"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otevřít aplikaci <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Podmínky pro to, aby aplikaci <xliff:g id="APPNAME">%1$s</xliff:g> bylo možné přidat jako zkratku:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Hotovo"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Zástupci"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Zástupci"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Žádné"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 591a8e3..32ddf84 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Standardfarver"</string>
     <string name="color_changed" msgid="7029571720331641235">"Farven er ændret"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dynamisk"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Venstre knap"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Højre knap"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ingen"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Der kræves yderligere konfiguration"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Åbn <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Før du tilføjer <xliff:g id="APPNAME">%1$s</xliff:g>-appen som en genvej, skal du sørge for følgende:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Udfør"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Genveje"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Genveje"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ingen"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index ec4fc53..b2a4b45 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Standardfarben"</string>
     <string name="color_changed" msgid="7029571720331641235">"Farbe geändert"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dynamisch"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Linke Taste"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Rechte Taste"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Keine"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Zusätzliche Einrichtung erforderlich"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> öffnen"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Wenn du die <xliff:g id="APPNAME">%1$s</xliff:g> App als eine Verknüpfung hinzufügen möchtest, müssen folgende Bedingungen erfüllt sein"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Fertig"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Verknüpfungen"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Verknüpfungen"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Keine"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index c55dc78..ae67feb 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Βασικά χρώματα"</string>
     <string name="color_changed" msgid="7029571720331641235">"Το χρώμα άλλαξε"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Δυναμική"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Κουμπί αριστερά"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Κουμπί δεξιά"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Καμία"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Χρειάζεται πρόσθετη ρύθμιση"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Άνοιγμα <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Για να προσθέσετε την εφαρμογή <xliff:g id="APPNAME">%1$s</xliff:g> ως συντόμευση, βεβαιωθείτε ότι"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Τέλος"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Συντομεύσεις"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Συντομεύσεις"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Καμία"</string>
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index b966487..d04059a 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Open <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"To add the <xliff:g id="APPNAME">%1$s</xliff:g> app as a shortcut, make sure"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Done"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Shortcuts"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Shortcuts"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"None"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index b966487..d04059a 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Open <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"To add the <xliff:g id="APPNAME">%1$s</xliff:g> app as a shortcut, make sure"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Done"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Shortcuts"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Shortcuts"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"None"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index b966487..d04059a 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Open <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"To add the <xliff:g id="APPNAME">%1$s</xliff:g> app as a shortcut, make sure"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Done"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Shortcuts"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Shortcuts"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"None"</string>
 </resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index b37861f..24e213d 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‎‎‏‏‏‏‏‏‎‎Open ‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‏‎‏‎‎‎‎‏‎‎To add the ‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ app as a shortcut, make sure‎‏‎‎‏‎"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‎‏‏‎‎‎Done‎‏‎‎‏‎"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎‎‏‏‎‎‎‎‎‎‎‎‎‎‏‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‎‏‎‎‎‎‎‎Shortcuts‎‏‎‎‏‎"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎Shortcuts‎‏‎‎‏‎"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎<xliff:g id="FIRST">%1$s</xliff:g>‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎<xliff:g id="SECOND">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‎‎‎‏‏‎None‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 0c46b39..d465416 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para agregar la app <xliff:g id="APPNAME">%1$s</xliff:g> como acceso directo, asegúrate que se cumplan los siguientes requisitos:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Listo"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Comb. de teclas"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Comb. de teclas"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ninguno"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 07356e0..4cfe671 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Colores básicos"</string>
     <string name="color_changed" msgid="7029571720331641235">"Color cambiado"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinámico"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Botón izquierdo"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Botón derecho"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ninguno"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Se necesitan ajustes adicionales"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para añadir la aplicación <xliff:g id="APPNAME">%1$s</xliff:g> como acceso directo:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Hecho"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Accesos directos"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Accesos directos"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ninguno"</string>
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 45451d9..cb8569e 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Põhivärvid"</string>
     <string name="color_changed" msgid="7029571720331641235">"Värvi muudeti"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dünaamiline"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Vasak nupp"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Parem nupp"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Puudub"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Vajalik on täiendav seadistus"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Ava <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Rakenduse <xliff:g id="APPNAME">%1$s</xliff:g> otsetee lisamiseks veenduge järgmises."</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Valmis"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Otseteed"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Otseteed"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Pole"</string>
 </resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index c7e1948..163f56a 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Ireki <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> aplikazioa lasterbide gisa gehitzeko, ziurtatu hauek betetzen direla:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Eginda"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Lasterbideak"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Lasterbideak"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g> eta <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Bat ere ez"</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 883dff1..341f7cc 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"رنگ‌های اصلی"</string>
     <string name="color_changed" msgid="7029571720331641235">"رنگ تغییر کرد"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"پویا"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"دکمه چپ"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"دکمه راست"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"هیچ‌کدام"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"راه‌اندازی اضافه‌ای نیاز است"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"باز کردن <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"برای افزودن برنامه <xliff:g id="APPNAME">%1$s</xliff:g> به‌عنوان میان‌بر، مطمئن شوید"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"تمام"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"میان‌برها"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"میان‌برها"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>، <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"هیچ‌کدام"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index ea4336f..8347bad 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Perusvärit"</string>
     <string name="color_changed" msgid="7029571720331641235">"Väri vaihdettu"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dynaaminen"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Vasen painike"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Oikea painike"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"–"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Käyttöönotto edellyttää lisävaiheita"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Avaa <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Jos haluat, että <xliff:g id="APPNAME">%1$s</xliff:g> lisätään pikakuvakkeeksi, varmista nämä:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Valmis"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Pikakomennot"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Pikakomennot"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"–"</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 064dc02..95965b1 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Ouvrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Pour ajouter l\'application <xliff:g id="APPNAME">%1$s</xliff:g> en tant que raccourci, assurez-vous"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"OK"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Raccourcis"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Raccourcis"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Aucun"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index c7d80b4..b8acbea 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Couleurs de base"</string>
     <string name="color_changed" msgid="7029571720331641235">"Couleur modifiée"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dynamique"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Bouton gauche"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Bouton droit"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Aucun"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Configuration supplémentaire nécessaire"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Ouvrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Pour ajouter l\'appli <xliff:g id="APPNAME">%1$s</xliff:g> comme raccourci, procédez aux vérifications suivantes"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"OK"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Raccourcis"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Raccourcis"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Aucun"</string>
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 0533eca..23369be 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Cores básicas"</string>
     <string name="color_changed" msgid="7029571720331641235">"Cor modificada"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinámica"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Botón esquerdo"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Botón dereito"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ningunha"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"É preciso facer axustes adicionais"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para engadir a aplicación <xliff:g id="APPNAME">%1$s</xliff:g> como atallo, asegúrate de que se cumpra o seguinte:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Feito"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Atallos"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Atallos"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ningún"</string>
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 48b7690..a03f093 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"મૂળભૂત રંગો"</string>
     <string name="color_changed" msgid="7029571720331641235">"રંગ બદલ્યો છે"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ડાઇનૅમિક"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"ડાબી બાજુનું બટન"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"જમણી બાજુનું બટન"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"એકપણ નહીં"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"વધારાનું સેટઅપ જરૂરી છે"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ખોલો"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ઍપને શૉર્ટકટ તરીકે ઉમેરવા માટે, આ બાબતોની ખાતરી કરો"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"થઈ ગયું"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"શૉર્ટકટ"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"શૉર્ટકટ"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"એકપણ નહીં"</string>
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 21606c4..3448954 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"सामान्य रंग"</string>
     <string name="color_changed" msgid="7029571720331641235">"रंग बदल दिया गया है"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"डाइनैमिक"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"बायां बटन"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"दायां बटन"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"कोई नहीं"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"अलग से सेटअप करने की ज़रूरत है"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> खोलें"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ऐप्लिकेशन को शॉर्टकट के तौर पर जोड़ने के लिए, इन बातों का ध्यान रखें"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"हो गया"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"शॉर्टकट"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"शॉर्टकट"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"कोई नहीं"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 33a64fe..8e76df2 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otvori <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Da biste aplikaciju <xliff:g id="APPNAME">%1$s</xliff:g> dodali kao prečac, učinite sljedeće"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gotovo"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Prečaci"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Prečaci"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ništa"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 1dfc070..acad8aa 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"A(z) <xliff:g id="APPNAME">%1$s</xliff:g> megnyitása"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Ha szeretné felvenni a(z) <xliff:g id="APPNAME">%1$s</xliff:g> alkalmazást parancsikonként, gondoskodjon a következőkről:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Kész"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Gyorsparancsok"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Gyorsparancsok"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nincs"</string>
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index c20f76c..a627df8 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Հիմնական գույներ"</string>
     <string name="color_changed" msgid="7029571720331641235">"Գույնը փոխվեց"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Դինամիկ"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"«Ձախ» կոճակ"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"«Աջ» կոճակ"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ոչ մեկը"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Պահանջվում է լրացուցիչ կարգավորում"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Բացել <xliff:g id="APPNAME">%1$s</xliff:g> հավելվածը"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> հավելվածի դյուրանցումն ավելացնելու համար համոզվեք, որ՝"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Պատրաստ է"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Դյուրանցումներ"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Դյուրանցումներ"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ընտրված չէ"</string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 0cf7bec..ba6ed0c 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Buka <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Untuk menambahkan aplikasi <xliff:g id="APPNAME">%1$s</xliff:g> sebagai pintasan, pastikan"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Selesai"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Pintasan"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Pintasan"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Tidak ada"</string>
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index d9a731c..2dba024 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Grunnlitir"</string>
     <string name="color_changed" msgid="7029571720331641235">"Lit breytt"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Breytilegt"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Vinstri hnappur"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Hægri hnappur"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ekkert"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Þörf á viðbótaruppsetningu"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Opna <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Til að bæta forritinu <xliff:g id="APPNAME">%1$s</xliff:g> við sem flýtileið skaltu ganga úr skugga um að"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Lokið"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Flýtileiðir"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Flýtileiðir"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ekkert"</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index dcc2281..4dc54c2 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Apri <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Per aggiungere l\'app <xliff:g id="APPNAME">%1$s</xliff:g> come scorciatoia, assicurati che:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Fine"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Scorciatoie"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Scorciatoie"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nessun elemento"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 478332b..1aa6c2c 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"פתיחת <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"כדי להוסיף את האפליקציה <xliff:g id="APPNAME">%1$s</xliff:g> כקיצור דרך, צריך לוודא"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"סיום"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"קיצורי דרך"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"קיצורי דרך"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ללא"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 85b1967..ace60d0 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> を開きます。"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> アプリをショートカットとして追加するための手順"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"完了"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"ショートカット"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ショートカット"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>、<xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"なし"</string>
 </resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 4323b02..eb6729b 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"ძირითადი ფერები"</string>
     <string name="color_changed" msgid="7029571720331641235">"ფერი შეიცვალა"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"დინამიკური"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"მარცხენა ღილაკი"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"მარჯვენა ღილაკი"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"არცერთი"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"საჭიროა დამატებითი დაყენება"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g>-ის გახსნა"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> აპი რომ მალსახმობის სახით დაამატოთ, დარწმუნდით, რომ"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"მზადაა"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"მალსახმობები"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"მალსახმობები"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"არცერთი"</string>
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 67ac884..e39fad3 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Негізгі түстер"</string>
     <string name="color_changed" msgid="7029571720331641235">"Түс өзгертілді."</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Динамикалық"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Сол жақ түйме"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Оң жақ түйме"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Жоқ"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Қосымша реттеу қажет"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> қолданбасын ашу"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> қолданбасын таңбаша ретінде қосу үшін келесі әрекеттерді орындауды ұмытпаңыз:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Дайын"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Жылдам пәрмендер"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Жылдам пәрмендер"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ешқандай"</string>
 </resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 87c119e..7b0f0d9 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"ពណ៌​លំនាំដើម"</string>
     <string name="color_changed" msgid="7029571720331641235">"បាន​ផ្លាស់ប្ដូរ​ពណ៌"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ឌីណាមិក"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"ប៊ូតុងឆ្វេង"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"ប៊ូតុងស្ដាំ"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"គ្មាន"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"ចាំបាច់ត្រូវរៀបចំបន្ថែម"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"បើក <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"ដើម្បីបញ្ចូលកម្មវិធី <xliff:g id="APPNAME">%1$s</xliff:g> ជាផ្លូវកាត់ សូមប្រាកដថា"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"រួចរាល់"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"ផ្លូវកាត់"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ផ្លូវកាត់"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"គ្មាន"</string>
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index fd43a2d..e04ab28 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ಅನ್ನು ತೆರೆಯಿರಿ"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ಆ್ಯಪ್ ಅನ್ನು ಶಾರ್ಟ್‌ಕಟ್ ಆಗಿ ಸೇರಿಸಲು ಕೆಳಗಿನವುಗಳನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ಮುಗಿದಿದೆ"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"ಶಾರ್ಟ್‌ಕಟ್‌ಗಳು"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ಶಾರ್ಟ್‌ಕಟ್‌ಗಳು"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ಯಾವುದೂ ಅಲ್ಲ"</string>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 07abc6e..304fc99 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"기본 색상"</string>
     <string name="color_changed" msgid="7029571720331641235">"색상 변경됨"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"동적"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"왼쪽 버튼"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"오른쪽 버튼"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"없음"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"추가 설정 필요"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> 열기"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> 앱을 바로가기로 추가하려면 다음을 확인하세요."</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"완료"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"단축키"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"단축키"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"없음"</string>
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 7e8327d..aca5694 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Негизги түстөр"</string>
     <string name="color_changed" msgid="7029571720331641235">"Түс өзгөртүлдү"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Динамикалык"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Сол баскыч"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Оң баскыч"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Жок"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Кошумча тууралоо керек"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ачуу"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> колдонмосун ыкчам баскыч катары кошуу үчүн төмөнкүлөрдү аткарыңыз:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Бүттү"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Ыкчам баскычтар"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Ыкчам баскычтар"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Жок"</string>
 </resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 3885cab..8a9cdb2 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"ສີພື້ນຖານ"</string>
     <string name="color_changed" msgid="7029571720331641235">"ປ່ຽນສີແລ້ວ"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ໄດນາມິກ"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"ປຸ່ມຊ້າຍ"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"ປຸ່ມຂວາ"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"ບໍ່ມີ"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"ຕ້ອງຕັ້ງຄ່າເພີ່ມເຕີມ"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"ເປີດ <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"ເພື່ອເພີ່ມແອັບ <xliff:g id="APPNAME">%1$s</xliff:g> ເປັນທາງລັດ, ກະລຸນາກວດສອບໃຫ້ແນ່ໃຈວ່າ"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ແລ້ວໆ"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"ທາງລັດ"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ທາງລັດ"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ບໍ່ມີ"</string>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 3e0b45d..e4542e2 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Atidaryti „<xliff:g id="APPNAME">%1$s</xliff:g>“"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Jei norite pridėti programą „<xliff:g id="APPNAME">%1$s</xliff:g>“ kaip šaukinį, įsitikinkite, kad atitinkate reikalavimus."</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Atlikta"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Šaukiniai"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Šaukiniai"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nėra"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 92c2403..be7c320 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Pamatkrāsas"</string>
     <string name="color_changed" msgid="7029571720331641235">"Krāsa mainīta"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamiska"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Kreisā poga"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Labā poga"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Nav"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Jāveic papildu iestatīšana"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Atvērt lietotni <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Lai pievienotu lietotni <xliff:g id="APPNAME">%1$s</xliff:g> kā saīsni, jābūt izpildītiem tālāk minētajiem nosacījumiem."</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gatavs"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Saīsnes"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Saīsnes"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nav"</string>
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index a59c713..812dd4d 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Отворете ја <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"За да ја додадете апликацијата <xliff:g id="APPNAME">%1$s</xliff:g> како кратенка, треба да бидат исполнети следниве услови"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Готово"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Кратенки"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Кратенки"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Нема"</string>
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index b758e6a..8a57b86 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> തുറക്കുക"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"കുറുക്കുവഴിയായി <xliff:g id="APPNAME">%1$s</xliff:g> ആപ്പ് ചേർക്കാൻ, ഇനിപ്പറയുന്ന കാര്യങ്ങൾ ഉറപ്പാക്കുക"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"പൂർത്തിയായി"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"കുറുക്കുവഴികൾ"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"കുറുക്കുവഴികൾ"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ഒന്നുമില്ല"</string>
 </resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index a36cee8..1ee0c91 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g>-г нээх"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> аппыг товчлолоор нэмэхийн тулд дараахыг баталгаажуулна уу"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Болсон"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Товчлол"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Товчлол"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Байхгүй"</string>
 </resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index fffe7ed..fcf5639 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"डीफॉल्ट रंग"</string>
     <string name="color_changed" msgid="7029571720331641235">"रंग बदलला आहे"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"सतत बदलणारे"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"डावीकडील बटण"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"उजवीकडील बटण"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"काहीही नाही"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"अतिरिक्त सेटअप आवश्यक आहे"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> उघडा"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> हे अ‍ॅप शॉर्टकट म्हणून जोडण्यासाठी, पुढील गोष्टींची खात्री करा"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"पूर्ण झाले"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"शॉर्टकट"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"शॉर्टकट"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"काहीही नाही"</string>
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 2eed720..e83e617 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Warna asas"</string>
     <string name="color_changed" msgid="7029571720331641235">"Warna ditukar"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamik"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Butang kiri"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Butang kanan"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Tiada"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Persediaan tambahan diperlukan"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Buka <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Untuk menambahkan apl <xliff:g id="APPNAME">%1$s</xliff:g> sebagai pintasan, pastikan"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Selesai"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Pintasan"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Pintasan"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Tiada"</string>
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 8f489b5..0b9fe4f 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"အခြေခံအရောင်များ"</string>
     <string name="color_changed" msgid="7029571720331641235">"အရောင် ပြောင်းလိုက်ပါပြီ"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ပြောင်းနိုင်သော"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"ဘယ်ခလုတ်"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"ညာခလုတ်"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"မရှိ"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"နောက်ထပ်စနစ်ထည့်သွင်းမှု လိုအပ်သည်"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ဖွင့်ရန်"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> အက်ပ်ကို ဖြတ်လမ်းလင့်ခ်အဖြစ် ထည့်ရန် အောက်ပါတို့နှင့်ကိုက်ညီရမည်"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ပြီးပြီ"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"ဖြတ်လမ်းလင့်ခ်"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ဖြတ်လမ်းလင့်ခ်"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>၊ <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"မရှိ"</string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index ccb8ba6..9f5fb59 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Grunnleggende farger"</string>
     <string name="color_changed" msgid="7029571720331641235">"Fargen er endret"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dynamisk"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Venstreknapp"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Høyreknapp"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Ingen"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Det er nødvendig med mer konfigurering"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Åpne <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"For å legge til <xliff:g id="APPNAME">%1$s</xliff:g>-appen som en snarvei må du sørge for at"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Ferdig"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Snarveier"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Snarveier"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ingen"</string>
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 6063ae8..aff2143 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"आधारभूत रङहरू"</string>
     <string name="color_changed" msgid="7029571720331641235">"रङ बदलियो"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"गतिशील"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"बायाँतिरको बटन"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"दायाँतिरको बटन"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"कुनै पनि होइन"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"अतिरिक्त सेटअप गर्नु पर्ने हुन्छ"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> खोल्नुहोस्"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> एपलाई सर्टकटका रूपमा हाल्न, निम्न कुरा सुनिश्चित गर्नुहोस्:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"पूरा भयो"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"सर्टकटहरू"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"सर्टकटहरू"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"कुनै पनि होइन"</string>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 144a7bf..8a458c5 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> openen"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Zorg voor het volgende om de <xliff:g id="APPNAME">%1$s</xliff:g>-app toe te voegen als snelkoppeling:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Klaar"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Snelkoppelingen"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Snelkoppelingen"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Geen"</string>
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 58ff7c2..4fa64e1 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ଖୋଲନ୍ତୁ"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"ଏକ ସର୍ଟକଟ ଭାବେ <xliff:g id="APPNAME">%1$s</xliff:g> ଆପ ଯୋଗ କରିବାକୁ, ଏହା ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ହୋଇଗଲା"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"ସର୍ଟକଟଗୁଡ଼ିକ"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ସର୍ଟକଟଗୁଡ଼ିକ"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"କିଛି ନାହିଁ"</string>
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index ea87a60..c07470b 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ਖੋਲ੍ਹੋ"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ਐਪ ਨੂੰ ਸ਼ਾਰਟਕੱਟ ਵਜੋਂ ਸ਼ਾਮਲ ਕਰਨ ਲਈ, ਪੱਕਾ ਕਰੋ ਕਿ"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ਹੋ ਗਿਆ"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"ਸ਼ਾਰਟਕੱਟ"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ਸ਼ਾਰਟਕੱਟ"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ਕੋਈ ਨਹੀਂ"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 50f868f..29f6e12 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otwórz: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Aby dodać aplikację <xliff:g id="APPNAME">%1$s</xliff:g> jako skrót, upewnij się, że spełnione zostały te warunki:"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gotowe"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Skróty"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Skróty"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Brak"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index cc6a0e6..4ffe2eb 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para adicionar a app <xliff:g id="APPNAME">%1$s</xliff:g> como um atalho, garanta"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Concluído"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Atalhos"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Atalhos"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nenhum"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index cf17597..a793fa5 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para adicionar o app <xliff:g id="APPNAME">%1$s</xliff:g> como um atalho, confira se"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Concluído"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Atalhos"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Atalhos"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Nenhum"</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index f3a3ddc..58038dd 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Deschide <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Pentru a adăuga aplicația <xliff:g id="APPNAME">%1$s</xliff:g> drept comandă rapidă, asigură-te"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Gata"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Comenzi rapide"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Comenzi rapide"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Niciunul"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index c1fe722..b734b39 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Основные цвета"</string>
     <string name="color_changed" msgid="7029571720331641235">"Цвет изменен"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Динамически"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Левая кнопка"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Правая кнопка"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Нет"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Требуется дополнительная настройка"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Открыть: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Для добавления ярлыка приложения \"<xliff:g id="APPNAME">%1$s</xliff:g>\" должны выполняться следующие условия:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ОК"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Быстрые действия"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Быстрые действия"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Нет"</string>
 </resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 3e57759..60d243f 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"මූලික වර්ණ"</string>
     <string name="color_changed" msgid="7029571720331641235">"වර්ණය වෙනස් විය"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ගතික"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"වම් බොත්තම"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"දකුණු බොත්තම"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"කිසිත් නැත"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"අතිරේක පිහිටුවීම අවශ්‍යයි"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> විවෘත කරන්න"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"කෙටිමඟක් ලෙස <xliff:g id="APPNAME">%1$s</xliff:g> එක් කිරීමට, තහවුරු කර ගන්න"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"නිමයි"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"කෙටිමං"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"කෙටිමං"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"කිසිවක් නැත"</string>
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 7ad74ff..c9ee735 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Otvoriť <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Ak chcete aplikáciu <xliff:g id="APPNAME">%1$s</xliff:g> pridať ako odkaz, uistite sa, že"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Hotovo"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Skratky"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Skratky"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Žiadne"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 78328b4..7896b0a 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Osnovne barve"</string>
     <string name="color_changed" msgid="7029571720331641235">"Barva je spremenjena."</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamično"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Levi gumb"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Desni gumb"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Brez"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Potrebna je dodatna nastavitev"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Odpri <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Če želite aplikacijo <xliff:g id="APPNAME">%1$s</xliff:g> dodati kot bližnjico, zagotovite naslednje:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Končano"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Bližnjice"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Bližnjice"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Brez"</string>
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 69f554e..a44d210 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Ngjyra bazë"</string>
     <string name="color_changed" msgid="7029571720331641235">"Ngjyra ka ndryshuar"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamike"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Butoni i majtë"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Butoni i djathtë"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Asnjë"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Nevojitet konfigurimi shtesë"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Hap \"<xliff:g id="APPNAME">%1$s</xliff:g>\""</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Për të shtuar aplikacionin \"<xliff:g id="APPNAME">%1$s</xliff:g>\" si një shkurtore, sigurohu që"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"U krye"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Shkurtoret"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Shkurtoret"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Asnjë"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index bcbb310..26e34ff 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Отворите: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Да бисте додали апликацију <xliff:g id="APPNAME">%1$s</xliff:g> као пречицу, уверите се"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Готово"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Пречице"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Пречице"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Ништа"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index a4ab931..258e6fb 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Öppna <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Om du vill lägga till <xliff:g id="APPNAME">%1$s</xliff:g>-appen som en genväg ser du till att"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Klar"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Genvägar"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Genvägar"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Inga"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 95cd39c..84946eb 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -83,7 +83,7 @@
     <string name="mode_title" msgid="2394873501427436055">"Mandhari meusi"</string>
     <string name="mode_disabled_msg" msgid="9196245518435936512">"Imezimwa kwa muda kwa sababu ya Kiokoa Betri"</string>
     <string name="mode_changed" msgid="2243581369395418584">"Mandhari yamebadilishwa"</string>
-    <string name="themed_icon_title" msgid="7312460430471956558">"Aikoni za kujifanyia"</string>
+    <string name="themed_icon_title" msgid="7312460430471956558">"Aikoni zenye mitindo"</string>
     <string name="beta_title" msgid="8703819523760746458">"Beta"</string>
     <string name="gird_picker_entry_content_description" msgid="9087651470212293439">"Badilisha gridi ya programu"</string>
     <string name="wallpaper_color_tab" msgid="1447926591721403840">"Rangi za mandhari"</string>
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Rangi za msingi"</string>
     <string name="color_changed" msgid="7029571720331641235">"Rangi imebadilishwa"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Inayobadilika"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Kitufe cha kushoto"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Kitufe cha kulia"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Hamna"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Mipangilio ya ziada inahitajika"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Fungua <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Ili kuweka programu ya <xliff:g id="APPNAME">%1$s</xliff:g> kuwa njia ya mkato, hakikisha"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Nimemaliza"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Njia za mkato"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Njia za mkato"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Hamna"</string>
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 6a0364a..ecd4d0f 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"அடிப்படை வண்ணங்கள்"</string>
     <string name="color_changed" msgid="7029571720331641235">"வண்ணம் மாற்றப்பட்டது"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"டைனமிக்"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"இடது பட்டன்"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"வலது பட்டன்"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"ஏதுமில்லை"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"கூடுதல் அமைவு தேவை"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> ஐத் திறக்கும்"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ஆப்ஸை ஷார்ட்கட்டாகச் சேர்க்க இவற்றைப் பின்பற்றுவதை உறுதிசெய்துகொள்ளவும்:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"சரி"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"ஷார்ட்கட்கள்"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ஷார்ட்கட்கள்"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ஏதுமில்லை"</string>
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 314961a..d9f5a41 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -56,7 +56,7 @@
     <string name="custom_theme" msgid="1618351922263478163">"అనుకూలం"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"అనుకూల <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"అనుకూల శైలి"</string>
-    <string name="custom_theme_delete" msgid="4744494663184126202">"తొలగించు"</string>
+    <string name="custom_theme_delete" msgid="4744494663184126202">"తొలగించండి"</string>
     <string name="font_component_title" msgid="8800340833695292049">"ఫాంట్‌ను ఎంచుకోండి"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"చిహ్నాలను ఎంచుకోండి"</string>
     <string name="color_component_title" msgid="1194089273921078816">"రంగును ఎంచుకోండి"</string>
@@ -64,8 +64,8 @@
     <string name="name_component_title" msgid="532425087968663437">"మీ శైలికి పేరు పెట్టండి"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"<xliff:g id="ID_1">%1$d</xliff:g> చిహ్నాలు"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"అనుకూల శైలిని తొలగించాలా?"</string>
-    <string name="delete_custom_theme_button" msgid="5102462988130208824">"తొలగించు"</string>
-    <string name="cancel" msgid="4651030493668562067">"రద్దు చేయి"</string>
+    <string name="delete_custom_theme_button" msgid="5102462988130208824">"తొలగించండి"</string>
+    <string name="cancel" msgid="4651030493668562067">"రద్దు చేయండి"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"వాల్‌పేపర్ శైలిని సెట్ చేయండి"</string>
     <string name="use_style_instead_title" msgid="1578754995763917502">"బదులుగా <xliff:g id="ID_1">%1$s</xliff:g>ని ఉపయోగించాలా?"</string>
     <string name="use_style_instead_body" msgid="3051937045807471496">"మీరు ఎంచుకున్న భాగాలు <xliff:g id="ID_1">%1$s</xliff:g> శైలికి సరిపోతాయి. బదులుగా మీరు <xliff:g id="ID_2">%1$s</xliff:g>ని ఉపయోగించాలనుకుంటున్నారా?"</string>
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g>ను తెరవండి"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> యాప్‌ను షార్ట్‌కట్‌గా జోడించడానికి, వీటిని నిర్ధారించుకోండి"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"పూర్తయింది"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"షార్ట్‌కట్‌లు"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"షార్ట్‌కట్‌లు"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ఏదీ ఎంచుకోలేదు"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index bc7a0e4..3371e67 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"เปิด <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"หากต้องการเพิ่มแอป <xliff:g id="APPNAME">%1$s</xliff:g> เป็นทางลัด โปรดตรวจสอบดังต่อไปนี้"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"เสร็จสิ้น"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"ทางลัด"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"ทางลัด"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"ไม่มี"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 8143299..b16d210 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Buksan ang <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Para idagdag ang <xliff:g id="APPNAME">%1$s</xliff:g> app bilang shortcut, tiyaking"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Tapos na"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Mga Shortcut"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Mga Shortcut"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Wala"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index edd8b34..2d765f5 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Temel renkler"</string>
     <string name="color_changed" msgid="7029571720331641235">"Renk değişti"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamik"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Sol düğmesi"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Sağ düğmesi"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Yok"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Ek kurulum gerekiyor"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> uygulamasını aç"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> uygulamasını kısayol olarak ekleyebilmeniz için gerekenler"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Bitti"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Kısayollar"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Kısayollar"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Yok"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index b1dd989..e2a0f70 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Основні кольори"</string>
     <string name="color_changed" msgid="7029571720331641235">"Колір змінено"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Динамічний"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Ліва кнопка"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Права кнопка"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Немає"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Потрібне додаткове налаштування"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Відкрити <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Щоб додати можливість швидкого ввімкнення додатка <xliff:g id="APPNAME">%1$s</xliff:g>, переконайтеся, що виконано вимоги нижче."</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Готово"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Ярлики"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Ярлики"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Немає"</string>
 </resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 18e3ddd..52b1822 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"بنیادی رنگ"</string>
     <string name="color_changed" msgid="7029571720331641235">"رنگ کو تبدیل کر دیا گیا"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"ڈائنیمک"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"دایاں بٹن"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"بایاں بٹن"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"کوئی نہیں"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"اضافی سیٹ اپ درکار ہے"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"<xliff:g id="APPNAME">%1$s</xliff:g> کھولیں"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ایپ کو شارٹ کٹ کے طور پر شامل کرنے کے لیے درج ذیل کو یقینی بنائیں"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"ہو گیا"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"شارٹ کٹس"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"شارٹ کٹس"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>، <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"کوئی نہیں"</string>
 </resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 1741092..82c67ba 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Asosiy ranglar"</string>
     <string name="color_changed" msgid="7029571720331641235">"Rang oʻzgartirildi"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Dinamik"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Chap tugma"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Oʻng tugma"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Hech biri"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Qoʻshimcha sozlash kerak"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Ochish: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"<xliff:g id="APPNAME">%1$s</xliff:g> ilovasini yorliq sifatida qoʻshish uchun"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Tayyor"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Tezkor tugmalar"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Tezkor tugmalar"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Hech qanday"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 4ba07e6..308cb6b 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -98,12 +98,8 @@
     <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Mở <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
     <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Để tạo lối tắt cho ứng dụng <xliff:g id="APPNAME">%1$s</xliff:g>, hãy đảm bảo"</string>
     <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Xong"</string>
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Lối tắt"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Lối tắt"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Không có"</string>
 </resources>
diff --git a/res/values-w600dp-port/dimens.xml b/res/values-w600dp-port/dimens.xml
index ba92746..62a9946 100644
--- a/res/values-w600dp-port/dimens.xml
+++ b/res/values-w600dp-port/dimens.xml
@@ -17,8 +17,9 @@
 <resources>
     <!-- Dimensions for the customization option tiles -->
     <dimen name="option_tile_width">79dp</dimen>
-    <dimen name="option_tile_grid_padding_horizontal">8dp</dimen>
+    <dimen name="option_tile_linear_padding_horizontal">8dp</dimen>
 
-    <dimen name="component_color_chip_small_size_default">30dp</dimen>
+    <dimen name="component_color_chip_small_radius_default">30dp</dimen>
+    <dimen name="component_color_chip_small_diameter_default">60dp</dimen>
     <dimen name="color_seed_chip_margin">15dp</dimen>
 </resources>
diff --git a/res/values-w800dp/dimens.xml b/res/values-w800dp/dimens.xml
index 4cd6242..6ba900e 100644
--- a/res/values-w800dp/dimens.xml
+++ b/res/values-w800dp/dimens.xml
@@ -17,5 +17,5 @@
 <resources>
     <!-- Dimensions for the customization option tiles -->
     <dimen name="option_tile_width">87dp</dimen>
-    <dimen name="option_tile_grid_padding_horizontal">8dp</dimen>
+    <dimen name="option_tile_linear_padding_horizontal">8dp</dimen>
 </resources>
\ No newline at end of file
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 39407aa..baf650b 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"基本颜色"</string>
     <string name="color_changed" msgid="7029571720331641235">"颜色已更改"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"动态"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"左侧按钮"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"右侧按钮"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"无"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"需要完成其他设置"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"打开<xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"若要将<xliff:g id="APPNAME">%1$s</xliff:g>应用添加为快捷方式,请确保:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"完成"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"快捷方式"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"快捷方式"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>、<xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"无"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 13ec4b9..9acfee0 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"基本顏色"</string>
     <string name="color_changed" msgid="7029571720331641235">"已經變咗顏色"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"動態"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"左鍵"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"右鍵"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"無"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"需要進行其他設定"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"開啟「<xliff:g id="APPNAME">%1$s</xliff:g>」"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"如要新增「<xliff:g id="APPNAME">%1$s</xliff:g>」應用程式為快速鍵,請確保:"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"完成"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"捷徑"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"捷徑"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>,<xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"無"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 4e3409a..c9b7e12 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"基本顏色"</string>
     <string name="color_changed" msgid="7029571720331641235">"顏色已變更"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"動態"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"左側按鈕"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"右側按鈕"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"無"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"需要進行額外設定"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"開啟「<xliff:g id="APPNAME">%1$s</xliff:g>」"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"如要將「<xliff:g id="APPNAME">%1$s</xliff:g>」應用程式新增為捷徑,必須滿足以下條件"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"完成"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"捷徑"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"捷徑"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>、<xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"無"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index cbbb82f..5503bf2 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -91,26 +91,15 @@
     <string name="preset_color_tab" msgid="3133391839341329314">"Imibala eyisisekelo"</string>
     <string name="color_changed" msgid="7029571720331641235">"Umbala ushintshiwe"</string>
     <string name="adaptive_color_title" msgid="1336508599235896205">"Okuguqukayo"</string>
-    <!-- no translation found for keyguard_slot_name_bottom_start (6717374042663171860) -->
-    <skip />
-    <!-- no translation found for keyguard_slot_name_bottom_end (7636885379738905151) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_none (1751643933430782312) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_title (307756993596011884) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_action_template (8117011931337357438) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_message (6136286758939253570) -->
-    <skip />
-    <!-- no translation found for keyguard_affordance_enablement_dialog_dismiss_button (629754625264422508) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_title (4242813186995735584) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_section_title (2806304242671717309) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_two_selected_template (1757099194522296363) -->
-    <skip />
-    <!-- no translation found for keyguard_quick_affordance_none_selected (8494127020144112003) -->
-    <skip />
+    <string name="keyguard_slot_name_bottom_start" msgid="6717374042663171860">"Inkinobho engakwesobunxele"</string>
+    <string name="keyguard_slot_name_bottom_end" msgid="7636885379738905151">"Inkinobho yakwesokudla"</string>
+    <string name="keyguard_affordance_none" msgid="1751643933430782312">"Lutho"</string>
+    <string name="keyguard_affordance_enablement_dialog_title" msgid="307756993596011884">"Kudingeka ukusetha okwengeziwe"</string>
+    <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8117011931337357438">"Vula i-<xliff:g id="APPNAME">%1$s</xliff:g>"</string>
+    <string name="keyguard_affordance_enablement_dialog_message" msgid="6136286758939253570">"Ukwengeza i-app ye-<xliff:g id="APPNAME">%1$s</xliff:g> njengesinqamuleli, qinisekisa"</string>
+    <string name="keyguard_affordance_enablement_dialog_dismiss_button" msgid="629754625264422508">"Kwenziwe"</string>
+    <string name="keyguard_quick_affordance_title" msgid="4242813186995735584">"Izinqamuleli"</string>
+    <string name="keyguard_quick_affordance_section_title" msgid="2806304242671717309">"Izinqamuleli"</string>
+    <string name="keyguard_quick_affordance_two_selected_template" msgid="1757099194522296363">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+    <string name="keyguard_quick_affordance_none_selected" msgid="8494127020144112003">"Lutho"</string>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 225d7b0..64d9941 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -38,7 +38,12 @@
     <dimen name="option_tile_margin_horizontal">6dp</dimen>
     <dimen name="option_tile_padding_vertical">12dp</dimen>
     <dimen name="option_tile_padding_horizontal">12dp</dimen>
-    <dimen name="option_tile_grid_padding_horizontal">4dp</dimen>
+    <!-- Spacing between tiles in linear layout -->
+    <dimen name="option_tile_linear_padding_horizontal">4dp</dimen>
+    <!-- Minimum padding around entire tile in grid layout -->
+    <dimen name="option_tile_grid_tile_padding_min">2dp</dimen>
+    <!-- Minimum padding around icon within tile in grid layout -->
+    <dimen name="option_tile_grid_icon_padding_min">4dp</dimen>
     <dimen name="option_icon_size">16dp</dimen>
     <dimen name="theme_option_icon_sample_height">22dp</dimen>
     <dimen name="theme_option_icon_sample_width">22dp</dimen>
@@ -131,9 +136,8 @@
     <!-- For the color page. -->
     <dimen name="color_page_indicator_margin_top">16dp</dimen>
 
-    <dimen name="component_color_chip_small_size_default">29dp</dimen>
-    <dimen name="color_seed_option_tile_padding">10dp</dimen>
-    <dimen name="color_seed_option_tile_padding_selected">6dp</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>
 
     <!-- Keyguard quick affordances -->
diff --git a/robolectric_tests/Android.mk b/robolectric_tests/Android.mk
deleted file mode 100644
index 9332ee2..0000000
--- a/robolectric_tests/Android.mk
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright (C) 2019 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#############################################
-# ThenePicker Robolectric test target.      #
-#############################################
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := ThemePickerRoboTests
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_SDK_VERSION := system_current
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.runner \
-    androidx.test.rules \
-    mockito-robolectric-prebuilt \
-    truth-prebuilt \
-    kotlinx_coroutines_test
-
-LOCAL_JAVA_LIBRARIES := \
-    platform-robolectric-4.5.1-prebuilt
-
-LOCAL_JAVA_RESOURCE_DIRS := config
-
-LOCAL_INSTRUMENTATION_FOR := ThemePicker
-LOCAL_MODULE_TAGS := optional
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-############################################
-# Target to run the previous target.       #
-############################################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := RunThemePickerRoboTests
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_SDK_VERSION := system_current
-LOCAL_JAVA_LIBRARIES := \
-    ThemePickerRoboTests
-
-LOCAL_TEST_PACKAGE := ThemePicker
-
-LOCAL_INSTRUMENT_SOURCE_DIRS := packages/apps/ThemePicker/src \
-
-LOCAL_ROBOTEST_TIMEOUT := 36000
-
-include prebuilts/misc/common/robolectric/3.6.2/run_robotests.mk
diff --git a/robolectric_tests/config/robolectric.properties b/robolectric_tests/config/robolectric.properties
deleted file mode 100644
index 6c518c0..0000000
--- a/robolectric_tests/config/robolectric.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-manifest=packages/apps/ThemePicker/AndroidManifest.xml
-sdk=31
diff --git a/robolectric_tests/robolectric_gradle_config/robolectric.properties b/robolectric_tests/robolectric_gradle_config/robolectric.properties
deleted file mode 100644
index 2916ca9..0000000
--- a/robolectric_tests/robolectric_gradle_config/robolectric.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-# Do not include the manifest definition in this version
-# as it is specified directly in the gradle file
-sdk=31
\ No newline at end of file
diff --git a/src/com/android/customization/model/clock/ClockSectionController.java b/src/com/android/customization/model/clock/ClockSectionController.java
deleted file mode 100644
index 545c1c4..0000000
--- a/src/com/android/customization/model/clock/ClockSectionController.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.model.clock;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-
-import androidx.annotation.Nullable;
-
-import com.android.customization.picker.clock.ClockCustomDemoFragment;
-import com.android.customization.picker.clock.ClockSectionView;
-import com.android.wallpaper.R;
-import com.android.wallpaper.config.Flags;
-import com.android.wallpaper.model.CustomizationSectionController;
-
-/** A {@link CustomizationSectionController} for clock customization. */
-public class ClockSectionController implements CustomizationSectionController<ClockSectionView> {
-
-    private final CustomizationSectionNavigationController mNavigationController;
-
-    public ClockSectionController(CustomizationSectionNavigationController navigationController) {
-        mNavigationController = navigationController;
-    }
-
-    @Override
-    public boolean isAvailable(@Nullable Context context) {
-        return Flags.enableCustomClocks;
-    }
-
-    @Override
-    public ClockSectionView createView(Context context) {
-        ClockSectionView view = (ClockSectionView) LayoutInflater.from(context).inflate(
-                R.layout.clock_section_view,
-                null);
-        view.setOnClickListener(v ->
-                mNavigationController.navigateTo(new ClockCustomDemoFragment()));
-        return view;
-    }
-}
diff --git a/src/com/android/customization/model/clock/ClockSectionController.kt b/src/com/android/customization/model/clock/ClockSectionController.kt
new file mode 100644
index 0000000..e81fbce
--- /dev/null
+++ b/src/com/android/customization/model/clock/ClockSectionController.kt
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.model.clock
+
+import android.content.Context
+import android.view.LayoutInflater
+import com.android.customization.picker.clock.ClockCustomDemoFragment
+import com.android.customization.picker.clock.ClockSectionView
+import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient
+import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderContract as Contract
+import com.android.wallpaper.R
+import com.android.wallpaper.model.CustomizationSectionController
+import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController
+import kotlinx.coroutines.runBlocking
+
+/** A [CustomizationSectionController] for clock customization. */
+class ClockSectionController(
+    private val navigationController: CustomizationSectionNavigationController,
+    private val keyguardQuickAffordanceProviderClient: KeyguardQuickAffordanceProviderClient,
+) : CustomizationSectionController<ClockSectionView?> {
+    override fun isAvailable(context: Context?): Boolean {
+        return runBlocking { keyguardQuickAffordanceProviderClient.queryFlags() }
+            .firstOrNull { it.name == Contract.FlagsTable.FLAG_NAME_CUSTOM_CLOCKS_ENABLED }
+            ?.value == true
+    }
+
+    override fun createView(context: Context): ClockSectionView {
+        val view =
+            LayoutInflater.from(context)
+                .inflate(
+                    R.layout.clock_section_view,
+                    null,
+                ) as ClockSectionView
+        view.setOnClickListener { navigationController.navigateTo(ClockCustomDemoFragment()) }
+        return view
+    }
+}
diff --git a/src/com/android/customization/model/color/ColorBundle.java b/src/com/android/customization/model/color/ColorBundle.java
index 2f2df51..d34f3fc 100644
--- a/src/com/android/customization/model/color/ColorBundle.java
+++ b/src/com/android/customization/model/color/ColorBundle.java
@@ -55,15 +55,11 @@
         Resources res = view.getContext().getResources();
         int primaryColor = mPreviewInfo.resolvePrimaryColor(res);
         int secondaryColor = mPreviewInfo.resolveSecondaryColor(res);
-        int padding = view.isActivated()
-                ? res.getDimensionPixelSize(R.dimen.color_seed_option_tile_padding_selected)
-                : res.getDimensionPixelSize(R.dimen.color_seed_option_tile_padding);
 
         for (int i = 0; i < mPreviewColorIds.length; i++) {
             ImageView colorPreviewImageView = view.findViewById(mPreviewColorIds[i]);
             int color = i % 2 == 0 ? primaryColor : secondaryColor;
             colorPreviewImageView.getDrawable().setColorFilter(color, PorterDuff.Mode.SRC);
-            colorPreviewImageView.setPadding(padding, padding, padding, padding);
         }
         view.setContentDescription(getContentDescription(view.getContext()));
     }
diff --git a/src/com/android/customization/model/color/ColorProvider.kt b/src/com/android/customization/model/color/ColorProvider.kt
index c1a4552..159d08f 100644
--- a/src/com/android/customization/model/color/ColorProvider.kt
+++ b/src/com/android/customization/model/color/ColorProvider.kt
@@ -37,7 +37,6 @@
 import com.android.systemui.monet.ColorScheme
 import com.android.systemui.monet.Style
 import com.android.wallpaper.compat.WallpaperManagerCompat
-import com.android.wallpaper.config.Flags
 import com.android.wallpaper.module.InjectorProvider
 import java.util.*
 import kotlinx.coroutines.CoroutineScope
@@ -287,7 +286,10 @@
                             Style.TONAL_SPOT
                         }
 
-                    if (style == Style.MONOCHROMATIC && !Flags.isMonochromaticFlagEnabled) {
+                    if (
+                        style == Style.MONOCHROMATIC &&
+                            !InjectorProvider.getInjector().flags.isMonochromaticFlagEnabled()
+                    ) {
                         continue
                     }
 
diff --git a/src/com/android/customization/model/color/ColorSeedOption.java b/src/com/android/customization/model/color/ColorSeedOption.java
index 7bddcb0..53d3954 100644
--- a/src/com/android/customization/model/color/ColorSeedOption.java
+++ b/src/com/android/customization/model/color/ColorSeedOption.java
@@ -71,13 +71,9 @@
         Resources res = view.getContext().getResources();
         @ColorInt int[] colors = mPreviewInfo.resolveColors(res);
 
-        int padding = view.isActivated()
-                ? res.getDimensionPixelSize(R.dimen.color_seed_option_tile_padding_selected)
-                : res.getDimensionPixelSize(R.dimen.color_seed_option_tile_padding);
         for (int i = 0; i < mPreviewColorIds.length; i++) {
             ImageView colorPreviewImageView = view.findViewById(mPreviewColorIds[i]);
             colorPreviewImageView.getDrawable().setColorFilter(colors[i], Mode.SRC);
-            colorPreviewImageView.setPadding(padding, padding, padding, padding);
         }
 
         view.setContentDescription(getContentDescription(view.getContext()));
diff --git a/src/com/android/customization/module/DefaultCustomizationSections.java b/src/com/android/customization/module/DefaultCustomizationSections.java
index 7eb8865..1097a71 100644
--- a/src/com/android/customization/module/DefaultCustomizationSections.java
+++ b/src/com/android/customization/module/DefaultCustomizationSections.java
@@ -5,6 +5,7 @@
 import androidx.annotation.Nullable;
 import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.LifecycleOwner;
+import androidx.lifecycle.ViewModelProvider;
 
 import com.android.customization.model.color.ColorSectionController;
 import com.android.customization.model.grid.GridOptionsManager;
@@ -12,6 +13,9 @@
 import com.android.customization.model.mode.DarkModeSectionController;
 import com.android.customization.model.themedicon.ThemedIconSectionController;
 import com.android.customization.model.themedicon.ThemedIconSwitchProvider;
+import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor;
+import com.android.customization.picker.quickaffordance.ui.section.KeyguardQuickAffordanceSectionController;
+import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel;
 import com.android.wallpaper.model.CustomizationSectionController;
 import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController;
 import com.android.wallpaper.model.PermissionRequester;
@@ -19,7 +23,9 @@
 import com.android.wallpaper.model.WallpaperPreviewNavigator;
 import com.android.wallpaper.model.WallpaperSectionController;
 import com.android.wallpaper.model.WorkspaceViewModel;
+import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
 import com.android.wallpaper.module.CustomizationSections;
+import com.android.wallpaper.picker.customization.ui.section.ScreenPreviewSectionController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -27,6 +33,79 @@
 /** {@link CustomizationSections} for the customization picker. */
 public final class DefaultCustomizationSections implements CustomizationSections {
 
+    private final KeyguardQuickAffordancePickerInteractor mKeyguardQuickAffordancePickerInteractor;
+    private final KeyguardQuickAffordancePickerViewModel.Factory
+            mKeyguardQuickAffordancePickerViewModelFactory;
+
+    public DefaultCustomizationSections(
+            KeyguardQuickAffordancePickerInteractor keyguardQuickAffordancePickerInteractor,
+            KeyguardQuickAffordancePickerViewModel.Factory
+                    keyguardQuickAffordancePickerViewModelFactory) {
+        mKeyguardQuickAffordancePickerInteractor = keyguardQuickAffordancePickerInteractor;
+        mKeyguardQuickAffordancePickerViewModelFactory =
+                keyguardQuickAffordancePickerViewModelFactory;
+    }
+
+    @Override
+    public List<CustomizationSectionController<?>> getSectionControllersForScreen(
+            Screen screen,
+            FragmentActivity activity,
+            LifecycleOwner lifecycleOwner,
+            WallpaperColorsViewModel wallpaperColorsViewModel,
+            WorkspaceViewModel workspaceViewModel,
+            PermissionRequester permissionRequester,
+            WallpaperPreviewNavigator wallpaperPreviewNavigator,
+            CustomizationSectionNavigationController sectionNavigationController,
+            @Nullable Bundle savedInstanceState,
+            CurrentWallpaperInfoFactory wallpaperInfoFactory) {
+        List<CustomizationSectionController<?>> sectionControllers = new ArrayList<>();
+
+        // Wallpaper section.
+        sectionControllers.add(
+                new ScreenPreviewSectionController(
+                        activity,
+                        lifecycleOwner,
+                        screen,
+                        wallpaperInfoFactory,
+                        wallpaperColorsViewModel));
+
+        // Theme color section.
+        sectionControllers.add(new ColorSectionController(
+                activity, wallpaperColorsViewModel, lifecycleOwner, savedInstanceState));
+
+        switch (screen) {
+            case LOCK_SCREEN:
+                // Lock screen quick affordances section.
+                sectionControllers.add(
+                        new KeyguardQuickAffordanceSectionController(
+                                sectionNavigationController,
+                                mKeyguardQuickAffordancePickerInteractor,
+                                new ViewModelProvider(
+                                        activity,
+                                        mKeyguardQuickAffordancePickerViewModelFactory)
+                                        .get(KeyguardQuickAffordancePickerViewModel.class),
+                                lifecycleOwner));
+                break;
+
+            case HOME_SCREEN:
+                // Dark/Light theme section.
+                sectionControllers.add(new DarkModeSectionController(activity,
+                        lifecycleOwner.getLifecycle()));
+
+                // Themed app icon section.
+                sectionControllers.add(new ThemedIconSectionController(
+                        ThemedIconSwitchProvider.getInstance(activity), workspaceViewModel,
+                        savedInstanceState));
+
+                // App grid section.
+                sectionControllers.add(new GridSectionController(
+                        GridOptionsManager.getInstance(activity), sectionNavigationController));
+                break;
+        }
+
+        return sectionControllers;
+    }
+
     @Override
     public List<CustomizationSectionController<?>> getAllSectionControllers(
             FragmentActivity activity,
diff --git a/src/com/android/customization/module/ThemePickerInjector.java b/src/com/android/customization/module/ThemePickerInjector.java
index 9a304e9..a33541c 100644
--- a/src/com/android/customization/module/ThemePickerInjector.java
+++ b/src/com/android/customization/module/ThemePickerInjector.java
@@ -35,9 +35,11 @@
 import com.android.customization.model.theme.ThemeManager;
 import com.android.customization.picker.quickaffordance.data.repository.KeyguardQuickAffordancePickerRepository;
 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor;
+import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordanceSnapshotRestorer;
 import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel;
 import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient;
 import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClientImpl;
+import com.android.wallpaper.config.BaseFlags;
 import com.android.wallpaper.model.LiveWallpaperInfo;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.CustomizationSections;
@@ -48,6 +50,9 @@
 import com.android.wallpaper.picker.ImagePreviewFragment;
 import com.android.wallpaper.picker.LivePreviewFragment;
 import com.android.wallpaper.picker.PreviewFragment;
+import com.android.wallpaper.picker.undo.domain.interactor.SnapshotRestorer;
+
+import java.util.Map;
 
 import kotlinx.coroutines.Dispatchers;
 
@@ -62,12 +67,17 @@
     private KeyguardQuickAffordancePickerInteractor mKeyguardQuickAffordancePickerInteractor;
     private KeyguardQuickAffordancePickerViewModel.Factory
             mKeyguardQuickAffordancePickerViewModelFactory;
+    private KeyguardQuickAffordanceProviderClient mKeyguardQuickAffordanceProviderClient;
     private FragmentFactory mFragmentFactory;
+    private BaseFlags mFlags;
+    private KeyguardQuickAffordanceSnapshotRestorer mKeyguardQuickAffordanceSnapshotRestorer;
 
     @Override
     public CustomizationSections getCustomizationSections(Activity activity) {
         if (mCustomizationSections == null) {
-            mCustomizationSections = new DefaultCustomizationSections();
+            mCustomizationSections = new DefaultCustomizationSections(
+                    mKeyguardQuickAffordancePickerInteractor,
+                    mKeyguardQuickAffordancePickerViewModelFactory);
         }
         return mCustomizationSections;
     }
@@ -141,10 +151,11 @@
             Context context) {
         if (mKeyguardQuickAffordancePickerInteractor == null) {
             final KeyguardQuickAffordanceProviderClient client =
-                    new KeyguardQuickAffordanceProviderClientImpl(context, Dispatchers.getIO());
+                    getKeyguardQuickAffordancePickerProviderClient(context);
             mKeyguardQuickAffordancePickerInteractor = new KeyguardQuickAffordancePickerInteractor(
                     new KeyguardQuickAffordancePickerRepository(client, Dispatchers.getIO()),
-                    client);
+                    client,
+                    () -> getKeyguardQuickAffordanceSnapshotRestorer(context));
         }
         return mKeyguardQuickAffordancePickerInteractor;
     }
@@ -158,7 +169,9 @@
             mKeyguardQuickAffordancePickerViewModelFactory =
                     new KeyguardQuickAffordancePickerViewModel.Factory(
                             context,
-                            getKeyguardQuickAffordancePickerInteractor(context));
+                            getKeyguardQuickAffordancePickerInteractor(context),
+                            getUndoInteractor(context),
+                            getCurrentWallpaperInfoFactory(context));
         }
         return mKeyguardQuickAffordancePickerViewModelFactory;
     }
@@ -170,4 +183,54 @@
         }
         return mFragmentFactory;
     }
+
+    @Override
+    public BaseFlags getFlags() {
+        if (mFlags == null) {
+            mFlags = new BaseFlags() {};
+        }
+
+        return mFlags;
+    }
+
+    @Override
+    public Map<Integer, SnapshotRestorer> getSnapshotRestorers(Context context) {
+        final Map<Integer, SnapshotRestorer> restorers = super.getSnapshotRestorers(context);
+        restorers.put(
+                KEY_QUICK_AFFORDANCE_SNAPSHOT_RESTORER,
+                getKeyguardQuickAffordanceSnapshotRestorer(context));
+        return restorers;
+    }
+
+    /** Returns the {@link KeyguardQuickAffordanceProviderClient}. */
+    protected KeyguardQuickAffordanceProviderClient getKeyguardQuickAffordancePickerProviderClient(
+            Context context) {
+        if (mKeyguardQuickAffordanceProviderClient == null) {
+            mKeyguardQuickAffordanceProviderClient =
+                    new KeyguardQuickAffordanceProviderClientImpl(context, Dispatchers.getIO());
+        }
+
+        return mKeyguardQuickAffordanceProviderClient;
+    }
+
+    protected KeyguardQuickAffordanceSnapshotRestorer getKeyguardQuickAffordanceSnapshotRestorer(
+            Context context) {
+        if (mKeyguardQuickAffordanceSnapshotRestorer == null) {
+            mKeyguardQuickAffordanceSnapshotRestorer = new KeyguardQuickAffordanceSnapshotRestorer(
+                    getKeyguardQuickAffordancePickerInteractor(context),
+                    getKeyguardQuickAffordancePickerProviderClient(context));
+        }
+
+        return mKeyguardQuickAffordanceSnapshotRestorer;
+    }
+
+    private static final int KEY_QUICK_AFFORDANCE_SNAPSHOT_RESTORER =
+            WallpaperPicker2Injector.MIN_SNAPSHOT_RESTORER_KEY;
+
+    /**
+     * When this injector is overridden, this is the minimal value that should be used by restorers
+     * returns in {@link #getSnapshotRestorers(Context)}.
+     */
+    protected static final int MIN_SNAPSHOT_RESTORER_KEY =
+            KEY_QUICK_AFFORDANCE_SNAPSHOT_RESTORER + 1;
 }
diff --git a/src/com/android/customization/picker/clock/domain/interactor/ClocksSnapshotRestorer.kt b/src/com/android/customization/picker/clock/domain/interactor/ClocksSnapshotRestorer.kt
new file mode 100644
index 0000000..63b4a9b
--- /dev/null
+++ b/src/com/android/customization/picker/clock/domain/interactor/ClocksSnapshotRestorer.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package com.android.customization.picker.clock.domain.interactor
+
+import com.android.wallpaper.picker.undo.domain.interactor.SnapshotRestorer
+import com.android.wallpaper.picker.undo.shared.model.RestorableSnapshot
+
+/** Handles state restoration for clocks. */
+class ClocksSnapshotRestorer : SnapshotRestorer {
+    override suspend fun setUpSnapshotRestorer(
+        updater: (RestorableSnapshot) -> Unit,
+    ): RestorableSnapshot {
+        // TODO(b/262924055): implement as part of the clock settings screen.
+        return RestorableSnapshot(mapOf())
+    }
+
+    override suspend fun restoreToSnapshot(snapshot: RestorableSnapshot) {
+        // TODO(b/262924055): implement as part of the clock settings screen.
+    }
+}
diff --git a/src/com/android/customization/picker/grid/GridOptionPreviewer.java b/src/com/android/customization/picker/grid/GridOptionPreviewer.java
index 5cf327e..7786d35 100644
--- a/src/com/android/customization/picker/grid/GridOptionPreviewer.java
+++ b/src/com/android/customization/picker/grid/GridOptionPreviewer.java
@@ -22,6 +22,7 @@
 
 import com.android.customization.model.grid.GridOption;
 import com.android.customization.model.grid.GridOptionsManager;
+import com.android.wallpaper.R;
 import com.android.wallpaper.picker.WorkspaceSurfaceHolderCallback;
 import com.android.wallpaper.util.PreviewUtils;
 import com.android.wallpaper.util.SurfaceViewUtils;
@@ -80,7 +81,10 @@
 
     private class GridOptionSurfaceHolderCallback extends WorkspaceSurfaceHolderCallback {
         private GridOptionSurfaceHolderCallback(SurfaceView workspaceSurface, Context context) {
-            super(workspaceSurface, context);
+            super(
+                    workspaceSurface,
+                    new PreviewUtils(
+                            context, context.getString(R.string.grid_control_metadata_name)));
         }
 
         @Override
diff --git a/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt b/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt
index 5846107..0209391 100644
--- a/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt
+++ b/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt
@@ -60,8 +60,11 @@
     }
 
     private fun List<Client.Flag>.isFeatureEnabled(): Boolean {
-        return find { flag -> flag.name == Contract.FlagsTable.FLAG_NAME_FEATURE_ENABLED }?.value ==
-            true
+        return find { flag ->
+                flag.name ==
+                    Contract.FlagsTable.FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED
+            }
+            ?.value == true
     }
 
     private fun Client.Slot.toModel(): SlotModel {
diff --git a/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt b/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt
index 87cedf5..c2d2e5a 100644
--- a/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt
+++ b/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt
@@ -24,6 +24,7 @@
 import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSelectionModel as SelectionModel
 import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSlotModel as SlotModel
 import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient as Client
+import javax.inject.Provider
 import kotlinx.coroutines.flow.Flow
 
 /**
@@ -33,10 +34,8 @@
 class KeyguardQuickAffordancePickerInteractor(
     private val repository: KeyguardQuickAffordancePickerRepository,
     private val client: Client,
+    private val snapshotRestorer: Provider<KeyguardQuickAffordanceSnapshotRestorer>,
 ) {
-    /** Whether the feature is enabled. */
-    val isFeatureEnabled: Flow<Boolean> = repository.isFeatureEnabled
-
     /** List of slots available on the device. */
     val slots: Flow<List<SlotModel>> = repository.slots
 
@@ -60,6 +59,8 @@
             slotId = slotId,
             affordanceId = affordanceId,
         )
+
+        snapshotRestorer.get().storeSnapshot()
     }
 
     /** Unselects an affordance with the given ID from the slot with the given ID. */
@@ -68,6 +69,8 @@
             slotId = slotId,
             affordanceId = affordanceId,
         )
+
+        snapshotRestorer.get().storeSnapshot()
     }
 
     /** Unselects all affordances from the slot with the given ID. */
@@ -75,6 +78,8 @@
         client.deleteAllSelections(
             slotId = slotId,
         )
+
+        snapshotRestorer.get().storeSnapshot()
     }
 
     /** Returns a [Drawable] for the given resource ID, from the system UI package. */
diff --git a/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordanceSnapshotRestorer.kt b/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordanceSnapshotRestorer.kt
new file mode 100644
index 0000000..f0544a1
--- /dev/null
+++ b/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordanceSnapshotRestorer.kt
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package com.android.customization.picker.quickaffordance.domain.interactor
+
+import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient
+import com.android.wallpaper.picker.undo.domain.interactor.SnapshotRestorer
+import com.android.wallpaper.picker.undo.shared.model.RestorableSnapshot
+
+/** Handles state restoration for the quick affordances system. */
+class KeyguardQuickAffordanceSnapshotRestorer(
+    private val interactor: KeyguardQuickAffordancePickerInteractor,
+    private val client: KeyguardQuickAffordanceProviderClient,
+) : SnapshotRestorer {
+
+    private lateinit var snapshotUpdater: (RestorableSnapshot) -> Unit
+
+    suspend fun storeSnapshot() {
+        snapshotUpdater(snapshot())
+    }
+
+    override suspend fun setUpSnapshotRestorer(
+        updater: (RestorableSnapshot) -> Unit,
+    ): RestorableSnapshot {
+        snapshotUpdater = updater
+        return snapshot()
+    }
+
+    override suspend fun restoreToSnapshot(snapshot: RestorableSnapshot) {
+        val selections: List<Pair<String, String>> =
+            checkNotNull(snapshot.args[KEY_SELECTIONS]).split(SELECTION_SEPARATOR).map { selection
+                ->
+                val (slotId, affordanceId) = selection.split(SLOT_AFFORDANCE_SEPARATOR)
+                slotId to affordanceId
+            }
+
+        selections.forEach { (slotId, affordanceId) ->
+            interactor.select(
+                slotId,
+                affordanceId,
+            )
+        }
+    }
+
+    private suspend fun snapshot(): RestorableSnapshot {
+        return RestorableSnapshot(
+            mapOf(
+                KEY_SELECTIONS to
+                    client.querySelections().joinToString(SELECTION_SEPARATOR) { selection ->
+                        "${selection.slotId}${SLOT_AFFORDANCE_SEPARATOR}${selection.affordanceId}"
+                    }
+            )
+        )
+    }
+
+    companion object {
+        private const val KEY_SELECTIONS = "selections"
+        private const val SLOT_AFFORDANCE_SEPARATOR = "->"
+        private const val SELECTION_SEPARATOR = "|"
+    }
+}
diff --git a/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePickerPreviewBinder.kt b/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePickerPreviewBinder.kt
deleted file mode 100644
index 13ee553..0000000
--- a/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePickerPreviewBinder.kt
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package com.android.customization.picker.quickaffordance.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 com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel
-import com.android.systemui.shared.keyguard.shared.model.KeyguardQuickAffordanceSlots
-import com.android.wallpaper.R
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.flow.mapNotNull
-import kotlinx.coroutines.launch
-
-object KeyguardQuickAffordancePickerPreviewBinder {
-
-    /** Binds view with view-model for a lock screen quick affordance preview experience. */
-    @JvmStatic
-    fun bind(
-        view: View,
-        viewModel: KeyguardQuickAffordancePickerViewModel,
-        lifecycleOwner: LifecycleOwner,
-    ) {
-        val startView: ImageView = view.requireViewById(R.id.start_affordance)
-        val endView: ImageView = view.requireViewById(R.id.end_affordance)
-        lifecycleOwner.lifecycleScope.launch {
-            lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
-                launch {
-                    updateView(
-                        view = startView,
-                        viewModel = viewModel,
-                        slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START,
-                    )
-                }
-
-                launch {
-                    updateView(
-                        view = endView,
-                        viewModel = viewModel,
-                        slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END,
-                    )
-                }
-            }
-        }
-    }
-
-    private suspend fun updateView(
-        view: ImageView,
-        viewModel: KeyguardQuickAffordancePickerViewModel,
-        slotId: String,
-    ) {
-        viewModel.slots
-            .mapNotNull { slotById -> slotById[slotId] }
-            .map { slot -> slot.selectedQuickAffordances.firstOrNull() }
-            .collect { affordance ->
-                view.setImageDrawable(affordance?.icon)
-                view.contentDescription = affordance?.contentDescription
-            }
-    }
-}
diff --git a/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePreviewBinder.kt b/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePreviewBinder.kt
new file mode 100644
index 0000000..c8fea0f
--- /dev/null
+++ b/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePreviewBinder.kt
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package com.android.customization.picker.quickaffordance.ui.binder
+
+import android.app.Activity
+import android.os.Bundle
+import androidx.cardview.widget.CardView
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.flowWithLifecycle
+import androidx.lifecycle.lifecycleScope
+import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel
+import com.android.systemui.shared.quickaffordance.shared.model.KeyguardQuickAffordancePreviewConstants
+import com.android.wallpaper.R
+import com.android.wallpaper.picker.customization.ui.binder.ScreenPreviewBinder
+import kotlinx.coroutines.launch
+
+object KeyguardQuickAffordancePreviewBinder {
+
+    /** Binds view for the preview of the lock screen. */
+    @JvmStatic
+    fun bind(
+        activity: Activity,
+        previewView: CardView,
+        viewModel: KeyguardQuickAffordancePickerViewModel,
+        lifecycleOwner: LifecycleOwner,
+    ) {
+        val binding =
+            ScreenPreviewBinder.bind(
+                activity = activity,
+                previewView = previewView,
+                viewModel = viewModel.preview,
+                lifecycleOwner = lifecycleOwner,
+            )
+
+        previewView.contentDescription =
+            previewView.context.getString(
+                R.string.lockscreen_wallpaper_preview_card_content_description
+            )
+
+        lifecycleOwner.lifecycleScope.launch {
+            viewModel.selectedSlotId
+                .flowWithLifecycle(lifecycleOwner.lifecycle, Lifecycle.State.STARTED)
+                .collect { slotId ->
+                    binding.sendMessage(
+                        KeyguardQuickAffordancePreviewConstants.MESSAGE_ID_SLOT_SELECTED,
+                        Bundle().apply {
+                            putString(KeyguardQuickAffordancePreviewConstants.KEY_SLOT_ID, slotId)
+                        },
+                    )
+                }
+        }
+    }
+}
diff --git a/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt b/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt
index c99c6e8..d2245db 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/fragment/KeyguardQuickAffordancePickerFragment.kt
@@ -25,10 +25,15 @@
 import androidx.lifecycle.get
 import com.android.customization.module.ThemePickerInjector
 import com.android.customization.picker.quickaffordance.ui.binder.KeyguardQuickAffordancePickerBinder
+import com.android.customization.picker.quickaffordance.ui.binder.KeyguardQuickAffordancePreviewBinder
+import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel
 import com.android.wallpaper.R
 import com.android.wallpaper.module.InjectorProvider
 import com.android.wallpaper.picker.AppbarFragment
+import com.android.wallpaper.picker.undo.ui.binder.RevertToolbarButtonBinder
+import kotlinx.coroutines.ExperimentalCoroutinesApi
 
+@OptIn(ExperimentalCoroutinesApi::class)
 class KeyguardQuickAffordancePickerFragment : AppbarFragment() {
     companion object {
         const val DESTINATION_ID = "quick_affordances"
@@ -51,14 +56,28 @@
             )
         setUpToolbar(view)
         val injector = InjectorProvider.getInjector() as ThemePickerInjector
+        val viewModel: KeyguardQuickAffordancePickerViewModel =
+            ViewModelProvider(
+                    requireActivity(),
+                    injector.getKeyguardQuickAffordancePickerViewModelFactory(requireContext()),
+                )
+                .get()
+        setUpToolbarMenu(R.menu.undoable_customization_menu)
+        RevertToolbarButtonBinder.bind(
+            view = view.requireViewById(toolbarId),
+            viewModel = viewModel.undo,
+            lifecycleOwner = this,
+        )
+
+        KeyguardQuickAffordancePreviewBinder.bind(
+            activity = requireActivity(),
+            previewView = view.requireViewById(R.id.preview),
+            viewModel = viewModel,
+            lifecycleOwner = this,
+        )
         KeyguardQuickAffordancePickerBinder.bind(
             view = view,
-            viewModel =
-                ViewModelProvider(
-                        requireActivity(),
-                        injector.getKeyguardQuickAffordancePickerViewModelFactory(requireContext()),
-                    )
-                    .get(),
+            viewModel = viewModel,
             lifecycleOwner = this,
         )
         return view
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 7ea776b..f87c099 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
@@ -21,6 +21,7 @@
 import android.content.Context
 import android.content.Intent
 import android.graphics.drawable.Drawable
+import android.os.Bundle
 import androidx.annotation.DrawableRes
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.ViewModelProvider
@@ -28,33 +29,79 @@
 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
 import com.android.systemui.shared.keyguard.shared.model.KeyguardQuickAffordanceSlots
 import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderContract as Contract
+import com.android.systemui.shared.quickaffordance.shared.model.KeyguardQuickAffordancePreviewConstants
 import com.android.wallpaper.R
+import com.android.wallpaper.module.CurrentWallpaperInfoFactory
+import com.android.wallpaper.picker.customization.ui.viewmodel.ScreenPreviewViewModel
+import com.android.wallpaper.picker.undo.domain.interactor.UndoInteractor
+import com.android.wallpaper.picker.undo.ui.viewmodel.UndoViewModel
+import com.android.wallpaper.util.PreviewUtils
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.asStateFlow
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.launch
+import kotlinx.coroutines.suspendCancellableCoroutine
 
 /** Models UI state for a lock screen quick affordance picker experience. */
 @OptIn(ExperimentalCoroutinesApi::class)
 class KeyguardQuickAffordancePickerViewModel
 private constructor(
     context: Context,
-    private val interactor: KeyguardQuickAffordancePickerInteractor,
+    private val quickAffordanceInteractor: KeyguardQuickAffordancePickerInteractor,
+    undoInteractor: UndoInteractor,
+    private val wallpaperInfoFactory: CurrentWallpaperInfoFactory,
 ) : ViewModel() {
 
     @SuppressLint("StaticFieldLeak") private val applicationContext = context.applicationContext
 
-    private val selectedSlotId = MutableStateFlow<String?>(null)
+    val preview =
+        ScreenPreviewViewModel(
+            previewUtils =
+                PreviewUtils(
+                    context = applicationContext,
+                    authority =
+                        applicationContext.getString(
+                            R.string.lock_screen_preview_provider_authority,
+                        ),
+                ),
+            initialExtrasProvider = {
+                Bundle().apply {
+                    putString(
+                        KeyguardQuickAffordancePreviewConstants.KEY_INITIALLY_SELECTED_SLOT_ID,
+                        selectedSlotId.value,
+                    )
+                }
+            },
+            wallpaperInfoProvider = {
+                suspendCancellableCoroutine { continuation ->
+                    wallpaperInfoFactory.createCurrentWallpaperInfos(
+                        { homeWallpaper, lockWallpaper, _ ->
+                            continuation.resume(lockWallpaper ?: homeWallpaper, null)
+                        },
+                        /* forceRefresh= */ true,
+                    )
+                }
+            },
+        )
+
+    val undo: UndoViewModel =
+        UndoViewModel(
+            interactor = undoInteractor,
+        )
+
+    private val _selectedSlotId = MutableStateFlow<String?>(null)
+    val selectedSlotId: StateFlow<String?> = _selectedSlotId.asStateFlow()
 
     /** View-models for each slot, keyed by slot ID. */
     val slots: Flow<Map<String, KeyguardQuickAffordanceSlotViewModel>> =
         combine(
-            interactor.slots,
-            interactor.affordances,
-            interactor.selections,
+            quickAffordanceInteractor.slots,
+            quickAffordanceInteractor.affordances,
+            quickAffordanceInteractor.selections,
             selectedSlotId,
         ) { slots, affordances, selections, selectedSlotIdOrNull ->
             slots
@@ -90,7 +137,7 @@
                                 if (isSelected) {
                                     null
                                 } else {
-                                    { this.selectedSlotId.value = slot.id }
+                                    { _selectedSlotId.tryEmit(slot.id) }
                                 },
                         )
                 }
@@ -100,9 +147,9 @@
     /** The list of all available quick affordances for the selected slot. */
     val quickAffordances: Flow<List<KeyguardQuickAffordanceViewModel>> =
         combine(
-            interactor.slots,
-            interactor.affordances,
-            interactor.selections,
+            quickAffordanceInteractor.slots,
+            quickAffordanceInteractor.affordances,
+            quickAffordanceInteractor.selections,
             selectedSlotId,
         ) { slots, affordances, selections, selectedSlotIdOrNull ->
             val selectedSlot =
@@ -129,12 +176,12 @@
                                 {
                                     viewModelScope.launch {
                                         if (isSelected) {
-                                            interactor.unselect(
+                                            quickAffordanceInteractor.unselect(
                                                 slotId = selectedSlot.id,
                                                 affordanceId = affordance.id,
                                             )
                                         } else {
-                                            interactor.select(
+                                            quickAffordanceInteractor.select(
                                                 slotId = selectedSlot.id,
                                                 affordanceId = affordance.id,
                                             )
@@ -227,7 +274,9 @@
         return KeyguardQuickAffordanceViewModel.none(
             context = applicationContext,
             isSelected = isSelected,
-            onSelected = { viewModelScope.launch { interactor.unselectAll(slotId) } },
+            onSelected = {
+                viewModelScope.launch { quickAffordanceInteractor.unselectAll(slotId) }
+            },
         )
     }
 
@@ -244,7 +293,7 @@
     }
 
     private suspend fun getAffordanceIcon(@DrawableRes iconResourceId: Int): Drawable {
-        return interactor.getAffordanceIcon(iconResourceId)
+        return quickAffordanceInteractor.getAffordanceIcon(iconResourceId)
     }
 
     private fun String?.toIntent(): Intent? {
@@ -316,13 +365,17 @@
 
     class Factory(
         private val context: Context,
-        private val interactor: KeyguardQuickAffordancePickerInteractor,
+        private val quickAffordanceInteractor: KeyguardQuickAffordancePickerInteractor,
+        private val undoInteractor: UndoInteractor,
+        private val wallpaperInfoFactory: CurrentWallpaperInfoFactory,
     ) : ViewModelProvider.Factory {
         override fun <T : ViewModel> create(modelClass: Class<T>): T {
             @Suppress("UNCHECKED_CAST")
             return KeyguardQuickAffordancePickerViewModel(
                 context = context,
-                interactor = interactor,
+                quickAffordanceInteractor = quickAffordanceInteractor,
+                undoInteractor = undoInteractor,
+                wallpaperInfoFactory = wallpaperInfoFactory,
             )
                 as T
         }
diff --git a/src/com/android/customization/widget/OptionSelectorController.java b/src/com/android/customization/widget/OptionSelectorController.java
index 95924fa..8805caf 100644
--- a/src/com/android/customization/widget/OptionSelectorController.java
+++ b/src/com/android/customization/widget/OptionSelectorController.java
@@ -44,8 +44,6 @@
 import com.android.customization.model.CustomizationManager;
 import com.android.customization.model.CustomizationOption;
 import com.android.wallpaper.R;
-import com.android.wallpaper.widget.GridPaddingDecoration;
-import com.android.wallpaper.widget.GridRowSpacerDecoration;
 
 import java.util.HashSet;
 import java.util.List;
@@ -285,37 +283,19 @@
 
         Resources res = mContainer.getContext().getResources();
         mContainer.setAdapter(mAdapter);
-        final int padding = res.getDimensionPixelSize(
-                R.dimen.option_tile_grid_padding_horizontal);
-        final int fixWidth = res.getDimensionPixelSize(R.dimen.options_container_width);
         final DisplayMetrics metrics = new DisplayMetrics();
         mContainer.getContext().getSystemService(WindowManager.class)
                 .getDefaultDisplay().getMetrics(metrics);
         final boolean hasDecoration = mContainer.getItemDecorationCount() != 0;
 
         if (mUseGrid) {
-            // This is based on the assumption that the parent view is the same width as the screen.
-            final int availableDynamicWidth = metrics.widthPixels - 2 * res.getDimensionPixelSize(
-                    R.dimen.section_horizontal_padding);
-            final int availableWidth = (fixWidth != 0) ? fixWidth : availableDynamicWidth;
             int numColumns = res.getInteger(R.integer.options_grid_num_columns);
             GridLayoutManager gridLayoutManager = new GridLayoutManager(mContainer.getContext(),
                     numColumns);
             mContainer.setLayoutManager(gridLayoutManager);
-            if (!hasDecoration) {
-                mContainer.addItemDecoration(new GridPaddingDecoration(padding, 0));
-            }
-            // Measure RecyclerView to get to the total amount of space used by all options.
-            mContainer.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
-            while (mContainer.getMeasuredWidth() > availableWidth && numColumns > 1) {
-                numColumns -= 1;
-                gridLayoutManager.setSpanCount(numColumns);
-                mContainer.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
-            }
-            if (!hasDecoration && numColumns > 1) {
-                mContainer.addItemDecoration(new GridRowSpacerDecoration(2 * padding));
-            }
         } else {
+            final int padding = res.getDimensionPixelSize(
+                    R.dimen.option_tile_linear_padding_horizontal);
             final int widthPerItem = res.getDimensionPixelSize(R.dimen.option_tile_width) + (
                     hasDecoration ? 0 : 2 * padding);
             mContainer.setLayoutManager(new LinearLayoutManager(mContainer.getContext(),
diff --git a/src_override/com/android/wallpaper/config/Flags.java b/src_override/com/android/wallpaper/config/Flags.java
index 42731de..d35d88f 100644
--- a/src_override/com/android/wallpaper/config/Flags.java
+++ b/src_override/com/android/wallpaper/config/Flags.java
@@ -16,5 +16,4 @@
 package com.android.wallpaper.config;
 
 public class Flags extends BaseFlags {
-    public static boolean enableCustomClocks = false;
 }
diff --git a/tests/Android.bp b/tests/Android.bp
new file mode 100644
index 0000000..9fed740
--- /dev/null
+++ b/tests/Android.bp
@@ -0,0 +1,47 @@
+// Copyright (C) 2022 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+//
+// Build rule for WallpaperPicker2 tests
+//
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+android_test {
+    name: "ThemePickerTests",
+
+    defaults: ["ThemePicker_defaults"],
+    srcs: [
+        "src/**/*.java",
+        "src/**/*.kt",
+    ],
+    static_libs: [
+        "WallpaperPicker2TestLib",
+        "androidx.test.rules",
+        "junit",
+        "kotlinx_coroutines_test",
+        "truth-prebuilt",
+    ],
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+        "android.test.mock",
+    ],
+
+    kotlincflags: ["-Xjvm-default=enable"],
+    platform_apis: true,
+    test_suites: ["device-tests"],
+}
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
new file mode 100644
index 0000000..2fd6b3f
--- /dev/null
+++ b/tests/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2022 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.wallpaper">
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+    </application>
+
+    <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
+        android:targetPackage="com.android.wallpaper"
+        android:label="Tests for ThemePicker" />
+
+</manifest>
diff --git a/tests/AndroidTest.xml b/tests/AndroidTest.xml
new file mode 100644
index 0000000..be2119b
--- /dev/null
+++ b/tests/AndroidTest.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2022 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Runs Tests for ThemePicker.">
+    <target_preparer class="com.android.tradefed.targetprep.TestAppInstallSetup">
+        <option name="test-file-name" value="ThemePickerTests.apk" />
+    </target_preparer>
+
+    <option name="test-suite-tag" value="apct" />
+    <option name="test-tag" value="ThemePickerTests" />
+    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
+        <option name="package" value="com.android.wallpaper" />
+        <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
+        <option name="hidden-api-checks" value="false"/>
+    </test>
+</configuration>
diff --git a/tests/robotests/Android.bp b/tests/robotests/Android.bp
new file mode 100644
index 0000000..e0a37c2
--- /dev/null
+++ b/tests/robotests/Android.bp
@@ -0,0 +1,17 @@
+
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+android_robolectric_test {
+    name: "ThemePickerRoboTests",
+    srcs: [
+        "src/**/*.java",
+        "src/**/*.kt",
+    ],
+    java_resource_dirs: ["config"],
+    libs: [
+        "androidx.test.core",
+        "androidx.test.runner",
+    ],
+    instrumentation_for: "ThemePicker",
+}
diff --git a/tests/robotests/AndroidManifest.xml b/tests/robotests/AndroidManifest.xml
new file mode 100644
index 0000000..753aa9e
--- /dev/null
+++ b/tests/robotests/AndroidManifest.xml
@@ -0,0 +1,20 @@
+<!--
+  ~ Copyright (C) 2022 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.customization">
+    <application/>
+</manifest>
diff --git a/tests/robotests/config/robolectric.properties b/tests/robotests/config/robolectric.properties
new file mode 100644
index 0000000..fab7251
--- /dev/null
+++ b/tests/robotests/config/robolectric.properties
@@ -0,0 +1 @@
+sdk=NEWEST_SDK
diff --git a/robolectric_tests/res/values/overlayable_icons_test.xml b/tests/robotests/res/values/overlayable_icons_test.xml
similarity index 100%
rename from robolectric_tests/res/values/overlayable_icons_test.xml
rename to tests/robotests/res/values/overlayable_icons_test.xml
diff --git a/robolectric_tests/src/com/android/customization/model/clock/BaseClockManagerTest.java b/tests/robotests/src/com/android/customization/model/clock/BaseClockManagerTest.java
similarity index 100%
rename from robolectric_tests/src/com/android/customization/model/clock/BaseClockManagerTest.java
rename to tests/robotests/src/com/android/customization/model/clock/BaseClockManagerTest.java
diff --git a/robolectric_tests/src/com/android/customization/model/clock/ClockManagerTest.java b/tests/robotests/src/com/android/customization/model/clock/ClockManagerTest.java
similarity index 100%
rename from robolectric_tests/src/com/android/customization/model/clock/ClockManagerTest.java
rename to tests/robotests/src/com/android/customization/model/clock/ClockManagerTest.java
diff --git a/robolectric_tests/src/com/android/customization/model/color/ColorCustomizationManagerTest.kt b/tests/robotests/src/com/android/customization/model/color/ColorCustomizationManagerTest.kt
similarity index 78%
rename from robolectric_tests/src/com/android/customization/model/color/ColorCustomizationManagerTest.kt
rename to tests/robotests/src/com/android/customization/model/color/ColorCustomizationManagerTest.kt
index f6f4227..80d01c6 100644
--- a/robolectric_tests/src/com/android/customization/model/color/ColorCustomizationManagerTest.kt
+++ b/tests/robotests/src/com/android/customization/model/color/ColorCustomizationManagerTest.kt
@@ -18,8 +18,8 @@
 import android.app.WallpaperColors
 import android.graphics.Color
 import com.android.customization.model.CustomizationManager
-import com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SYSTEM_PALETTE
 import com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR
+import com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SYSTEM_PALETTE
 import com.android.customization.model.color.ColorOptionsProvider.COLOR_SOURCE_HOME
 import com.android.customization.model.color.ColorOptionsProvider.COLOR_SOURCE_PRESET
 import com.android.customization.model.color.ColorOptionsProvider.OVERLAY_COLOR_BOTH
@@ -30,6 +30,7 @@
 import com.google.common.truth.Truth.assertThat
 import org.json.JSONObject
 import org.junit.Before
+import org.junit.Ignore
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -41,15 +42,12 @@
 import org.robolectric.RobolectricTestRunner
 import org.robolectric.RuntimeEnvironment
 
-/**
- * Tests of {@link ColorCustomizationManager}.
- */
+/** Tests of {@link ColorCustomizationManager}. */
 // TODO(b/222433744): most of these tests are failing due to the manager apk missing in the image
 @RunWith(RobolectricTestRunner::class)
 class ColorCustomizationManagerTest {
 
-    @get:Rule
-    val rule: MockitoRule = MockitoJUnit.rule()
+    @get:Rule val rule: MockitoRule = MockitoJUnit.rule()
 
     @Mock private lateinit var provider: ColorOptionsProvider
     @Mock private lateinit var mockOM: OverlayManagerCompat
@@ -64,15 +62,19 @@
     }
 
     @Test
+    @Ignore("b/260925899")
     fun testParseSettings() {
         val source = COLOR_SOURCE_HOME
         val style = Style.SPRITZ
         val someColor = "aabbcc"
         val someOtherColor = "bbccdd"
-        val settings = mapOf(OVERLAY_CATEGORY_SYSTEM_PALETTE to someColor,
+        val settings =
+            mapOf(
+                OVERLAY_CATEGORY_SYSTEM_PALETTE to someColor,
                 OVERLAY_CATEGORY_COLOR to someOtherColor,
                 OVERLAY_COLOR_SOURCE to source,
-                ColorOption.TIMESTAMP_FIELD to "12345")
+                ColorOption.TIMESTAMP_FIELD to "12345"
+            )
         val json = JSONObject(settings).toString()
 
         manager.parseSettings(json)
@@ -82,10 +84,11 @@
         assertThat(manager.currentOverlays.size).isEqualTo(2)
         assertThat(manager.currentOverlays.get(OVERLAY_CATEGORY_COLOR)).isEqualTo(someOtherColor)
         assertThat(manager.currentOverlays.get(OVERLAY_CATEGORY_SYSTEM_PALETTE))
-                .isEqualTo(someColor)
+            .isEqualTo(someColor)
     }
 
     @Test
+    @Ignore("b/260925899")
     fun apply_ColorBundle_index() {
         testApplyColorBundle(1, "1")
         testApplyColorBundle(2, "2")
@@ -94,10 +97,13 @@
     }
 
     private fun testApplyColorBundle(index: Int, value: String) {
-        manager.apply(getColorBundle(index), object : CustomizationManager.Callback {
-            override fun onSuccess() {}
-            override fun onError(throwable: Throwable?) {}
-        })
+        manager.apply(
+            getColorBundle(index),
+            object : CustomizationManager.Callback {
+                override fun onSuccess() {}
+                override fun onError(throwable: Throwable?) {}
+            }
+        )
 
         val overlaysJson = JSONObject(manager.storedOverlays)
 
@@ -106,7 +112,8 @@
 
     private fun getColorBundle(index: Int): ColorBundle {
         return ColorBundle(
-            "fake color", mapOf("fake_package" to "fake_color"),
+            "fake color",
+            mapOf("fake_package" to "fake_color"),
             /* isDefault= */ false,
             null,
             /* index= */ index,
@@ -115,6 +122,7 @@
     }
 
     @Test
+    @Ignore("b/260925899")
     fun apply_ColorSeed_index() {
         testApplyColorSeed(1, "1")
         testApplyColorSeed(2, "2")
@@ -123,10 +131,13 @@
     }
 
     private fun testApplyColorSeed(index: Int, value: String) {
-        manager.apply(getColorSeed(index), object : CustomizationManager.Callback {
-            override fun onSuccess() {}
-            override fun onError(throwable: Throwable?) {}
-        })
+        manager.apply(
+            getColorSeed(index),
+            object : CustomizationManager.Callback {
+                override fun onSuccess() {}
+                override fun onError(throwable: Throwable?) {}
+            }
+        )
 
         val overlaysJson = JSONObject(manager.storedOverlays)
         assertThat(overlaysJson.getString(OVERLAY_COLOR_INDEX)).isEqualTo(value)
@@ -145,29 +156,37 @@
     }
 
     @Test
+    @Ignore("b/260925899")
     fun testApply_colorSeedFromWallpaperBoth_shouldReturnBothValue() {
         val wallpaperColor = WallpaperColors(Color.valueOf(Color.RED), null, null)
         manager.setWallpaperColors(wallpaperColor, wallpaperColor)
 
-        manager.apply(getColorSeed(anyInt()), object : CustomizationManager.Callback {
-            override fun onSuccess() {}
-            override fun onError(throwable: Throwable?) {}
-        })
+        manager.apply(
+            getColorSeed(anyInt()),
+            object : CustomizationManager.Callback {
+                override fun onSuccess() {}
+                override fun onError(throwable: Throwable?) {}
+            }
+        )
 
         val overlaysJson = JSONObject(manager.storedOverlays)
         assertThat(overlaysJson.getString(OVERLAY_COLOR_BOTH)).isEqualTo("1")
     }
 
     @Test
+    @Ignore("b/260925899")
     fun testApply_colorSeedFromWallpaperDifferent_shouldReturnNonBothValue() {
         val wallpaperColor1 = WallpaperColors(Color.valueOf(Color.RED), null, null)
         val wallpaperColor2 = WallpaperColors(Color.valueOf(Color.BLUE), null, null)
         manager.setWallpaperColors(wallpaperColor1, wallpaperColor2)
 
-        manager.apply(getColorSeed(anyInt()), object : CustomizationManager.Callback {
-            override fun onSuccess() {}
-            override fun onError(throwable: Throwable?) {}
-        })
+        manager.apply(
+            getColorSeed(anyInt()),
+            object : CustomizationManager.Callback {
+                override fun onSuccess() {}
+                override fun onError(throwable: Throwable?) {}
+            }
+        )
 
         val overlaysJson = JSONObject(manager.storedOverlays)
         assertThat(overlaysJson.getString(OVERLAY_COLOR_BOTH)).isEqualTo("0")
diff --git a/robolectric_tests/src/com/android/customization/model/color/ColorOptionTest.kt b/tests/robotests/src/com/android/customization/model/color/ColorOptionTest.kt
similarity index 70%
rename from robolectric_tests/src/com/android/customization/model/color/ColorOptionTest.kt
rename to tests/robotests/src/com/android/customization/model/color/ColorOptionTest.kt
index 271aa83..0431c19 100644
--- a/robolectric_tests/src/com/android/customization/model/color/ColorOptionTest.kt
+++ b/tests/robotests/src/com/android/customization/model/color/ColorOptionTest.kt
@@ -21,6 +21,7 @@
 import com.android.systemui.monet.Style
 import com.google.common.truth.Truth.assertThat
 import org.junit.Assert.assertEquals
+import org.junit.Ignore
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -30,22 +31,25 @@
 import org.mockito.junit.MockitoRule
 import org.robolectric.RobolectricTestRunner
 
-/**
- * Tests of {@link ColorOption}.
- */
+/** Tests of {@link ColorOption}. */
 @RunWith(RobolectricTestRunner::class)
 class ColorOptionTest {
 
-    @get:Rule
-    val rule: MockitoRule = MockitoJUnit.rule()
+    @get:Rule val rule: MockitoRule = MockitoJUnit.rule()
 
-    @Mock
-    private lateinit var manager: ColorCustomizationManager
+    @Mock private lateinit var manager: ColorCustomizationManager
 
     @Test
     fun colorOption_Source_Preset() {
-        val bundleOption: ColorOption = ColorBundle("fake color",
-                mapOf("fake_package" to "fake_color"), false, null, /* index= */ 0, null)
+        val bundleOption: ColorOption =
+            ColorBundle(
+                "fake color",
+                mapOf("fake_package" to "fake_color"),
+                false,
+                null,
+                /* index= */ 0,
+                null
+            )
         assertEquals(COLOR_SOURCE_PRESET, bundleOption.source)
     }
 
@@ -58,8 +62,15 @@
     }
 
     private fun testBundleOptionIndex(index: Int) {
-        val bundleOption: ColorBundle = ColorBundle("fake color",
-                mapOf("fake_package" to "fake_color"), false, null, /* index= */ index, null)
+        val bundleOption: ColorBundle =
+            ColorBundle(
+                "fake color",
+                mapOf("fake_package" to "fake_color"),
+                false,
+                null,
+                /* index= */ index,
+                null
+            )
         assertThat(bundleOption.index).isEqualTo(index)
     }
 
@@ -70,8 +81,16 @@
     }
 
     private fun testSeedOptionSource(source: String) {
-        val seedOption: ColorOption = ColorSeedOption("fake color",
-                mapOf("fake_package" to "fake_color"), false, source, null, /* index= */ 0, null)
+        val seedOption: ColorOption =
+            ColorSeedOption(
+                "fake color",
+                mapOf("fake_package" to "fake_color"),
+                false,
+                source,
+                null,
+                /* index= */ 0,
+                null
+            )
         assertThat(seedOption.source).isEqualTo(source)
     }
 
@@ -84,9 +103,16 @@
     }
 
     private fun testSeedOptionStyle(style: Style) {
-        val seedOption: ColorOption = ColorSeedOption("fake color",
-            mapOf("fake_package" to "fake_color"), /* isDefault= */ false, "fake_source", style,
-            0, null)
+        val seedOption: ColorOption =
+            ColorSeedOption(
+                "fake color",
+                mapOf("fake_package" to "fake_color"),
+                /* isDefault= */ false,
+                "fake_source",
+                style,
+                0,
+                null
+            )
         assertThat(seedOption.style).isEqualTo(style)
     }
 
@@ -99,31 +125,39 @@
     }
 
     private fun testSeedOptionIndex(index: Int) {
-        val seedOption: ColorOption = ColorSeedOption("fake color",
+        val seedOption: ColorOption =
+            ColorSeedOption(
+                "fake color",
                 mapOf("fake_package" to "fake_color"),
                 /* isDefault= */ false,
                 "fake_source",
                 Style.TONAL_SPOT,
                 index,
-                /* previewInfo= */ null)
+                /* previewInfo= */ null
+            )
         assertThat(seedOption.index).isEqualTo(index)
     }
 
-    private fun setUpSeedOption(isDefault: Boolean, source: String = "some_source")
-            : ColorSeedOption {
-        val overlays = if (isDefault) {
-            HashMap()
-        } else {
-            mapOf("package" to "value", "otherPackage" to "otherValue")
-        }
+    private fun setUpSeedOption(
+        isDefault: Boolean,
+        source: String = "some_source"
+    ): ColorSeedOption {
+        val overlays =
+            if (isDefault) {
+                HashMap()
+            } else {
+                mapOf("package" to "value", "otherPackage" to "otherValue")
+            }
         `when`(manager.currentOverlays).thenReturn(overlays)
-        return ColorSeedOption("seed",
-                overlays,
-                isDefault,
-                source,
-                Style.TONAL_SPOT,
-                /* index= */ 0,
-                /* previewInfo= */ null)
+        return ColorSeedOption(
+            "seed",
+            overlays,
+            isDefault,
+            source,
+            Style.TONAL_SPOT,
+            /* index= */ 0,
+            /* previewInfo= */ null
+        )
     }
 
     @Test
@@ -170,6 +204,7 @@
     }
 
     @Test
+    @Ignore("b/260925899")
     fun seedOption_isActive_default_nonEmptyOverlays() {
         val seedOption = setUpSeedOption(true)
 
diff --git a/robolectric_tests/src/com/android/customization/model/color/ColorSectionControllerTest.java b/tests/robotests/src/com/android/customization/model/color/ColorSectionControllerTest.java
similarity index 100%
rename from robolectric_tests/src/com/android/customization/model/color/ColorSectionControllerTest.java
rename to tests/robotests/src/com/android/customization/model/color/ColorSectionControllerTest.java
diff --git a/robolectric_tests/src/com/android/customization/model/grid/GridOptionsManagerTest.java b/tests/robotests/src/com/android/customization/model/grid/GridOptionsManagerTest.java
similarity index 97%
rename from robolectric_tests/src/com/android/customization/model/grid/GridOptionsManagerTest.java
rename to tests/robotests/src/com/android/customization/model/grid/GridOptionsManagerTest.java
index 4268725..89ca676 100644
--- a/robolectric_tests/src/com/android/customization/model/grid/GridOptionsManagerTest.java
+++ b/tests/robotests/src/com/android/customization/model/grid/GridOptionsManagerTest.java
@@ -27,6 +27,7 @@
 import com.android.customization.module.ThemesUserEventLogger;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -66,6 +67,7 @@
     }
 
     @Test
+    @Ignore("b/260925899")
     public void testFetch_backgroundThread() {
         mManager.fetchOptions(null, false);
         verify(mProvider).fetch(anyBoolean());
diff --git a/robolectric_tests/src/com/android/customization/model/theme/ThemeManagerTest.java b/tests/robotests/src/com/android/customization/model/theme/ThemeManagerTest.java
similarity index 100%
rename from robolectric_tests/src/com/android/customization/model/theme/ThemeManagerTest.java
rename to tests/robotests/src/com/android/customization/model/theme/ThemeManagerTest.java
diff --git a/robolectric_tests/src/com/android/customization/picker/clock/ClockCustomDemoFragmentTest.kt b/tests/robotests/src/com/android/customization/picker/clock/ClockCustomDemoFragmentTest.kt
similarity index 96%
rename from robolectric_tests/src/com/android/customization/picker/clock/ClockCustomDemoFragmentTest.kt
rename to tests/robotests/src/com/android/customization/picker/clock/ClockCustomDemoFragmentTest.kt
index 5f4c134..ad3dd1c 100644
--- a/robolectric_tests/src/com/android/customization/picker/clock/ClockCustomDemoFragmentTest.kt
+++ b/tests/robotests/src/com/android/customization/picker/clock/ClockCustomDemoFragmentTest.kt
@@ -8,10 +8,10 @@
 import androidx.recyclerview.widget.RecyclerView
 import com.android.systemui.plugins.ClockId
 import com.android.systemui.plugins.ClockMetadata
+import com.android.systemui.plugins.ClockProvider
 import com.android.systemui.plugins.ClockProviderPlugin
 import com.android.systemui.plugins.PluginManager
 import com.android.systemui.shared.clocks.ClockRegistry
-import com.android.systemui.shared.clocks.DefaultClockProvider
 import org.junit.Assert
 import org.junit.Before
 import org.junit.Test
@@ -33,7 +33,7 @@
     @Mock private lateinit var mockPluginManager: PluginManager
     @Mock private lateinit var mockHandler: Handler
     @Mock private lateinit var fakePlugin: ClockProviderPlugin
-    @Mock private lateinit var defaultClockProvider: DefaultClockProvider
+    @Mock private lateinit var defaultClockProvider: ClockProvider
 
     private var settingValue: String = ""
 
diff --git a/robolectric_tests/src/com/android/customization/testutils/Condition.java b/tests/robotests/src/com/android/customization/testutils/Condition.java
similarity index 100%
rename from robolectric_tests/src/com/android/customization/testutils/Condition.java
rename to tests/robotests/src/com/android/customization/testutils/Condition.java
diff --git a/robolectric_tests/src/com/android/customization/testutils/OverlayManagerMocks.java b/tests/robotests/src/com/android/customization/testutils/OverlayManagerMocks.java
similarity index 78%
rename from robolectric_tests/src/com/android/customization/testutils/OverlayManagerMocks.java
rename to tests/robotests/src/com/android/customization/testutils/OverlayManagerMocks.java
index ed77224..79b2e43 100644
--- a/robolectric_tests/src/com/android/customization/testutils/OverlayManagerMocks.java
+++ b/tests/robotests/src/com/android/customization/testutils/OverlayManagerMocks.java
@@ -42,22 +42,22 @@
  */
 public class OverlayManagerMocks {
     private static class MockOverlay {
-        final String packageName;
-        final String targetPackage;
-        final String category;
+        final String mPackageName;
+        final String mTargetPackage;
+        final String mCategory;
 
-        public MockOverlay(String packageName, String targetPackage, String category) {
-            this.packageName = packageName;
-            this.targetPackage = targetPackage;
-            this.category = category;
+        MockOverlay(String packageName, String targetPackage, String category) {
+            this.mPackageName = packageName;
+            this.mTargetPackage = targetPackage;
+            this.mCategory = category;
         }
 
         @Override
         public boolean equals(Object obj) {
             return obj instanceof MockOverlay
-                    && TextUtils.equals(((MockOverlay) obj).packageName, packageName)
-                    && TextUtils.equals(((MockOverlay) obj).targetPackage, targetPackage)
-                    && TextUtils.equals(((MockOverlay) obj).category, category);
+                    && TextUtils.equals(((MockOverlay) obj).mPackageName, mPackageName)
+                    && TextUtils.equals(((MockOverlay) obj).mTargetPackage, mTargetPackage)
+                    && TextUtils.equals(((MockOverlay) obj).mCategory, mCategory);
         }
     }
 
@@ -69,8 +69,8 @@
             return false;
         }
         Set<MockOverlay> packageOverlays = mAllOverlays.stream()
-                .filter(mockOverlay -> mockOverlay.packageName.equals(packageName)).collect(
-                Collectors.toSet());;
+                .filter(mockOverlay -> mockOverlay.mPackageName.equals(packageName)).collect(
+                Collectors.toSet());
         if (packageOverlays.isEmpty()) {
             return false;
         }
@@ -101,9 +101,9 @@
                 (Answer<String>) inv ->
                         mEnabledOverlays.stream().filter(
                                 mockOverlay ->
-                                        mockOverlay.targetPackage.equals(inv.getArgument(0))
-                                            && mockOverlay.category.equals(inv.getArgument(1)))
-                                .map(overlay -> overlay.packageName).findFirst().orElse(null));
+                                        mockOverlay.mTargetPackage.equals(inv.getArgument(0))
+                                            && mockOverlay.mCategory.equals(inv.getArgument(1)))
+                                .map(overlay -> overlay.mPackageName).findFirst().orElse(null));
 
 
         when(mockOverlayManager.disableOverlay(anyString(), anyInt())).then(
@@ -124,12 +124,12 @@
                         mEnabledOverlays.stream().filter(
                                 overlay ->
                                         Arrays.asList(inv.getArguments())
-                                                .contains(overlay.targetPackage))
+                                                .contains(overlay.mTargetPackage))
                                 .collect(Collectors.toMap(
                                         overlay ->
-                                                overlay.category,
+                                                overlay.mCategory,
                                         (Function<MockOverlay, String>) overlay ->
-                                                overlay.packageName))
+                                                overlay.mPackageName))
         );
     }
-}
\ No newline at end of file
+}
diff --git a/robolectric_tests/src/com/android/customization/testutils/Wait.java b/tests/robotests/src/com/android/customization/testutils/Wait.java
similarity index 100%
rename from robolectric_tests/src/com/android/customization/testutils/Wait.java
rename to tests/robotests/src/com/android/customization/testutils/Wait.java
diff --git a/tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt b/tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt
index 4a88f3b..5e4fa6e 100644
--- a/tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt
+++ b/tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt
@@ -72,7 +72,7 @@
                 com.android.systemui.shared.quickaffordance.data.content
                     .KeyguardQuickAffordanceProviderContract
                     .FlagsTable
-                    .FLAG_NAME_FEATURE_ENABLED,
+                    .FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED,
                 true,
             )
             val values = mutableListOf<Boolean>()
@@ -90,7 +90,7 @@
                 com.android.systemui.shared.quickaffordance.data.content
                     .KeyguardQuickAffordanceProviderContract
                     .FlagsTable
-                    .FLAG_NAME_FEATURE_ENABLED,
+                    .FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED,
                 false,
             )
             val values = mutableListOf<Boolean>()
diff --git a/tests/src/com/android/customization/model/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractorTest.kt b/tests/src/com/android/customization/model/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractorTest.kt
index d8a136d..87f47fa 100644
--- a/tests/src/com/android/customization/model/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractorTest.kt
+++ b/tests/src/com/android/customization/model/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractorTest.kt
@@ -20,16 +20,17 @@
 import androidx.test.filters.SmallTest
 import com.android.customization.picker.quickaffordance.data.repository.KeyguardQuickAffordancePickerRepository
 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
+import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordanceSnapshotRestorer
 import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSelectionModel
 import com.android.systemui.shared.keyguard.shared.model.KeyguardQuickAffordanceSlots
 import com.android.systemui.shared.quickaffordance.data.content.FakeKeyguardQuickAffordanceProviderClient
+import com.android.wallpaper.testing.collectLastValue
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.flow.toList
-import kotlinx.coroutines.launch
+import kotlinx.coroutines.runBlocking
+import kotlinx.coroutines.test.StandardTestDispatcher
 import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
 import kotlinx.coroutines.test.resetMain
 import kotlinx.coroutines.test.runTest
 import kotlinx.coroutines.test.setMain
@@ -51,18 +52,25 @@
 
     @Before
     fun setUp() {
-        val coroutineDispatcher = UnconfinedTestDispatcher()
-        testScope = TestScope(coroutineDispatcher)
-        Dispatchers.setMain(coroutineDispatcher)
+        val testDispatcher = StandardTestDispatcher()
+        testScope = TestScope(testDispatcher)
+        Dispatchers.setMain(testDispatcher)
         client = FakeKeyguardQuickAffordanceProviderClient()
         underTest =
             KeyguardQuickAffordancePickerInteractor(
                 repository =
                     KeyguardQuickAffordancePickerRepository(
                         client = client,
-                        backgroundDispatcher = coroutineDispatcher,
+                        backgroundDispatcher = testDispatcher,
                     ),
                 client = client,
+                snapshotRestorer = {
+                    KeyguardQuickAffordanceSnapshotRestorer(
+                            interactor = underTest,
+                            client = client,
+                        )
+                        .apply { runBlocking { setUpSnapshotRestorer {} } }
+                },
             )
     }
 
@@ -74,14 +82,13 @@
     @Test
     fun select() =
         testScope.runTest {
-            val selections = mutableListOf<List<KeyguardQuickAffordancePickerSelectionModel>>()
-            val job = launch { underTest.selections.toList(selections) }
+            val selections = collectLastValue(underTest.selections)
 
             underTest.select(
                 slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START,
                 affordanceId = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1,
             )
-            assertThat(selections.last())
+            assertThat(selections())
                 .isEqualTo(
                     listOf(
                         KeyguardQuickAffordancePickerSelectionModel(
@@ -95,7 +102,7 @@
                 slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START,
                 affordanceId = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_2,
             )
-            assertThat(selections.last())
+            assertThat(selections())
                 .isEqualTo(
                     listOf(
                         KeyguardQuickAffordancePickerSelectionModel(
@@ -104,15 +111,12 @@
                         ),
                     )
                 )
-
-            job.cancel()
         }
 
     @Test
     fun unselect() =
         testScope.runTest {
-            val selections = mutableListOf<List<KeyguardQuickAffordancePickerSelectionModel>>()
-            val job = launch { underTest.selections.toList(selections) }
+            val selections = collectLastValue(underTest.selections)
             underTest.select(
                 slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START,
                 affordanceId = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1,
@@ -123,17 +127,14 @@
                 affordanceId = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1,
             )
 
-            assertThat(selections.last()).isEmpty()
-
-            job.cancel()
+            assertThat(selections()).isEmpty()
         }
 
     @Test
     fun unselectAll() =
         testScope.runTest {
             client.setSlotCapacity(KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END, 3)
-            val selections = mutableListOf<List<KeyguardQuickAffordancePickerSelectionModel>>()
-            val job = launch { underTest.selections.toList(selections) }
+            val selections = collectLastValue(underTest.selections)
             underTest.select(
                 slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END,
                 affordanceId = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1,
@@ -151,8 +152,6 @@
                 slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END,
             )
 
-            assertThat(selections.last()).isEmpty()
-
-            job.cancel()
+            assertThat(selections()).isEmpty()
         }
 }
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 d446e1b..9c3e87c 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
@@ -22,6 +22,7 @@
 import androidx.test.platform.app.InstrumentationRegistry
 import com.android.customization.picker.quickaffordance.data.repository.KeyguardQuickAffordancePickerRepository
 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
+import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordanceSnapshotRestorer
 import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel
 import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordanceSlotViewModel
 import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordanceSummaryViewModel
@@ -29,14 +30,18 @@
 import com.android.systemui.shared.keyguard.shared.model.KeyguardQuickAffordanceSlots
 import com.android.systemui.shared.quickaffordance.data.content.FakeKeyguardQuickAffordanceProviderClient
 import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient
+import com.android.wallpaper.picker.undo.data.repository.UndoRepository
+import com.android.wallpaper.picker.undo.domain.interactor.UndoInteractor
+import com.android.wallpaper.testing.FAKE_RESTORERS
+import com.android.wallpaper.testing.TestCurrentWallpaperInfoFactory
+import com.android.wallpaper.testing.collectLastValue
 import com.google.common.truth.Truth.assertThat
 import com.google.common.truth.Truth.assertWithMessage
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.flow.toList
-import kotlinx.coroutines.launch
+import kotlinx.coroutines.runBlocking
+import kotlinx.coroutines.test.StandardTestDispatcher
 import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
 import kotlinx.coroutines.test.resetMain
 import kotlinx.coroutines.test.runTest
 import kotlinx.coroutines.test.setMain
@@ -56,27 +61,44 @@
     private lateinit var context: Context
     private lateinit var testScope: TestScope
     private lateinit var client: FakeKeyguardQuickAffordanceProviderClient
+    private lateinit var quickAffordanceInteractor: KeyguardQuickAffordancePickerInteractor
 
     @Before
     fun setUp() {
         context = InstrumentationRegistry.getInstrumentation().targetContext
-        val coroutineDispatcher = UnconfinedTestDispatcher()
-        testScope = TestScope(coroutineDispatcher)
-        Dispatchers.setMain(coroutineDispatcher)
+        val testDispatcher = StandardTestDispatcher()
+        testScope = TestScope(testDispatcher)
+        Dispatchers.setMain(testDispatcher)
         client = FakeKeyguardQuickAffordanceProviderClient()
 
+        quickAffordanceInteractor =
+            KeyguardQuickAffordancePickerInteractor(
+                repository =
+                    KeyguardQuickAffordancePickerRepository(
+                        client = client,
+                        backgroundDispatcher = testDispatcher,
+                    ),
+                client = client,
+                snapshotRestorer = {
+                    KeyguardQuickAffordanceSnapshotRestorer(
+                            interactor = quickAffordanceInteractor,
+                            client = client,
+                        )
+                        .apply { runBlocking { setUpSnapshotRestorer {} } }
+                },
+            )
+        val undoInteractor =
+            UndoInteractor(
+                scope = testScope.backgroundScope,
+                repository = UndoRepository(),
+                restorerByOwnerId = FAKE_RESTORERS,
+            )
         underTest =
             KeyguardQuickAffordancePickerViewModel.Factory(
                     context = context,
-                    interactor =
-                        KeyguardQuickAffordancePickerInteractor(
-                            repository =
-                                KeyguardQuickAffordancePickerRepository(
-                                    client = client,
-                                    backgroundDispatcher = coroutineDispatcher,
-                                ),
-                            client = client,
-                        ),
+                    quickAffordanceInteractor = quickAffordanceInteractor,
+                    undoInteractor = undoInteractor,
+                    wallpaperInfoFactory = TestCurrentWallpaperInfoFactory(context),
                 )
                 .create(KeyguardQuickAffordancePickerViewModel::class.java)
     }
@@ -89,23 +111,18 @@
     @Test
     fun `Select an affordance for each side`() =
         testScope.runTest {
-            val slots = mutableListOf<Map<String, KeyguardQuickAffordanceSlotViewModel>>()
-            val quickAffordances = mutableListOf<List<KeyguardQuickAffordanceViewModel>>()
-
-            val jobs = buildList {
-                add(launch { underTest.slots.toList(slots) })
-                add(launch { underTest.quickAffordances.toList(quickAffordances) })
-            }
+            val slots = collectLastValue(underTest.slots)
+            val quickAffordances = collectLastValue(underTest.quickAffordances)
 
             // Initially, the first slot is selected with the "none" affordance selected.
             assertPickerUiState(
-                slots = slots.last(),
-                affordances = quickAffordances.last(),
+                slots = slots(),
+                affordances = quickAffordances(),
                 selectedSlotText = "Left button",
                 selectedAffordanceText = "None",
             )
             assertPreviewUiState(
-                slots = slots.last(),
+                slots = slots(),
                 expectedAffordanceNameBySlotId =
                     mapOf(
                         KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START to null,
@@ -114,15 +131,15 @@
             )
 
             // Select "affordance 1" for the first slot.
-            quickAffordances.last()[1].onClicked?.invoke()
+            quickAffordances()?.get(1)?.onClicked?.invoke()
             assertPickerUiState(
-                slots = slots.last(),
-                affordances = quickAffordances.last(),
+                slots = slots(),
+                affordances = quickAffordances(),
                 selectedSlotText = "Left button",
                 selectedAffordanceText = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1,
             )
             assertPreviewUiState(
-                slots = slots.last(),
+                slots = slots(),
                 expectedAffordanceNameBySlotId =
                     mapOf(
                         KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START to
@@ -133,17 +150,17 @@
 
             // Select an affordance for the second slot.
             // First, switch to the second slot:
-            slots.last()[KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END]?.onClicked?.invoke()
+            slots()?.get(KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END)?.onClicked?.invoke()
             // Second, select the "affordance 3" affordance:
-            quickAffordances.last()[3].onClicked?.invoke()
+            quickAffordances()?.get(3)?.onClicked?.invoke()
             assertPickerUiState(
-                slots = slots.last(),
-                affordances = quickAffordances.last(),
+                slots = slots(),
+                affordances = quickAffordances(),
                 selectedSlotText = "Right button",
                 selectedAffordanceText = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_3,
             )
             assertPreviewUiState(
-                slots = slots.last(),
+                slots = slots(),
                 expectedAffordanceNameBySlotId =
                     mapOf(
                         KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START to
@@ -154,15 +171,15 @@
             )
 
             // Select a different affordance for the second slot.
-            quickAffordances.last()[2].onClicked?.invoke()
+            quickAffordances()?.get(2)?.onClicked?.invoke()
             assertPickerUiState(
-                slots = slots.last(),
-                affordances = quickAffordances.last(),
+                slots = slots(),
+                affordances = quickAffordances(),
                 selectedSlotText = "Right button",
                 selectedAffordanceText = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_2,
             )
             assertPreviewUiState(
-                slots = slots.last(),
+                slots = slots(),
                 expectedAffordanceNameBySlotId =
                     mapOf(
                         KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START to
@@ -171,42 +188,35 @@
                             FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_2,
                     ),
             )
-
-            jobs.forEach { it.cancel() }
         }
 
     @Test
     fun `Unselect - AKA selecting the none affordance - on one side`() =
         testScope.runTest {
-            val slots = mutableListOf<Map<String, KeyguardQuickAffordanceSlotViewModel>>()
-            val quickAffordances = mutableListOf<List<KeyguardQuickAffordanceViewModel>>()
-
-            val jobs = buildList {
-                add(launch { underTest.slots.toList(slots) })
-                add(launch { underTest.quickAffordances.toList(quickAffordances) })
-            }
+            val slots = collectLastValue(underTest.slots)
+            val quickAffordances = collectLastValue(underTest.quickAffordances)
 
             // Select "affordance 1" for the first slot.
-            quickAffordances.last()[1].onClicked?.invoke()
+            quickAffordances()?.get(1)?.onClicked?.invoke()
             // Select an affordance for the second slot.
             // First, switch to the second slot:
-            slots.last()[KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END]?.onClicked?.invoke()
+            slots()?.get(KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END)?.onClicked?.invoke()
             // Second, select the "affordance 3" affordance:
-            quickAffordances.last()[3].onClicked?.invoke()
+            quickAffordances()?.get(3)?.onClicked?.invoke()
 
             // Switch back to the first slot:
-            slots.last()[KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START]?.onClicked?.invoke()
+            slots()?.get(KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START)?.onClicked?.invoke()
             // Select the "none" affordance, which is always in position 0:
-            quickAffordances.last()[0].onClicked?.invoke()
+            quickAffordances()?.get(0)?.onClicked?.invoke()
 
             assertPickerUiState(
-                slots = slots.last(),
-                affordances = quickAffordances.last(),
+                slots = slots(),
+                affordances = quickAffordances(),
                 selectedSlotText = "Left button",
                 selectedAffordanceText = "None",
             )
             assertPreviewUiState(
-                slots = slots.last(),
+                slots = slots(),
                 expectedAffordanceNameBySlotId =
                     mapOf(
                         KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START to null,
@@ -214,22 +224,15 @@
                             FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_3,
                     ),
             )
-
-            jobs.forEach { it.cancel() }
         }
 
     @Test
     fun `Show enablement dialog when selecting a disabled affordance`() =
         testScope.runTest {
-            val slots = mutableListOf<Map<String, KeyguardQuickAffordanceSlotViewModel>>()
-            val quickAffordances = mutableListOf<List<KeyguardQuickAffordanceViewModel>>()
-            val dialog = mutableListOf<KeyguardQuickAffordancePickerViewModel.DialogViewModel?>()
+            val slots = collectLastValue(underTest.slots)
+            val quickAffordances = collectLastValue(underTest.quickAffordances)
+            val dialog = collectLastValue(underTest.dialog)
 
-            val jobs = buildList {
-                add(launch { underTest.slots.toList(slots) })
-                add(launch { underTest.quickAffordances.toList(quickAffordances) })
-                add(launch { underTest.dialog.toList(dialog) })
-            }
             val enablementInstructions = listOf("header", "enablementInstructions")
             val enablementActionText = "enablementActionText"
             val packageName = "packageName"
@@ -250,46 +253,39 @@
                 )
 
             // Lets try to select that disabled affordance:
-            quickAffordances.last()[affordanceIndex + 1].onClicked?.invoke()
+            quickAffordances()?.get(affordanceIndex + 1)?.onClicked?.invoke()
 
             // We expect there to be a dialog that should be shown:
-            assertThat(dialog.last()?.instructionHeader).isEqualTo(enablementInstructions[0])
-            assertThat(dialog.last()?.instructions)
+            assertThat(dialog()?.instructionHeader).isEqualTo(enablementInstructions[0])
+            assertThat(dialog()?.instructions)
                 .isEqualTo(enablementInstructions.subList(1, enablementInstructions.size))
-            assertThat(dialog.last()?.actionText).isEqualTo(enablementActionText)
-            assertThat(dialog.last()?.intent?.`package`).isEqualTo(packageName)
-            assertThat(dialog.last()?.intent?.action).isEqualTo(action)
+            assertThat(dialog()?.actionText).isEqualTo(enablementActionText)
+            assertThat(dialog()?.intent?.`package`).isEqualTo(packageName)
+            assertThat(dialog()?.intent?.action).isEqualTo(action)
 
             // Once we report that the dialog has been dismissed by the user, we expect there to be
             // no
             // dialog to be shown:
             underTest.onDialogDismissed()
-            assertThat(dialog.last()).isNull()
-
-            jobs.forEach { it.cancel() }
+            assertThat(dialog()).isNull()
         }
 
     @Test
     fun `summary - affordance selected in both bottom-start and bottom-end`() =
         testScope.runTest {
-            val slots = mutableListOf<Map<String, KeyguardQuickAffordanceSlotViewModel>>()
-            val quickAffordances = mutableListOf<List<KeyguardQuickAffordanceViewModel>>()
-            val summary = mutableListOf<KeyguardQuickAffordanceSummaryViewModel>()
-            val jobs = buildList {
-                add(launch { underTest.slots.toList(slots) })
-                add(launch { underTest.quickAffordances.toList(quickAffordances) })
-                add(launch { underTest.summary.toList(summary) })
-            }
+            val slots = collectLastValue(underTest.slots)
+            val quickAffordances = collectLastValue(underTest.quickAffordances)
+            val summary = collectLastValue(underTest.summary)
 
             // Select "affordance 1" for the first slot.
-            quickAffordances.last()[1].onClicked?.invoke()
+            quickAffordances()?.get(1)?.onClicked?.invoke()
             // Select an affordance for the second slot.
             // First, switch to the second slot:
-            slots.last()[KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END]?.onClicked?.invoke()
+            slots()?.get(KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END)?.onClicked?.invoke()
             // Second, select the "affordance 3" affordance:
-            quickAffordances.last()[3].onClicked?.invoke()
+            quickAffordances()?.get(3)?.onClicked?.invoke()
 
-            assertThat(summary.last())
+            assertThat(summary())
                 .isEqualTo(
                     KeyguardQuickAffordanceSummaryViewModel(
                         description =
@@ -299,25 +295,19 @@
                         icon2 = FakeKeyguardQuickAffordanceProviderClient.ICON_3,
                     )
                 )
-            jobs.forEach { it.cancel() }
         }
 
     @Test
     fun `summary - affordance selected only on bottom-start`() =
         testScope.runTest {
-            val slots = mutableListOf<Map<String, KeyguardQuickAffordanceSlotViewModel>>()
-            val quickAffordances = mutableListOf<List<KeyguardQuickAffordanceViewModel>>()
-            val summary = mutableListOf<KeyguardQuickAffordanceSummaryViewModel>()
-            val jobs = buildList {
-                add(launch { underTest.slots.toList(slots) })
-                add(launch { underTest.quickAffordances.toList(quickAffordances) })
-                add(launch { underTest.summary.toList(summary) })
-            }
+            val slots = collectLastValue(underTest.slots)
+            val quickAffordances = collectLastValue(underTest.quickAffordances)
+            val summary = collectLastValue(underTest.summary)
 
             // Select "affordance 1" for the first slot.
-            quickAffordances.last()[1].onClicked?.invoke()
+            quickAffordances()?.get(1)?.onClicked?.invoke()
 
-            assertThat(summary.last())
+            assertThat(summary())
                 .isEqualTo(
                     KeyguardQuickAffordanceSummaryViewModel(
                         description = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1,
@@ -325,28 +315,22 @@
                         icon2 = null,
                     )
                 )
-            jobs.forEach { it.cancel() }
         }
 
     @Test
     fun `summary - affordance selected only on bottom-end`() =
         testScope.runTest {
-            val slots = mutableListOf<Map<String, KeyguardQuickAffordanceSlotViewModel>>()
-            val quickAffordances = mutableListOf<List<KeyguardQuickAffordanceViewModel>>()
-            val summary = mutableListOf<KeyguardQuickAffordanceSummaryViewModel>()
-            val jobs = buildList {
-                add(launch { underTest.slots.toList(slots) })
-                add(launch { underTest.quickAffordances.toList(quickAffordances) })
-                add(launch { underTest.summary.toList(summary) })
-            }
+            val slots = collectLastValue(underTest.slots)
+            val quickAffordances = collectLastValue(underTest.quickAffordances)
+            val summary = collectLastValue(underTest.summary)
 
             // Select an affordance for the second slot.
             // First, switch to the second slot:
-            slots.last()[KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END]?.onClicked?.invoke()
+            slots()?.get(KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END)?.onClicked?.invoke()
             // Second, select the "affordance 3" affordance:
-            quickAffordances.last()[3].onClicked?.invoke()
+            quickAffordances()?.get(3)?.onClicked?.invoke()
 
-            assertThat(summary.last())
+            assertThat(summary())
                 .isEqualTo(
                     KeyguardQuickAffordanceSummaryViewModel(
                         description = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_3,
@@ -354,25 +338,18 @@
                         icon2 = FakeKeyguardQuickAffordanceProviderClient.ICON_3,
                     )
                 )
-            jobs.forEach { it.cancel() }
         }
 
     @Test
     fun `summary - no affordances selected`() =
         testScope.runTest {
-            val slots = mutableListOf<Map<String, KeyguardQuickAffordanceSlotViewModel>>()
-            val quickAffordances = mutableListOf<List<KeyguardQuickAffordanceViewModel>>()
-            val summary = mutableListOf<KeyguardQuickAffordanceSummaryViewModel>()
-            val jobs = buildList {
-                add(launch { underTest.slots.toList(slots) })
-                add(launch { underTest.quickAffordances.toList(quickAffordances) })
-                add(launch { underTest.summary.toList(summary) })
-            }
+            val slots = collectLastValue(underTest.slots)
+            val quickAffordances = collectLastValue(underTest.quickAffordances)
+            val summary = collectLastValue(underTest.summary)
 
-            assertThat(summary.last().description).isEqualTo("None")
-            assertThat(summary.last().icon1).isNotNull()
-            assertThat(summary.last().icon2).isNull()
-            jobs.forEach { it.cancel() }
+            assertThat(summary()?.description).isEqualTo("None")
+            assertThat(summary()?.icon1).isNotNull()
+            assertThat(summary()?.icon2).isNull()
         }
 
     /**
@@ -385,8 +362,8 @@
      * @param selectedAffordanceText The text of the affordance that's expected to be selected
      */
     private fun assertPickerUiState(
-        slots: Map<String, KeyguardQuickAffordanceSlotViewModel>,
-        affordances: List<KeyguardQuickAffordanceViewModel>,
+        slots: Map<String, KeyguardQuickAffordanceSlotViewModel>?,
+        affordances: List<KeyguardQuickAffordanceViewModel>?,
         selectedSlotText: String,
         selectedAffordanceText: String,
     ) {
@@ -402,7 +379,8 @@
         )
 
         var foundSelectedAffordance = false
-        affordances.forEach { affordance ->
+        assertThat(affordances).isNotNull()
+        affordances?.forEach { affordance ->
             val nameMatchesSelectedName = affordance.contentDescription == selectedAffordanceText
             assertWithMessage(
                     "Expected affordance with name \"${affordance.contentDescription}\" to have" +
@@ -423,11 +401,11 @@
      * @param isSelected Whether that slot should be selected
      */
     private fun assertSlotTabUiState(
-        slots: Map<String, KeyguardQuickAffordanceSlotViewModel>,
+        slots: Map<String, KeyguardQuickAffordanceSlotViewModel>?,
         slotId: String,
         isSelected: Boolean,
     ) {
-        val viewModel = slots[slotId] ?: error("No slot with ID \"$slotId\"!")
+        val viewModel = slots?.get(slotId) ?: error("No slot with ID \"$slotId\"!")
         assertThat(viewModel.isSelected).isEqualTo(isSelected)
     }
 
@@ -436,13 +414,15 @@
      *
      * @param slots The observed slot view-models, keyed by slot ID
      * @param expectedAffordanceNameBySlotId The expected name of the selected affordance for each
-     * slot ID or `null` if it's expected for there to be no affordance for that slot in the preview
+     *   slot ID or `null` if it's expected for there to be no affordance for that slot in the
+     *   preview
      */
     private fun assertPreviewUiState(
-        slots: Map<String, KeyguardQuickAffordanceSlotViewModel>,
+        slots: Map<String, KeyguardQuickAffordanceSlotViewModel>?,
         expectedAffordanceNameBySlotId: Map<String, String?>,
     ) {
-        slots.forEach { (slotId, slotViewModel) ->
+        assertThat(slots).isNotNull()
+        slots?.forEach { (slotId, slotViewModel) ->
             val expectedAffordanceName = expectedAffordanceNameBySlotId[slotId]
             val actualAffordanceName =
                 slotViewModel.selectedQuickAffordances.firstOrNull()?.contentDescription
diff --git a/tests/src/com/android/customization/testing/TestCustomizationInjector.java b/tests/src/com/android/customization/testing/TestCustomizationInjector.java
index 15898c1..f4a659c 100644
--- a/tests/src/com/android/customization/testing/TestCustomizationInjector.java
+++ b/tests/src/com/android/customization/testing/TestCustomizationInjector.java
@@ -12,14 +12,19 @@
 import com.android.customization.module.ThemesUserEventLogger;
 import com.android.customization.picker.quickaffordance.data.repository.KeyguardQuickAffordancePickerRepository;
 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor;
-import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel;
+import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordanceSnapshotRestorer;
 import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient;
 import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClientImpl;
+import com.android.wallpaper.config.BaseFlags;
 import com.android.wallpaper.module.DrawableLayerResolver;
 import com.android.wallpaper.module.PackageStatusNotifier;
 import com.android.wallpaper.module.UserEventLogger;
+import com.android.wallpaper.picker.undo.domain.interactor.SnapshotRestorer;
 import com.android.wallpaper.testing.TestInjector;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import kotlinx.coroutines.Dispatchers;
 
 /**
@@ -32,8 +37,9 @@
     private DrawableLayerResolver mDrawableLayerResolver;
     private UserEventLogger mUserEventLogger;
     private KeyguardQuickAffordancePickerInteractor mKeyguardQuickAffordancePickerInteractor;
-    private KeyguardQuickAffordancePickerViewModel.Factory
-            mKeyguardQuickAffordancePickerViewModelFactory;
+    private BaseFlags mFlags;
+    private KeyguardQuickAffordanceProviderClient mKeyguardQuickAffordanceProviderClient;
+    private KeyguardQuickAffordanceSnapshotRestorer mKeyguardQuickAffordanceSnapshotRestorer;
 
     @Override
     public CustomizationPreferences getCustomizationPreferences(Context context) {
@@ -87,8 +93,51 @@
                     new KeyguardQuickAffordanceProviderClientImpl(context, Dispatchers.getIO());
             mKeyguardQuickAffordancePickerInteractor = new KeyguardQuickAffordancePickerInteractor(
                     new KeyguardQuickAffordancePickerRepository(client, Dispatchers.getIO()),
-                    client);
+                    client,
+                    () -> getKeyguardQuickAffordanceSnapshotRestorer(context));
         }
         return mKeyguardQuickAffordancePickerInteractor;
     }
+
+    @Override
+    public BaseFlags getFlags() {
+        if (mFlags == null) {
+            mFlags = new BaseFlags() {};
+        }
+
+        return mFlags;
+    }
+
+    @Override
+    public Map<Integer, SnapshotRestorer> getSnapshotRestorers(Context context) {
+        final Map<Integer, SnapshotRestorer> restorers = new HashMap<>();
+        restorers.put(
+                KEY_QUICK_AFFORDANCE_SNAPSHOT_RESTORER,
+                getKeyguardQuickAffordanceSnapshotRestorer(context));
+        return restorers;
+    }
+
+    /** Returns the {@link KeyguardQuickAffordanceProviderClient}. */
+    private KeyguardQuickAffordanceProviderClient getKeyguardQuickAffordancePickerProviderClient(
+            Context context) {
+        if (mKeyguardQuickAffordanceProviderClient == null) {
+            mKeyguardQuickAffordanceProviderClient =
+                    new KeyguardQuickAffordanceProviderClientImpl(context, Dispatchers.getIO());
+        }
+
+        return mKeyguardQuickAffordanceProviderClient;
+    }
+
+    private KeyguardQuickAffordanceSnapshotRestorer getKeyguardQuickAffordanceSnapshotRestorer(
+            Context context) {
+        if (mKeyguardQuickAffordanceSnapshotRestorer == null) {
+            mKeyguardQuickAffordanceSnapshotRestorer = new KeyguardQuickAffordanceSnapshotRestorer(
+                    getKeyguardQuickAffordancePickerInteractor(context),
+                    getKeyguardQuickAffordancePickerProviderClient(context));
+        }
+
+        return mKeyguardQuickAffordanceSnapshotRestorer;
+    }
+
+    private static final int KEY_QUICK_AFFORDANCE_SNAPSHOT_RESTORER = 1;
 }
diff --git a/themes/res/values-b+sr+Latn/strings.xml b/themes/res/values-b+sr+Latn/strings.xml
index 0497600..dca38db 100644
--- a/themes/res/values-b+sr+Latn/strings.xml
+++ b/themes/res/values-b+sr+Latn/strings.xml
@@ -17,12 +17,12 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="rainbow_color_name_red" msgid="7452506008058561006">"Crvena"</string>
-    <string name="rainbow_color_name_orange" msgid="2921298510262609543">"Narandžasta"</string>
-    <string name="rainbow_color_name_yellow" msgid="8675574652757989201">"Žuta"</string>
-    <string name="rainbow_color_name_green" msgid="1932895389710184112">"Zelena"</string>
-    <string name="rainbow_color_name_blue" msgid="3473176664458856892">"Plava"</string>
-    <string name="rainbow_color_name_purple" msgid="2704722524588084868">"Ljubičasta"</string>
-    <string name="rainbow_color_name_magenta" msgid="7248703626077785569">"Magenta"</string>
-    <string name="monochromatic_name" msgid="2554823570460886176">"Monohromatsko"</string>
+    <string name="rainbow_color_name_red" msgid="7452506008058561006">"Црвена"</string>
+    <string name="rainbow_color_name_orange" msgid="2921298510262609543">"Наранџаста"</string>
+    <string name="rainbow_color_name_yellow" msgid="8675574652757989201">"Жута"</string>
+    <string name="rainbow_color_name_green" msgid="1932895389710184112">"Зелена"</string>
+    <string name="rainbow_color_name_blue" msgid="3473176664458856892">"Плава"</string>
+    <string name="rainbow_color_name_purple" msgid="2704722524588084868">"Љубичаста"</string>
+    <string name="rainbow_color_name_magenta" msgid="7248703626077785569">"Магента"</string>
+    <string name="monochromatic_name" msgid="2554823570460886176">"Монохроматско"</string>
 </resources>