diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..57d30ce
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,101 @@
+//
+// Copyright (C) 2021 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+filegroup {
+    name: "ThemePicker_srcs",
+    srcs: [
+        "src/**/*.java",
+        "src/**/*.kt",
+        // Min requirement for CustomizationInjector and StatsLogUserEventLogger to build without Clock and Theme feature.
+        "src/com/android/customization/model/clock/BaseClockManager.java",
+        "src/com/android/customization/model/clock/Clockface.java",
+        "src/com/android/customization/model/clock/ClockManager.java",
+        "src/com/android/customization/model/clock/ClockProvider.java",
+        "src/com/android/customization/model/theme/OverlayManagerCompat.java",
+        "src/com/android/customization/model/theme/ThemeBundleProvider.java",
+        "src/com/android/customization/model/theme/ThemeManager.java",
+        "src/com/android/customization/model/theme/ThemeBundle.java",
+        "src/com/android/customization/model/theme/custom/CustomTheme.java",
+    ],
+    exclude_srcs: [
+        "src/com/android/customization/model/clock/**/*.java",
+        "src/com/android/customization/model/theme/**/*.java",
+        "src/com/android/customization/picker/clock/**/*.java",
+        "src/com/android/customization/picker/theme/**/*.java",
+    ],
+}
+
+filegroup {
+    name: "ThemePicker_Manifest",
+    srcs: [
+        "AndroidManifest.xml",
+    ],
+}
+
+genrule {
+    name: "ThemePicker_res",
+    tools: ["soong_zip"],
+    srcs: [
+        "res/**/*"
+    ],
+    out: ["ThemePicker_res.zip"],
+    cmd: "INPUTS=($(in)) && "
+        + "RES_DIR=$$(dirname $$(dirname $${INPUTS[0]})) && "
+        + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR"
+}
+
+//
+// Build app code.
+//
+android_app {
+    name: "ThemePicker",
+
+    static_libs: [
+        "wallpaper-common-deps",
+        "SettingsLibSettingsTheme",
+        "SystemUI-statsd",
+        "styleprotoslite",
+    ],
+
+    srcs: [
+        ":WallpaperPicker2_srcs",
+        ":ThemePicker_srcs",
+        "src_override/**/*.java",
+        "src_override/**/*.kt",
+    ],
+
+    use_embedded_native_libs: true,
+
+    resource_zips: [":WallpaperPicker2_res", ":ThemePicker_res"],
+
+    optimize: {
+        enabled: false,
+    },
+    kotlincflags: ["-Xjvm-default=enable"],
+    certificate: "",
+
+    privileged: true,
+    system_ext_specific: true,
+    platform_apis: true,
+    manifest: "AndroidManifest.xml",
+    additional_manifests: [":WallpaperPicker2_Manifest"],
+    overrides: ["WallpaperPicker2"],
+}
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index dd833f1..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# Copyright (C) 2018 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-
-LOCAL_PATH := $(call my-dir)
-WALLPAPER_PATH := ../WallpaperPicker2
-
-#
-# Build rule for ThemePicker app.
-#
-include $(CLEAR_VARS)
-LOCAL_USE_AAPT2 := true
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_STATIC_ANDROID_LIBRARIES := WallpaperPicker2CommonDepsLib
-LOCAL_STATIC_JAVA_LIBRARIES := styleprotosnano SystemUI-statsd SystemUISharedLib
-LOCAL_PROGUARD_ENABLED := disabled
-
-LOCAL_PACKAGE_NAME := ThemePicker
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_PRIVILEGED_MODULE := true
-LOCAL_SYSTEM_EXT_MODULE := true
-LOCAL_OVERRIDES_PACKAGES := WallpaperPicker2
-
-ifneq (,$(wildcard frameworks/base))
-  LOCAL_PRIVATE_PLATFORM_APIS := true
-else
-  LOCAL_SDK_VERSION := system_current
-  LOCAL_STATIC_JAVA_LIBRARIES += libSharedWallpaper
-endif
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(WALLPAPER_PATH)/src) \
-    $(call all-java-files-under, src) \
-    $(call all-java-files-under, src_override)
-
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-
-LOCAL_MANIFEST_FILE := AndroidManifest.xml
-
-include $(BUILD_PACKAGE)
-
-
-# ==================================================
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index d5f3c8b..90e05cb 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -8,7 +8,33 @@
     <uses-permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES"/>
     <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
     <uses-permission android:name="android.permission.SET_WALLPAPER_COMPONENT" />
-    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
+
+    <uses-permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE" />
+
+    <queries>
+        <!-- Specific intents Wallpaper picker query for -->
+        <!-- Intent filter with action SET_WALLPAPER -->
+        <intent>
+            <action android:name="android.intent.action.SET_WALLPAPER" />
+        </intent>
+        <!-- Intent filter with action GET_CONTENT and data's mimeType as "image/*" -->
+        <intent>
+            <action android:name="android.intent.action.GET_CONTENT" />
+            <data android:mimeType="image/*" />
+        </intent>
+        <!-- Intent filter with action VIEW -->
+        <intent>
+            <action android:name="android.intent.action.VIEW" />
+        </intent>
+        <!-- Intent filter with action WallpaperService (live wallpaper interface) -->
+        <intent>
+            <action android:name="android.service.wallpaper.WallpaperService" />
+        </intent>
+        <!-- Intent filter with action used to discover partner -->
+        <intent>
+            <action android:name="com.android.launcher3.action.PARTNER_CUSTOMIZATION" />
+        </intent>
+    </queries>
 
     <application
         tools:replace="android:icon,android:name"
@@ -22,24 +48,23 @@
         android:name="com.android.customization.picker.CustomizationPickerApplication"
         android:theme="@style/CustomizationTheme">
         <activity
-            android:name="com.android.customization.picker.CustomizationPickerActivity"
+            tools:node="replace"
+            android:name="com.android.wallpaper.picker.CustomizationPickerActivity"
             android:label="@string/app_name"
             android:resizeableActivity="false"
-            android:exported="true"
-            android:theme="@style/CustomizationTheme.NoActionBar">
-            <intent-filter>
-                <action android:name="android.intent.action.SET_WALLPAPER"/>
+            android:theme="@style/CustomizationTheme.NoActionBar"
+            android:exported="false"/>
 
-                <category android:name="android.intent.category.DEFAULT"/>
-            </intent-filter>
-        </activity>
-        <activity android:name="com.android.customization.picker.theme.CustomThemeActivity"
-                  android:resizeableActivity="false"
-                  android:theme="@style/CustomizationTheme.NoActionBar"/>
+        <activity-alias
+            android:name="com.android.customization.picker.CustomizationPickerActivity"
+            android:targetActivity="com.android.wallpaper.picker.CustomizationPickerActivity"
+            android:label="@string/app_name"
+            android:exported="true">
+             <intent-filter>
+                 <action android:name="android.intent.action.SET_WALLPAPER"/>
+                 <category android:name="android.intent.category.DEFAULT"/>
+             </intent-filter>
+        </activity-alias>
 
-        <activity android:name="com.android.customization.picker.ViewOnlyFullPreviewActivity"
-            android:resizeableActivity="false"
-            android:theme="@style/CustomizationTheme.NoActionBar"/>
     </application>
-
 </manifest>
diff --git a/res/color/bottom_nav_item_color.xml b/res/color/bottom_nav_item_color.xml
index bf94de9..d22a759 100644
--- a/res/color/bottom_nav_item_color.xml
+++ b/res/color/bottom_nav_item_color.xml
@@ -20,5 +20,5 @@
         android:color="?android:colorAccent" />
     <item
         android:state_checked="false"
-        android:color="@color/bottom_bar_icon_unchecked_color" />
+        android:color="?android:textColorTertiary" />
 </selector>
\ No newline at end of file
diff --git a/res/color/edittext_background_color.xml b/res/color/edittext_background_color.xml
index 9191154..5801878 100644
--- a/res/color/edittext_background_color.xml
+++ b/res/color/edittext_background_color.xml
@@ -15,7 +15,11 @@
      limitations under the License.
 -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:alpha="0.16" android:color="@color/edit_background_base" android:state_hovered="true"/>
-    <item android:alpha="0.04" android:color="@color/edit_background_base" android:state_enabled="false"/>
-    <item android:alpha="0.05" android:color="@color/edit_background_base"/>
+    <item android:alpha="0.16"
+        android:color="?android:textColorTertiary"
+        android:state_hovered="true"/>
+    <item android:alpha="0.04"
+        android:color="?android:textColorTertiary"
+        android:state_enabled="false"/>
+    <item android:alpha="0.05" android:color="?android:textColorTertiary"/>
 </selector>
\ No newline at end of file
diff --git a/res/drawable/option_color.xml b/res/drawable/beta_tag_background.xml
similarity index 63%
rename from res/drawable/option_color.xml
rename to res/drawable/beta_tag_background.xml
index 1fc1837..8104531 100644
--- a/res/drawable/option_color.xml
+++ b/res/drawable/beta_tag_background.xml
@@ -1,6 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
 <!--
-     Copyright (C) 2019 The Android Open Source Project
+     Copyright (C) 2021 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -15,7 +14,11 @@
      limitations under the License.
 -->
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     android:shape="rectangle">
-    <solid android:color="@android:color/black"  />
-    <corners android:radius="6dp" />
-</shape>
+    <size
+        android:width="@dimen/beta_tag_background_width"
+        android:height="@dimen/beta_tag_background_height" />
+    <corners android:radius="@dimen/beta_tag_background_height" />
+    <solid android:color="?androidprv:attr/colorAccentPrimary" />
+</shape>
\ No newline at end of file
diff --git a/res/drawable/check_circle_grey_large.xml b/res/drawable/check_circle_grey_large.xml
new file mode 100644
index 0000000..cf42bf3
--- /dev/null
+++ b/res/drawable/check_circle_grey_large.xml
@@ -0,0 +1,32 @@
+<!--
+     Copyright (C) 2021 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
+    <item>
+        <shape android:shape="oval">
+            <size android:width="@dimen/center_check_size"
+                android:height="@dimen/center_check_size" />
+            <solid android:color="?androidprv:attr/colorAccentPrimaryVariant" />
+        </shape>
+    </item>
+    <item>
+        <inset android:drawable="@drawable/ic_check_24dp"
+            android:insetTop="@dimen/center_check_padding"
+            android:insetRight="@dimen/center_check_padding"
+            android:insetBottom="@dimen/center_check_padding"
+            android:insetLeft="@dimen/center_check_padding"/>
+    </item>
+</layer-list>
diff --git a/res/drawable/ic_grid_24px.xml b/res/drawable/ic_grid_24px.xml
new file mode 100644
index 0000000..872ba87
--- /dev/null
+++ b/res/drawable/ic_grid_24px.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="?android:textColorPrimary"
+      android:pathData="M22,9L22,7h-5L17,2h-2v5L9,7L9,2L7,2v5L2,7v2h5v6L2,15v2h5v5h2v-5h6v5h2v-5h5v-2h-5L17,9h5zM15,15L9,15L9,9h6v6z"/>
+</vector>
diff --git a/res/drawable/ic_home.xml b/res/drawable/ic_home.xml
index c1c8e56..be8f1fe 100644
--- a/res/drawable/ic_home.xml
+++ b/res/drawable/ic_home.xml
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@color/icon_background" />
+    <background android:drawable="?android:colorAccent" />
     <foreground>
         <inset android:inset="16.6%" android:drawable="@drawable/icon_foreground" />
     </foreground>
diff --git a/res/drawable/ic_nav_wallpaper.xml b/res/drawable/ic_nav_wallpaper.xml
deleted file mode 100644
index c935666..0000000
--- a/res/drawable/ic_nav_wallpaper.xml
+++ /dev/null
@@ -1,25 +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.
--->
-<!-- Represents the wallpaper icon (a "landscape" shape in a box) -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path
-        android:fillColor="@android:color/white"
-        android:pathData="M9,12.71l2.14,2.58l3,-3.87L18,16.57H6L9,12.71zM5,5h6V3H5C3.9,3 3,3.9 3,5v6h2V5zM19,19h-6v2h6c1.1,0 2,-0.9 2,-2v-6h-2V19zM5,19v-6H3v6c0,1.1 0.9,2 2,2h6v-2H5zM19,5v6h2V5c0,-1.1 -0.9,-2 -2,-2h-6v2H19zM16,9c0.55,0 1,-0.45 1,-1s-0.45,-1 -1,-1c-0.55,0 -1,0.45 -1,1S15.45,9 16,9z"/>
-</vector>
diff --git a/res/drawable/ic_tune.xml b/res/drawable/ic_tune.xml
deleted file mode 100644
index a310d56..0000000
--- a/res/drawable/ic_tune.xml
+++ /dev/null
@@ -1,24 +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.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="20dp"
-    android:height="20dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-  <path
-      android:fillColor="@android:color/white"
-      android:pathData="M3,17v2h6v-2H3zM3,5v2h10V5H3zM13,21v-2h8v-2h-8v-2h-2v6H13zM7,9v2H3v2h4v2h2V9H7zM21,13v-2H11v2H21zM15,9h2V7h4V5h-4V3h-2V9z"/>
-</vector>
diff --git a/res/drawable/ic_wifi_24px.xml b/res/drawable/ic_widget.xml
similarity index 67%
rename from res/drawable/ic_wifi_24px.xml
rename to res/drawable/ic_widget.xml
index 0e27c57..7d91d2b 100644
--- a/res/drawable/ic_wifi_24px.xml
+++ b/res/drawable/ic_widget.xml
@@ -1,5 +1,5 @@
 <!--
-     Copyright (C) 2019 The Android Open Source Project
+     Copyright (C) 2020 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -18,7 +18,7 @@
     android:height="24dp"
     android:viewportWidth="24"
     android:viewportHeight="24">
-    <path
-        android:fillColor="@android:color/white"
-        android:pathData="M1,9l2,2c4.97,-4.97 13.03,-4.97 18,0l2,-2C16.93,2.93 7.08,2.93 1,9zM9,17l3,3l3,-3C13.35,15.34 10.66,15.34 9,17zM5,13l2,2c2.76,-2.76 7.24,-2.76 10,0l2,-2C15.14,9.14 8.87,9.14 5,13z"/>
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M16.66,4.52l2.83,2.83l-2.83,2.83l-2.83,-2.83L16.66,4.52M9,5v4H5V5H9M19,15v4h-4v-4H19M9,15v4H5v-4H9M16.66,1.69L11,7.34L16.66,13l5.66,-5.66L16.66,1.69L16.66,1.69zM11,3H3v8h8V7.34V3L11,3zM21,13h-4.34H13v8h8V13L21,13zM11,13H3v8h8V13L11,13z"/>
 </vector>
diff --git a/res/drawable/option_border.xml b/res/drawable/option_border.xml
new file mode 100644
index 0000000..6a9d5e9
--- /dev/null
+++ b/res/drawable/option_border.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+     Copyright (C) 2019 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:color="?android:attr/colorControlHighlight">
+    <item android:id="@android:id/mask">
+        <shape android:shape="rectangle">
+            <solid android:color="@android:color/white"/>
+            <corners android:radius="@dimen/option_tile_radius" />
+        </shape>
+    </item>
+    <item>
+        <shape android:shape="rectangle">
+            <solid android:color="?androidprv:attr/colorSurface"/>
+            <corners android:radius="@dimen/option_tile_radius" />
+        </shape>
+    </item>
+</ripple>
diff --git a/res/drawable/option_border_color.xml b/res/drawable/option_border_color.xml
new file mode 100644
index 0000000..ba5097b
--- /dev/null
+++ b/res/drawable/option_border_color.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+     Copyright (C) 2021 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:color="?android:attr/colorControlHighlight">
+    <item android:id="@+id/systempalettecolor">
+        <shape android:shape="rectangle">
+            <solid android:color="?androidprv:attr/colorSurface"/>
+            <corners android:radius="@dimen/option_tile_radius" />
+        </shape>
+    </item>
+    <item android:id="@android:id/mask">
+        <shape android:shape="rectangle">
+            <solid android:color="?androidprv:attr/colorSurface"/>
+            <corners android:radius="@dimen/option_tile_radius" />
+        </shape>
+    </item>
+</ripple>
diff --git a/res/drawable/theme_cover_scrim.xml b/res/drawable/theme_cover_scrim.xml
deleted file mode 100644
index c75213c..0000000
--- a/res/drawable/theme_cover_scrim.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-       android:shape="rectangle">
-   <gradient
-        android:angle="90"
-        android:centerY="25%"
-        android:startColor="@color/black_38_alpha"
-        android:centerColor="@android:color/transparent"
-        android:endColor="@android:color/transparent"
-        android:type="linear" />
-</shape>
\ No newline at end of file
diff --git a/res/drawable/tip_dot.xml b/res/drawable/tip_dot.xml
index 3c0f912..aafb9e6 100644
--- a/res/drawable/tip_dot.xml
+++ b/res/drawable/tip_dot.xml
@@ -20,8 +20,8 @@
   <size
       android:width="@dimen/tip_dot_size"
       android:height="@dimen/tip_dot_size" />
-  <solid android:color="@color/tip_dot_color" />
+  <solid android:color="?android:colorAccent" />
   <stroke
-      android:color="@color/tip_dot_line_color"
+      android:color="?android:colorPrimary"
       android:width="@dimen/tip_dot_line_width" />
 </shape>
diff --git a/res/layout-land/fragment_clock_picker.xml b/res/layout-land/fragment_clock_picker.xml
index e2c5d34..7638e7f 100644
--- a/res/layout-land/fragment_clock_picker.xml
+++ b/res/layout-land/fragment_clock_picker.xml
@@ -38,7 +38,7 @@
                 android:layout_width="0dp"
                 android:layout_height="match_parent"
                 android:layout_weight="1"
-                android:background="@color/secondary_color"
+                android:background="?android:colorSecondary"
                 app:card_style="screen_aspect_ratio"/>
 
             <LinearLayout
diff --git a/res/layout-land/fragment_custom_theme_component.xml b/res/layout-land/fragment_custom_theme_component.xml
index 6883d63..2679bdf 100644
--- a/res/layout-land/fragment_custom_theme_component.xml
+++ b/res/layout-land/fragment_custom_theme_component.xml
@@ -45,7 +45,7 @@
         <View
             android:layout_width="1dp"
             android:layout_height="match_parent"
-            android:background="@color/divider_color"/>
+            android:background="?android:colorForeground"/>
         <LinearLayout
             android:id="@+id/options_section"
             android:layout_width="0dp"
diff --git a/res/layout-land/fragment_custom_theme_name.xml b/res/layout-land/fragment_custom_theme_name.xml
index 53cf513..a60b9c2 100644
--- a/res/layout-land/fragment_custom_theme_name.xml
+++ b/res/layout-land/fragment_custom_theme_name.xml
@@ -34,7 +34,7 @@
             android:paddingTop="@dimen/preview_content_padding_top"
             android:paddingBottom="@dimen/preview_content_padding_bottom"
             android:clipToPadding="false"
-            android:background="@color/fullscreen_preview_background">
+            android:background="?android:colorSecondary">
             <include layout="@layout/theme_preview_card"/>
         </FrameLayout>
         <LinearLayout
diff --git a/res/layout-land/fragment_grid_picker.xml b/res/layout-land/fragment_grid_picker.xml
index dab9308..2861e7d 100644
--- a/res/layout-land/fragment_grid_picker.xml
+++ b/res/layout-land/fragment_grid_picker.xml
@@ -38,7 +38,7 @@
             android:clipToPadding="false"
             android:paddingTop="@dimen/preview_content_padding_top"
             android:paddingBottom="@dimen/preview_content_padding_bottom"
-            android:background="@color/fullscreen_preview_background">
+            android:background="?android:colorSecondary">
             <include layout="@layout/grid_preview_card"/>
         </FrameLayout>
 
diff --git a/res/layout-land/fragment_theme_picker.xml b/res/layout-land/fragment_theme_picker.xml
index fe660cf..d358037 100644
--- a/res/layout-land/fragment_theme_picker.xml
+++ b/res/layout-land/fragment_theme_picker.xml
@@ -42,7 +42,7 @@
                     android:paddingTop="@dimen/preview_content_padding_top"
                     android:paddingBottom="@dimen/preview_content_padding_bottom"
                     android:clipToPadding="false"
-                    android:background="@color/fullscreen_preview_background">
+                    android:background="?android:colorSecondary">
                     <include layout="@layout/theme_preview_card"/>
                 </FrameLayout>
             </FrameLayout>
diff --git a/res/layout/activity_customization_picker_main.xml b/res/layout/activity_customization_picker_main.xml
deleted file mode 100755
index 40af303..0000000
--- a/res/layout/activity_customization_picker_main.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <FrameLayout
-        android:id="@+id/fragment_container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_marginBottom="@dimen/bottom_navbar_height"/>
-
-    <com.google.android.material.bottomnavigation.BottomNavigationView
-        android:id="@+id/main_bottom_nav"
-        style="@style/BottomNavStyle"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/bottom_navbar_height"
-        android:layout_gravity="bottom"
-        app:labelVisibilityMode="labeled"
-        app:menu="@menu/bottom_navigation_menu"/>
-
-    <include layout="@layout/bottom_action_bar" />
-
-</FrameLayout>
diff --git a/res/layout/activity_full_preview.xml b/res/layout/activity_full_preview.xml
index b1e0584..dff7a48 100644
--- a/res/layout/activity_full_preview.xml
+++ b/res/layout/activity_full_preview.xml
@@ -22,7 +22,7 @@
         android:id="@+id/preview_fragment_container"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_marginBottom="@dimen/bottom_navbar_height" />
+        android:layout_marginBottom="@dimen/bottom_actions_height" />
 
     <include layout="@layout/bottom_action_bar" />
 </FrameLayout>
diff --git a/res/layout/clock_preview_card.xml b/res/layout/clock_preview_card.xml
index 5128dda..46987c7 100644
--- a/res/layout/clock_preview_card.xml
+++ b/res/layout/clock_preview_card.xml
@@ -25,6 +25,6 @@
         android:id="@+id/clock_preview_image"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/clockface_preview_background"/>
+        android:background="@android:color/black"/>
 
 </androidx.cardview.widget.CardView>
\ No newline at end of file
diff --git a/res/layout/dark_mode_section_view.xml b/res/layout/dark_mode_section_view.xml
new file mode 100644
index 0000000..b9ab0e3
--- /dev/null
+++ b/res/layout/dark_mode_section_view.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2021 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<com.android.customization.picker.mode.DarkModeSectionView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?selectableItemBackground"
+    android:clickable="true"
+    android:gravity="center_vertical"
+    android:orientation="horizontal"
+    android:paddingVertical="@dimen/section_vertical_padding"
+    android:paddingHorizontal="@dimen/section_horizontal_padding">
+
+    <TextView
+        android:id="@+id/dark_mode_toggle_title"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:text="@string/mode_title"
+        style="@style/SectionTitleTextStyle" />
+
+    <Switch
+        android:id="@+id/dark_mode_toggle"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:background="@null"
+        android:clickable="false"
+        android:focusable="false"
+        style="@style/Switch.SettingsLib" />
+
+</com.android.customization.picker.mode.DarkModeSectionView>
diff --git a/res/layout/fragment_clock_picker.xml b/res/layout/fragment_clock_picker.xml
index 6b9f94c..8ca4863 100644
--- a/res/layout/fragment_clock_picker.xml
+++ b/res/layout/fragment_clock_picker.xml
@@ -36,7 +36,7 @@
                 android:id="@+id/clock_preview_pager"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:background="@color/preview_pager_background"
+                android:background="?android:colorSecondary"
                 app:layout_constrainedHeight="true"
                 app:layout_constraintBottom_toTopOf="@id/options_container"
                 app:layout_constraintEnd_toEndOf="parent"
diff --git a/res/layout/fragment_custom_theme_component.xml b/res/layout/fragment_custom_theme_component.xml
index 26feab8..7bae84b 100644
--- a/res/layout/fragment_custom_theme_component.xml
+++ b/res/layout/fragment_custom_theme_component.xml
@@ -45,17 +45,14 @@
                 android:id="@+id/component_preview_content"
                 layout="@layout/theme_component_preview"
                 android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center_vertical"
-                android:layout_marginHorizontal="@dimen/preview_page_horizontal_margin"
-                android:layout_marginTop="@dimen/preview_page_top_margin"/>
+                android:layout_height="match_parent"/>
         </FrameLayout>
 
         <View
             android:id="@+id/divider"
             android:layout_width="match_parent"
             android:layout_height="1dp"
-            android:background="@color/divider_color"
+            android:background="?android:colorForeground"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/component_preview_container"
diff --git a/res/layout/fragment_custom_theme_name.xml b/res/layout/fragment_custom_theme_name.xml
index 532e904..98edd29 100644
--- a/res/layout/fragment_custom_theme_name.xml
+++ b/res/layout/fragment_custom_theme_name.xml
@@ -19,8 +19,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:background="?android:colorPrimary">
+    android:orientation="vertical">
     <include layout="@layout/section_header"/>
 
     <androidx.constraintlayout.widget.ConstraintLayout
@@ -34,7 +33,6 @@
             android:paddingTop="@dimen/preview_content_padding_top"
             android:paddingBottom="@dimen/preview_content_padding_bottom"
             android:clipToPadding="false"
-            android:background="@color/fullscreen_preview_background"
             app:layout_constrainedHeight="true"
             app:layout_constraintBottom_toTopOf="@+id/component_scroll_view"
             app:layout_constraintEnd_toEndOf="parent"
@@ -51,6 +49,7 @@
                 android:id="@+id/component_scroll_view"
                 android:layout_width="match_parent"
                 android:layout_height="0dp"
+                android:background="?android:colorPrimary"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/component_preview_container"
diff --git a/res/layout/fragment_grid_full_preview.xml b/res/layout/fragment_grid_full_preview.xml
index d39be36..b1a0ca3 100644
--- a/res/layout/fragment_grid_full_preview.xml
+++ b/res/layout/fragment_grid_full_preview.xml
@@ -28,8 +28,7 @@
         android:layout_weight="1"
         android:paddingTop="@dimen/full_preview_page_default_padding_top"
         android:paddingBottom="@dimen/full_preview_page_default_padding_bottom"
-        android:clipToPadding="false"
-        android:background="@color/fullscreen_preview_background">
+        android:clipToPadding="false">
 
         <include layout="@layout/grid_preview_card"/>
     </FrameLayout>
diff --git a/res/layout/fragment_grid_picker.xml b/res/layout/fragment_grid_picker.xml
index 84c8163..aec8e49 100644
--- a/res/layout/fragment_grid_picker.xml
+++ b/res/layout/fragment_grid_picker.xml
@@ -19,8 +19,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:background="?android:colorPrimary">
+    android:orientation="vertical">
     <include layout="@layout/section_header"/>
 
     <FrameLayout
@@ -35,46 +34,29 @@
             <FrameLayout
                 android:id="@+id/preview_card_container"
                 android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:paddingTop="@dimen/preview_content_padding_top"
-                android:paddingBottom="@dimen/preview_content_padding_bottom"
-                android:background="@color/preview_pager_background"
-                android:clipToPadding="false"
-                app:layout_constrainedHeight="true"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toTopOf="@id/options_title"
-                app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
-                app:layout_constraintVertical_bias="0.0"
-                app:layout_constraintHeight_percent="@dimen/preview_pager_maximum_height_ratio">
-                <include layout="@layout/grid_preview_card"/>
-            </FrameLayout>
-
-            <TextView
-                android:id="@+id/options_title"
-                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:gravity="center"
-                android:paddingVertical="18dp"
-                android:lineHeight="24dp"
-                android:singleLine="true"
-                android:text="@string/grid_options_title"
-                android:textAppearance="@style/TitleTextAppearance"
-                app:layout_constraintStart_toStartOf="parent"
+                android:clipToPadding="false"
+                android:paddingTop="@dimen/preview_page_top_margin"
+                android:paddingBottom="@dimen/preview_page_bottom_margin"
+                app:layout_constrainedHeight="true"
+                app:layout_constraintBottom_toTopOf="@+id/options_container"
                 app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/preview_card_container"
-                app:layout_constraintBottom_toTopOf="@id/options_container" />
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent">
+
+                <include layout="@layout/grid_preview_card" />
+            </FrameLayout>
 
             <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/options_container"
                 android:layout_width="match_parent"
-                android:layout_height="0dp"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/options_title"
+                android:layout_height="@dimen/options_container_height"
+                android:layout_marginBottom="@dimen/grid_options_container_bottom_margin"
+                android:paddingHorizontal="@dimen/grid_options_container_horizontal_margin"
+                android:clipToPadding="false"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintVertical_bias="1.0" />
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent" />
         </androidx.constraintlayout.widget.ConstraintLayout>
 
         <androidx.core.widget.ContentLoadingProgressBar
diff --git a/res/layout/fragment_theme_full_preview.xml b/res/layout/fragment_theme_full_preview.xml
index 008a795..762af07 100644
--- a/res/layout/fragment_theme_full_preview.xml
+++ b/res/layout/fragment_theme_full_preview.xml
@@ -28,8 +28,7 @@
         android:layout_weight="1"
         android:paddingTop="@dimen/full_preview_page_default_padding_top"
         android:paddingBottom="@dimen/full_preview_page_default_padding_bottom"
-        android:clipToPadding="false"
-        android:background="@color/fullscreen_preview_background">
+        android:clipToPadding="false">
 
         <include layout="@layout/theme_preview_card"/>
     </FrameLayout>
diff --git a/res/layout/fragment_theme_picker.xml b/res/layout/fragment_theme_picker.xml
index 2e3a6bb..0ecfdd0 100644
--- a/res/layout/fragment_theme_picker.xml
+++ b/res/layout/fragment_theme_picker.xml
@@ -18,8 +18,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:background="?android:colorPrimary">
+    android:orientation="vertical">
     <include layout="@layout/section_header"/>
 
     <FrameLayout
@@ -36,7 +35,6 @@
                 android:layout_height="0dp"
                 android:paddingTop="@dimen/preview_content_padding_top"
                 android:paddingBottom="@dimen/preview_content_padding_bottom"
-                android:background="@color/preview_pager_background"
                 android:clipToPadding="false"
                 app:layout_constrainedHeight="true"
                 app:layout_constraintStart_toStartOf="parent"
diff --git a/res/layout/grid_option.xml b/res/layout/grid_option.xml
index d06ff60..0931dea 100644
--- a/res/layout/grid_option.xml
+++ b/res/layout/grid_option.xml
@@ -15,21 +15,13 @@
      limitations under the License.
 -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
+    android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:paddingHorizontal="@dimen/option_padding_horizontal"
     android:paddingBottom="@dimen/option_bottom_margin"
     android:clipChildren="false"
     android:clipToPadding="false"
     android:orientation="vertical">
 
-    <TextView
-        android:id="@+id/option_label"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal"
-        android:layout_marginBottom="@dimen/theme_option_label_margin"
-        android:textAppearance="@style/OptionTitleTextAppearance"/>
     <FrameLayout
         android:id="@+id/option_tile"
         android:layout_width="@dimen/option_tile_width"
@@ -43,4 +35,13 @@
             android:layout_width="match_parent"
             android:layout_height="match_parent"/>
     </FrameLayout>
+
+    <TextView
+        android:id="@+id/option_label"
+        android:layout_width="wrap_content"
+        android:layout_height="24dp"
+        android:layout_gravity="center_horizontal"
+        android:layout_marginTop="@dimen/theme_option_label_margin"
+        android:gravity="center"
+        android:textAppearance="@style/OptionTitleTextAppearance" />
 </LinearLayout>
diff --git a/res/layout/grid_preview_card.xml b/res/layout/grid_preview_card.xml
index e824460..e333ca7 100644
--- a/res/layout/grid_preview_card.xml
+++ b/res/layout/grid_preview_card.xml
@@ -26,8 +26,7 @@
     <ImageView
         android:id="@+id/wallpaper_preview_image"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="@color/primary_color" />
+        android:layout_height="match_parent" />
 
     <SurfaceView
         android:id="@+id/wallpaper_preview_surface"
@@ -39,4 +38,4 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:importantForAccessibility="noHideDescendants" />
-</androidx.cardview.widget.CardView>
\ No newline at end of file
+</androidx.cardview.widget.CardView>
diff --git a/res/layout/grid_section_view.xml b/res/layout/grid_section_view.xml
new file mode 100644
index 0000000..ee7b76f
--- /dev/null
+++ b/res/layout/grid_section_view.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2021 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<com.android.customization.picker.grid.GridSectionView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?selectableItemBackground"
+    android:clickable="true"
+    android:paddingVertical="@dimen/section_top_padding"
+    android:paddingHorizontal="@dimen/section_horizontal_padding"
+    android:orientation="horizontal">
+
+    <LinearLayout
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:orientation="vertical">
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="@string/grid_title"
+            style="@style/SectionTitleTextStyle" />
+
+        <TextView
+            android:id="@+id/grid_section_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            style="@style/SectionSubtitleTextStyle"/>
+    </LinearLayout>
+
+    <ImageView
+        android:id="@+id/grid_section_tile"
+        android:layout_width="@dimen/option_tile_width"
+        android:layout_height="@dimen/option_tile_width"
+        android:scaleType="center"
+        android:src="@drawable/ic_grid_24px"
+        android:background="@drawable/option_border_color"
+        android:contentDescription="@string/gird_picker_entry_content_description" />
+
+</com.android.customization.picker.grid.GridSectionView>
\ No newline at end of file
diff --git a/res/layout/preview_card_color_content.xml b/res/layout/preview_card_color_content.xml
index 1de2cd4..9ab90c1 100644
--- a/res/layout/preview_card_color_content.xml
+++ b/res/layout/preview_card_color_content.xml
@@ -22,9 +22,8 @@
     android:gravity="center_horizontal"
     android:orientation="vertical">
     <LinearLayout
-        android:layout_width="match_parent"
+        android:layout_width="@dimen/preview_theme_color_component_size"
         android:layout_height="wrap_content"
-        android:layout_weight="0"
         android:gravity="center|bottom"
         android:orientation="horizontal">
         <FrameLayout
@@ -89,7 +88,7 @@
         android:layout_height="0dp"
         android:layout_weight="1" />
     <LinearLayout
-        android:layout_width="match_parent"
+        android:layout_width="@dimen/preview_theme_color_component_size"
         android:layout_height="wrap_content"
         android:layout_weight="0"
         android:orientation="horizontal"
@@ -109,9 +108,8 @@
         android:layout_height="0dp"
         android:layout_weight="1" />
     <LinearLayout
-        android:layout_width="match_parent"
+        android:layout_width="@dimen/preview_theme_color_component_size"
         android:layout_height="wrap_content"
-        android:layout_weight="0"
         android:gravity="center"
         android:orientation="horizontal">
         <FrameLayout
@@ -159,8 +157,4 @@
                 android:enabled="false"/>
         </FrameLayout>
     </LinearLayout>
-    <Space
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1" />
 </LinearLayout>
diff --git a/res/layout/preview_card_font_content.xml b/res/layout/preview_card_font_content.xml
index fb7879e..408778e 100644
--- a/res/layout/preview_card_font_content.xml
+++ b/res/layout/preview_card_font_content.xml
@@ -20,15 +20,13 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_gravity="center"
-    android:weightSum="7"
     android:orientation="vertical"
     tools:showIn="@layout/theme_preview_card">
     <TextView
         style="@style/FontCardTitleStyle"
         android:id="@+id/font_card_title"
         android:layout_width="wrap_content"
-        android:layout_height="16sp"
-        android:layout_weight="1.5"
+        android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:gravity="center_horizontal"
         android:maxLines="1"
@@ -36,10 +34,10 @@
     <Space
         android:layout_width="match_parent"
         android:layout_height="0dp"
-        android:layout_weight="0"/>
+        android:layout_weight="1"/>
     <View
         android:id="@+id/font_card_divider"
-        android:layout_width="15dp"
+        android:layout_width="16dp"
         android:layout_height="2dp"
         android:layout_gravity="center"
         android:background="?android:colorAccent"/>
@@ -50,8 +48,7 @@
     <TextView
         style="@style/FontCardBodyTextStyle"
         android:id="@+id/font_card_body"
-        android:layout_height="56sp"
-        android:layout_weight="2"
+        android:layout_height="wrap_content"
         android:layout_gravity="bottom|center_horizontal"
         android:gravity="center_horizontal"
         android:text="@string/font_card_body"/>
diff --git a/res/layout/preview_card_icon_content.xml b/res/layout/preview_card_icon_content.xml
index ce40c48..29620c8 100644
--- a/res/layout/preview_card_icon_content.xml
+++ b/res/layout/preview_card_icon_content.xml
@@ -22,7 +22,7 @@
     android:gravity="center_horizontal"
     android:orientation="vertical">
     <LinearLayout
-        android:layout_width="match_parent"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:gravity="center_horizontal"
         android:orientation="horizontal">
@@ -33,7 +33,7 @@
             android:layout_weight="1"
             android:tint="@color/theme_preview_icon_color"/>
         <Space
-            android:layout_width="0dp"
+            android:layout_width="@dimen/preview_theme_icon_size"
             android:layout_height="match_parent"
             android:layout_weight="0" />
         <ImageView
@@ -43,7 +43,7 @@
             android:layout_weight="1"
             android:tint="@color/theme_preview_icon_color"/>
         <Space
-            android:layout_width="0dp"
+            android:layout_width="@dimen/preview_theme_icon_size"
             android:layout_height="match_parent"
             android:layout_weight="0" />
         <ImageView
@@ -55,10 +55,9 @@
     </LinearLayout>
     <Space
         android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1" />
+        android:layout_height="68dp" />
     <LinearLayout
-        android:layout_width="match_parent"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:gravity="bottom|center_horizontal"
         android:orientation="horizontal">
@@ -69,7 +68,7 @@
             android:layout_weight="1"
             android:tint="@color/theme_preview_icon_color"/>
         <Space
-            android:layout_width="0dp"
+            android:layout_width="@dimen/preview_theme_icon_size"
             android:layout_height="match_parent"
             android:layout_weight="0" />
         <ImageView
@@ -79,7 +78,7 @@
             android:layout_weight="1"
             android:tint="@color/theme_preview_icon_color"/>
         <Space
-            android:layout_width="0dp"
+            android:layout_width="@dimen/preview_theme_icon_size"
             android:layout_height="match_parent"
             android:layout_weight="0" />
         <ImageView
@@ -89,8 +88,4 @@
             android:layout_weight="1"
             android:tint="@color/theme_preview_icon_color"/>
     </LinearLayout>
-    <Space
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1" />
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/preview_card_shape_content.xml b/res/layout/preview_card_shape_content.xml
index 67d3526..0afa6bc 100644
--- a/res/layout/preview_card_shape_content.xml
+++ b/res/layout/preview_card_shape_content.xml
@@ -22,7 +22,7 @@
     android:gravity="center_horizontal"
     android:orientation="vertical">
         <LinearLayout
-            android:layout_width="match_parent"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:gravity="center_horizontal"
             android:orientation="horizontal">
@@ -39,7 +39,7 @@
                             android:elevation="4dp"/>
                 </FrameLayout>
                 <Space
-                    android:layout_width="0dp"
+                    android:layout_width="@dimen/preview_theme_shape_size"
                     android:layout_height="match_parent"
                     android:layout_weight="0" />
                 <FrameLayout
@@ -55,7 +55,7 @@
                             android:elevation="4dp"/>
                 </FrameLayout>
                 <Space
-                    android:layout_width="0dp"
+                    android:layout_width="@dimen/preview_theme_shape_size"
                     android:layout_height="match_parent"
                     android:layout_weight="0" />
                 <FrameLayout
@@ -73,10 +73,9 @@
         </LinearLayout>
         <Space
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1" />
+            android:layout_height="60dp" />
         <LinearLayout
-            android:layout_width="match_parent"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:gravity="bottom|center_horizontal"
             android:orientation="horizontal">
@@ -93,7 +92,7 @@
                             android:elevation="4dp"/>
                 </FrameLayout>
                 <Space
-                    android:layout_width="0dp"
+                    android:layout_width="@dimen/preview_theme_shape_size"
                     android:layout_height="match_parent"
                     android:layout_weight="0" />
                 <FrameLayout
@@ -109,7 +108,7 @@
                             android:elevation="4dp"/>
                 </FrameLayout>
                 <Space
-                    android:layout_width="0dp"
+                    android:layout_width="@dimen/preview_theme_shape_size"
                     android:layout_height="match_parent"
                     android:layout_weight="0" />
                 <FrameLayout
@@ -125,8 +124,4 @@
                             android:elevation="4dp"/>
                 </FrameLayout>
         </LinearLayout>
-        <Space
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1" />
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/theme_component_preview.xml b/res/layout/theme_component_preview.xml
index bf3255d..67abe6b 100644
--- a/res/layout/theme_component_preview.xml
+++ b/res/layout/theme_component_preview.xml
@@ -14,8 +14,6 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
-
 <androidx.constraintlayout.widget.ConstraintLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
@@ -26,20 +24,7 @@
     android:clipToPadding="false"
     android:maxHeight="@dimen/preview_theme_max_height"
     android:minHeight="@dimen/preview_theme_min_height"
-    android:paddingHorizontal="@dimen/preview_card_padding"
-    android:paddingTop="@dimen/preview_card_top_padding">
-
-        <ViewStub
-            android:id="@+id/theme_preview_top_bar"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout="@layout/theme_preview_topbar"
-            app:layout_constraintBottom_toTopOf="@+id/theme_preview_card_header"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHorizontal_bias="0.5"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_chainStyle="spread_inside"/>
+    android:paddingTop="64dp">
 
         <TextView
             android:id="@+id/theme_preview_card_header"
@@ -53,8 +38,7 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_bias="0.5"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/theme_preview_top_bar"
-            app:layout_goneMarginTop="@dimen/card_header_top_margin"
+            app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintVertical_chainStyle="spread_inside"
             tools:text="Default"/>
 
@@ -62,43 +46,13 @@
             android:id="@+id/theme_preview_card_body_container"
             android:layout_width="match_parent"
             android:layout_height="0dp"
-            android:layout_marginHorizontal="8dp"
             android:layout_marginTop="@dimen/preview_theme_content_margin"
             android:clipChildren="false"
             android:importantForAccessibility="noHideDescendants"
-            app:layout_constraintBottom_toTopOf="@+id/guideline"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHeight_max="@dimen/preview_theme_content_max_height"
             app:layout_constraintHeight_min="@dimen/preview_theme_content_min_height"
             app:layout_constraintHorizontal_bias="0.5"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/theme_preview_card_header"/>
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/guideline"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            app:layout_constraintBottom_toTopOf="@+id/edit_label"
-            app:layout_constraintGuide_end="@dimen/preview_theme_content_bottom"
-            app:layout_constraintTop_toBottomOf="@+id/theme_preview_card_body_container"/>
-
-        <TextView
-            android:id="@+id/edit_label"
-            style="@style/EditLabelStyle"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:minHeight="@dimen/min_taptarget_height"
-            android:drawableStart="@drawable/ic_tune"
-            android:drawablePadding="8dp"
-            android:gravity="center"
-            android:text="@string/edit_custom_theme_lbl"
-            android:visibility="invisible"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHorizontal_bias="0.5"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/guideline"
-            app:layout_constraintVertical_bias="0.5"/>
-
 </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/theme_info_view.xml b/res/layout/theme_info_view.xml
index f228668..085a35e 100644
--- a/res/layout/theme_info_view.xml
+++ b/res/layout/theme_info_view.xml
@@ -14,15 +14,13 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<com.android.customization.widget.ThemeInfoView
+<com.android.customization.picker.theme.ThemeInfoView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:gravity="center_horizontal"
     android:orientation="vertical"
-    android:paddingHorizontal="@dimen/wallpaper_info_pane_horizontal_padding"
-    android:paddingTop="@dimen/wallpaper_info_pane_top_padding"
-    android:paddingBottom="@dimen/wallpaper_info_pane_bottom_padding"
+    android:padding="@dimen/wallpaper_info_pane_padding"
     android:theme="@style/WallpaperPicker.BottomPaneStyle">
 
     <TextView
@@ -33,7 +31,7 @@
         android:gravity="center"
         android:lineHeight="24dp"
         android:textAppearance="@style/SubtitleTextAppearance"
-        android:textColor="@color/action_bar_bottom_sheet_text_color"
+        android:textColor="?android:textColorPrimary"
         android:textSize="16sp"
         android:text="@string/style_info_description"/>
 
@@ -59,7 +57,7 @@
             android:layout_width="@dimen/theme_info_icon_size"
             android:layout_height="@dimen/theme_info_icon_size"
             android:layout_marginHorizontal="@dimen/theme_info_margin"
-            android:tint="@color/theme_preview_icon_color"/>
+            android:tint="?android:textColorPrimary"/>
 
         <ImageView
             android:id="@+id/app_preview_icon"
@@ -75,4 +73,4 @@
             android:layout_height="@dimen/theme_info_icon_size"
             android:layout_marginHorizontal="@dimen/theme_info_margin"/>
     </LinearLayout>
-</com.android.customization.widget.ThemeInfoView>
\ No newline at end of file
+</com.android.customization.picker.theme.ThemeInfoView>
\ No newline at end of file
diff --git a/res/layout/theme_preview_card.xml b/res/layout/theme_preview_card.xml
index e1e3491..4fc8995 100644
--- a/res/layout/theme_preview_card.xml
+++ b/res/layout/theme_preview_card.xml
@@ -27,7 +27,7 @@
         android:id="@+id/wallpaper_preview_image"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/primary_color" />
+        android:background="?android:colorPrimary" />
 
     <SurfaceView
         android:id="@+id/wallpaper_preview_surface"
diff --git a/res/layout/theme_preview_color_icons.xml b/res/layout/theme_preview_color_icons.xml
index c8afb99..e87a7a1 100644
--- a/res/layout/theme_preview_color_icons.xml
+++ b/res/layout/theme_preview_color_icons.xml
@@ -28,7 +28,7 @@
         android:paddingTop="@dimen/preview_theme_color_icons_padding_top"
         android:paddingBottom="@dimen/preview_theme_color_icons_padding_bottom"
         android:orientation="vertical"
-        android:background="@color/theme_preview_color_icons_background">
+        android:background="?android:colorBackground">
 
         <!-- Title -->
         <TextView
@@ -37,7 +37,7 @@
             android:layout_height="wrap_content"
             android:text="@string/theme_preview_icons_section_title"
             android:textSize="@dimen/preview_theme_color_icons_title_text_size"
-            android:textColor="@color/theme_preview_color_icons_title_color"
+            android:textColor="?android:textColorSecondary"
             android:lineHeight="16dp"
             android:gravity="center"
             app:layout_constraintStart_toStartOf="parent"
@@ -68,7 +68,7 @@
                     android:id="@+id/preview_color_qs_0_icon"
                     android:layout_width="@dimen/preview_theme_color_icons_tile_size"
                     android:layout_height="@dimen/preview_theme_color_icons_tile_size"
-                    android:tint="@color/tile_enabled_icon_color"
+                    android:tint="?android:textColorPrimary"
                     android:layout_gravity="center"/>
             </FrameLayout>
             <Space
@@ -87,7 +87,7 @@
                     android:id="@+id/preview_color_qs_1_icon"
                     android:layout_width="@dimen/preview_theme_color_icons_tile_size"
                     android:layout_height="@dimen/preview_theme_color_icons_tile_size"
-                    android:tint="@color/tile_enabled_icon_color"
+                    android:tint="?android:textColorPrimary"
                     android:layout_gravity="center"/>
             </FrameLayout>
             <Space
@@ -105,7 +105,7 @@
                     android:id="@+id/preview_color_qs_2_icon"
                     android:layout_width="@dimen/preview_theme_color_icons_tile_size"
                     android:layout_height="@dimen/preview_theme_color_icons_tile_size"
-                    android:tint="@color/tile_enabled_icon_color"
+                    android:tint="?android:textColorPrimary"
                     android:layout_gravity="center"/>
             </FrameLayout>
             <Space
@@ -123,7 +123,7 @@
                     android:id="@+id/preview_color_qs_3_icon"
                     android:layout_width="@dimen/preview_theme_color_icons_tile_size"
                     android:layout_height="@dimen/preview_theme_color_icons_tile_size"
-                    android:tint="@color/tile_enabled_icon_color"
+                    android:tint="?android:textColorPrimary"
                     android:layout_gravity="center"/>
             </FrameLayout>
         </LinearLayout>
diff --git a/res/layout/theme_preview_topbar.xml b/res/layout/theme_preview_topbar.xml
index 15b665d..af69de9 100644
--- a/res/layout/theme_preview_topbar.xml
+++ b/res/layout/theme_preview_topbar.xml
@@ -27,7 +27,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="start|center_vertical"
-        android:textColor="@color/icon_thumbnail_color"
+        android:textColor="?android:textColorSecondary"
         android:textSize="@dimen/preview_theme_cover_topbar_clock_size"
         tools:text="8:10"/>
     <LinearLayout
@@ -40,17 +40,17 @@
             android:id="@+id/preview_icon_0"
             android:layout_width="@dimen/preview_theme_cover_topbar_icon_size"
             android:layout_height="@dimen/preview_theme_cover_topbar_icon_size"
-            android:tint="@color/icon_thumbnail_color"/>
+            android:tint="?android:textColorSecondary"/>
         <ImageView
             android:id="@+id/preview_icon_1"
             android:layout_width="@dimen/preview_theme_cover_topbar_icon_size"
             android:layout_height="@dimen/preview_theme_cover_topbar_icon_size"
             android:layout_marginHorizontal="8dp"
-            android:tint="@color/icon_thumbnail_color"/>
+            android:tint="?android:textColorSecondary"/>
         <ImageView
             android:id="@+id/preview_icon_2"
             android:layout_width="@dimen/preview_theme_cover_topbar_icon_size"
             android:layout_height="@dimen/preview_theme_cover_topbar_icon_size"
-            android:tint="@color/icon_thumbnail_color"/>
+            android:tint="?android:textColorSecondary"/>
     </LinearLayout>
 </FrameLayout>
\ No newline at end of file
diff --git a/res/layout/themed_icon_section_view.xml b/res/layout/themed_icon_section_view.xml
new file mode 100644
index 0000000..97892ee
--- /dev/null
+++ b/res/layout/themed_icon_section_view.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2021 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<com.android.customization.picker.themedicon.ThemedIconSectionView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?selectableItemBackground"
+    android:clickable="true"
+    android:orientation="vertical"
+    android:paddingHorizontal="@dimen/section_horizontal_padding"
+    android:paddingVertical="@dimen/section_vertical_padding">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+
+        <TextView
+            android:id="@+id/themed_icon_title"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:paddingEnd="12dp"
+            android:text="@string/themed_icon_title"
+            style="@style/SectionTitleTextStyle" />
+
+        <Switch
+            android:id="@+id/themed_icon_toggle"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:background="@null"
+            android:clickable="false"
+            android:focusable="false"
+            android:minHeight="0dp"
+            style="@style/Switch.SettingsLib"/>
+
+    </LinearLayout>
+
+    <Space
+        android:layout_width="0dp"
+        android:layout_height="8dp" />
+
+    <TextView
+        android:id="@+id/beta_tag"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingHorizontal="8dp"
+        android:paddingVertical="4dp"
+        android:text="@string/beta_title"
+        android:textColor="?androidprv:attr/textColorOnAccent"
+        style="@style/BetaTagTextStyle" />
+
+</com.android.customization.picker.themedicon.ThemedIconSectionView>
diff --git a/res/menu/custom_theme_editor_menu.xml b/res/menu/custom_theme_editor_menu.xml
index ac02606..7019181 100644
--- a/res/menu/custom_theme_editor_menu.xml
+++ b/res/menu/custom_theme_editor_menu.xml
@@ -14,11 +14,10 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
-      xmlns:app="http://schemas.android.com/apk/res-auto">
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
     <item
         android:id="@+id/custom_theme_delete"
         android:title="@string/custom_theme_delete"
         android:icon="@drawable/ic_delete_24px"
-        app:showAsAction="always"/>
+        android:showAsAction="always"/>
 </menu>
\ No newline at end of file
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index e326df1..7aa19ff 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Style en muurpapiere"</string>
+    <string name="app_name" msgid="1647136562008520313">"Muurpapier en styl"</string>
     <string name="theme_title" msgid="2144932106319405101">"Styl"</string>
     <string name="clock_title" msgid="2126046720254613991">"Horlosie"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Rooster"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Programrooster"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Pas toe"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tik om te wysig"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Hou huidige muurpapier"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Pas toe"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Stylvoorskou"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Roostervoorskou"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Lettertipevoorskou"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Ikoonvoorskou"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Kleurvoorskou"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Vormvoorskou"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, tans toegepas"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, word tans toegepas en voorbeskou"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, word tans voorbeskou"</string>
@@ -77,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Oeps! Iets het skeefgeloop."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Kleur/ikone"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Voorskou van lettertipe, ikone, programvorm en kleur"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Gepasmaakte lettertipe"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Gepasmaakte ikoon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Gepasmaakte kleur"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Gepasmaakte vorm"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Gepasmaakte stylnaam"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index e64036a..bdd0cbb 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"ቅጦች እና ልጣፎች"</string>
+    <string name="app_name" msgid="1647136562008520313">"ልጣፍ &amp; ቅጥ"</string>
     <string name="theme_title" msgid="2144932106319405101">"ቅጥ"</string>
     <string name="clock_title" msgid="2126046720254613991">"ሰዓት"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ፍርግርግ"</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>
@@ -73,4 +73,9 @@
     <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>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 7e65ae6..5d51ecd 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"الأنماط والخلفيات"</string>
+    <string name="app_name" msgid="1647136562008520313">"الخلفية والنمط"</string>
     <string name="theme_title" msgid="2144932106319405101">"النمط"</string>
     <string name="clock_title" msgid="2126046720254613991">"الساعة"</string>
-    <string name="grid_title" msgid="2825094404523390773">"شبكة"</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="apply_btn" msgid="7965877231041987336">"تطبيق"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"معاينة النمط"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"معاينة الشبكة"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"معاينة الخط"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"معاينة الرمز"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"معاينة اللون"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"معاينة الشكل"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>، مستخدَم حاليًا"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"تتم معاينة وتطبيق الخيار <xliff:g id="ID_1">%1$s</xliff:g> حاليًا."</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"تتم معاينة الخيار <xliff:g id="ID_1">%1$s</xliff:g> حاليًا."</string>
@@ -77,4 +73,9 @@
     <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>
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index ec1fe4c..eafaeb6 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"শৈলী আৰু ৱালপেপাৰ"</string>
+    <string name="app_name" msgid="1647136562008520313">"ৱালপেপাৰ আৰু শৈলী"</string>
     <string name="theme_title" msgid="2144932106319405101">"শৈলী"</string>
     <string name="clock_title" msgid="2126046720254613991">"ঘড়ী"</string>
-    <string name="grid_title" msgid="2825094404523390773">"গ্ৰিড"</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="apply_btn" msgid="7965877231041987336">"প্ৰয়োগ কৰক"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"শৈলীৰ পূৰ্বদৰ্শন"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"গ্ৰিডৰ পূৰ্বদৰ্শন"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"ফণ্টৰ পূৰ্বদৰ্শন"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"চিহ্নৰ পূৰ্বদৰ্শন"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"ৰঙৰ পূৰ্বদৰ্শন"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"আকৃতিৰ পূৰ্বদৰ্শন"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"বৰ্তমান <xliff:g id="ID_1">%1$s</xliff:g> প্ৰয়োগ কৰা হৈছে"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, বৰ্তমান প্ৰয়োগ আৰু পূৰ্বদৰ্শন কৰি থকা হৈছে"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, বৰ্তমান পূৰ্বদৰ্শন কৰি থকা হৈছে"</string>
@@ -77,4 +73,9 @@
     <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>
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index cf29dc0..78b1f5d 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Üslub və divar kağızları"</string>
+    <string name="app_name" msgid="1647136562008520313">"Divar kağızı və üslub"</string>
     <string name="theme_title" msgid="2144932106319405101">"Üslub"</string>
     <string name="clock_title" msgid="2126046720254613991">"Saat"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Tor"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Tətbiq toru"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Tətbiq edin"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Redaktə etmək üçün klikləyin"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Cari divar kağızını saxlayın"</string>
@@ -73,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Ups! Xəta baş verdi."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Rəng / İkonalar"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Şrift, ikonalar, tətbiq forması və rəng önizləməsi"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Fərdi şrift"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Fərdi ikona"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Fərdi rəng"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Fərdi forma"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Fərdi üslub adı"</string>
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 08a5f6a..ee20919 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Stilovi i pozadine"</string>
+    <string name="app_name" msgid="1647136562008520313">"Pozadina i stil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stil"</string>
     <string name="clock_title" msgid="2126046720254613991">"Sat"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Mreža"</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>
@@ -35,7 +35,7 @@
     <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="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">"Podrazum."</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>
@@ -45,9 +45,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Dodajte omiljene fontove na svaki ekran"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Odaberite veličinu mreže"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="3749018706366796244">"Podešavanje stila je uspelo"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stil je podešen"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Podešavanje sata je uspelo"</string>
-    <string name="applied_grid_msg" msgid="3250499654436933034">"Podešavanje mreže 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>
@@ -72,6 +72,10 @@
     <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>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <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>
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index a72911c..59497c9 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Стылі і шпалеры"</string>
+    <string name="app_name" msgid="1647136562008520313">"Шпалеры і стыль"</string>
     <string name="theme_title" msgid="2144932106319405101">"Стыль"</string>
     <string name="clock_title" msgid="2126046720254613991">"Гадзіннік"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Сетка"</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="apply_btn" msgid="7965877231041987336">"Ужыць"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Перадпрагляд стылю"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Перадпрагляд сеткі"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Перапрагляд шрыфту"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Перадпрагляд значка"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Перадпрагляд колеру"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Перадпрагляд фігуры"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, цяпер ужыта"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, цяпер ужыта і папярэдне паказана"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, цяпер папярэдне паказваецца"</string>
@@ -69,12 +65,17 @@
     <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="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>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 0b1f098..440f9e0 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Стилове и тапети"</string>
+    <string name="app_name" msgid="1647136562008520313">"Тапет и стил"</string>
     <string name="theme_title" msgid="2144932106319405101">"Стил"</string>
     <string name="clock_title" msgid="2126046720254613991">"Часовник"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Таблица"</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>
@@ -73,4 +73,9 @@
     <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>
 </resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 1e2d9e7..220fd0c 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"স্টাইল ও ওয়ালপেপার"</string>
+    <string name="app_name" msgid="1647136562008520313">"ওয়ালপেপার এবং স্টাইল"</string>
     <string name="theme_title" msgid="2144932106319405101">"স্টাইল"</string>
     <string name="clock_title" msgid="2126046720254613991">"ঘড়ি"</string>
-    <string name="grid_title" msgid="2825094404523390773">"গ্রিড"</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="apply_btn" msgid="7965877231041987336">"প্রয়োগ করুন"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"স্টাইল প্রিভিউ করুন"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"গ্রিড প্রিভিউ করুন"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"ফন্ট প্রিভিউ করুন"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"আইকন প্রিভিউ করুন"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"রঙ প্রিভিউ করুন"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"আকার প্রিভিউ করুন"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, বর্তমানে প্রয়োগ করা হয়েছে"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"এখন <xliff:g id="ID_1">%1$s</xliff:g> থিম প্রয়োগ করে প্রিভিউ করা হচ্ছে"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"এখন <xliff:g id="ID_1">%1$s</xliff:g> থিম প্রিভিউ করছেন"</string>
@@ -76,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ঘড়ির প্রিভিউ"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"উপস! কিছু সমস্যা হয়েছে।"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"রঙ / আইকন"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"থিমের ফন্ট, আইকন, অ্যাপের আকার, ও রঙের প্রিভিউ"</string>
+    <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>
 </resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index cd13922..8067d04 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Stilovi i pozadinske slike"</string>
+    <string name="app_name" msgid="1647136562008520313">"Pozadinska slika i stil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stil"</string>
     <string name="clock_title" msgid="2126046720254613991">"Sat"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Mreža"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Mreža aplikacija"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Primijeni"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Dodirnite da uredite"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Zadrži trenutnu pozadinsku sliku"</string>
@@ -72,6 +72,10 @@
     <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! Nešto nije uredu"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Boja/ikone"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <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">"Naziv prilagođenog stila"</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 116d798..0c92c78 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Estils i fons de pantalla"</string>
+    <string name="app_name" msgid="1647136562008520313">"Fons de pantalla i estil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Estil"</string>
     <string name="clock_title" msgid="2126046720254613991">"Rellotge"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Graella"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Quadrícula d\'apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplica"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toca per editar"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Mantén el fons de pantalla actual"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Aplica"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Previsualització de l\'estil"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Previsualització de quadrícula"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Previsualització de la lletra"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Previsualització de la icona"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Previsualització del color"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Previsualització de la forma"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, aplicat actualment"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, aplicada i previsualitzada actualment"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, previsualitzada actualment"</string>
@@ -47,7 +43,7 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Fons de pantalla"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Afegeix els teus tipus de lletra preferits a cada pantalla"</string>
-    <string name="grid_options_title" msgid="7071930966989877023">"Tria la mida de la quadrícula"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Tria una mida de quadrícula"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"L\'estil s\'ha definit correctament"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"El rellotge s\'ha definit correctament"</string>
@@ -69,13 +65,17 @@
     <string name="delete_custom_theme_button" msgid="5102462988130208824">"Suprimeix"</string>
     <string name="cancel" msgid="4651030493668562067">"Cancel·la"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Estableix el fons de pantalla temàtic"</string>
-    <string name="use_style_instead_title" msgid="1578754995763917502">"Vols utilitzar l\'estil <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Els components que has triat corresponen a l\'estil <xliff:g id="ID_1">%1$s</xliff:g>. Vols utilitzar l\'estil <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
-    <string name="use_style_button" msgid="1754493078383627019">"Utilitza l\'estil <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="use_style_instead_title" msgid="1578754995763917502">"Prefereixes utilitzar <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"Els components que has triat corresponen a l\'estil <xliff:g id="ID_1">%1$s</xliff:g>. Prefereixes utilitzar <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
+    <string name="use_style_button" msgid="1754493078383627019">"Utilitza <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"No, gràcies"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Previsualització de rellotge <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Vaja! S\'ha produït un error."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Color/Icones"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Previsualització de tipus de lletra, icones, forma d\'aplicacions i color"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Tipus de lletra personalitzat"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Icona personalitzada"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Color personalitzat"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalitzada"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nom d\'estil personalitzat"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index b67a327..95f6373 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Styly a tapety"</string>
+    <string name="app_name" msgid="1647136562008520313">"Tapeta a styl"</string>
     <string name="theme_title" msgid="2144932106319405101">"Styl"</string>
     <string name="clock_title" msgid="2126046720254613991">"Hodiny"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Mřížka"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Mřížka aplikací"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Použít"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Klepnutím upravte"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Zachovat stávající tapetu"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Použít"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Náhled stylu"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Náhled mřížky"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Náhled písma"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Náhled ikony"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Náhled barvy"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Náhled tvaru"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, momentálně použito"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, momentálně použito a v náhledu"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, momentálně v náhledu"</string>
@@ -77,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Jejda. Něco se pokazilo."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Barva/ikony"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Náhled písma, ikon, barvy a tvaru aplikací"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Vlastní písmo"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Vlastní ikona"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Vlastní barva"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Vlastní tvar"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Název vlastního stylu"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index fadce80..0933732 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Stil og baggrunde"</string>
+    <string name="app_name" msgid="1647136562008520313">"Baggrund og stil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stil"</string>
     <string name="clock_title" msgid="2126046720254613991">"Ur"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Gitter"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Appgitter"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Anvend"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tryk for at redigere"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Behold den aktuelle baggrund"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Forhåndsvisning af urskiven <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ups! Noget gik galt."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Farve/ikoner"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Forhåndsvisning af skrifttype, ikoner, appform og farve"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Tilpasset skrifttype"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Tilpasset ikon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Tilpasset farve"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Tilpasset form"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Navn på tilpasset stil"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index f7caefd..3d39bc1 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Designs &amp; Hintergründe"</string>
+    <string name="app_name" msgid="1647136562008520313">"Hintergrund &amp; Stil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Design"</string>
     <string name="clock_title" msgid="2126046720254613991">"Uhr"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Raster"</string>
+    <string name="grid_title" msgid="1688173478777254123">"App-Raster"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Anwenden"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Zum Bearbeiten tippen"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Aktuellen Hintergrund behalten"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Vorschau für Zifferblatt <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Hoppla, ein Fehler ist aufgetreten."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Farbe und Symbole"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Vorschau für Schriftart, Symbole, App-Form und Farbe"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Benutzerdefinierte Schriftart"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Benutzerdefiniertes Symbol"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Benutzerdefinierte Farbe"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Benutzerdefiniertes Format"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Name des benutzerdefinierten Stils"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index bc9099d..29428bd 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Στιλ και ταπετσαρίες"</string>
+    <string name="app_name" msgid="1647136562008520313">"Ταπετσαρία και στιλ"</string>
     <string name="theme_title" msgid="2144932106319405101">"Στιλ"</string>
     <string name="clock_title" msgid="2126046720254613991">"Ρολόι"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Πλέγμα"</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="apply_btn" msgid="7965877231041987336">"Εφαρμογή"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Προεπισκόπηση στιλ"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Προεπισκόπηση πλέγματος"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Προεπισκόπηση γραμματοσειράς"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Προεπισκόπηση εικονιδίου"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Προεπισκόπηση χρώματος"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Προεπισκόπηση σχήματος"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"Αυτήν τη στιγμή εφαρμόζεται το θέμα <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"Αυτήν τη στιγμή εφαρμόζεται και εμφανίζεται σε προεπισκόπηση η επιλογή <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"Αυτήν τη στιγμή εμφανίζεται σε προεπισκόπηση η επιλογή <xliff:g id="ID_1">%1$s</xliff:g>"</string>
@@ -76,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Προεπισκόπηση ρολογιού <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Δυστυχώς, παρουσιάστηκε κάποιο πρόβλημα."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Χρώμα / Εικονίδια"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Προεπισκόπηση γραμματοσειράς, εικονιδίων, σχήματος εφαρμογής και χρώματος"</string>
+    <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>
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 297cb6b..bb1141d 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Styles &amp; wallpapers"</string>
+    <string name="app_name" msgid="1647136562008520313">"Wallpaper &amp; style"</string>
     <string name="theme_title" msgid="2144932106319405101">"Style"</string>
     <string name="clock_title" msgid="2126046720254613991">"Clock"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grid"</string>
+    <string name="grid_title" msgid="1688173478777254123">"App grid"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Apply"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tap to edit"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Keep current wallpaper"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> clock preview"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oops! Something went wrong."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colour/Icons"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Preview of font, icons, app shape and colour"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Custom font"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Custom icon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Customised colour"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Custom shape"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Custom style name"</string>
 </resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 297cb6b..bb1141d 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Styles &amp; wallpapers"</string>
+    <string name="app_name" msgid="1647136562008520313">"Wallpaper &amp; style"</string>
     <string name="theme_title" msgid="2144932106319405101">"Style"</string>
     <string name="clock_title" msgid="2126046720254613991">"Clock"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grid"</string>
+    <string name="grid_title" msgid="1688173478777254123">"App grid"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Apply"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tap to edit"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Keep current wallpaper"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> clock preview"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oops! Something went wrong."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colour/Icons"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Preview of font, icons, app shape and colour"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Custom font"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Custom icon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Customised colour"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Custom shape"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Custom style name"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 297cb6b..bb1141d 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Styles &amp; wallpapers"</string>
+    <string name="app_name" msgid="1647136562008520313">"Wallpaper &amp; style"</string>
     <string name="theme_title" msgid="2144932106319405101">"Style"</string>
     <string name="clock_title" msgid="2126046720254613991">"Clock"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grid"</string>
+    <string name="grid_title" msgid="1688173478777254123">"App grid"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Apply"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tap to edit"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Keep current wallpaper"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> clock preview"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oops! Something went wrong."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colour/Icons"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Preview of font, icons, app shape and colour"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Custom font"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Custom icon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Customised colour"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Custom shape"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Custom style name"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 297cb6b..bb1141d 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Styles &amp; wallpapers"</string>
+    <string name="app_name" msgid="1647136562008520313">"Wallpaper &amp; style"</string>
     <string name="theme_title" msgid="2144932106319405101">"Style"</string>
     <string name="clock_title" msgid="2126046720254613991">"Clock"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grid"</string>
+    <string name="grid_title" msgid="1688173478777254123">"App grid"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Apply"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tap to edit"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Keep current wallpaper"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> clock preview"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oops! Something went wrong."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colour/Icons"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Preview of font, icons, app shape and colour"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Custom font"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Custom icon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Customised colour"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Custom shape"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Custom style name"</string>
 </resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 24bf8d9..601a8c2 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎‎‏‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎Styles &amp; wallpapers‎‏‎‎‏‎"</string>
+    <string name="app_name" msgid="1647136562008520313">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎Wallpaper &amp; style‎‏‎‎‏‎"</string>
     <string name="theme_title" msgid="2144932106319405101">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎Style‎‏‎‎‏‎"</string>
     <string name="clock_title" msgid="2126046720254613991">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‏‏‎Clock‎‏‎‎‏‎"</string>
-    <string name="grid_title" msgid="2825094404523390773">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‏‎‎‏‎‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‎Grid‎‏‎‎‏‎"</string>
+    <string name="grid_title" msgid="1688173478777254123">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎App grid‎‏‎‎‏‎"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‏‏‎‎‎‏‎‏‏‎‏‏‎‏‏‏‎Apply‎‏‎‎‏‎"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎Tap to edit‎‏‎‎‏‎"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‏‏‎‎‎‏‏‏‏‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎Keep current wallpaper‎‏‎‎‏‎"</string>
@@ -73,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎Oops! Something went wrong.‎‏‎‎‏‎"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‏‎‏‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‏‏‎Color / Icons‎‏‎‎‏‎"</string>
     <string name="style_info_description" msgid="2612473574431003251">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎Preview of font, icons, app shape, and color‎‏‎‎‏‎"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎‏‎‏‏‎‎‎‎‎‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‏‏‎‎‏‎Custom font‎‏‎‎‏‎"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎Custom icon‎‏‎‎‏‎"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎Custom color‎‏‎‎‏‎"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎Custom shape‎‏‎‎‏‎"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‏‎‎Custom style name‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 1d3ba97..6e455e9 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Estilos y fondos de pantalla"</string>
+    <string name="app_name" msgid="1647136562008520313">"Fondo de pantalla y estilo"</string>
     <string name="theme_title" msgid="2144932106319405101">"Estilo"</string>
     <string name="clock_title" msgid="2126046720254613991">"Reloj"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Cuadrícula"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Cuadr. de apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicar"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Presiona para editar"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Conservar fondo de pantalla actual"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Vista previa del reloj <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Se produjo un error."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Color/íconos"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Vista previa de fuentes, íconos, colores y forma de la app"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Fuente personalizada"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Ícono personalizado"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Color personalizado"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalizada"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nombre de estilo personalizado"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 9e1a318..09fd93e 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Estilos y fondos de pantalla"</string>
+    <string name="app_name" msgid="1647136562008520313">"Fondo de pantalla y estilo"</string>
     <string name="theme_title" msgid="2144932106319405101">"Estilo"</string>
     <string name="clock_title" msgid="2126046720254613991">"Reloj"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Cuadrícula"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Cuadrícula de apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicar"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toca para editar"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Mantener fondo de pantalla actual"</string>
@@ -35,7 +35,7 @@
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> (opción aplicada y vista previa en curso)"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> (vista previa en curso)"</string>
     <string name="theme_description" msgid="3697012391785254635">"Fuente: <xliff:g id="ID_1">%1$s</xliff:g>; iconos: <xliff:g id="ID_2">%2$s</xliff:g>; forma: <xliff:g id="ID_3">%3$s</xliff:g>; color: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"Predeterm."</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"Predeterminado"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"Fuente"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Icono"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Color"</string>
@@ -43,11 +43,11 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Fondo de pantalla"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Añade tus fuentes favoritas a cada pantalla"</string>
-    <string name="grid_options_title" msgid="7071930966989877023">"Seleccionar tamaño de cuadrícula"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Elige un tamaño de cuadrícula"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="3749018706366796244">"Estilo implementado correctamente"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Estilo aplicado correctamente"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Reloj puesto correctamente"</string>
-    <string name="applied_grid_msg" msgid="3250499654436933034">"Cuadrícula definida correctamente"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Cuadrícula configurada correctamente"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"No se ha podido aplicar el estilo"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Siguiente"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Anterior"</string>
@@ -65,13 +65,17 @@
     <string name="delete_custom_theme_button" msgid="5102462988130208824">"Eliminar"</string>
     <string name="cancel" msgid="4651030493668562067">"Cancelar"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Definir fondo de pantalla del estilo"</string>
-    <string name="use_style_instead_title" msgid="1578754995763917502">"¿Quieres usar <xliff:g id="ID_1">%1$s</xliff:g> en su lugar?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Los características que has elegido coinciden con el estilo de <xliff:g id="ID_1">%1$s</xliff:g>. ¿Quieres usar <xliff:g id="ID_2">%1$s</xliff:g> en su lugar?"</string>
-    <string name="use_style_button" msgid="1754493078383627019">"Utilizar <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="use_style_instead_title" msgid="1578754995763917502">"¿Quieres usar <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"Los características que has elegido coinciden con el estilo <xliff:g id="ID_1">%1$s</xliff:g>. ¿Quieres usar <xliff:g id="ID_2">%1$s</xliff:g> en su lugar?"</string>
+    <string name="use_style_button" msgid="1754493078383627019">"Usar <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"No, gracias"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Vista previa del reloj <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"¡Vaya! Se ha producido un error."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Color/Iconos"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Vista previa de la fuente, los iconos, la forma de las aplicaciones y el color"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Fuente personalizada"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Icono personalizado"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Color personalizado"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalizada"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nombre de estilo personalizado"</string>
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 97bce06..706f889 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Stiilid ja taustapildid"</string>
+    <string name="app_name" msgid="1647136562008520313">"Taustapilt ja stiil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stiil"</string>
     <string name="clock_title" msgid="2126046720254613991">"Kell"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Ruudustik"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Rak. ruudustik"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Rakenda"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Puudutage muutmiseks"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Säilita praegune taustapilt"</string>
@@ -65,13 +65,17 @@
     <string name="delete_custom_theme_button" msgid="5102462988130208824">"Kustuta"</string>
     <string name="cancel" msgid="4651030493668562067">"Tühista"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Määrake stiili taustapilt"</string>
-    <string name="use_style_instead_title" msgid="1578754995763917502">"Kas kasutada hoopis teemat <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Valitud komponendid ühtivad stiiliga <xliff:g id="ID_1">%1$s</xliff:g>. Kas soovite selle asemel kasutada teemat <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
-    <string name="use_style_button" msgid="1754493078383627019">"Kasuta teemat <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="use_style_instead_title" msgid="1578754995763917502">"Kas kasutada hoopis stiili <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"Valitud komponendid ühtivad stiiliga <xliff:g id="ID_1">%1$s</xliff:g>. Kas soovite selle asemel kasutada stiili <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
+    <string name="use_style_button" msgid="1754493078383627019">"Kasuta stiili <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Tänan, ei"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Kella <xliff:g id="ID_1">%1$s</xliff:g> eelvaade"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Vabandust! Midagi läks valesti."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Värv/ikoonid"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Fondi, ikoonide, rakenduse kuju ja värvi eelvaade"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Kohandatud font"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Kohandatud ikoon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Kohandatud värv"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Kohandatud kuju"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Kohandatud stiili nimi"</string>
 </resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index acaea60..ea02bb7 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Estiloak eta horma-paperak"</string>
+    <string name="app_name" msgid="1647136562008520313">"Horma-papera eta estiloa"</string>
     <string name="theme_title" msgid="2144932106319405101">"Estiloa"</string>
     <string name="clock_title" msgid="2126046720254613991">"Erlojua"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Sareta"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Aplikazioen sareta"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplikatu"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Sakatu editatzeko"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Utzi bere horretan horma-papera"</string>
@@ -44,7 +44,7 @@
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Gehitu gogoko dituzun letrak pantaila guztietan"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Aukeratu saretaren tamaina"</string>
-    <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> × <xliff:g id="ID_2">%2$d</xliff:g>"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"Ezarri da estiloa"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Ezarri da erlojua"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Ezarri da sareta"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> erlojuaren aurrebista"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Arazoren bat izan da."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Koloreak / Ikonoak"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Letra-tipoen, ikonoen, aplikazio-formen eta koloreen aurrebista"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Letra pertsonalizatua"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Ikono pertsonalizatua"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Kolore pertsonalizatua"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma pertsonalizatua"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Estilo pertsonalizatuaren izena"</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 18da1de..f269808 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"سبک و کاغذدیواری"</string>
+    <string name="app_name" msgid="1647136562008520313">"کاغذدیواری و سبک"</string>
     <string name="theme_title" msgid="2144932106319405101">"سبک"</string>
     <string name="clock_title" msgid="2126046720254613991">"ساعت"</string>
-    <string name="grid_title" msgid="2825094404523390773">"جدول"</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="apply_btn" msgid="7965877231041987336">"اعمال"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"پیش‌نمایش سبک"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"پیش‌نمایش جدول"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"پیش‌نمایش قلم"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"پیش‌نمایش نماد"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"پیش‌نمایش رنگ"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"پیش‌نمایش شکل"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>، درحال‌حاضر اعمال شده است"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>، درحال‌حاضر اعمال و پیش‌نمایش شده است"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>، درحال‌حاضر پیش‌نمایش شده است"</string>
@@ -70,12 +66,16 @@
     <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_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>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <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>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 00dcc87..7ce0515 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Tyylit ja taustakuvat"</string>
+    <string name="app_name" msgid="1647136562008520313">"Taustakuva ja tyyli"</string>
     <string name="theme_title" msgid="2144932106319405101">"Tyyli"</string>
     <string name="clock_title" msgid="2126046720254613991">"Kello"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Ruudukko"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Ruudukko"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Käytä"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Muokkaa napauttamalla"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Säilytä nykyinen taustakuva"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Käytä"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Tyylin esikatselu"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Ruudukon esikatselu"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Fontin esikatselu"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Kuvakkeen esikatselu"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Värin esikatselu"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Muodon esikatselu"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, käytössä tällä hetkellä"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, käytössä ja esikatselussa tällä hetkellä"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, esikatselussa tällä hetkellä"</string>
@@ -67,14 +63,19 @@
     <string name="icon_component_label" msgid="2625784884001407944">"Kuvakkeet <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"Poistetaanko oma tyyli?"</string>
     <string name="delete_custom_theme_button" msgid="5102462988130208824">"Poista"</string>
-    <string name="cancel" msgid="4651030493668562067">"Peruuta"</string>
+    <string name="cancel" msgid="4651030493668562067">"Peru"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Aseta tyylin taustakuva"</string>
     <string name="use_style_instead_title" msgid="1578754995763917502">"Valitaanko sittenkin <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Valitsemasi osat vastaavat <xliff:g id="ID_1">%1$s</xliff:g> ‑tyyliä. Haluatko mieluummin, että <xliff:g id="ID_2">%1$s</xliff:g> valitaan?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"<xliff:g id="ID_1">%1$s</xliff:g> on tyyliltään sama kuin valitsemasi osat. Haluatko mieluummin, että <xliff:g id="ID_2">%1$s</xliff:g> valitaan?"</string>
     <string name="use_style_button" msgid="1754493078383627019">"Valitse <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Ei kiitos"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Kellon esikatselu: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Hups! Jotain meni pieleen.."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Värit ja kuvakkeet"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Fontin, kuvakkeiden, sovelluksen muodon ja värin esikatselu"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Oma fontti"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Oma kuvake"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Oma väri"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Oma muoto"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Oman tyylin nimi"</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index e817276..2d9afaa 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Styles et fonds d\'écran"</string>
+    <string name="app_name" msgid="1647136562008520313">"Fond d\'écran et style"</string>
     <string name="theme_title" msgid="2144932106319405101">"Style"</string>
     <string name="clock_title" msgid="2126046720254613991">"Horloge"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grille"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Grille d\'applis"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Appliquer"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toucher pour modifier"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Garder le fond d\'écran actuel"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Aperçu de l\'horloge <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oups! Une erreur s\'est produite."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Couleurs et icônes"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Aperçu de la police, des icônes, de la forme de l\'application et de la couleur"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Police personnalisée"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Icône personnalisée"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Couleur personnalisée"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forme personnalisée"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nom du style personnalisé"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 51bbab7..86fb5dd 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Styles et fonds d\'écran"</string>
+    <string name="app_name" msgid="1647136562008520313">"Fond d\'écran et style"</string>
     <string name="theme_title" msgid="2144932106319405101">"Style"</string>
     <string name="clock_title" msgid="2126046720254613991">"Horloge"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grille"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Grille appli"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Appliquer"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Appuyer pour modifier"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Conserver le fond d\'écran actuel"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Appliquer"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Aperçu du style"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Aperçu de la grille"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Aperçu de la police"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Aperçu de l\'icône"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Aperçu de la couleur"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Aperçu de la forme"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, option appliquée actuellement"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> (option actuellement appliquée et prévisualisée)"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> (option actuellement prévisualisée)"</string>
@@ -70,11 +66,16 @@
     <string name="cancel" msgid="4651030493668562067">"Annuler"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Définir le fond d\'écran du style"</string>
     <string name="use_style_instead_title" msgid="1578754995763917502">"Utiliser <xliff:g id="ID_1">%1$s</xliff:g> à la place ?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Les composants que vous choisissez correspondent au style <xliff:g id="ID_1">%1$s</xliff:g>. Voulez-vous utiliser <xliff:g id="ID_2">%1$s</xliff:g> à la place ?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"Les composants que vous avez choisi correspondent au style <xliff:g id="ID_1">%1$s</xliff:g>. Voulez-vous utiliser le style <xliff:g id="ID_2">%1$s</xliff:g> à la place ?"</string>
     <string name="use_style_button" msgid="1754493078383627019">"Utiliser <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Non, merci"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> aperçu d\'horloge"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Petit problème… Une erreur s\'est produite."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Couleur/Icônes"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Aperçu de la police, des icônes, de la forme de l\'application et de la couleur"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Police personnalisée"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Icône personnalisée"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Couleur personnalisée"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forme personnalisée"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nom du style personnalisé"</string>
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 29b0438..28823bc 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Estilos e fondos de pantalla"</string>
+    <string name="app_name" msgid="1647136562008520313">"Fondo de pantalla e estilo"</string>
     <string name="theme_title" msgid="2144932106319405101">"Estilo"</string>
     <string name="clock_title" msgid="2126046720254613991">"Reloxo"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grade"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Grade de apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicar"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toca para editar"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Conservar fondo de pantalla actual"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Aplicar"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Vista previa do estilo"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Vista previa da grade"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Vista previa do tipo de letra"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Vista previa da icona"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Vista previa da cor"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Vista previa da forma"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, opción aplicada actualmente"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> (opción aplicada e en vista previa actualmente)"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> (opción en vista previa actualmente)"</string>
@@ -70,11 +66,16 @@
     <string name="cancel" msgid="4651030493668562067">"Cancelar"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Definir fondo de pantalla do estilo"</string>
     <string name="use_style_instead_title" msgid="1578754995763917502">"Prefires utilizar <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Os compoñentes que escolliches concordan co estilo de <xliff:g id="ID_1">%1$s</xliff:g>. Prefires utilizar <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"O estilo de <xliff:g id="ID_1">%1$s</xliff:g> concorda cos compoñentes que escolliches. Prefires utilizar <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
     <string name="use_style_button" msgid="1754493078383627019">"Utilizar <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Non, grazas"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Vista previa do reloxo <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ai! Produciuse un erro."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Cores/iconas"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Vista previa de tipo de letra, iconas, forma da aplicación e cor"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Tipo de letra personalizado"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Icona personalizada"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Cor personalizada"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalizada"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nome de estilo personalizado"</string>
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 043f016..9013e4e 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -17,10 +17,11 @@
 
 <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="6995669566699638946">"શૈલીઓ અને વૉલપેપર"</string>
+    <!-- no translation found for app_name (1647136562008520313) -->
+    <skip />
     <string name="theme_title" msgid="2144932106319405101">"શૈલી"</string>
     <string name="clock_title" msgid="2126046720254613991">"ઘડિયાળ"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ગ્રિડ"</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>
@@ -72,5 +73,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ઘડિયાળનું પ્રીવ્યૂ"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"અરેરે! કંઈક ખોટું થયું."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"રંગ / આઇકન"</string>
-    <string name="style_info_description" msgid="2612473574431003251">"ફોન્ટ, આઇકન, ઍપના આકાર અને રંગનો પ્રીવ્યૂ"</string>
+    <string name="style_info_description" msgid="2612473574431003251">"ફૉન્ટ, આઇકન, ઍપના આકાર અને રંગનો પ્રીવ્યૂ"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"કસ્ટમ ફૉન્ટ"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"કસ્ટમ આઇકન"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"કસ્ટમ રંગ"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"કસ્ટમ આકાર"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"કસ્ટમ શૈલી નામ"</string>
 </resources>
diff --git a/res/values-h740dp/dimens.xml b/res/values-h740dp/dimens.xml
index 250262f..3f2eb93 100644
--- a/res/values-h740dp/dimens.xml
+++ b/res/values-h740dp/dimens.xml
@@ -16,15 +16,14 @@
      limitations under the License.
 -->
 <resources>
-    <dimen name="preview_theme_content_margin">12dp</dimen>
+    <dimen name="preview_theme_content_margin">76dp</dimen>
 
-    <dimen name="preview_theme_icon_size">40dp</dimen>
-    <dimen name="preview_theme_tile_size">20dp</dimen>
-    <dimen name="preview_theme_shape_size">52dp</dimen>
+    <dimen name="preview_theme_color_component_size">272dp</dimen>
+    <dimen name="preview_theme_icon_size">48dp</dimen>
+    <dimen name="preview_theme_tile_size">24dp</dimen>
+    <dimen name="preview_theme_shape_size">48dp</dimen>
 
     <dimen name="preview_theme_content_min_height">152dp</dimen>
 
     <dimen name="theme_preview_header_drawable_padding">12dp</dimen>
-
-    <dimen name="card_header_top_margin">16dp</dimen>
 </resources>
\ No newline at end of file
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 624b2c7..a43d377 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"स्टाइल और वॉलपेपर"</string>
+    <string name="app_name" msgid="1647136562008520313">"वॉलपेपर और स्टाइल"</string>
     <string name="theme_title" msgid="2144932106319405101">"शैली"</string>
     <string name="clock_title" msgid="2126046720254613991">"घड़ी"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ग्रिड"</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="apply_btn" msgid="7965877231041987336">"लागू करें"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"थीम की झलक देखें"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ग्रिड की झलक देखें"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"फ़ॉन्ट की झलक देखें"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"आइकॉन की झलक देखें"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"रंग की झलक देखें"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"आकार की झलक देखें"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, इस समय लागू है"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> को लागू कर दिया गया है और इसकी झलक देखी जा रही है"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> की झलक अभी देखी जा रही है"</string>
@@ -70,12 +66,16 @@
     <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_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>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <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>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 1a63aed..74522b5 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Stilovi i pozadine"</string>
+    <string name="app_name" msgid="1647136562008520313">"Pozadina i stil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stil"</string>
     <string name="clock_title" msgid="2126046720254613991">"Sat"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Rešetka"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Rešetka aplik."</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Primijeni"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Dodirnite da biste uredili"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Zadrži trenutačnu pozadinu"</string>
@@ -72,6 +72,10 @@
     <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 pogreške."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Boja/ikone"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Pregled fontova, ikona, oblika aplikacije i boja"</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">"Naziv prilagođenog stila"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index a4ca287..9faac54 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Stílusok és háttérképek"</string>
+    <string name="app_name" msgid="1647136562008520313">"Háttérkép és stílus"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stílus"</string>
     <string name="clock_title" msgid="2126046720254613991">"Óra"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Rács"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Alkalmazásrács"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Alkalmaz"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Koppintson a szerkesztéshez"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Jelenlegi háttérkép megtartása"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Alkalmaz"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Stílus előnézete"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Rács előnézete"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Betűtípus előnézete"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Ikon előnézete"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Szín előnézete"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Forma előnézete"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, jelenleg érvényben van"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, alkalmazva és előnézet folyamatban"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, előnézet folyamatban"</string>
@@ -77,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Hoppá! Valami hiba történt."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Szín/ikonok"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Betűtípus, ikonok, forma és szín előnézete"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Egyéni betűtípus"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Egyéni ikon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Egyéni szín"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Egyéni alak"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Egyéni stílusnév"</string>
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 8790e97..3ff37bd 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Ոճեր և պաստառներ"</string>
+    <string name="app_name" msgid="1647136562008520313">"Պաստառ և ոճ"</string>
     <string name="theme_title" msgid="2144932106319405101">"Ոճ"</string>
     <string name="clock_title" msgid="2126046720254613991">"Ժամացույց"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Ցանց"</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>
@@ -73,4 +73,9 @@
     <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>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 7a066a7..e80416a 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Gaya &amp; wallpaper"</string>
+    <string name="app_name" msgid="1647136562008520313">"Wallpaper &amp; gaya"</string>
     <string name="theme_title" msgid="2144932106319405101">"Gaya"</string>
     <string name="clock_title" msgid="2126046720254613991">"Jam"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Petak"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Petak aplikasi"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Terapkan"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Ketuk untuk mengedit"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Pertahankan wallpaper saat ini"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Pratinjau jam <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ups! Ada yang tidak beres."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Warna/Ikon"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Pratinjau font, ikon, bentuk aplikasi, dan warna"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Font khusus"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Ikon khusus"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Warna khusus"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Bentuk khusus"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nama gaya khusus"</string>
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index a5d536d..0b21ddd 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Stílar og veggfóður"</string>
+    <string name="app_name" msgid="1647136562008520313">"Veggfóður og stíll"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stíll"</string>
     <string name="clock_title" msgid="2126046720254613991">"Klukka"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Töfluyfirlit"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Forritatafla"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Nota"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Ýttu til að breyta"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Halda núverandi veggfóðri"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Nota"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Forskoðun stíls"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Forskoðun hnitanets"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Forskoðun leturgerðar"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Forskoðun tákns"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Forskoðun litar"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Forskoðun lögunar"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, notaður"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, í notkun og forskoðun"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, í forskoðun"</string>
@@ -77,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Úbbs! Eitthvað fór úrskeiðis."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Litur / tákn"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Forskoðun leturgerðar, tákna, lögunar forrits og litar"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Sérsniðin leturgerð"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Sérsniðið tákn"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Sérsniðinn litur"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Sérsniðið form"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Sérsniðið stílheiti"</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9aa357c..e0b2c28 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Stili e sfondi"</string>
+    <string name="app_name" msgid="1647136562008520313">"Sfondo e stile"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stile"</string>
     <string name="clock_title" msgid="2126046720254613991">"Orologio"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Griglia"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Griglia di app"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Applica"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tocca per modificare"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Mantieni lo sfondo corrente"</string>
@@ -66,11 +66,16 @@
     <string name="cancel" msgid="4651030493668562067">"Annulla"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Imposta sfondo stile"</string>
     <string name="use_style_instead_title" msgid="1578754995763917502">"Vuoi usare invece <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"I componenti scelti corrispondono allo stile <xliff:g id="ID_1">%1$s</xliff:g>. Vuoi usare invece <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"I componenti che hai scelto corrispondono allo stile <xliff:g id="ID_1">%1$s</xliff:g>. Vuoi usare invece <xliff:g id="ID_2">%1$s</xliff:g>?"</string>
     <string name="use_style_button" msgid="1754493078383627019">"Usa <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"No, grazie"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Anteprima dell\'orologio <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Spiacenti. Si è verificato un problema."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colore/Icone"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Anteprima di carattere, icone, forma dell\'app e colore"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Carattere personalizzato"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Icona personalizzata"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Colore personalizzato"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalizzata"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nome dello stile personalizzato"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index f0cfce6..2f8f9c8 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"סגנונות וטפטים"</string>
+    <string name="app_name" msgid="1647136562008520313">"טפט וסגנון"</string>
     <string name="theme_title" msgid="2144932106319405101">"סגנון"</string>
     <string name="clock_title" msgid="2126046720254613991">"שעון"</string>
-    <string name="grid_title" msgid="2825094404523390773">"רשת"</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="apply_btn" msgid="7965877231041987336">"אישור"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"תצוגה מקדימה של הסגנון"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"תצוגה מקדימה של הרשת"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"תצוגה מקדימה של הגופן"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"תצוגה מקדימה של הסמל"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"תצוגה מקדימה של הצבע"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"תצוגה מקדימה של הצורה"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, מוחלת כרגע"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, בהחלה ובתצוגה מקדימה כעת"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, בתצוגה מקדימה כעת"</string>
@@ -77,4 +73,9 @@
     <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>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 0a36000..d687419 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"スタイルと壁紙"</string>
+    <string name="app_name" msgid="1647136562008520313">"壁紙とスタイル"</string>
     <string name="theme_title" msgid="2144932106319405101">"スタイル"</string>
     <string name="clock_title" msgid="2126046720254613991">"時計"</string>
-    <string name="grid_title" msgid="2825094404523390773">"グリッド"</string>
+    <string name="grid_title" msgid="1688173478777254123">"アプリグリッド"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"適用"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"タップして編集"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"現在の壁紙を保持"</string>
@@ -65,13 +65,17 @@
     <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="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>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <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>
 </resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index e92e867..bfb07db 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"სტილები და ფონები"</string>
+    <string name="app_name" msgid="1647136562008520313">"ფონი და სტილი"</string>
     <string name="theme_title" msgid="2144932106319405101">"სტილი"</string>
     <string name="clock_title" msgid="2126046720254613991">"საათი"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ბადე"</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="apply_btn" msgid="7965877231041987336">"მისადაგება"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"სტილის გადახედვა"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ბადის გადახედვა"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"შრიფტის გადახედვა"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"ხატულის გადახედვა"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"ფერის გადახედვა"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"ფორმის გადახედვა"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, ამჟამად მისადაგებული"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, ამჟამად მისადაგებულია და გადახედვის პროცესშია"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, გადახედვის პროცესშია"</string>
@@ -71,11 +67,15 @@
     <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="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>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <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>
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 1b838a0..a5a53f8 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Стильдер мен тұсқағаздар"</string>
+    <string name="app_name" msgid="1647136562008520313">"Тұсқағаз және стиль"</string>
     <string name="theme_title" msgid="2144932106319405101">"Стиль"</string>
     <string name="clock_title" msgid="2126046720254613991">"Cағат"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Тор"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Қолданба торы"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Қолдану"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Өзгерту үшін түртіңіз"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Қазіргі тұсқағазды қалдыру"</string>
@@ -65,12 +65,17 @@
     <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_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="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>
 </resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index c183f7f..b55a72a 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"រចនាប័ទ្ម និង​ផ្ទាំងរូបភាព"</string>
+    <string name="app_name" msgid="1647136562008520313">"ផ្ទាំងរូបភាព និងរចនាប័ទ្ម"</string>
     <string name="theme_title" msgid="2144932106319405101">"រចនាប័ទ្ម"</string>
     <string name="clock_title" msgid="2126046720254613991">"នាឡិកា"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ក្រឡា"</string>
+    <string name="grid_title" msgid="1688173478777254123">"ក្រឡា​កម្មវិធី"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"ប្រើ"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"ចុច ដើម្បី​កែ"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"រក្សាទុក​ផ្ទាំងរូបភាព​បច្ចុប្បន្ន"</string>
@@ -65,13 +65,17 @@
     <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="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>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <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>
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 7dd54b5..ce55ece 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -17,10 +17,11 @@
 
 <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="6995669566699638946">"ಶೈಲಿಗಳು &amp; ವಾಲ್‌ಪೇಪರ್‌ಗಳು"</string>
+    <!-- no translation found for app_name (1647136562008520313) -->
+    <skip />
     <string name="theme_title" msgid="2144932106319405101">"ಶೈಲಿ"</string>
     <string name="clock_title" msgid="2126046720254613991">"ಗಡಿಯಾರ"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ಗ್ರಿಡ್"</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>
@@ -73,4 +74,9 @@
     <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>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index ca06cee..228d346 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"스타일 및 배경화면"</string>
+    <string name="app_name" msgid="1647136562008520313">"배경화면 및 스타일"</string>
     <string name="theme_title" msgid="2144932106319405101">"스타일"</string>
     <string name="clock_title" msgid="2126046720254613991">"시계"</string>
-    <string name="grid_title" msgid="2825094404523390773">"그리드"</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>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> 시계 미리보기"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"죄송합니다. 문제가 발생했습니다."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"색상/아이콘"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"글꼴, 아이콘, 앱 모양, 색상 미리보기"</string>
+    <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>
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index a013670..1597313 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Стилдер жана тушкагаздар"</string>
+    <string name="app_name" msgid="1647136562008520313">"Тушкагаз жана стиль"</string>
     <string name="theme_title" msgid="2144932106319405101">"Стиль"</string>
     <string name="clock_title" msgid="2126046720254613991">"Саат"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Торчо"</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="apply_btn" msgid="7965877231041987336">"Колдонуу"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Стилди алдын ала көрүү"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Торчону алдын ала көрүү"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Арипти алдын ала көрүү"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Сүрөтчөнү алдын ала көрүү"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Түстү алдын ала көрүү"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Формасын алдын ала көрүү"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, учурда колдонулууда"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, учурда колдонулуп, текшерилди"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, учурда текшерилип жатат"</string>
@@ -49,7 +45,7 @@
     <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">"Стили ийгиликтүү орнотулду"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Стиль коюлду"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Саат ийгиликтүү жөндөлдү"</string>
     <string name="applied_grid_msg" msgid="3250499654436933034">"Торчо ийгиликтүү жөндөлдү"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Стилди колдонууда маселе келип чыкты"</string>
@@ -70,11 +66,16 @@
     <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_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>
 </resources>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 134bfa7..3bad9e6 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -17,10 +17,7 @@
 -->
 <resources>
     <dimen name="card_title_text_size">12sp</dimen>
-    <dimen name="card_cover_title_text_size">14sp</dimen>
     <dimen name="card_header_icon_size">24dp</dimen>
-    <dimen name="card_header_top_margin">6dp</dimen>
-    <dimen name="preview_card_top_padding">6dp</dimen>
     <dimen name="preview_theme_content_margin">8dp</dimen>
     <dimen name="preview_theme_content_max_height">140dp</dimen>
     <dimen name="preview_theme_content_min_height">100dp</dimen>
@@ -29,9 +26,6 @@
     <dimen name="preview_theme_icon_size">26dp</dimen>
     <dimen name="preview_theme_tile_size">14dp</dimen>
     <dimen name="preview_theme_shape_size">30dp</dimen>
-    <dimen name="preview_theme_content_bottom">8dp</dimen>
-
-    <dimen name="font_preview_divider_gap">12dp</dimen>
 
     <dimen name="options_container_width">400dp</dimen>
     <dimen name="option_bottom_margin">8dp</dimen>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 58cbe97..5b70519 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"ຮູບແບບ ແລະ ຮູບພື້ນຫຼັງ"</string>
+    <string name="app_name" msgid="1647136562008520313">"ຮູບພື້ນຫຼັງ ແລະ ຮູບແບບ"</string>
     <string name="theme_title" msgid="2144932106319405101">"ຮູບແບບ"</string>
     <string name="clock_title" msgid="2126046720254613991">"ໂມງ"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ເສັ້ນ"</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>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"ຕົວຢ່າງໂມງ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"ຂໍອະໄພ! ເກີດບາງຢ່າງຜິດພາດຂຶ້ນ."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"ສີ / ໄອຄອນ"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"ຕົວຢ່າງຟອນ, ໄອຄອນ, ຮູບຮ່າງ ແລະ ສີແອັບ"</string>
+    <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>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 3be2ab7..931ed26 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Stiliai ir ekrano fonai"</string>
+    <string name="app_name" msgid="1647136562008520313">"Ekrano fonas ir stilius"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stilius"</string>
     <string name="clock_title" msgid="2126046720254613991">"Laikrodis"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Tinklelis"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Pr. tinklelis"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Taikyti"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Palieskite ir redaguokite"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Palikti dabartinį ekrano foną"</string>
@@ -66,12 +66,16 @@
     <string name="cancel" msgid="4651030493668562067">"Atšaukti"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Nustatyti stiliaus ekrano foną"</string>
     <string name="use_style_instead_title" msgid="1578754995763917502">"Verčiau naudoti „<xliff:g id="ID_1">%1$s</xliff:g>“?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Pasirinkti komponentai atitinka „<xliff:g id="ID_1">%1$s</xliff:g>“ stilių. Ar verčiau norite naudoti „<xliff:g id="ID_2">%1$s</xliff:g>“?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"Pasirinkti komponentai atitinka „<xliff:g id="ID_1">%1$s</xliff:g>“ stilių. Ar verčiau naudosite „<xliff:g id="ID_2">%1$s</xliff:g>“?"</string>
     <string name="use_style_button" msgid="1754493078383627019">"Naudoti „<xliff:g id="ID_1">%1$s</xliff:g>“"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Ne, ačiū"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Ciferblato „<xliff:g id="ID_1">%1$s</xliff:g>“ peržiūra"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oi, kažkas nepavyko."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Spalva / piktogramos"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Šriftų, piktogramų, programų formos ir spalvos peržiūra"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Tinkintas šriftas"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Pasirinkta piktograma"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Tinkinta spalva"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Tinkinta forma"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Tinkinto stiliaus pavadinimas"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 663eb5b..d6deff2 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Stili un fona tapetes"</string>
+    <string name="app_name" msgid="1647136562008520313">"Fona tapete un stils"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stils"</string>
     <string name="clock_title" msgid="2126046720254613991">"Pulkstenis"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Režģis"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Lietotņu režģis"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Lietot"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Pieskarieties, lai rediģētu"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Paturēt pašreizējo fona tapeti"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Lietot"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Stila priekšskatījums"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Režģa priekšskatījums"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Fonta priekšskatījums"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Ikonas priekšskatījums"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Krāsas priekšskatījums"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Formas priekšskatījums"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, pašlaik tiek lietots"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, pašlaik tiek lietots un priekšskatīts"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, pašlaik tiek priekšskatīts"</string>
@@ -77,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Diemžēl radās problēma."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Krāsa un ikonas"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Fonta, ikonu, lietotnes formas un krāsas priekšskatījums"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Pielāgots fonts"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Pielāgota ikona"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Pielāgota krāsa"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Pielāgota forma"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Pielāgots stila nosaukums"</string>
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 9266846..11851b6 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Стилови и тапети"</string>
+    <string name="app_name" msgid="1647136562008520313">"Тапет и стил"</string>
     <string name="theme_title" msgid="2144932106319405101">"Стил"</string>
     <string name="clock_title" msgid="2126046720254613991">"Часовник"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Мрежа"</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="apply_btn" msgid="7965877231041987336">"Примени"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Преглед на стил"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Преглед на решетка"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Преглед на фонтот"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Преглед на иконата"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Преглед на бојата"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Преглед на формата"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, применета во моментов"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, применети и прегледани во моментов"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, прегледани во моментов"</string>
@@ -51,7 +47,7 @@
     <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">"Стилот е успешно поставен"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Часовникот е успешно поставен"</string>
-    <string name="applied_grid_msg" msgid="3250499654436933034">"Решетката е успешно поставена"</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>
@@ -76,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Преглед на часовник <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Уф! Нешто тргна наопаку."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Боја/икони"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Преглед на фонтот, иконите, формата на апликациите и боите"</string>
+    <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>
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 5692c7b..24b9695 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -17,10 +17,11 @@
 
 <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="6995669566699638946">"സ്‌റ്റൈലുകളും വാൾപേപ്പറുകളും"</string>
+    <!-- no translation found for app_name (1647136562008520313) -->
+    <skip />
     <string name="theme_title" msgid="2144932106319405101">"സ്‌റ്റൈൽ"</string>
     <string name="clock_title" msgid="2126046720254613991">"ക്ലോക്ക്"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ഗ്രിഡ്"</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>
@@ -45,9 +46,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"എല്ലാ സ്‌ക്രീനിലേക്കും നിങ്ങളുടെ പ്രിയപ്പെട്ട ഫോണ്ടുകൾ ചേർക്കുക"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ഗ്രിഡ് വലുപ്പം തിരഞ്ഞെടുക്കുക"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="3749018706366796244">"സ്‌റ്റൈൽ സജ്ജമാക്കി"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"സ്‌റ്റൈൽ സജ്ജീകരിച്ചു"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"ക്ലോക്ക് സജ്ജമാക്കി"</string>
-    <string name="applied_grid_msg" msgid="3250499654436933034">"ഗ്രിഡ് സജ്ജമാക്കി"</string>
+    <string name="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>
@@ -66,11 +67,16 @@
     <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_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>
 </resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 755eb97..c3e32fb 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -17,13 +17,13 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_name" msgid="6995669566699638946">"Загвар ба ханын зураг"</string>
+    <string name="app_name" msgid="1647136562008520313">"Дэлгэцийн зураг, загвар"</string>
     <string name="theme_title" msgid="2144932106319405101">"Загвар"</string>
     <string name="clock_title" msgid="2126046720254613991">"Цаг"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Эгнээ"</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="keep_my_wallpaper" msgid="8012385376769568517">"Одоогийн дэлгэцийн зургийг хадгалах"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Ашиглах"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Загварыг урьдчилан үзэх"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Торыг урьдчилан үзэх"</string>
@@ -40,7 +40,7 @@
     <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="preview_name_wallpaper" msgid="1738652462949531828">"Дэлгэцийн зураг"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Дэлгэц бүрд дуртай фонтоо нэмэх"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Торын хэмжээг сонгох"</string>
@@ -64,7 +64,7 @@
     <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="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>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> цагийг урьдчилан үзэх"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Өө! Алдаа гарлаа."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Өнгө / Дүрс тэмдэг"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Фонт, дүрс тэмдэг, аппын хэлбэр болон өнгөний урьдчилан үзэлт"</string>
+    <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>
 </resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 6e4f8b7..af35e01 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -17,10 +17,11 @@
 
 <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="6995669566699638946">"शैली आणि वॉलपेपर"</string>
+    <!-- no translation found for app_name (1647136562008520313) -->
+    <skip />
     <string name="theme_title" msgid="2144932106319405101">"शैली"</string>
     <string name="clock_title" msgid="2126046720254613991">"घड्याळ"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ग्रिड"</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>
@@ -34,15 +35,15 @@
     <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="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="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_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 • १२३"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"प्रत्येक स्क्रीनवर तुमचे आवडते फॉन्ट जोडा"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"प्रत्येक स्क्रीनवर तुमचे आवडते फॉंट जोडा"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"ग्रिडचा आकार निवडा"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
     <string name="applied_theme_msg" msgid="3749018706366796244">"शैली यशस्वीरीत्या सेट केली"</string>
@@ -55,7 +56,7 @@
     <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="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>
@@ -73,4 +74,9 @@
     <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>
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index fe3a208..41bc0b7 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Gaya &amp; kertas dinding"</string>
+    <string name="app_name" msgid="1647136562008520313">"Kertas dinding &amp; gaya"</string>
     <string name="theme_title" msgid="2144932106319405101">"Gaya"</string>
     <string name="clock_title" msgid="2126046720254613991">"Jam"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grid"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Grid apl"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Gunakan"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Ketik untuk edit"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Kekalkan kertas dinding semasa"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Gunakan"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Pratonton Gaya"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Pratonton grid"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Pratonton fon"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Pratonton ikon"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Pratonton warna"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Pratonton bentuk"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, digunakan pada masa ini"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, digunakan dan dipratonton pada masa ini"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, dipratonton pada masa ini"</string>
@@ -77,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Op! Berlaku kesilapan."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Warna / Ikon"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Pratonton fon, ikon, bentuk apl dan warna"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Fon tersuai"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Ikon tersuai"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Warna tersuai"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Bentuk tersuai"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nama gaya tersuai"</string>
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 5094e77..e70957c 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"ပုံစံနှင့် နောက်ခံပုံများ"</string>
+    <string name="app_name" msgid="1647136562008520313">"နောက်ခံနှင့် ပုံစံ"</string>
     <string name="theme_title" msgid="2144932106319405101">"ပုံစံ"</string>
     <string name="clock_title" msgid="2126046720254613991">"နာရီ"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ဇယားကွက်"</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>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> နာရီ အစမ်းကြည့်ခြင်း"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"သည်းခံပါ။ တစ်ခုခု မှားသွားသည်။"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"အရောင် / သင်္ကေတများ"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"ဖောင့်၊ သင်္ကေတများ၊ အက်ပ်၊ ပုံသဏ္ဌာန်နှင့် အရောင် အစမ်းကြည့်ရှုခြင်း"</string>
+    <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>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index bd49d14..ee6e6de 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Stiler og bakgrunner"</string>
+    <string name="app_name" msgid="1647136562008520313">"Bakgrunn og stil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stil"</string>
     <string name="clock_title" msgid="2126046720254613991">"Klokke"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Rutenett"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Apprutenett"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Bruk"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Trykk for å endre"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Behold den nåværende bakgrunnen"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Bruk"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Forhåndsvisning av stil"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Forhåndsvisning av rutenett"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Forhåndsvisning av skrifttype"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Forhåndsvisning av ikon"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Forhåndsvisning av farge"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Forhåndsvisning av form"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, brukes for øyeblikket"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, brukes of forhåndsvises for øyeblikket"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, forhåndsvises for øyeblikket"</string>
@@ -76,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Forhåndsvisning av <xliff:g id="ID_1">%1$s</xliff:g>-klokke"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Beklager, men noe gikk galt."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Farge/ikoner"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Forhåndsvisning av skrifttype, ikoner, appform og farge"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Egendefinert skrifttype"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Egendefinert ikon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Egendefinert farge"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Egendefinert form"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Navn på egendefinert stil"</string>
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index ac36950..33b8329 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -17,29 +17,26 @@
 
 <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="6995669566699638946">"शैली तथा वालपेपरहरू"</string>
+    <!-- no translation found for app_name (1647136562008520313) -->
+    <skip />
     <string name="theme_title" msgid="2144932106319405101">"शैली"</string>
     <string name="clock_title" msgid="2126046720254613991">"घडी"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ग्रिड"</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="apply_btn" msgid="7965877231041987336">"लागू गर्नुहोस्"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"शैलीको प्रिभ्यु"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ग्रिडको प्रिभ्यु"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"फन्टको प्रिभ्यू"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"आइकनको प्रिभ्यू"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"रङको प्रिभ्यू"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"आकारको प्रिभ्यू"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, हालसालै लागू गरिएको"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, हालसालै लागू तथा पूर्वावलोकन गरिएको"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, हालसालै पूर्वलोकन गरिएको"</string>
     <string name="theme_description" msgid="3697012391785254635">"फन्ट: <xliff:g id="ID_1">%1$s</xliff:g>, आइकनहरू: <xliff:g id="ID_2">%2$s</xliff:g>, आकार: <xliff:g id="ID_3">%3$s</xliff:g>, रङ्ग: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"पूर्वनिर्धारित"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"डिफल्ट"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"फन्ट"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"आइकन"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"रङ्ग"</string>
@@ -77,4 +74,9 @@
     <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>
 </resources>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
index 4f369a7..a0c0e34 100644
--- a/res/values-night/colors.xml
+++ b/res/values-night/colors.xml
@@ -18,27 +18,6 @@
 <resources>
     <color name="theme_preview_icon_color">@color/white_70_alpha</color>
 
-    <color name="icon_thumbnail_color">@color/white_88_alpha</color>
-
-    <color name="theme_preview_color_icons_background">@color/material_black_100</color>
-    <color name="theme_preview_color_icons_title_color">@color/material_white_100</color>
-
-    <color name="control_grey">#b3b3b3</color>
-    <color name="switch_track_tint">#171717</color>
-    <color name="switch_thumb_tint">#bdbdbd</color>
-
     <color name="tile_enabled_icon_color">#2d2d2d</color>
-    <color name="tile_disabled_icon_color">@color/light_grey</color>
-    <color name="tile_disabled_background_color">#353535</color>
 
-    <color name="shape_option_tile_foreground_color">@color/edit_background_base</color>
-
-    <color name="tip_dot_color">#81C995</color>
-    <color name="tip_dot_line_color">#000000</color>
-
-    <color name="toolbar_icon_color">@color/text_color_light</color>
-
-    <color name="divider_color">@color/white_14_alpha</color>
-
-    <color name="cover_title_color">@color/white_88_alpha</color>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index ee6461d..3785340 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Stijl en achtergrond"</string>
+    <string name="app_name" msgid="1647136562008520313">"Achtergrond en stijl"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stijl"</string>
     <string name="clock_title" msgid="2126046720254613991">"Klok"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Raster"</string>
+    <string name="grid_title" msgid="1688173478777254123">"App-raster"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Toepassen"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tik om te bewerken"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Huidige achtergrond behouden"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Voorbeeld van <xliff:g id="ID_1">%1$s</xliff:g>-klok bekijken"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Er is iets misgegaan."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Kleuren/iconen"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Voorbeeld van lettertypen, iconen, app-vormen en kleuren"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Aangepast lettertype"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Aangepast icoon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Aangepaste kleur"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Aangepaste vorm"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Naam van aangepaste stijl"</string>
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index ebeea57..a8c559d 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"ଷ୍ଟାଇଲ୍ ଏବଂ ୱାଲପେପର୍"</string>
+    <string name="app_name" msgid="1647136562008520313">"ୱାଲପେପର୍ ଏବଂ ଷ୍ଟାଇଲ୍"</string>
     <string name="theme_title" msgid="2144932106319405101">"ଷ୍ଟାଇଲ୍"</string>
     <string name="clock_title" msgid="2126046720254613991">"ଘଣ୍ଟା"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ଗ୍ରିଡ୍"</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>
@@ -73,4 +73,9 @@
     <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>
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 507424f..acd4b54 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"ਸ਼ੈਲੀਆਂ ਅਤੇ ਵਾਲਪੇਪਰ"</string>
+    <string name="app_name" msgid="1647136562008520313">"ਵਾਲਪੇਪਰ ਅਤੇ ਸਟਾਈਲ"</string>
     <string name="theme_title" msgid="2144932106319405101">"ਸ਼ੈਲੀ"</string>
     <string name="clock_title" msgid="2126046720254613991">"ਘੜੀ"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ਗ੍ਰਿਡ"</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="apply_btn" msgid="7965877231041987336">"ਲਾਗੂ ਕਰੋ"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"ਸਟਾਈਲ ਦੀ ਪੂਰਵ-ਝਲਕ"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ਗ੍ਰਿਡ ਪੂਰਵ-ਝਲਕ"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"ਫ਼ੌਂਟ ਦੀ ਪੂਰਵ-ਝਲਕ"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"ਪ੍ਰਤੀਕ ਦੀ ਪੂਰਵ-ਝਲਕ"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"ਰੰਗ ਦੀ ਪੂਰਵ-ਝਲਕ"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"ਆਕਾਰ ਦੀ ਪੂਰਵ-ਝਲਕ"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, ਫ਼ਿਲਹਾਲ ਲਾਗੂ ਕੀਤਾ ਗਿਆ"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, ਫਿਲਹਾਲ ਲਾਗੂ ਕਰਕੇ ਪੂਰਵ-ਝਲਕ ਦੇਖੀ ਗਈ"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, ਫਿਲਹਾਲ ਪੂਰਵ-ਝਲਕ ਦੇਖੀ ਗਈ"</string>
@@ -76,5 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ਘੜੀ ਦੀ ਪੂਰਵ-ਝਲਕ"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"ਓਹੋ! ਕੋਈ ਗੜਬੜ ਹੋਈ।"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"ਰੰਗ / ਪ੍ਰਤੀਕ"</string>
-    <string name="style_info_description" msgid="2612473574431003251">"ਫ਼ੌਂਟ, ਪ੍ਰਤੀਕਾਂ, ਐਪ ਆਕਾਰ ਅਤੇ ਰੰਗ ਦੀ ਪੂਰਵ-ਝਲਕ ਦੇਖੋ"</string>
+    <string name="style_info_description" msgid="2612473574431003251">"ਫ਼ੌਂਟ, ਪ੍ਰਤੀਕ, ਐਪ ਆਕਾਰ ਅਤੇ ਰੰਗ ਦੀ ਪੂਰਵ-ਝਲਕ ਦੇਖੋ"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"ਵਿਉਂਤਿਆ ਫੌਂਟ"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"ਵਿਉਂਤਿਆ ਪ੍ਰਤੀਕ"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"ਵਿਉਂਤਿਆ ਰੰਗ"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"ਵਿਉਂਤੀ ਆਕ੍ਰਿਤੀ"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"ਸ਼ੈਲੀ ਦਾ ਵਿਉਂਤਿਆ ਨਾਮ"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 7f04d1e..cbcbc0a 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Style i tapety"</string>
+    <string name="app_name" msgid="1647136562008520313">"Tapeta i styl"</string>
     <string name="theme_title" msgid="2144932106319405101">"Styl"</string>
     <string name="clock_title" msgid="2126046720254613991">"Zegar"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Siatka"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Siatka aplikacji"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Zastosuj"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Kliknij, by edytować"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Pozostaw bieżącą tapetę"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Zastosuj"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Podgląd stylu"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Podgląd siatki"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Podgląd czcionki"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Podgląd ikony"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Podgląd koloru"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Podgląd kształtu"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, obecnie używana opcja"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, obecnie zastosowana i przeglądana"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, obecnie przeglądana"</string>
@@ -77,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Ups. Coś poszło nie tak."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Kolory/ikony"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Podgląd czcionki, ikon, kształtu aplikacji i koloru"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Czcionka niestandardowa"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Ikona niestandardowa"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Kolor niestandardowy"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Kształt niestandardowy"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nazwa stylu niestandardowego"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index cf9bb6f..4ae02bc 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Estilos e imagens de fundo"</string>
+    <string name="app_name" msgid="1647136562008520313">"Imagem de fundo e estilo"</string>
     <string name="theme_title" msgid="2144932106319405101">"Estilo"</string>
     <string name="clock_title" msgid="2126046720254613991">"Relógio"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grelha"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Grelha de apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicar"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toque para editar"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Manter a imagem de fundo atual"</string>
@@ -70,8 +70,12 @@
     <string name="use_style_button" msgid="1754493078383627019">"Utilizar <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Não, obrigado"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Pré-visualização do relógio <xliff:g id="ID_1">%1$s</xliff:g>"</string>
-    <string name="something_went_wrong" msgid="529840112449799117">"Ups! Ocorreu um erro."</string>
+    <string name="something_went_wrong" msgid="529840112449799117">"Ups! Algo correu mal."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Cor/Ícones"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Pré-visualização do tipo de letra, dos ícones, da forma da app e da cor"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Tipo de letra personalizado"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Ícone personalizado"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Cor personalizada"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma personalizada"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nome do estilo personalizado"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index af1bb01..70bc224 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Estilos e planos de fundo"</string>
+    <string name="app_name" msgid="1647136562008520313">"Plano de fundo e estilo"</string>
     <string name="theme_title" msgid="2144932106319405101">"Estilo"</string>
     <string name="clock_title" msgid="2126046720254613991">"Relógio"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grade"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Grade de apps"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicar"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Toque para editar"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Manter o plano de fundo atual"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Visualização do relógio <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ops! Algo deu errado."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Cor / Ícones"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Visualização de fonte, ícones, forma do app e cor"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Fonte personalizada"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Ícone personalizado"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Cor personalizada"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Formato personalizado"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Nome do estilo personalizado"</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index b37639b..3d7c7de 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Stiluri și imagini de fundal"</string>
+    <string name="app_name" msgid="1647136562008520313">"Imagine de fundal și stil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stil"</string>
     <string name="clock_title" msgid="2126046720254613991">"Ceas"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grilă"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Grilă aplicații"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Aplicați"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Atingeți pentru a modifica"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Păstrați imaginea de fundal actuală"</string>
@@ -73,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Hopa! Ceva nu a funcționat cum trebuie."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Culoare/pictograme"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Previzualizați fontul, pictogramele, forma aplicației și culoarea"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Font personalizat"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Pictogramă personalizată"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Culoare personalizată"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Formă personalizată"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Numele stilului personalizat"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index c13ab50..cee2a83 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Стили и обои"</string>
+    <string name="app_name" msgid="1647136562008520313">"Обои и стиль"</string>
     <string name="theme_title" msgid="2144932106319405101">"Стиль"</string>
     <string name="clock_title" msgid="2126046720254613991">"Часы"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Сетка"</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>
@@ -51,7 +51,7 @@
     <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" 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>
@@ -73,4 +73,9 @@
     <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>
 </resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index dc24850..48fc06e 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"විලාස සහ වෝල්පේපර"</string>
+    <string name="app_name" msgid="1647136562008520313">"වෝල්පේපරය සහ මෝස්තරය"</string>
     <string name="theme_title" msgid="2144932106319405101">"විලාසය"</string>
     <string name="clock_title" msgid="2126046720254613991">"ඔරලෝසුව"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ජාලකය"</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>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ඔරලෝසු පෙරදසුන"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"අපොයි! යමක් වැරදී ගියේය."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"වර්ණය / අයිකන"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"ෆොන්ට, නිරූපක, යෙදුම් හැඩය සහ වර්ණය පෙරදසුන් කරන්න"</string>
+    <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>
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index c19f3bc..98482fa 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Štýly a tapety"</string>
+    <string name="app_name" msgid="1647136562008520313">"Tapeta a štýl"</string>
     <string name="theme_title" msgid="2144932106319405101">"Štýl"</string>
     <string name="clock_title" msgid="2126046720254613991">"Hodiny"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Mriežka"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Mriežka aplik."</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Použiť"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Klepnutím upravte"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Ponechať aktuálnu tapetu"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Použiť"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Ukážka štýlu"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Ukážka mriežky"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Ukážka písma"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Ukážka ikony"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Ukážka farby"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Ukážka tvaru"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, momentálne použité"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, možnosť bola práve použitá a zobrazuje sa jej ukážka"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, práve sa zobrazuje ukážka"</string>
@@ -76,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Ukážka ciferníka <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ojoj! Niečo sa pokazilo."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Farby a ikony"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Ukážka písma, ikon, tvaru aplikácie a farby"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Vlastné písmo"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Vlastná ikona"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Vlastná farba"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Vlastný tvar"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Názov vlastného štýlu"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index d208cf7..5a381ab 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Slogi in ozadja"</string>
+    <string name="app_name" msgid="1647136562008520313">"Zaslonsko ozadje in slog"</string>
     <string name="theme_title" msgid="2144932106319405101">"Slog"</string>
     <string name="clock_title" msgid="2126046720254613991">"Ura"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Mreža"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Mreža aplikacij"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Uporabi"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Dotaknite se za urejanje"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Obdrži trenutno ozadje"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Uporabi"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Predogled sloga"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Predogled mreže"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Predogled pisave"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Predogled ikone"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Predogled barve"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Predogled oblike"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g> – trenutno uporabljeno"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> – trenutno uporabljeno in v predogledu"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> – trenutno v predogledu"</string>
@@ -76,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Predogled ure <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ojoj, prišlo je do napake."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Barva/ikone"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Predogled pisave, ikon, oblike aplikacije in barve."</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Pisava po meri"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Ikona po meri"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Barva po meri"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Oblika po meri"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Ime sloga po meri"</string>
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index edf3528..0b36ff3 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -17,10 +17,11 @@
 
 <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="6995669566699638946">"Stilet dhe imazhet e sfondit"</string>
+    <!-- no translation found for app_name (1647136562008520313) -->
+    <skip />
     <string name="theme_title" msgid="2144932106319405101">"Stili"</string>
     <string name="clock_title" msgid="2126046720254613991">"Ora"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Rrjeta"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Rrjeta e aplikacioneve"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Zbato"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Trokit për të modifikuar"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Mbaj imazhin aktual të sfondit"</string>
@@ -73,4 +74,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Mos! Ndodhi një gabim."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Ngjyra / Ikonat"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Pamja paraprake e fontit, ikonave, formës së aplikacionit dhe ngjyrës"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Fonti i personalizuar"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Ikona e personalizuar"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Ngjyra e personalizuar"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Forma e personalizuar"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Emri i stilit të personalizuar"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index c2179e6..7b73153 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Стилови и позадине"</string>
+    <string name="app_name" msgid="1647136562008520313">"Позадина и стил"</string>
     <string name="theme_title" msgid="2144932106319405101">"Стил"</string>
     <string name="clock_title" msgid="2126046720254613991">"Сат"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Мрежа"</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>
@@ -35,7 +35,7 @@
     <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="theme_description" msgid="3697012391785254635">"Фонт: <xliff:g id="ID_1">%1$s</xliff:g>, иконе: <xliff:g id="ID_2">%2$s</xliff:g>, облик: <xliff:g id="ID_3">%3$s</xliff:g>, боја: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"Подразум."</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"Подразумевано"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"Фонт"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Икона"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Боја"</string>
@@ -45,9 +45,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Додајте омиљене фонтове на сваки екран"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Одаберите величину мреже"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="3749018706366796244">"Подешавање стила је успело"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Стил је подешен"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Подешавање сата је успело"</string>
-    <string name="applied_grid_msg" msgid="3250499654436933034">"Подешавање мреже је успело"</string>
+    <string name="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>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Преглед сата <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Упс! Дошло је до грешке."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Боја/иконе"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Преглед фонта, икона, облика апликације и боје"</string>
+    <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>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 5829cff..76a8427 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Format och bakgrunder"</string>
+    <string name="app_name" msgid="1647136562008520313">"Bakgrund och utseende"</string>
     <string name="theme_title" msgid="2144932106319405101">"Format"</string>
     <string name="clock_title" msgid="2126046720254613991">"Klocka"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Rutnät"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Apprutnät"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Använd"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tryck för att redigera"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Behåll befintlig bakgrund"</string>
@@ -73,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Hoppsan! Något gick fel."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Färg/ikoner"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Förhandsgranskning av teckensnitt, ikoner, appform och färg"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Anpassat teckensnitt"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Anpassad ikon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Anpassad färg"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Anpassat område"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Namn på anpassat format"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 0aae7d7..57fa6eb 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Mitindo na mandhari"</string>
+    <string name="app_name" msgid="1647136562008520313">"Mandhari na muundo"</string>
     <string name="theme_title" msgid="2144932106319405101">"Mtindo"</string>
     <string name="clock_title" msgid="2126046720254613991">"Saa"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Gridi"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Gridi ya programu"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Tumia"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Gusa ili ubadilishe"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Tumia mandhari ya sasa"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Tumia"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Onyesho la kukagua muundo"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Onyesho la kukagua gridi"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Onyesho la kukagua fonti"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Onyesho la kukagua aikoni"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Onyesho la kukagua rangi"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Onyesho la kukagua umbo"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, inayotumiwa sasa hivi"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, inayotumika na kukaguliwa kwanza sasa hivi"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, inakaguliwa kwanza sasa hivi"</string>
@@ -49,9 +45,9 @@
     <string name="font_card_body" msgid="6790525594503904468">"Ongeza fonti unayopenda kwenye kila skrini"</string>
     <string name="grid_options_title" msgid="7071930966989877023">"Chagua ukubwa wa gridi"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="3749018706366796244">"Imeweka muundo"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Mtindo umewekwa"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"Imeweka saa"</string>
-    <string name="applied_grid_msg" msgid="3250499654436933034">"Imeweka gridi"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Gridi imewekwa"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Hitilafu imetokea wakati wa kutumia muundo"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Endelea"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Ya awali"</string>
@@ -63,19 +59,23 @@
     <string name="icon_component_title" msgid="5779787138399083903">"Chagua aikoni"</string>
     <string name="color_component_title" msgid="1194089273921078816">"Chagua rangi"</string>
     <string name="shape_component_title" msgid="8366847436022025538">"Chagua umbo"</string>
-    <string name="name_component_title" msgid="532425087968663437">"Andika jina la muundo wako"</string>
+    <string name="name_component_title" msgid="532425087968663437">"Andika jina la mtindo wako"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"Aikoni za <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"Ungependa kufuta muundo Maalum?"</string>
     <string name="delete_custom_theme_button" msgid="5102462988130208824">"Futa"</string>
     <string name="cancel" msgid="4651030493668562067">"Ghairi"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Weka mandhari yenye muundo"</string>
     <string name="use_style_instead_title" msgid="1578754995763917502">"Je, utatumia <xliff:g id="ID_1">%1$s</xliff:g> badala yake?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Vijenzi ulivyochagua vinalingana na mtindo wa <xliff:g id="ID_1">%1$s</xliff:g>. Ungependa kutumia <xliff:g id="ID_2">%1$s</xliff:g> badala yake?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"Vipengele ulivyochagua vinalingana na mtindo wa <xliff:g id="ID_1">%1$s</xliff:g>. Ungependa kutumia <xliff:g id="ID_2">%1$s</xliff:g> badala yake?"</string>
     <string name="use_style_button" msgid="1754493078383627019">"Tumia <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Hapana"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Onyesho la kukagua saa ya <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Lo! Hitilafu imetokea."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Rangi / Aikoni"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Onyesho la kukagua fonti, aikoni, umbo la programu na rangi"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Fonti maalum"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Aikoni maalum"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Rangi maalum"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Umbo maalum"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Jina la muundo maalum"</string>
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index cd9b011..387dece 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"ஸ்டைல்கள் &amp; வால்பேப்பர்கள்"</string>
+    <string name="app_name" msgid="1647136562008520313">"வால்பேப்பரும் ஸ்டைலும்"</string>
     <string name="theme_title" msgid="2144932106319405101">"ஸ்டைல்"</string>
     <string name="clock_title" msgid="2126046720254613991">"கடிகாரம்"</string>
-    <string name="grid_title" msgid="2825094404523390773">"கட்டம்"</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="apply_btn" msgid="7965877231041987336">"பயன்படுத்து"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"ஸ்டைல் மாதிரிக்காட்சி"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"கட்ட மாதிரிக்காட்சி"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"எழுத்துரு மாதிரிக்காட்சி"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"ஐகான் மாதிரிக்காட்சி"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"வண்ண மாதிரிக்காட்சி"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"வடிவ மாதிரிக்காட்சி"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g> தற்போது பயன்படுத்தப்பட்டது"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, தற்போது பயன்படுத்தப்பட்டு மாதிரிக்காட்சி காண்பிக்கப்படுகிறது"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, மாதிரிக்காட்சி தற்போது காண்பிக்கப்படுகிறது"</string>
@@ -77,4 +73,9 @@
     <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>
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index ffc2605..a39685d 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -17,10 +17,11 @@
 
 <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="6995669566699638946">"స్ట‌యిల్స్‌ &amp; వాల్‌పేపర్‌లు"</string>
+    <!-- no translation found for app_name (1647136562008520313) -->
+    <skip />
     <string name="theme_title" msgid="2144932106319405101">"శైలి"</string>
     <string name="clock_title" msgid="2126046720254613991">"గడియారం"</string>
-    <string name="grid_title" msgid="2825094404523390773">"గ్రిడ్"</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>
@@ -73,4 +74,9 @@
     <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>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 6906d93..5235a90 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"รูปแบบและวอลเปเปอร์"</string>
+    <string name="app_name" msgid="1647136562008520313">"วอลเปเปอร์และรูปแบบ"</string>
     <string name="theme_title" msgid="2144932106319405101">"รูปแบบ"</string>
     <string name="clock_title" msgid="2126046720254613991">"นาฬิกา"</string>
-    <string name="grid_title" msgid="2825094404523390773">"ตารางกริด"</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>
@@ -35,7 +35,7 @@
     <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="theme_description" msgid="3697012391785254635">"แบบอักษร: <xliff:g id="ID_1">%1$s</xliff:g>, ไอคอน: <xliff:g id="ID_2">%2$s</xliff:g>, รูปร่าง: <xliff:g id="ID_3">%3$s</xliff:g>, สี: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
-    <string name="default_theme_title" msgid="2555741736622366797">"เริ่มต้น"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"ค่าเริ่มต้น"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"แบบอักษร"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"ไอคอน"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"สี"</string>
@@ -65,13 +65,17 @@
     <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="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>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <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>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index bed4b60..eae43bb 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Mga istilo at wallpaper"</string>
+    <string name="app_name" msgid="1647136562008520313">"Wallpaper &amp; istilo"</string>
     <string name="theme_title" msgid="2144932106319405101">"Istilo"</string>
     <string name="clock_title" msgid="2126046720254613991">"Orasan"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Grid"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Grid ng app"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Ilapat"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"I-tap para ma-edit"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Gamitin ang kasalukuyang wallpaper"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Ilapat"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Preview ng istilo"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Preview ng grid"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Preview ng font"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Preview ng icon"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Preview ng kulay"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Preview ng hugis"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, kasalukuyang nakalapat"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, kasalukuyang nakalapat at pini-preview"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, kasalukuyang pini-preview"</string>
@@ -76,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> preview ng orasan"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oops! May maling nangyari."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Kulay / Mga Icon"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Preview ng font, mga icon, hugis ng app, at kulay"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Custom na font"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Custom icon"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Custom na kulay"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Custom na hugis"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Custom na pangalan ng istilo"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 1992d89..9638aa2 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"Stiller ve duvar kağıtları"</string>
+    <string name="app_name" msgid="1647136562008520313">"Duvar kağıdı ve stil"</string>
     <string name="theme_title" msgid="2144932106319405101">"Stil"</string>
     <string name="clock_title" msgid="2126046720254613991">"Saat"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Tablo"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Uygulama tablosu"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Uygula"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Düzenlemek için dokunun"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Geçerli duvar kağıdını sakla"</string>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> saat önizleme"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Hay aksi! Bir hata oluştu."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Renk/Simgeler"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Yazı tipi, simge, uygulama şekli ve renk önizlemesi"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Özel yazı tipi"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Özel simge"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Özel renk"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Özel şekil"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Özel stil adı"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 9f22f75..408ed3c 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Стилі й фонові малюнки"</string>
+    <string name="app_name" msgid="1647136562008520313">"Фоновий малюнок і стиль"</string>
     <string name="theme_title" msgid="2144932106319405101">"Стиль"</string>
     <string name="clock_title" msgid="2126046720254613991">"Годинник"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Сітка"</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="apply_btn" msgid="7965877231041987336">"Застосувати"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Попередній перегляд теми"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Попередній перегляд сітки"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Попередній перегляд шрифту"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Попередній перегляд значка"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Попередній перегляд кольору"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Попередній перегляд форми"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g> (зараз застосовано)"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> (застосовано й відображається зараз)"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> (відображається зараз)"</string>
@@ -76,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Попередній перегляд годинника \"<xliff:g id="ID_1">%1$s</xliff:g>\""</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Сталася помилка."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Колір / Значки"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Попередній перегляд шрифту, значків, кольору й форми додатка"</string>
+    <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>
 </resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 56eba90..3e5eaa1 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -17,24 +17,21 @@
 
 <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="6995669566699638946">"طرزیں اور وال پیپرز"</string>
+    <!-- no translation found for app_name (1647136562008520313) -->
+    <skip />
     <string name="theme_title" msgid="2144932106319405101">"طرز"</string>
     <string name="clock_title" msgid="2126046720254613991">"گھڑی"</string>
-    <string name="grid_title" msgid="2825094404523390773">"گرڈ"</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="apply_btn" msgid="7965877231041987336">"لاگو کریں"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"طرز کا پیش منظر"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"گرڈ کا پیش منظر"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"فونٹ کا پیش منظر"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"آئیکن کا پیش منظر"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"رنگ کا پیش منظر"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"شکل کا پیش منظر"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>، فی الحال لاگو کر دیا گیا"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>، فی الحال اطلاق کردہ اور پیش منظر شدہ ہے"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>، فی الحال پیش منظر شدہ ہے"</string>
@@ -47,7 +44,7 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"وال پیپر"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"ہر اسکرین میں اپنے پسندیدہ فونٹس شامل کریں"</string>
-    <string name="grid_options_title" msgid="7071930966989877023">"ایک گرڈ کی سائز منتخب کریں"</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">"طرز کامیابی کے ساتھ سیٹ ہو گیا"</string>
     <string name="applied_clock_msg" msgid="1303338016701443767">"گھڑی کامیابی کے ساتھ سیٹ ہو گئی"</string>
@@ -76,6 +73,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> گھڑی کا پیش منظر"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"افوہ! کچھ غلط ہوگیا۔"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"رنگ / آئیکنز"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"فونٹ، آئیکنز، ایپ کی شکل اور رنگ کا پیش منظر"</string>
+    <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>
 </resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 70a658b..46c07d8 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Mavzu va fon rasmlari"</string>
+    <string name="app_name" msgid="1647136562008520313">"Fon rasmi va stili"</string>
     <string name="theme_title" msgid="2144932106319405101">"Uslub"</string>
     <string name="clock_title" msgid="2126046720254613991">"Soat"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Jadval"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Ilovalar jadvali"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Tatbiq etish"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Tahrirlash uchun tegining"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Joriy fon rasmini saqlab qolish"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Tatbiq etish"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Dizaynga razm solish"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Kataklarga razm solish"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Shriftga nazar solish"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Belgiga razm solish"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Ranglarga razm solish"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Shaklga razm solish"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, hozirda tatbiq etilgan"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, hozirda tatbiq etilgan va tanishib chiqilgan"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, tanishib chiqilgan"</string>
@@ -70,12 +66,16 @@
     <string name="cancel" msgid="4651030493668562067">"Bekor qilish"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Fon rasmi uslubini sozlash"</string>
     <string name="use_style_instead_title" msgid="1578754995763917502">"Oʻrniga <xliff:g id="ID_1">%1$s</xliff:g> ishlatilsinmi?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Siz tanlagan komponentlar <xliff:g id="ID_1">%1$s</xliff:g> stiliga mos. Oʻrniga <xliff:g id="ID_2">%1$s</xliff:g> ishlatilsinmi?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"Siz tanlagan komponentlar <xliff:g id="ID_1">%1$s</xliff:g> uslubiga mos. Oʻrniga <xliff:g id="ID_2">%1$s</xliff:g> ishlatilsinmi?"</string>
     <string name="use_style_button" msgid="1754493078383627019">"<xliff:g id="ID_1">%1$s</xliff:g> ishlatish"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Kerak emas"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> soatiga razm solish"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ana xolos! Xatolik yuz berdi."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Rang va ikonkalar"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"Shrift, belgilar, ilova shakllari va ranglarga razm solish"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Maxsus shrift"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Maxsus belgi"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Maxsus rang"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Maxsus shakl"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Maxsus uslub nomi"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 339d30c..e7b46a9 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Kiểu và hình nền"</string>
+    <string name="app_name" msgid="1647136562008520313">"Hình nền và kiểu"</string>
     <string name="theme_title" msgid="2144932106319405101">"Kiểu"</string>
     <string name="clock_title" msgid="2126046720254613991">"Đồng hồ"</string>
-    <string name="grid_title" msgid="2825094404523390773">"Lưới"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Lưới ứng dụng"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Áp dụng"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Nhấn để chỉnh sửa"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Giữ hình nền hiện tại"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Áp dụng"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Xem trước kiểu"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Xem trước lưới"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Xem trước phông chữ"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Xem trước biểu tượng"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Xem trước màu"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Xem trước hình dạng"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, đang áp dụng"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, đang áp dụng và xem trước"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, đang xem trước"</string>
@@ -69,12 +65,17 @@
     <string name="delete_custom_theme_button" msgid="5102462988130208824">"Xóa"</string>
     <string name="cancel" msgid="4651030493668562067">"Hủy"</string>
     <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Nơi để đặt hình nền"</string>
-    <string name="use_style_instead_title" msgid="1578754995763917502">"Sử dụng <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
-    <string name="use_style_instead_body" msgid="3051937045807471496">"Các thành phần bạn chọn phù hợp với kiểu <xliff:g id="ID_1">%1$s</xliff:g>. Bạn có muốn sử dụng <xliff:g id="ID_2">%1$s</xliff:g> không?"</string>
-    <string name="use_style_button" msgid="1754493078383627019">"Sử dụng <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="use_style_instead_title" msgid="1578754995763917502">"Sử dụng kiểu <xliff:g id="ID_1">%1$s</xliff:g>?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"Các thành phần bạn chọn phù hợp với kiểu <xliff:g id="ID_1">%1$s</xliff:g>. Thay vào đó, bạn có muốn sử dụng kiểu <xliff:g id="ID_2">%1$s</xliff:g> không?"</string>
+    <string name="use_style_button" msgid="1754493078383627019">"Sử dụng kiểu <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Không, cảm ơn"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Bản xem trước đồng hồ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Rất tiếc! Đã xảy ra lỗi."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Màu/Biểu tượng"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Bản xem trước phông chữ, biểu tượng, hình dạng của ứng dụng và màu sắc"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Phông chữ tùy chỉnh"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Biểu tượng tùy chỉnh"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Màu tùy chỉnh"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Hình dạng tùy chỉnh"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Tên kiểu tùy chỉnh"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index ce7e527..5c116e4 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"样式和壁纸"</string>
+    <string name="app_name" msgid="1647136562008520313">"壁纸和样式"</string>
     <string name="theme_title" msgid="2144932106319405101">"样式"</string>
     <string name="clock_title" msgid="2126046720254613991">"时钟"</string>
-    <string name="grid_title" msgid="2825094404523390773">"网格"</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="apply_btn" msgid="7965877231041987336">"应用"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"样式预览"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"网格预览"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"字体预览"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"图标预览"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"颜色预览"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"形状预览"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>，目前已应用"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>（目前应用及预览的项）"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>（目前预览的项）"</string>
@@ -77,4 +73,9 @@
     <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>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index b2a6ec4..e7951e2 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"樣式和桌布"</string>
+    <string name="app_name" msgid="1647136562008520313">"桌布和樣式"</string>
     <string name="theme_title" msgid="2144932106319405101">"樣式"</string>
     <string name="clock_title" msgid="2126046720254613991">"時鐘"</string>
-    <string name="grid_title" msgid="2825094404523390773">"格狀"</string>
+    <string name="grid_title" msgid="1688173478777254123">"應用程式網格"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"套用"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"輕按即可編輯"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"保留目前桌布"</string>
@@ -65,12 +65,17 @@
     <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_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>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index fe1f3ce..f687b7a 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -17,10 +17,10 @@
 
 <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="6995669566699638946">"樣式和桌布"</string>
+    <string name="app_name" msgid="1647136562008520313">"桌布和樣式"</string>
     <string name="theme_title" msgid="2144932106319405101">"樣式"</string>
     <string name="clock_title" msgid="2126046720254613991">"時鐘"</string>
-    <string name="grid_title" msgid="2825094404523390773">"網格"</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>
@@ -72,6 +72,10 @@
     <string name="clock_preview_content_description" msgid="5460561185905717460">"「<xliff:g id="ID_1">%1$s</xliff:g>」時鐘預覽畫面"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"糟糕！發生錯誤。"</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"顏色/圖示"</string>
-    <!-- no translation found for style_info_description (2612473574431003251) -->
-    <skip />
+    <string name="style_info_description" msgid="2612473574431003251">"預覽字型、圖示、應用程式圖形及顏色"</string>
+    <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>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 3e4ddcf..68e1f93 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -17,24 +17,20 @@
 
 <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="6995669566699638946">"Izitayela nezithombe zangemuva"</string>
+    <string name="app_name" msgid="1647136562008520313">"Isithombe sangemuva nesitayela"</string>
     <string name="theme_title" msgid="2144932106319405101">"Isitayela"</string>
     <string name="clock_title" msgid="2126046720254613991">"Iwashi"</string>
-    <string name="grid_title" msgid="2825094404523390773">"I-Grid"</string>
+    <string name="grid_title" msgid="1688173478777254123">"Igridi ye-app"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Faka"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Thepha ukuze uhlele"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Gcina isithombe sangemuva samanje"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Faka"</string>
     <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Ukubuka kuqala kwesitayela"</string>
     <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Ukubuka kuqala kwe-grid"</string>
-    <!-- no translation found for font_preview_content_description (128230439293337891) -->
-    <skip />
-    <!-- no translation found for icon_preview_content_description (7761101284351952890) -->
-    <skip />
-    <!-- no translation found for color_preview_content_description (4879120462082058124) -->
-    <skip />
-    <!-- no translation found for shape_preview_content_description (6479487796176550432) -->
-    <skip />
+    <string name="font_preview_content_description" msgid="128230439293337891">"Ukubuka kuqala ifonti"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Ukubuka kuqala isithonjana"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Ukubuka kuqala umbala"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Ukubuka kuqala umumo"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, okufakwe manje"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, manje isetshenzisiwe yaphinde yabukwa kuqala"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, manje ibukwe kuqala"</string>
@@ -77,4 +73,9 @@
     <string name="something_went_wrong" msgid="529840112449799117">"Hawu! Kukhona okungahambile kahle."</string>
     <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Umbala / Izithonjana"</string>
     <string name="style_info_description" msgid="2612473574431003251">"Ukubuka kuqala kwefonti, izithonjana, umumo wohlelo lokusebenza, nombala"</string>
+    <string name="accessibility_custom_font_title" msgid="966867359157303705">"Ifonti engokwezifiso"</string>
+    <string name="accessibility_custom_icon_title" msgid="5753297905849062296">"Isithonjana esingokwezifiso"</string>
+    <string name="accessibility_custom_color_title" msgid="4124246598886320663">"Umbala ongokwezifiso"</string>
+    <string name="accessibility_custom_shape_title" msgid="7708408259374643129">"Umumo ongokwezifiso"</string>
+    <string name="accessibility_custom_name_title" msgid="5494460518085463262">"Igama lesitayela esingokwezifiso"</string>
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 02b3472..02b109b 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -16,40 +16,11 @@
      limitations under the License.
 -->
 <resources>
-    <color name="icon_background">#FF4285f4</color>
-    <color name="black_14_alpha">#24000000</color>
-    <color name="white_14_alpha">#24FFFFFF</color>
 
     <color name="status_bar_color">#ffffffff</color>
 
-    <color name="system_navigation_bar_background">@android:color/white</color>
-    <color name="system_navigation_bar_divider">#1f000000</color>
-
-    <color name="shape_thumbnail_color">#b2b2b2</color>
-    <color name="icon_thumbnail_color">@color/black_87_alpha</color>
-
-    <color name="clockface_preview_background">@android:color/black</color>
-
     <color name="theme_preview_icon_color">@color/google_grey700</color>
-    <color name="theme_preview_color_icons_background">@color/material_white_100</color>
-    <color name="theme_preview_color_icons_title_color">@color/black_87_alpha</color>
-
-    <color name="control_grey">#757575</color>
-    <color name="switch_track_tint">#acacac</color>
-    <color name="switch_thumb_tint">#f1f1f1</color>
 
     <color name="tile_enabled_icon_color">@color/material_white_100</color>
-    <color name="tile_disabled_icon_color">#2d2d2d</color>
-    <color name="tile_disabled_background_color">@color/light_grey</color>
 
-    <color name="shape_option_tile_foreground_color">@color/edit_background_base</color>
-
-    <color name="tip_dot_color">#34A853</color>
-    <color name="tip_dot_line_color">#FFFFFF</color>
-
-    <color name="toolbar_icon_color">@color/text_color_dark</color>
-
-    <color name="divider_color">@color/black_14_alpha</color>
-
-    <color name="cover_title_color">@color/black_87_alpha</color>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 280c187..2086480 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -22,14 +22,22 @@
     <dimen name="tip_dot_line_width">2dp</dimen>
 
     <dimen name="check_size">16dp</dimen>
+    <dimen name="center_check_size">32dp</dimen>
+    <dimen name="center_check_padding">9dp</dimen>
     <dimen name="check_offset">4dp</dimen>
 
     <dimen name="component_preview_page_bottom_margin">16dp</dimen>
 
     <!-- Dimensions for the customization option tiles -->
-    <dimen name="options_container_height">120dp</dimen>
+    <dimen name="options_container_height">112dp</dimen>
     <dimen name="options_container_width">0dp</dimen>
-    <dimen name="option_tile_width">88dp</dimen>
+    <dimen name="option_bottom_margin">8dp</dimen>
+    <dimen name="option_padding_horizontal">2dp</dimen>
+    <dimen name="option_tile_width">82dp</dimen>
+    <dimen name="option_tile_radius">20dp</dimen>
+    <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_icon_size">16dp</dimen>
     <dimen name="theme_option_icon_sample_height">22dp</dimen>
     <dimen name="theme_option_icon_sample_width">22dp</dimen>
@@ -38,37 +46,30 @@
     <dimen name="theme_option_font_sample_height">20dp</dimen>
     <dimen name="theme_option_font_sample_width">52dp</dimen>
     <dimen name="theme_option_sample_margin">10dp</dimen>
-    <!-- Note, using dp instead of sp as this is just the "+" symbol, not text -->
-    <dimen name="option_tile_padding_vertical">18dp</dimen>
-    <dimen name="option_tile_padding_horizontal">18dp</dimen>
 
-    <dimen name="option_bottom_margin">8dp</dimen>
-    <dimen name="option_padding_horizontal">2dp</dimen>
     <!-- Note, using dp instead of sp as this text is more like a "snapshot" of the font -->
     <dimen name="theme_option_font_text_size">20dp</dimen>
     <dimen name="theme_option_font_min_text_size">15dp</dimen>
-
-    <dimen name="option_tile_margin_horizontal">6dp</dimen>
     <dimen name="theme_option_label_margin">4dp</dimen>
 
-    <dimen name="preview_card_top_padding">@dimen/preview_card_padding</dimen>
+    <!-- Dimensions for the grid options -->
+    <dimen name="grid_options_container_bottom_margin">@dimen/bottom_actions_height</dimen>
+    <dimen name="grid_options_container_horizontal_margin">24dp</dimen>
 
     <dimen name="card_title_text_size">16sp</dimen>
-    <dimen name="card_cover_title_text_size">24sp</dimen>
     <dimen name="card_header_icon_size">32dp</dimen>
-    <dimen name="card_header_top_margin">0dp</dimen>
     <dimen name="preview_theme_max_height">400dp</dimen>
     <dimen name="preview_theme_min_height">180dp</dimen>
     <dimen name="theme_preview_header_drawable_padding">8dp</dimen>
-    <dimen name="preview_theme_content_margin">18dp</dimen>
-    <dimen name="preview_theme_content_max_height">192dp</dimen>
+    <dimen name="preview_theme_content_margin">38dp</dimen>
+    <dimen name="preview_theme_content_max_height">200dp</dimen>
     <dimen name="preview_theme_content_min_height">120dp</dimen>
+    <dimen name="preview_theme_color_component_size">170dp</dimen>
     <dimen name="preview_theme_icon_size">30dp</dimen>
     <dimen name="preview_theme_tile_size">16dp</dimen>
     <dimen name="preview_theme_shape_size">36dp</dimen>
     <dimen name="preview_theme_cover_topbar_clock_size">12sp</dimen>
     <dimen name="preview_theme_cover_topbar_icon_size">16dp</dimen>
-    <dimen name="preview_theme_content_bottom">@dimen/min_taptarget_height</dimen>
 
     <!--  For the new preview of theme picker.  -->
     <dimen name="preview_theme_content_padding_top">16dp</dimen>
@@ -92,8 +93,7 @@
     <dimen name="preview_content_padding_top">@dimen/preview_page_top_margin</dimen>
     <dimen name="preview_content_padding_bottom">@dimen/indicator_container_height</dimen>
 
-    <dimen name="font_preview_body_width">200dp</dimen>
-    <dimen name="font_preview_divider_gap">24dp</dimen>
+    <dimen name="font_preview_body_width">220dp</dimen>
 
     <dimen name="custom_theme_nav_height">56dp</dimen>
 
@@ -121,4 +121,6 @@
     <dimen name="theme_info_app_preview_icon_elevation">2dp</dimen>
     <dimen name="theme_info_text_size">28sp</dimen>
 
+    <dimen name="beta_tag_background_width">46dp</dimen>
+    <dimen name="beta_tag_background_height">24dp</dimen>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 55de455..0ea2f7e 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- The name of this application, a theme picker. [CHAR LIMIT=50] -->
-    <string name="app_name">Styles &amp; wallpapers</string>
+    <string name="app_name">Wallpaper &amp; style</string>
 
     <!-- Title of a section of the customization picker where the user can select a Theme for the
         device. [CHAR LIMIT=15] -->
@@ -28,7 +28,7 @@
 
     <!-- Title of a section of the customization picker where the user can select a Grid size for
         the home screen. [CHAR LIMIT=15] -->
-    <string name="grid_title">Grid</string>
+    <string name="grid_title">App grid</string>
 
     <!-- Label for a button that allows the user to apply the currently selected Theme.
         [CHAR LIMIT=20] -->
@@ -212,4 +212,38 @@
 
     <!-- Bottom sheet dialog which displaying different theme's info. [CHAR_LIMIT=80] -->
     <string name="style_info_description">Preview of font, icons, app shape, and color</string>
+
+    <!-- Accessibility for custom style font page [CHAR_LIMIT=50] -->
+    <string name="accessibility_custom_font_title">Custom font</string>
+
+    <!-- Accessibility for custom style icon page [CHAR_LIMIT=50] -->
+    <string name="accessibility_custom_icon_title">Custom icon</string>
+
+    <!-- Accessibility for custom style color page [CHAR_LIMIT=50] -->
+    <string name="accessibility_custom_color_title">Custom color</string>
+
+    <!-- Accessibility for custom style shape page [CHAR_LIMIT=50] -->
+    <string name="accessibility_custom_shape_title">Custom shape</string>
+
+    <!-- Accessibility for custom style name page [CHAR_LIMIT=50] -->
+    <string name="accessibility_custom_name_title">Custom style name</string>
+
+    <!--Name of metadata in the main launcher Activity which values contains the authority
+    corresponding to a ContentProvider in launcher to query or change themed icon option  -->
+    <string name="themed_icon_metadata_key" translatable="false">com.android.launcher3.themedicon.option</string>
+
+    <!--  Strings for new customization UI.  -->
+
+    <!-- The title of mode section view. [CHAR_LIMIT=20] -->
+    <string name="mode_title" msgid="1000319159005403986">Dark theme</string>
+    <string name="mode_disabled_msg" msgid="1926077857799715086">Temporarily disabled due to Battery Saver</string>
+
+    <!-- Title of a section of the customization where the user can select color override for icon. [CHAR LIMIT=30] -->
+    <string name="themed_icon_title" msgid="4305612684940220645">Themed icons</string>
+
+    <!-- Title of the tag to indicate beta version. [CHAR LIMIT=6] -->
+    <string name="beta_title">Beta</string>
+
+    <!-- The content description of grid picker entry. [CHAR LIMIT=NONE] -->
+    <string name="gird_picker_entry_content_description" msgid="7538418512525897691">Change app grid</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index b4e1971..c0a0aed 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -20,8 +20,6 @@
     <style name="CustomizationTheme" parent="@android:style/Theme.DeviceDefault.Settings">
         <item name="colorPrimary">?android:colorPrimary</item>
 
-        <item name="android:statusBarColor">?android:colorPrimary</item>
-
         <item name="android:navigationBarColor">?android:colorPrimaryDark</item>
         <item name="android:navigationBarDividerColor">@android:color/transparent</item>
 
@@ -34,12 +32,13 @@
     </style>
 
     <style name="CustomizationTheme.NoActionBar">
+        <item name="android:statusBarColor">@android:color/transparent</item>
+        <item name="android:navigationBarColor">@android:color/transparent</item>
         <item name="android:windowActionBar">false</item>
         <item name="android:windowNoTitle">true</item>
         <item name="android:fitsSystemWindows">false</item>
         <item name="android:windowDrawsSystemBarBackgrounds">true</item>
 
-        <item name="android:windowBackground">@android:color/transparent</item>
         <item name="android:windowContentOverlay">@null</item>
         <item name="android:windowDisablePreview">true</item>
     </style>
@@ -51,7 +50,7 @@
         <item name="itemTextAppearanceActive">@style/BottomNavTextAppearanceActive</item>
         <item name="itemTextAppearanceInactive">@style/BottomNavTextAppearance</item>
         <item name="itemBackground">?android:attr/selectableItemBackgroundBorderless</item>
-        <item name="android:background">@color/bottom_bar_background_color</item>
+        <item name="android:background">?android:colorBackground</item>
     </style>
 
     <style name="BottomNavTextAppearance" parent="TitleTextAppearance">
@@ -74,28 +73,20 @@
         <item name="android:textSize">@dimen/card_title_text_size</item>
     </style>
 
-    <style name="CoverTitleTextAppearance" parent="CardTitleTextAppearance">
-        <item name="android:textSize">@dimen/card_cover_title_text_size</item>
-        <item name="android:textColor">@color/cover_title_color</item>
-    </style>
-
     <style name="FontCardTitleStyle" parent="TitleTextAppearance">
         <item name="android:textAlignment">center</item>
+        <item name="android:textSize">28dp</item>
     </style>
 
     <style name="FontCardBodyTextStyle">
         <item name="android:layout_width">wrap_content</item>
         <item name="android:maxWidth">@dimen/font_preview_body_width</item>
         <item name="android:textAlignment">center</item>
+        <item name="android:textSize">20dp</item>
         <item name="android:textAppearance">@android:style/TextAppearance.DeviceDefault</item>
     </style>
 
     <!-- Custom theme editor -->
-    <style name="EditLabelStyle">
-        <item name="android:textAppearance">@android:style/TextAppearance.DeviceDefault.Widget.Button</item>
-        <item name="android:textColor">@color/material_white_100</item>
-        <item name="android:textAllCaps">false</item>
-    </style>
 
     <style name="CustomThemeNameEditText" parent="@android:style/Widget.DeviceDefault.EditText">
         <item name="android:background">@drawable/edittext_background</item>
@@ -108,4 +99,28 @@
         <item name="android:inputType">text</item>
         <item name="android:maxLength">100</item>
     </style>
+
+    <style name="SectionTitleTextStyle">
+        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+        <item name="android:textColor">?android:textColorPrimary</item>
+        <item name="android:textDirection">locale</item>
+        <item name="android:textSize">20sp</item>
+        <item name="android:lineHeight">24dp</item>
+    </style>
+
+    <style name="SectionSubtitleTextStyle" parent="SectionTitleTextStyle">
+        <item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
+        <item name="android:textColor">?android:textColorSecondary</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:lineHeight">20dp</item>
+    </style>
+
+    <style name="BetaTagTextStyle" parent="SectionTitleTextStyle">
+        <item name="android:textSize">12sp</item>
+        <item name="android:lineHeight">15dp</item>
+        <item name="android:letterSpacing">0.02</item>
+        <item name="android:background">@drawable/beta_tag_background</item>
+        <item name="android:gravity">center</item>
+    </style>
+
 </resources>
diff --git a/robolectric_tests/config/robolectric.properties b/robolectric_tests/config/robolectric.properties
index 197c393..6a5d031 100644
--- a/robolectric_tests/config/robolectric.properties
+++ b/robolectric_tests/config/robolectric.properties
@@ -1,2 +1,2 @@
-manifest=vendor/unbundled_google/packages/WallpaperPickerGoogle/AndroidManifest.xml
+manifest=packages/apps/ThemePicker/AndroidManifest.xml
 sdk=27
diff --git a/src/com/android/customization/model/CustomizationManager.java b/src/com/android/customization/model/CustomizationManager.java
index 7b9f463..104cc83 100644
--- a/src/com/android/customization/model/CustomizationManager.java
+++ b/src/com/android/customization/model/CustomizationManager.java
@@ -16,7 +16,6 @@
 package com.android.customization.model;
 
 import android.util.Log;
-import android.widget.Toast;
 
 import androidx.annotation.Nullable;
 
diff --git a/src/com/android/customization/model/ResourceConstants.java b/src/com/android/customization/model/ResourceConstants.java
index 0b1dec2..86eb7f4 100644
--- a/src/com/android/customization/model/ResourceConstants.java
+++ b/src/com/android/customization/model/ResourceConstants.java
@@ -83,7 +83,7 @@
             "ic_qs_dnd",
             "ic_qs_flashlight",
             "ic_qs_auto_rotate",
-            "ic_qs_airplane",
+            "ic_qs_battery_saver",
             "ic_signal_cellular_3_4_bar",
             "ic_battery_80_24dp"
     };
diff --git a/src/com/android/customization/model/ResourcesApkProvider.java b/src/com/android/customization/model/ResourcesApkProvider.java
index 92e03b9..538d4f8 100644
--- a/src/com/android/customization/model/ResourcesApkProvider.java
+++ b/src/com/android/customization/model/ResourcesApkProvider.java
@@ -9,6 +9,8 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.ColorInt;
+
 public abstract class ResourcesApkProvider {
     private static final String TAG = "ResourcesApkProvider";
 
@@ -55,6 +57,13 @@
         return mStubApkResources.getDrawable(resourceId, null);
     }
 
+    @ColorInt
+    protected int getItemColorFromStub(String prefix, String itemName) {
+        int resourceId = mStubApkResources.getIdentifier(String.format("%s%s", prefix, itemName),
+                "color", mStubPackageName);
+        return mStubApkResources.getColor(resourceId, null);
+    }
+
     public boolean isAvailable() {
         return mStubApkResources != null;
     }
diff --git a/src/com/android/customization/model/grid/GridOption.java b/src/com/android/customization/model/grid/GridOption.java
index 43afee4..16a5eb0 100644
--- a/src/com/android/customization/model/grid/GridOption.java
+++ b/src/com/android/customization/model/grid/GridOption.java
@@ -30,6 +30,7 @@
 import com.android.customization.model.CustomizationOption;
 import com.android.customization.widget.GridTileDrawable;
 import com.android.wallpaper.R;
+import com.android.wallpaper.util.ResourceUtils;
 
 /**
  * Represents a grid layout option available in the current launcher.
@@ -91,8 +92,10 @@
     public void bindThumbnailTile(View view) {
         Context context = view.getContext();
 
-        mTileDrawable.setColorFilter(context.getResources().getColor(
-                R.color.material_grey500, null), Mode.ADD);
+        int colorFilter = ResourceUtils.getColorAttr(context,
+                view.isActivated() ? android.R.attr.textColorPrimary :
+                android.R.attr.textColorTertiary);
+        mTileDrawable.setColorFilter(colorFilter, Mode.SRC_ATOP);
         ((ImageView) view.findViewById(R.id.grid_option_thumbnail))
                 .setImageDrawable(mTileDrawable);
     }
@@ -138,4 +141,13 @@
         parcel.writeParcelable(previewImageUri, i);
         parcel.writeInt(previewPagesCount);
     }
+
+    @Override
+    public String toString() {
+        return String.format(
+                "GridOption{mTitle='%s', mIsCurrent=%s, mTileDrawable=%s, name='%s', rows=%d, "
+                        + "cols=%d, previewImageUri=%s, previewPagesCount=%d}\n",
+                mTitle, mIsCurrent, mTileDrawable, name, rows, cols, previewImageUri,
+                previewPagesCount);
+    }
 }
diff --git a/src/com/android/customization/model/grid/GridOptionsManager.java b/src/com/android/customization/model/grid/GridOptionsManager.java
index cf55147..da1139e 100644
--- a/src/com/android/customization/model/grid/GridOptionsManager.java
+++ b/src/com/android/customization/model/grid/GridOptionsManager.java
@@ -15,14 +15,20 @@
  */
 package com.android.customization.model.grid;
 
+import android.content.Context;
 import android.os.AsyncTask;
 import android.os.Bundle;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 
 import com.android.customization.model.CustomizationManager;
+import com.android.customization.module.CustomizationInjector;
 import com.android.customization.module.ThemesUserEventLogger;
+import com.android.wallpaper.R;
+import com.android.wallpaper.module.InjectorProvider;
+import com.android.wallpaper.util.PreviewUtils;
 
 import java.util.List;
 
@@ -31,10 +37,28 @@
  */
 public class GridOptionsManager implements CustomizationManager<GridOption> {
 
+    private static GridOptionsManager sGridOptionsManager;
+
     private final LauncherGridOptionsProvider mProvider;
     private final ThemesUserEventLogger mEventLogger;
 
-    public GridOptionsManager(LauncherGridOptionsProvider provider, ThemesUserEventLogger logger) {
+    /** Returns the {@link GridOptionsManager} instance. */
+    public static GridOptionsManager getInstance(Context context) {
+        if (sGridOptionsManager == null) {
+            Context appContext = context.getApplicationContext();
+            CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
+            ThemesUserEventLogger eventLogger = (ThemesUserEventLogger) injector.getUserEventLogger(
+                    appContext);
+            sGridOptionsManager = new GridOptionsManager(
+                    new LauncherGridOptionsProvider(appContext,
+                            appContext.getString(R.string.grid_control_metadata_name)),
+                    eventLogger);
+        }
+        return sGridOptionsManager;
+    }
+
+    @VisibleForTesting
+    GridOptionsManager(LauncherGridOptionsProvider provider, ThemesUserEventLogger logger) {
         mProvider = provider;
         mEventLogger = logger;
     }
@@ -61,8 +85,9 @@
     }
 
     /** Call through content provider API to render preview */
-    public Bundle renderPreview(Bundle bundle, String gridName) {
-        return mProvider.renderPreview(gridName, bundle);
+    public void renderPreview(Bundle bundle, String gridName,
+            PreviewUtils.WorkspacePreviewCallback callback) {
+        mProvider.renderPreview(gridName, bundle, callback);
     }
 
     private static class FetchTask extends AsyncTask<Void, Void, List<GridOption>> {
diff --git a/src/com/android/customization/model/grid/GridSectionController.java b/src/com/android/customization/model/grid/GridSectionController.java
new file mode 100644
index 0000000..5470d77
--- /dev/null
+++ b/src/com/android/customization/model/grid/GridSectionController.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.model.grid;
+
+import android.content.Context;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+
+import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
+import com.android.customization.picker.grid.GridFragment;
+import com.android.customization.picker.grid.GridSectionView;
+import com.android.wallpaper.R;
+import com.android.wallpaper.model.CustomizationSectionController;
+
+import java.util.List;
+
+/** A {@link CustomizationSectionController} for app grid. */
+public class GridSectionController implements CustomizationSectionController<GridSectionView> {
+
+    private static final String TAG = "GridSectionController";
+
+    private final GridOptionsManager mGridOptionsManager;
+    private final CustomizationSectionNavigationController mSectionNavigationController;
+
+    public GridSectionController(GridOptionsManager gridOptionsManager,
+            CustomizationSectionNavigationController sectionNavigationController) {
+        mGridOptionsManager = gridOptionsManager;
+        mSectionNavigationController = sectionNavigationController;
+    }
+
+    @Override
+    public boolean isAvailable(Context context) {
+        return mGridOptionsManager.isAvailable();
+    }
+
+    @Override
+    public GridSectionView createView(Context context) {
+        GridSectionView gridSectionView = (GridSectionView) LayoutInflater.from(context)
+                .inflate(R.layout.grid_section_view, /* root= */ null);
+        TextView sectionDescription = gridSectionView.findViewById(R.id.grid_section_description);
+        View sectionTile = gridSectionView.findViewById(R.id.grid_section_tile);
+
+        // Fetch grid options to show currently set grid.
+        mGridOptionsManager.fetchOptions(new OptionsFetchedListener<GridOption>() {
+            @Override
+            public void onOptionsLoaded(List<GridOption> options) {
+                sectionDescription.setText(getActiveOption(options).getTitle());
+            }
+
+            @Override
+            public void onError(@Nullable Throwable throwable) {
+                if (throwable != null) {
+                    Log.e(TAG, "Error loading grid options", throwable);
+                }
+                sectionDescription.setText(R.string.something_went_wrong);
+                sectionTile.setVisibility(View.GONE);
+            }
+        }, /* reload= */ true);
+
+        gridSectionView.setOnClickListener(v -> mSectionNavigationController.navigateTo(
+                GridFragment.newInstance(context.getString(R.string.grid_title))));
+
+        return gridSectionView;
+    }
+
+    private GridOption getActiveOption(List<GridOption> options) {
+        return options.stream()
+                .filter(option -> option.isActive(mGridOptionsManager))
+                .findAny()
+                // For development only, as there should always be a grid set.
+                .orElse(options.get(0));
+    }
+}
diff --git a/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java b/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java
index cdab1a6..fd40363 100644
--- a/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java
+++ b/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java
@@ -30,8 +30,6 @@
 import com.android.wallpaper.R;
 import com.android.wallpaper.util.PreviewUtils;
 
-import com.bumptech.glide.Glide;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -50,9 +48,6 @@
     private static final String COL_PREVIEW_COUNT = "preview_count";
     private static final String COL_IS_DEFAULT = "is_default";
 
-    // Normal gird size name
-    private static final String GRID_NAME_NORMAL = "normal";
-
     private static final String METADATA_KEY_PREVIEW_VERSION = "preview_version";
 
     private final Context mContext;
@@ -92,14 +87,11 @@
                 int rows = c.getInt(c.getColumnIndex(COL_ROWS));
                 int cols = c.getInt(c.getColumnIndex(COL_COLS));
                 int previewCount = c.getInt(c.getColumnIndex(COL_PREVIEW_COUNT));
-                boolean isSet = Boolean.valueOf(c.getString(c.getColumnIndex(COL_IS_DEFAULT)));
-                String title = GRID_NAME_NORMAL.equals(name)
-                        ? mContext.getString(R.string.default_theme_title)
-                        : mContext.getString(R.string.grid_title_pattern, cols, rows);
+                boolean isSet = Boolean.parseBoolean(c.getString(c.getColumnIndex(COL_IS_DEFAULT)));
+                String title = mContext.getString(R.string.grid_title_pattern, cols, rows);
                 mOptions.add(new GridOption(title, name, isSet, rows, cols,
                         mPreviewUtils.getUri(PREVIEW), previewCount, iconPath));
             }
-            Glide.get(mContext).clearDiskCache();
         } catch (Exception e) {
             mOptions = null;
         }
@@ -111,10 +103,12 @@
      * @param name      the grid option name
      * @param bundle    surface view request bundle generated from
      *    {@link com.android.wallpaper.util.SurfaceViewUtils#createSurfaceViewRequest(SurfaceView)}.
+     * @param callback To receive the result (will be called on the main thread)
      */
-    Bundle renderPreview(String name, Bundle bundle) {
+    void renderPreview(String name, Bundle bundle,
+            PreviewUtils.WorkspacePreviewCallback callback) {
         bundle.putString("name", name);
-        return mPreviewUtils.renderPreview(bundle);
+        mPreviewUtils.renderPreview(bundle, callback);
     }
 
     int applyGrid(String name) {
diff --git a/src/com/android/customization/model/mode/DarkModeSectionController.java b/src/com/android/customization/model/mode/DarkModeSectionController.java
new file mode 100644
index 0000000..382162e
--- /dev/null
+++ b/src/com/android/customization/model/mode/DarkModeSectionController.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.model.mode;
+
+
+import static android.Manifest.permission.MODIFY_DAY_NIGHT_MODE;
+import static android.content.pm.PackageManager.PERMISSION_GRANTED;
+import static android.os.PowerManager.ACTION_POWER_SAVE_MODE_CHANGED;
+
+import android.app.UiModeManager;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.PowerManager;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.widget.Switch;
+import android.widget.Toast;
+
+import androidx.annotation.MainThread;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+
+import com.android.customization.picker.mode.DarkModeSectionView;
+import com.android.wallpaper.R;
+import com.android.wallpaper.model.CustomizationSectionController;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/** Section for dark theme toggle that controls if this section will be shown visually. */
+public class DarkModeSectionController implements
+        CustomizationSectionController<DarkModeSectionView>, LifecycleObserver {
+
+    private static final ExecutorService sExecutorService = Executors.newSingleThreadExecutor();
+
+    private final Lifecycle mLifecycle;
+    private final PowerManager mPowerManager;
+    private final BatterySaverStateReceiver mBatterySaverStateReceiver =
+            new BatterySaverStateReceiver();
+
+    private Context mContext;
+    private DarkModeSectionView mDarkModeSectionView;
+
+    public DarkModeSectionController(Context context, Lifecycle lifecycle) {
+        mContext = context;
+        mLifecycle = lifecycle;
+        mPowerManager = context.getSystemService(PowerManager.class);
+        mLifecycle.addObserver(this);
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_START)
+    @MainThread
+    public void onStart() {
+        sExecutorService.submit(() -> {
+            if (mContext != null && mLifecycle.getCurrentState().isAtLeast(
+                    Lifecycle.State.STARTED)) {
+                mContext.registerReceiver(mBatterySaverStateReceiver,
+                        new IntentFilter(ACTION_POWER_SAVE_MODE_CHANGED));
+            }
+        });
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
+    @MainThread
+    public void onStop() {
+        sExecutorService.submit(() -> {
+            if (mContext != null && mBatterySaverStateReceiver != null) {
+                mContext.unregisterReceiver(mBatterySaverStateReceiver);
+            }
+        });
+    }
+
+    @Override
+    public void release() {
+        mLifecycle.removeObserver(this);
+        mContext = null;
+    }
+
+    @Override
+    public boolean isAvailable(Context context) {
+        if (context == null) {
+            return false;
+        }
+        return ContextCompat.checkSelfPermission(context, MODIFY_DAY_NIGHT_MODE)
+                == PERMISSION_GRANTED;
+    }
+
+    @Override
+    public DarkModeSectionView createView(Context context) {
+        mDarkModeSectionView = (DarkModeSectionView) LayoutInflater.from(
+                context).inflate(R.layout.dark_mode_section_view, /* root= */ null);
+        mDarkModeSectionView.setViewListener(this::onViewActivated);
+        PowerManager pm = context.getSystemService(PowerManager.class);
+        mDarkModeSectionView.setEnabled(!pm.isPowerSaveMode());
+        return mDarkModeSectionView;
+    }
+
+    private void onViewActivated(Context context, boolean viewActivated) {
+        if (context == null) {
+            return;
+        }
+        Switch switchView = mDarkModeSectionView.findViewById(R.id.dark_mode_toggle);
+        if (!switchView.isEnabled()) {
+            Toast disableToast = Toast.makeText(mContext,
+                    mContext.getString(R.string.mode_disabled_msg), Toast.LENGTH_SHORT);
+            disableToast.show();
+            return;
+        }
+        UiModeManager uiModeManager = context.getSystemService(UiModeManager.class);
+        int shortDelay = context.getResources().getInteger(android.R.integer.config_shortAnimTime);
+        new Handler(Looper.getMainLooper()).postDelayed(
+                () -> uiModeManager.setNightModeActivated(viewActivated),
+                /* delayMillis= */ shortDelay);
+    }
+
+    private class BatterySaverStateReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (TextUtils.equals(intent.getAction(), ACTION_POWER_SAVE_MODE_CHANGED)
+                    && mDarkModeSectionView != null) {
+                mDarkModeSectionView.setEnabled(!mPowerManager.isPowerSaveMode());
+            }
+        }
+    }
+}
diff --git a/src/com/android/customization/model/theme/ThemeBundle.java b/src/com/android/customization/model/theme/ThemeBundle.java
index 4ede59e..3a32f25 100644
--- a/src/com/android/customization/model/theme/ThemeBundle.java
+++ b/src/com/android/customization/model/theme/ThemeBundle.java
@@ -50,6 +50,7 @@
 import com.android.wallpaper.asset.Asset;
 import com.android.wallpaper.asset.BitmapCachingAsset;
 import com.android.wallpaper.model.WallpaperInfo;
+import com.android.wallpaper.util.ResourceUtils;
 
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -110,7 +111,8 @@
         }
         if (!mPreviewInfo.icons.isEmpty()) {
             Drawable icon = mPreviewInfo.icons.get(0).getConstantState().newDrawable().mutate();
-            icon.setTint(res.getColor(R.color.icon_thumbnail_color, null));
+            icon.setTint(ResourceUtils.getColorAttr(
+                    view.getContext(), android.R.attr.textColorSecondary));
             ((ImageView) view.findViewById(R.id.theme_option_icon)).setImageDrawable(
                     icon);
         }
diff --git a/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java b/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java
index d38790f..d3935e8 100644
--- a/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java
+++ b/src/com/android/customization/model/theme/ThemeBundledWallpaperInfo.java
@@ -86,6 +86,7 @@
     }
 
     private ThemeBundledWallpaperInfo(Parcel in) {
+        super(in);
         mPackageName = in.readString();
         mResName = in.readString();
         mCollectionId = in.readString();
@@ -177,6 +178,7 @@
 
     @Override
     public void writeToParcel(Parcel dest, int flags) {
+        super.writeToParcel(dest, flags);
         dest.writeString(mPackageName);
         dest.writeString(mResName);
         dest.writeString(mCollectionId);
diff --git a/src/com/android/customization/model/theme/ThemeManager.java b/src/com/android/customization/model/theme/ThemeManager.java
index 533fbd0..85241c1 100644
--- a/src/com/android/customization/model/theme/ThemeManager.java
+++ b/src/com/android/customization/model/theme/ThemeManager.java
@@ -43,7 +43,7 @@
 
 public class ThemeManager implements CustomizationManager<ThemeBundle> {
 
-    private static final Set<String> THEME_CATEGORIES = new HashSet<>();
+    public static final Set<String> THEME_CATEGORIES = new HashSet<>();
     static {
         THEME_CATEGORIES.add(OVERLAY_CATEGORY_COLOR);
         THEME_CATEGORIES.add(OVERLAY_CATEGORY_FONT);
diff --git a/src/com/android/customization/model/theme/custom/ThemeComponentOption.java b/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
index 5922f5c..78be0fc 100644
--- a/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
+++ b/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
@@ -23,11 +23,14 @@
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_SYSUI;
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_THEMEPICKER;
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
+import static com.android.customization.model.ResourceConstants.getLauncherPackage;
 
 import android.content.Context;
+import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.ColorStateList;
 import android.content.res.Configuration;
 import android.content.res.Resources;
+import android.content.res.Resources.NotFoundException;
 import android.content.res.Resources.Theme;
 import android.content.res.TypedArray;
 import android.graphics.Path;
@@ -36,6 +39,7 @@
 import android.graphics.drawable.LayerDrawable;
 import android.graphics.drawable.ShapeDrawable;
 import android.graphics.drawable.StateListDrawable;
+import android.text.TextUtils;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -59,6 +63,7 @@
 import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
 import com.android.customization.model.theme.custom.CustomTheme.Builder;
 import com.android.wallpaper.R;
+import com.android.wallpaper.util.ResourceUtils;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -141,7 +146,7 @@
             container.setContentDescription(
                     container.getContext().getString(R.string.font_preview_content_description));
 
-            bindPreviewHeader(container, R.string.preview_name_font, R.drawable.ic_font);
+            bindPreviewHeader(container, R.string.preview_name_font, R.drawable.ic_font, null);
 
             ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
             if (cardBody.getChildCount() == 0) {
@@ -165,12 +170,24 @@
     }
 
     void bindPreviewHeader(ViewGroup container, @StringRes int headerTextResId,
-            @DrawableRes int headerIcon) {
+            @DrawableRes int headerIcon, String drawableName) {
         TextView header = container.findViewById(R.id.theme_preview_card_header);
         header.setText(headerTextResId);
 
         Context context = container.getContext();
-        Drawable icon = context.getResources().getDrawable(headerIcon, context.getTheme());
+        Drawable icon;
+        if (!TextUtils.isEmpty(drawableName)) {
+            try {
+                Resources resources = context.getPackageManager()
+                        .getResourcesForApplication(getLauncherPackage(context));
+                icon = resources.getDrawable(resources.getIdentifier(
+                        drawableName, "drawable", getLauncherPackage(context)), null);
+            } catch (NameNotFoundException | NotFoundException e) {
+                icon = context.getResources().getDrawable(headerIcon, context.getTheme());
+            }
+        } else {
+            icon = context.getResources().getDrawable(headerIcon, context.getTheme());
+        }
         int size = context.getResources().getDimensionPixelSize(R.dimen.card_header_icon_size);
         icon.setBounds(0, 0, size, size);
 
@@ -195,7 +212,8 @@
             Resources res = view.getContext().getResources();
             Drawable icon = mIcons.get(THUMBNAIL_ICON_POSITION)
                     .getConstantState().newDrawable().mutate();
-            icon.setTint(res.getColor(R.color.icon_thumbnail_color, null));
+            icon.setTint(ResourceUtils.getColorAttr(
+                    view.getContext(), android.R.attr.textColorSecondary));
             ((ImageView) view.findViewById(R.id.option_icon)).setImageDrawable(
                     icon);
             view.setContentDescription(mLabel);
@@ -231,7 +249,8 @@
             container.setContentDescription(
                     container.getContext().getString(R.string.icon_preview_content_description));
 
-            bindPreviewHeader(container, R.string.preview_name_icon, R.drawable.ic_wifi_24px);
+            bindPreviewHeader(container, R.string.preview_name_icon, R.drawable.ic_widget,
+                    "ic_widget");
 
             ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
             if (cardBody.getChildCount() == 0) {
@@ -364,7 +383,8 @@
             container.setContentDescription(
                     container.getContext().getString(R.string.color_preview_content_description));
 
-            bindPreviewHeader(container, R.string.preview_name_color, R.drawable.ic_colorize_24px);
+            bindPreviewHeader(container, R.string.preview_name_color, R.drawable.ic_colorize_24px,
+                    null);
 
             ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
             if (cardBody.getChildCount() == 0) {
@@ -373,7 +393,9 @@
             }
             Resources res = container.getResources();
             @ColorInt int accentColor = resolveColor(res);
-            @ColorInt int controlGreyColor = res.getColor(R.color.control_grey);
+            @ColorInt int controlGreyColor = ResourceUtils.getColorAttr(
+                    container.getContext(),
+                    android.R.attr.textColorTertiary);
             ColorStateList tintList = new ColorStateList(
                     new int[][]{
                             new int[]{android.R.attr.state_selected},
@@ -404,7 +426,8 @@
             // Disable seekbar
             seekbar.setOnTouchListener((view, motionEvent) -> true);
 
-            int iconFgColor = res.getColor(R.color.tile_enabled_icon_color, null);
+            int iconFgColor = ResourceUtils.getColorAttr(container.getContext(),
+                    android.R.attr.colorBackground);
             if (!mIcons.isEmpty() && mShapeDrawable != null) {
                 for (int i = 0; i < COLOR_TILE_IDS.length; i++) {
                     Drawable icon = mIcons.get(COLOR_TILES_ICON_IDS[i][1]).getConstantState()
@@ -482,7 +505,8 @@
                     new int[]{android.R.attr.colorPrimary});
             int primaryColor = ta.getColor(0, 0);
             ta.recycle();
-            int foregroundColor = res.getColor(R.color.shape_option_tile_foreground_color, theme);
+            int foregroundColor =
+                    ResourceUtils.getColorAttr(view.getContext(), android.R.attr.textColorPrimary);
 
             foreground.setTint(ColorUtils.blendARGB(primaryColor, foregroundColor, .05f));
 
@@ -507,7 +531,8 @@
             container.setContentDescription(
                     container.getContext().getString(R.string.shape_preview_content_description));
 
-            bindPreviewHeader(container, R.string.preview_name_shape, R.drawable.ic_shapes_24px);
+            bindPreviewHeader(container, R.string.preview_name_shape, R.drawable.ic_shapes_24px,
+                    null);
 
             ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
             if (cardBody.getChildCount() == 0) {
diff --git a/src/com/android/customization/model/themedicon/ThemedIconSectionController.java b/src/com/android/customization/model/themedicon/ThemedIconSectionController.java
new file mode 100644
index 0000000..a1623d1
--- /dev/null
+++ b/src/com/android/customization/model/themedicon/ThemedIconSectionController.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.model.themedicon;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+
+import androidx.annotation.Nullable;
+
+import com.android.customization.picker.themedicon.ThemedIconSectionView;
+import com.android.wallpaper.R;
+import com.android.wallpaper.model.CustomizationSectionController;
+import com.android.wallpaper.model.WorkspaceViewModel;
+
+/** The {@link CustomizationSectionController} for themed icon section. */
+public class ThemedIconSectionController implements
+        CustomizationSectionController<ThemedIconSectionView> {
+
+    private static final String KEY_THEMED_ICON_ENABLED = "SAVED_THEMED_ICON_ENABLED";
+
+    private final ThemedIconSwitchProvider mThemedIconOptionsProvider;
+    private final WorkspaceViewModel mWorkspaceViewModel;
+
+    private ThemedIconSectionView mThemedIconSectionView;
+    private boolean mSavedThemedIconEnabled = false;
+
+
+    public ThemedIconSectionController(ThemedIconSwitchProvider themedIconOptionsProvider,
+            WorkspaceViewModel workspaceViewModel, @Nullable Bundle savedInstanceState) {
+        mThemedIconOptionsProvider = themedIconOptionsProvider;
+        mWorkspaceViewModel = workspaceViewModel;
+
+        if (savedInstanceState != null) {
+            mSavedThemedIconEnabled = savedInstanceState.getBoolean(
+                    KEY_THEMED_ICON_ENABLED, /* defaultValue= */ false);
+        }
+    }
+
+    @Override
+    public boolean isAvailable(@Nullable Context context) {
+        return context != null && mThemedIconOptionsProvider.isThemedIconAvailable();
+    }
+
+    @Override
+    public ThemedIconSectionView createView(Context context) {
+        mThemedIconSectionView =
+                (ThemedIconSectionView) LayoutInflater.from(context).inflate(
+                        R.layout.themed_icon_section_view, /* root= */ null);
+        mThemedIconSectionView.setViewListener(this::onViewActivated);
+        mThemedIconSectionView.getSwitch().setChecked(mSavedThemedIconEnabled);
+        mThemedIconOptionsProvider.fetchThemedIconEnabled(
+                enabled -> mThemedIconSectionView.getSwitch().setChecked(enabled));
+        return mThemedIconSectionView;
+    }
+
+    private void onViewActivated(Context context, boolean viewActivated) {
+        if (context == null) {
+            return;
+        }
+        mThemedIconOptionsProvider.setThemedIconEnabled(viewActivated);
+        mWorkspaceViewModel.getUpdateWorkspace().setValue(viewActivated);
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle savedInstanceState) {
+        if (mThemedIconSectionView != null) {
+            savedInstanceState.putBoolean(KEY_THEMED_ICON_ENABLED,
+                    mThemedIconSectionView.getSwitch().isChecked());
+        }
+    }
+}
diff --git a/src/com/android/customization/model/themedicon/ThemedIconSwitchProvider.java b/src/com/android/customization/model/themedicon/ThemedIconSwitchProvider.java
new file mode 100644
index 0000000..9acd319
--- /dev/null
+++ b/src/com/android/customization/model/themedicon/ThemedIconSwitchProvider.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.model.themedicon;
+
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.os.Handler;
+import android.os.Looper;
+
+import androidx.annotation.Nullable;
+
+import com.android.customization.module.CustomizationPreferences;
+import com.android.wallpaper.R;
+import com.android.wallpaper.module.InjectorProvider;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+ * Retrieves the themed icon switch by {@link ContentResolver} from the current launcher
+ */
+public class ThemedIconSwitchProvider {
+
+    private static ThemedIconSwitchProvider sThemedIconSwitchProvider;
+
+    private static final String ICON_THEMED = "icon_themed";
+    private static final String COL_ICON_THEMED_VALUE = "boolean_value";
+    private static final int ENABLED = 1;
+    private static final int RESULT_SUCCESS = 1;
+
+    private final ExecutorService mExecutorService = Executors.newSingleThreadExecutor();
+    private final ContentResolver mContentResolver;
+    private final ThemedIconUtils mThemedIconUtils;
+    private final CustomizationPreferences mCustomizationPreferences;
+
+    /** Callback for the themed icon enabled state fetching result. */
+    public interface FetchThemedIconEnabledCallback {
+        /** Gets called when the result is available. */
+        void onResult(boolean isEnabled);
+    }
+
+    /** Returns the {@link ThemedIconSwitchProvider} instance. */
+    public static ThemedIconSwitchProvider getInstance(Context context) {
+        if (sThemedIconSwitchProvider == null) {
+            Context appContext = context.getApplicationContext();
+            sThemedIconSwitchProvider = new ThemedIconSwitchProvider(
+                    appContext.getContentResolver(),
+                    new ThemedIconUtils(appContext,
+                            appContext.getString(R.string.themed_icon_metadata_key)),
+                    (CustomizationPreferences) InjectorProvider.getInjector()
+                            .getPreferences(appContext));
+        }
+        return sThemedIconSwitchProvider;
+    }
+
+    private ThemedIconSwitchProvider(ContentResolver contentResolver,
+            ThemedIconUtils themedIconUtils, CustomizationPreferences customizationPreferences) {
+        mContentResolver = contentResolver;
+        mThemedIconUtils = themedIconUtils;
+        mCustomizationPreferences = customizationPreferences;
+    }
+
+    /** Returns {@code true} if themed icon feature is available. */
+    public boolean isThemedIconAvailable() {
+        return mThemedIconUtils.isThemedIconAvailable();
+    }
+
+    /** Gets the themed icon feature enabled state from SharedPreferences. */
+    public boolean isThemedIconEnabled() {
+        return mCustomizationPreferences.getThemedIconEnabled();
+    }
+
+    /**
+     * Fetches the themed icon feature enabled state and stores in SharedPreferences, or returns the
+     * SharedPreferences result if the fetching failed.
+     */
+    public void fetchThemedIconEnabled(@Nullable FetchThemedIconEnabledCallback callback) {
+        mExecutorService.submit(() -> {
+            try (Cursor cursor = mContentResolver.query(
+                    mThemedIconUtils.getUriForPath(ICON_THEMED), /* projection= */ null,
+                    /* selection= */ null, /* selectionArgs= */ null, /* sortOrder= */ null)) {
+                if (cursor != null && cursor.moveToNext()) {
+                    boolean isEnabled = cursor.getInt(cursor.getColumnIndex(COL_ICON_THEMED_VALUE))
+                            == ENABLED;
+                    if (mCustomizationPreferences.getThemedIconEnabled() != isEnabled) {
+                        mCustomizationPreferences.setThemedIconEnabled(isEnabled);
+                    }
+                    if (callback != null) {
+                        postMainThread(() -> callback.onResult(isEnabled));
+                    }
+                    return;
+                }
+            }
+            if (callback != null) {
+                postMainThread(
+                        () -> callback.onResult(mCustomizationPreferences.getThemedIconEnabled()));
+            }
+        });
+    }
+
+    /**
+     * Enables themed icon feature or not.
+     *
+     * <p>The value would also be stored in SharedPreferences.
+     */
+    protected void setThemedIconEnabled(boolean enabled) {
+        mExecutorService.submit(() -> {
+            ContentValues values = new ContentValues();
+            values.put(COL_ICON_THEMED_VALUE, enabled);
+            int result = mContentResolver.update(mThemedIconUtils.getUriForPath(ICON_THEMED),
+                    values, /* where= */ null, /* selectionArgs= */ null);
+            if (result == RESULT_SUCCESS) {
+                mCustomizationPreferences.setThemedIconEnabled(enabled);
+            }
+        });
+    }
+
+    private void postMainThread(Runnable runnable) {
+        new Handler(Looper.getMainLooper()).post(runnable);
+    }
+}
diff --git a/src/com/android/customization/model/themedicon/ThemedIconUtils.java b/src/com/android/customization/model/themedicon/ThemedIconUtils.java
new file mode 100644
index 0000000..c339c5a
--- /dev/null
+++ b/src/com/android/customization/model/themedicon/ThemedIconUtils.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.model.themedicon;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ProviderInfo;
+import android.content.pm.ResolveInfo;
+import android.net.Uri;
+import android.text.TextUtils;
+
+/**
+ * Utility class for themed icon.
+ */
+public class ThemedIconUtils {
+
+    private final Context mContext;
+    private final String mProviderAuthority;
+
+    private ProviderInfo mProviderInfo;
+
+    public ThemedIconUtils(Context context, String authorityMetaKey) {
+        mContext = context;
+        Intent homeIntent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME);
+        ResolveInfo resolveInfo = mContext.getPackageManager().resolveActivity(homeIntent,
+                PackageManager.MATCH_DEFAULT_ONLY | PackageManager.GET_META_DATA);
+
+        if (resolveInfo != null && resolveInfo.activityInfo.metaData != null) {
+            mProviderAuthority = resolveInfo.activityInfo.metaData.getString(authorityMetaKey);
+        } else {
+            mProviderAuthority = null;
+        }
+        mProviderInfo = TextUtils.isEmpty(mProviderAuthority) ? null :
+                mContext.getPackageManager().resolveContentProvider(mProviderAuthority, 0);
+        if (mProviderInfo != null && !TextUtils.isEmpty(mProviderInfo.readPermission)) {
+            if (mContext.checkSelfPermission(mProviderInfo.readPermission)
+                    != PackageManager.PERMISSION_GRANTED) {
+                mProviderInfo = null;
+            }
+        }
+    }
+
+    /**
+     * Gets the Uri for this provider's authority with path information.
+     *
+     * @param path the path segment of {@link Uri}
+     * @return {@link Uri} with path information
+     */
+    Uri getUriForPath(String path) {
+        return new Uri.Builder()
+                .scheme(ContentResolver.SCHEME_CONTENT)
+                .authority(mProviderInfo.authority)
+                .appendPath(path)
+                .build();
+    }
+
+    /**
+     * Returns if themed icon is available.
+     *
+     * @return true if themed icon feature is available, false otherwise.
+     */
+    boolean isThemedIconAvailable() {
+        return mProviderInfo != null;
+    }
+}
diff --git a/src/com/android/customization/module/CustomizationPreferences.java b/src/com/android/customization/module/CustomizationPreferences.java
index d32143a..0df3ff9 100644
--- a/src/com/android/customization/module/CustomizationPreferences.java
+++ b/src/com/android/customization/module/CustomizationPreferences.java
@@ -21,6 +21,7 @@
 
     String KEY_CUSTOM_THEME= "themepicker_custom_theme";
     String KEY_VISITED_PREFIX = "themepicker_visited_";
+    String KEY_THEMED_ICON_ENABLED = "themepicker_themed_icon_enabled";
 
     String getSerializedCustomThemes();
 
@@ -29,4 +30,8 @@
     boolean getTabVisited(String id);
 
     void setTabVisited(String id);
+
+    boolean getThemedIconEnabled();
+
+    void setThemedIconEnabled(boolean enabled);
 }
diff --git a/src/com/android/customization/module/DefaultCustomizationInjector.java b/src/com/android/customization/module/DefaultCustomizationInjector.java
index b8cdc6d..db899a3 100644
--- a/src/com/android/customization/module/DefaultCustomizationInjector.java
+++ b/src/com/android/customization/module/DefaultCustomizationInjector.java
@@ -15,9 +15,6 @@
  */
 package com.android.customization.module;
 
-import static com.android.customization.picker.CustomizationPickerActivity.WALLPAPER_FLAVOR_EXTRA;
-import static com.android.customization.picker.CustomizationPickerActivity.WALLPAPER_FOCUS;
-
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
@@ -28,15 +25,16 @@
 import com.android.customization.model.theme.OverlayManagerCompat;
 import com.android.customization.model.theme.ThemeBundleProvider;
 import com.android.customization.model.theme.ThemeManager;
-import com.android.customization.picker.CustomizationPickerActivity;
 import com.android.wallpaper.model.CategoryProvider;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.BaseWallpaperInjector;
+import com.android.wallpaper.module.CustomizationSections;
 import com.android.wallpaper.module.DefaultCategoryProvider;
 import com.android.wallpaper.module.LoggingOptInStatusProvider;
 import com.android.wallpaper.module.WallpaperPreferences;
 import com.android.wallpaper.module.WallpaperRotationRefresher;
 import com.android.wallpaper.monitor.PerformanceMonitor;
+import com.android.wallpaper.picker.CustomizationPickerActivity;
 import com.android.wallpaper.picker.PreviewFragment;
 
 public class DefaultCustomizationInjector extends BaseWallpaperInjector
@@ -46,6 +44,7 @@
     private WallpaperRotationRefresher mWallpaperRotationRefresher;
     private PerformanceMonitor mPerformanceMonitor;
     private WallpaperPreferences mPrefs;
+    private CustomizationSections mCustomizationSections;
 
     @Override
     public synchronized WallpaperPreferences getPreferences(Context context) {
@@ -105,12 +104,16 @@
         Intent intent = new Intent();
         intent.setClass(context, CustomizationPickerActivity.class);
         intent.setData(uri);
-        intent.putExtra(WALLPAPER_FLAVOR_EXTRA, WALLPAPER_FOCUS);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
         return intent;
     }
 
     @Override
+    public String getDownloadableIntentAction() {
+        return null;
+    }
+
+    @Override
     public synchronized PerformanceMonitor getPerformanceMonitor() {
         if (mPerformanceMonitor == null) {
             mPerformanceMonitor = new PerformanceMonitor() {
@@ -134,4 +137,11 @@
         return new ThemeManager(provider, activity, overlayManagerCompat, logger);
     }
 
+    @Override
+    public CustomizationSections getCustomizationSections() {
+        if (mCustomizationSections == null) {
+            mCustomizationSections = new DefaultCustomizationSections();
+        }
+        return mCustomizationSections;
+    }
 }
diff --git a/src/com/android/customization/module/DefaultCustomizationPreferences.java b/src/com/android/customization/module/DefaultCustomizationPreferences.java
index e6b4d05..4af402f 100644
--- a/src/com/android/customization/module/DefaultCustomizationPreferences.java
+++ b/src/com/android/customization/module/DefaultCustomizationPreferences.java
@@ -46,4 +46,14 @@
     public void setTabVisited(String id) {
         mSharedPrefs.edit().putBoolean(KEY_VISITED_PREFIX + id, true).apply();
     }
+
+    @Override
+    public boolean getThemedIconEnabled() {
+        return mSharedPrefs.getBoolean(KEY_THEMED_ICON_ENABLED, false);
+    }
+
+    @Override
+    public void setThemedIconEnabled(boolean enabled) {
+        mSharedPrefs.edit().putBoolean(KEY_THEMED_ICON_ENABLED, enabled).apply();
+    }
 }
diff --git a/src/com/android/customization/module/DefaultCustomizationSections.java b/src/com/android/customization/module/DefaultCustomizationSections.java
new file mode 100644
index 0000000..a4510ea
--- /dev/null
+++ b/src/com/android/customization/module/DefaultCustomizationSections.java
@@ -0,0 +1,59 @@
+package com.android.customization.module;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+import androidx.lifecycle.LifecycleOwner;
+
+import com.android.customization.model.grid.GridOptionsManager;
+import com.android.customization.model.grid.GridSectionController;
+import com.android.customization.model.mode.DarkModeSectionController;
+import com.android.customization.model.themedicon.ThemedIconSectionController;
+import com.android.customization.model.themedicon.ThemedIconSwitchProvider;
+import com.android.wallpaper.model.CustomizationSectionController;
+import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController;
+import com.android.wallpaper.model.PermissionRequester;
+import com.android.wallpaper.model.WallpaperColorsViewModel;
+import com.android.wallpaper.model.WallpaperPreviewNavigator;
+import com.android.wallpaper.model.WallpaperSectionController;
+import com.android.wallpaper.model.WorkspaceViewModel;
+import com.android.wallpaper.module.CustomizationSections;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/** {@link CustomizationSections} for the customization picker. */
+public final class DefaultCustomizationSections implements CustomizationSections {
+
+    @Override
+    public List<CustomizationSectionController<?>> getAllSectionControllers(Activity activity,
+            LifecycleOwner lifecycleOwner, WallpaperColorsViewModel wallpaperColorsViewModel,
+            WorkspaceViewModel workspaceViewModel, PermissionRequester permissionRequester,
+            WallpaperPreviewNavigator wallpaperPreviewNavigator,
+            CustomizationSectionNavigationController sectionNavigationController,
+            @Nullable Bundle savedInstanceState) {
+        List<CustomizationSectionController<?>> sectionControllers = new ArrayList<>();
+
+        // Wallpaper section.
+        sectionControllers.add(new WallpaperSectionController(
+                activity, lifecycleOwner, permissionRequester, wallpaperColorsViewModel,
+                workspaceViewModel, sectionNavigationController, wallpaperPreviewNavigator,
+                savedInstanceState));
+
+        // 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));
+
+        return sectionControllers;
+    }
+}
diff --git a/src/com/android/customization/module/StatsLogUserEventLogger.java b/src/com/android/customization/module/StatsLogUserEventLogger.java
index 5649c5e..fecf19b 100644
--- a/src/com/android/customization/module/StatsLogUserEventLogger.java
+++ b/src/com/android/customization/module/StatsLogUserEventLogger.java
@@ -18,9 +18,28 @@
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_FONT;
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
+import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__ACTION__APP_LAUNCHED;
+import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_CROP_AND_SET_ACTION;
+import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_DEEP_LINK;
+import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_LAUNCHER;
+import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_LAUNCH_ICON;
+import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_PREFERENCE_UNSPECIFIED;
+import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SETTINGS;
+import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SETTINGS_SEARCH;
+import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SUW;
+import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_TIPS;
 import static com.android.systemui.shared.system.SysUiStatsLog.STYLE_UI_CHANGED;
+import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SETTINGS_SEARCH;
+import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SOURCE_DEEP_LINK;
+import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SOURCE_LAUNCHER;
+import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SOURCE_SETTINGS;
+import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SOURCE_SUW;
+import static com.android.wallpaper.util.LaunchSourceUtils.LAUNCH_SOURCE_TIPS;
+import static com.android.wallpaper.util.LaunchSourceUtils.WALLPAPER_LAUNCH_SOURCE;
 
-import android.stats.style.nano.StyleEnums;
+import android.app.WallpaperManager;
+import android.content.Intent;
+import android.stats.style.StyleEnums;
 
 import androidx.annotation.Nullable;
 
@@ -33,8 +52,6 @@
 import java.util.Map;
 import java.util.Objects;
 
-
-
 /**
  * StatsLog-backed implementation of {@link ThemesUserEventLogger}.
  */
@@ -43,42 +60,49 @@
     private static final String TAG = "StatsLogUserEventLogger";
 
     @Override
+    public void logAppLaunched(Intent launchSource) {
+        SysUiStatsLog.write(STYLE_UI_CHANGED, STYLE_UICHANGED__ACTION__APP_LAUNCHED, 0, 0, 0, 0, 0,
+                0, 0, 0, 0, 0, getAppLaunchSource(launchSource));
+    }
+
+    @Override
     public void logResumed(boolean provisioned, boolean wallpaper) {
-        SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.ONRESUME, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+        SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.ONRESUME, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+                0);
     }
 
     @Override
     public void logStopped() {
-        SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.ONSTOP, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+        SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.ONSTOP, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
     }
 
     @Override
     public void logActionClicked(String collectionId, int actionLabelResId) {
         SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.WALLPAPER_EXPLORE, 0, 0, 0, 0, 0,
-                collectionId.hashCode(), 0, 0, 0);
+                getCollectionIdHashCode(collectionId), 0, 0, 0, 0, 0);
     }
 
     @Override
     public void logIndividualWallpaperSelected(String collectionId) {
         SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.WALLPAPER_SELECT, 0, 0, 0, 0, 0,
-                collectionId.hashCode(), 0, 0, 0);
+                getCollectionIdHashCode(collectionId), 0, 0, 0, 0, 0);
     }
 
     @Override
     public void logCategorySelected(String collectionId) {
         SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.WALLPAPER_OPEN_CATEGORY,
                 0, 0, 0, 0, 0,
-                collectionId.hashCode(),
-                0, 0, 0);
+                getCollectionIdHashCode(collectionId),
+                0, 0, 0, 0, 0);
     }
 
     @Override
     public void logLiveWallpaperInfoSelected(String collectionId, @Nullable String wallpaperId) {
         SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.LIVE_WALLPAPER_INFO_SELECT,
                 0, 0, 0, 0, 0,
-                collectionId.hashCode(),
+                getCollectionIdHashCode(collectionId),
                 wallpaperId != null ? wallpaperId.hashCode() : 0,
-                0, 0);
+                0, 0, 0, 0);
     }
 
     @Override
@@ -86,18 +110,18 @@
             @Nullable String wallpaperId) {
         SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.LIVE_WALLPAPER_CUSTOMIZE_SELECT,
                 0, 0, 0, 0, 0,
-                collectionId.hashCode(),
+                getCollectionIdHashCode(collectionId),
                 wallpaperId != null ? wallpaperId.hashCode() : 0,
-                0, 0);
+                0, 0, 0, 0);
     }
 
     @Override
     public void logWallpaperSet(String collectionId, @Nullable String wallpaperId) {
         SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.WALLPAPER_APPLIED,
                 0, 0, 0, 0, 0,
-                collectionId.hashCode(),
+                getCollectionIdHashCode(collectionId),
                 wallpaperId != null ? wallpaperId.hashCode() : 0,
-                0, 0);
+                0, 0, 0, 0);
     }
 
     @Nullable
@@ -112,7 +136,7 @@
                 Objects.hashCode(getThemePackage(theme, OVERLAY_CATEGORY_COLOR)),
                 Objects.hashCode(getThemePackage(theme,OVERLAY_CATEGORY_FONT)),
                 Objects.hashCode(getThemePackage(theme, OVERLAY_CATEGORY_SHAPE)),
-                0, 0, 0, 0, 0, 0);
+                0, 0, 0, 0, 0, 0, 0, 0);
     }
 
     @Override
@@ -121,7 +145,15 @@
                 Objects.hashCode(getThemePackage(theme, OVERLAY_CATEGORY_COLOR)),
                 Objects.hashCode(getThemePackage(theme,OVERLAY_CATEGORY_FONT)),
                 Objects.hashCode(getThemePackage(theme, OVERLAY_CATEGORY_SHAPE)),
-                0, 0, 0, 0, 0, 0);
+                0, 0, 0, 0, 0, 0, 0, 0);
+    }
+
+    @Override
+    public void logColorApplied(int action, int colorIndex) {
+        SysUiStatsLog.write(STYLE_UI_CHANGED, action,
+                0, 0, 0, 0, 0, 0, 0,
+                colorIndex,
+                0, 0, 0);
     }
 
     @Override
@@ -129,7 +161,7 @@
         SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.PICKER_SELECT,
                 0, 0, 0,
                 Objects.hashCode(clock.getId()),
-                0, 0, 0, 0, 0);
+                0, 0, 0, 0, 0, 0, 0);
     }
 
     @Override
@@ -137,7 +169,7 @@
         SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.PICKER_APPLIED,
                 0, 0, 0,
                 Objects.hashCode(clock.getId()),
-                0, 0, 0, 0, 0);
+                0, 0, 0, 0, 0, 0, 0);
     }
 
     @Override
@@ -145,7 +177,7 @@
         SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.PICKER_SELECT,
                 0, 0, 0, 0,
                 grid.cols,
-                0, 0, 0, 0);
+                0, 0, 0, 0, 0, 0);
     }
 
     @Override
@@ -153,6 +185,39 @@
         SysUiStatsLog.write(STYLE_UI_CHANGED, StyleEnums.PICKER_APPLIED,
                 0, 0, 0, 0,
                 grid.cols,
-                0, 0, 0, 0);
+                0, 0, 0, 0, 0, 0);
+    }
+
+    private int getAppLaunchSource(Intent launchSource) {
+        if (launchSource.hasExtra(WALLPAPER_LAUNCH_SOURCE)) {
+            switch (launchSource.getStringExtra(WALLPAPER_LAUNCH_SOURCE)) {
+                case LAUNCH_SOURCE_LAUNCHER:
+                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_LAUNCHER;
+                case LAUNCH_SOURCE_SETTINGS:
+                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SETTINGS;
+                case LAUNCH_SOURCE_SUW:
+                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SUW;
+                case LAUNCH_SOURCE_TIPS:
+                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_TIPS;
+                case LAUNCH_SOURCE_DEEP_LINK:
+                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_DEEP_LINK;
+                default:
+                    return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_PREFERENCE_UNSPECIFIED;
+            }
+        } else if (launchSource.hasExtra(LAUNCH_SETTINGS_SEARCH)) {
+            return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_SETTINGS_SEARCH;
+        } else if (launchSource.getAction() != null && launchSource.getAction().equals(
+                WallpaperManager.ACTION_CROP_AND_SET_WALLPAPER)) {
+            return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_CROP_AND_SET_ACTION;
+        } else if (launchSource.getCategories() != null
+                && launchSource.getCategories().contains(Intent.CATEGORY_LAUNCHER)) {
+            return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_LAUNCH_ICON;
+        } else {
+            return STYLE_UICHANGED__LAUNCHED_PREFERENCE__LAUNCHED_PREFERENCE_UNSPECIFIED;
+        }
+    }
+
+    private int getCollectionIdHashCode(String collectionId) {
+        return collectionId != null ? collectionId.hashCode() : 0;
     }
 }
diff --git a/src/com/android/customization/module/ThemesUserEventLogger.java b/src/com/android/customization/module/ThemesUserEventLogger.java
index cacbc64..ae26290 100644
--- a/src/com/android/customization/module/ThemesUserEventLogger.java
+++ b/src/com/android/customization/module/ThemesUserEventLogger.java
@@ -29,6 +29,14 @@
 
     void logThemeApplied(ThemeBundle theme, boolean isCustomTheme);
 
+    /**
+     * Logs the color usage while color is applied.
+     *
+     * @param action color applied action.
+     * @param colorIndex color applied index.
+     */
+    void logColorApplied(int action, int colorIndex);
+
     void logClockSelected(Clockface clock);
 
     void logClockApplied(Clockface clock);
diff --git a/src/com/android/customization/picker/CustomizationPickerActivity.java b/src/com/android/customization/picker/CustomizationPickerActivity.java
deleted file mode 100644
index c97a8eb..0000000
--- a/src/com/android/customization/picker/CustomizationPickerActivity.java
+++ /dev/null
@@ -1,561 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
-import android.os.Build;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.util.Log;
-import android.view.Gravity;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-
-import androidx.annotation.IdRes;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-
-import com.android.customization.model.CustomizationManager;
-import com.android.customization.model.CustomizationOption;
-import com.android.customization.model.clock.ClockManager;
-import com.android.customization.model.clock.Clockface;
-import com.android.customization.model.clock.ContentProviderClockProvider;
-import com.android.customization.model.grid.GridOption;
-import com.android.customization.model.grid.GridOptionsManager;
-import com.android.customization.model.grid.LauncherGridOptionsProvider;
-import com.android.customization.model.theme.DefaultThemeProvider;
-import com.android.customization.model.theme.OverlayManagerCompat;
-import com.android.customization.model.theme.ThemeBundle;
-import com.android.customization.model.theme.ThemeManager;
-import com.android.customization.module.CustomizationInjector;
-import com.android.customization.module.DefaultCustomizationPreferences;
-import com.android.customization.module.ThemesUserEventLogger;
-import com.android.customization.picker.clock.ClockFragment;
-import com.android.customization.picker.clock.ClockFragment.ClockFragmentHost;
-import com.android.customization.picker.grid.GridFragment;
-import com.android.customization.picker.grid.GridFragment.GridFragmentHost;
-import com.android.customization.picker.theme.ThemeFragment;
-import com.android.customization.picker.theme.ThemeFragment.ThemeFragmentHost;
-import com.android.customization.widget.NoTintDrawableWrapper;
-import com.android.wallpaper.R;
-import com.android.wallpaper.model.WallpaperInfo;
-import com.android.wallpaper.module.DailyLoggingAlarmScheduler;
-import com.android.wallpaper.module.FormFactorChecker;
-import com.android.wallpaper.module.Injector;
-import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.module.UserEventLogger;
-import com.android.wallpaper.module.WallpaperPreferences;
-import com.android.wallpaper.picker.BottomActionBarFragment;
-import com.android.wallpaper.picker.CategoryFragment;
-import com.android.wallpaper.picker.CategoryFragment.CategoryFragmentHost;
-import com.android.wallpaper.picker.FragmentTransactionChecker;
-import com.android.wallpaper.picker.MyPhotosStarter;
-import com.android.wallpaper.picker.MyPhotosStarter.PermissionChangedListener;
-import com.android.wallpaper.picker.TopLevelPickerActivity;
-import com.android.wallpaper.picker.WallpaperPickerDelegate;
-import com.android.wallpaper.picker.WallpapersUiContainer;
-import com.android.wallpaper.util.DeepLinkUtils;
-import com.android.wallpaper.widget.BottomActionBar;
-import com.android.wallpaper.widget.BottomActionBar.BottomActionBarHost;
-
-import com.google.android.material.bottomnavigation.BottomNavigationView;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- *  Main Activity allowing containing a bottom nav bar for the user to switch between the different
- *  Fragments providing customization options.
- */
-public class CustomizationPickerActivity extends FragmentActivity implements WallpapersUiContainer,
-        CategoryFragmentHost, ThemeFragmentHost, GridFragmentHost, ClockFragmentHost,
-        BottomActionBarHost, FragmentTransactionChecker {
-
-    public static final String WALLPAPER_FLAVOR_EXTRA =
-            "com.android.launcher3.WALLPAPER_FLAVOR";
-    public static final String WALLPAPER_FOCUS = "focus_wallpaper";
-    private static final String TAG = "CustomizationPickerActivity";
-    @VisibleForTesting static final String WALLPAPER_ONLY = "wallpaper_only";
-
-    private WallpaperPickerDelegate mDelegate;
-    private UserEventLogger mUserEventLogger;
-    private BottomNavigationView mBottomNav;
-
-    private static final Map<Integer, CustomizationSection> mSections = new HashMap<>();
-    private CategoryFragment mWallpaperCategoryFragment;
-    private BottomActionBar mBottomActionBar;
-    private boolean mIsSafeToCommitFragmentTransaction;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        Injector injector = InjectorProvider.getInjector();
-        mDelegate = new WallpaperPickerDelegate(this, this, injector);
-        mUserEventLogger = injector.getUserEventLogger(this);
-        initSections();
-
-        // Restore this Activity's state before restoring contained Fragments state.
-        super.onCreate(savedInstanceState);
-
-        if (!supportsCustomization()) {
-            Log.w(TAG, "Themes not supported, reverting to Wallpaper Picker");
-            skipToWallpaperPicker();
-            return;
-        }
-
-        mDelegate.getCategoryProvider().resetIfNeeded();
-
-        setContentView(R.layout.activity_customization_picker_main);
-        setUpBottomNavView();
-        mBottomActionBar = findViewById(R.id.bottom_actionbar);
-        mBottomActionBar.addVisibilityChangeListener(
-                isBottomActionBarVisible -> {
-                    boolean isBottomNavVisible = mBottomNav.getVisibility() == View.VISIBLE;
-                    // Switch the visibility of BottomNav if visibility of BottomActionBar and
-                    // BottomNav are same.
-                    if (isBottomActionBarVisible == isBottomNavVisible) {
-                        mBottomNav.setVisibility(isBottomActionBarVisible
-                                ? View.GONE : View.VISIBLE);
-                    }
-                });
-
-        Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragment_container);
-        if (fragment == null) {
-            // App launch specific logic: log the "app launched" event and set up daily logging.
-            mUserEventLogger.logAppLaunched();
-            WallpaperPreferences preferences = injector.getPreferences(this);
-            preferences.incrementAppLaunched();
-            DailyLoggingAlarmScheduler.setAlarm(getApplicationContext());
-
-            // Navigate to the Wallpaper tab if we started directly from launcher, otherwise
-            // start at the Styles tab
-            navigateToSection(
-                    WALLPAPER_FOCUS.equals(getIntent().getStringExtra(WALLPAPER_FLAVOR_EXTRA))
-                            ? R.id.nav_wallpaper : R.id.nav_theme);
-        }
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        mIsSafeToCommitFragmentTransaction = true;
-        boolean wallpaperOnly =
-                WALLPAPER_ONLY.equals(getIntent().getStringExtra(WALLPAPER_FLAVOR_EXTRA));
-        boolean provisioned = Settings.Global.getInt(getContentResolver(),
-                Settings.Global.DEVICE_PROVISIONED, 0) != 0;
-
-        mUserEventLogger.logResumed(provisioned, wallpaperOnly);
-        // refresh the sections as the preview may have changed
-        initSections();
-        if (mBottomNav == null) {
-            return;
-        }
-        CustomizationSection section = mSections.get(mBottomNav.getSelectedItemId());
-        if (section == null) {
-            return;
-        }
-        // Keep CategoryFragment's design to load category within its fragment
-        if (section instanceof WallpaperSection) {
-            switchFragment(section);
-            section.onVisible();
-        }
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-        mIsSafeToCommitFragmentTransaction = false;
-    }
-
-    @Override
-    protected void onNewIntent(Intent intent) {
-        super.onNewIntent(intent);
-        if (WALLPAPER_ONLY.equals(intent.getStringExtra(WALLPAPER_FLAVOR_EXTRA))) {
-            Log.d(TAG, "WALLPAPER_ONLY intent, reverting to Wallpaper Picker");
-            skipToWallpaperPicker();
-        }
-    }
-
-    private void skipToWallpaperPicker() {
-        Intent intent = new Intent(this, TopLevelPickerActivity.class);
-        if (DeepLinkUtils.isDeepLink(getIntent())) {
-            intent.setData(getIntent().getData());
-        }
-        startActivity(intent);
-        finish();
-    }
-
-    private boolean supportsCustomization() {
-        return mDelegate.getFormFactor() == FormFactorChecker.FORM_FACTOR_MOBILE
-                && mSections.size() > 1;
-    }
-
-    private void initSections() {
-        mSections.clear();
-        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
-            Log.d(TAG, "Build version < Q detected");
-            return;
-        }
-        if (WALLPAPER_ONLY.equals(getIntent().getStringExtra(WALLPAPER_FLAVOR_EXTRA))) {
-            Log.d(TAG, "WALLPAPER_ONLY intent");
-            return;
-        }
-        //Theme
-        CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
-        ThemesUserEventLogger eventLogger = (ThemesUserEventLogger) injector.getUserEventLogger(
-                this);
-        ThemeManager themeManager = injector.getThemeManager(
-                new DefaultThemeProvider(this, injector.getCustomizationPreferences(this)),
-                this, new OverlayManagerCompat(this), eventLogger);
-        if (themeManager.isAvailable()) {
-            mSections.put(R.id.nav_theme, new ThemeSection(R.id.nav_theme, themeManager));
-        } else {
-            Log.d(TAG, "ThemeManager not available, removing Style section");
-        }
-        //Clock
-        ClockManager clockManager = new ClockManager(getContentResolver(),
-                new ContentProviderClockProvider(this), eventLogger);
-        if (clockManager.isAvailable()) {
-            mSections.put(R.id.nav_clock, new ClockSection(R.id.nav_clock, clockManager));
-        } else {
-            Log.d(TAG, "ClockManager not available, removing Clock section");
-        }
-        //Grid
-        GridOptionsManager gridManager = new GridOptionsManager(
-                new LauncherGridOptionsProvider(this,
-                        getString(R.string.grid_control_metadata_name)),
-                eventLogger);
-        if (gridManager.isAvailable()) {
-            mSections.put(R.id.nav_grid, new GridSection(R.id.nav_grid, gridManager));
-        } else {
-            Log.d(TAG, "GridOptionsManager not available, removing Grid section");
-        }
-        mSections.put(R.id.nav_wallpaper, new WallpaperSection(R.id.nav_wallpaper));
-    }
-
-    private void setUpBottomNavView() {
-        mBottomNav = findViewById(R.id.main_bottom_nav);
-        Menu menu = mBottomNav.getMenu();
-        DefaultCustomizationPreferences prefs =
-            new DefaultCustomizationPreferences(getApplicationContext());
-        for (int i = menu.size() - 1; i >= 0; i--) {
-            MenuItem item = menu.getItem(i);
-            int id = item.getItemId();
-            if (!mSections.containsKey(id)) {
-                menu.removeItem(id);
-            }  else if (!prefs.getTabVisited(getResources().getResourceName(id))) {
-                showTipDot(item);
-            }
-        }
-
-        mBottomNav.setOnNavigationItemSelectedListener(item -> {
-            int id = item.getItemId();
-            CustomizationSection section = mSections.get(id);
-            switchFragment(section);
-            section.onVisible();
-            String name = getResources().getResourceName(id);
-            if (!prefs.getTabVisited(name)) {
-                prefs.setTabVisited(name);
-                hideTipDot(item);
-
-                if (id == R.id.nav_theme) {
-                    getThemeManager().storeEmptyTheme();
-                }
-            }
-            return true;
-        });
-    }
-
-    private void showTipDot(MenuItem item) {
-        Drawable icon = item.getIcon();
-        Drawable dot = new NoTintDrawableWrapper(getResources().getDrawable(R.drawable.tip_dot));
-        Drawable[] layers = {icon, dot};
-        LayerDrawable iconWithDot = new LayerDrawable(layers);
-
-        // Position dot in the upper-right corner
-        int dotSize = (int) getResources().getDimension(R.dimen.tip_dot_size)
-            + (int) getResources().getDimension(R.dimen.tip_dot_line_width) * 2;
-        int linewidth = (int) getResources().getDimension(R.dimen.tip_dot_line_width);
-        iconWithDot.setLayerGravity(1, Gravity.TOP | Gravity.RIGHT);
-        iconWithDot.setLayerWidth(1, dotSize);
-        iconWithDot.setLayerHeight(1, dotSize);
-        iconWithDot.setLayerInsetTop(1, -linewidth);
-        iconWithDot.setLayerInsetRight(1, -linewidth);
-
-        item.setIcon(iconWithDot);
-    }
-
-
-    private void hideTipDot(MenuItem item) {
-        Drawable iconWithDot = item.getIcon();
-        if (iconWithDot instanceof LayerDrawable) {
-            LayerDrawable layers = (LayerDrawable) iconWithDot;
-            Drawable icon = layers.getDrawable(0);
-            item.setIcon(icon);
-        }
-    }
-
-    @Override
-    public void onBackPressed() {
-        Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragment_container);
-        if (fragment instanceof BottomActionBarFragment
-                && ((BottomActionBarFragment) fragment).onBackPressed()) {
-            return;
-        }
-
-        // For wallpaper tab, since it had child fragment.
-        if (mWallpaperCategoryFragment != null && mWallpaperCategoryFragment.popChildFragment()) {
-            return;
-        }
-
-        if (getSupportFragmentManager().popBackStackImmediate()) {
-            return;
-        }
-        if (moveTaskToBack(false)) {
-            return;
-        }
-        super.onBackPressed();
-    }
-
-    private void navigateToSection(@IdRes int id) {
-        // Navigate to the first section if the targeted section doesn't exist.
-        if (!mSections.containsKey(id)) {
-            id = mBottomNav.getMenu().getItem(0).getItemId();
-        }
-
-        mBottomNav.setSelectedItemId(id);
-    }
-
-    private void switchFragment(CustomizationSection section) {
-        final FragmentManager fragmentManager = getSupportFragmentManager();
-
-        Fragment fragment = section.getFragment();
-
-        final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
-        fragmentTransaction.replace(R.id.fragment_container, fragment);
-        fragmentTransaction.commitNow();
-    }
-
-
-    @Override
-    public void requestExternalStoragePermission(PermissionChangedListener listener) {
-        mDelegate.requestExternalStoragePermission(listener);
-    }
-
-    @Override
-    public boolean isReadExternalStoragePermissionGranted() {
-        return mDelegate.isReadExternalStoragePermissionGranted();
-    }
-
-    @Override
-    public void showViewOnlyPreview(WallpaperInfo wallpaperInfo, boolean isViewAsHome) {
-        mDelegate.showViewOnlyPreview(wallpaperInfo, isViewAsHome);
-    }
-
-    @Override
-    public void show(String collectionId) {
-        mDelegate.show(collectionId);
-    }
-
-    @Override
-    public boolean isNavigationTabsContained() {
-        return true;
-    }
-
-    @Override
-    public void fetchCategories() {
-        mDelegate.initialize(!mDelegate.getCategoryProvider().isCategoriesFetched());
-    }
-
-    @Override
-    public void onWallpapersReady() {
-
-    }
-
-    @Nullable
-    @Override
-    public CategoryFragment getCategoryFragment() {
-        return mWallpaperCategoryFragment;
-    }
-
-    @Override
-    public void doneFetchingCategories() {
-
-    }
-
-    @Override
-    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
-            @NonNull int[] grantResults) {
-        mDelegate.onRequestPermissionsResult(requestCode, permissions, grantResults);
-    }
-
-    @Override
-    public MyPhotosStarter getMyPhotosStarter() {
-        return mDelegate;
-    }
-
-    @Override
-    public ClockManager getClockManager() {
-        CustomizationSection section = mSections.get(R.id.nav_clock);
-        return section == null ? null : (ClockManager) section.customizationManager;
-    }
-
-    @Override
-    public GridOptionsManager getGridOptionsManager() {
-        CustomizationSection section = mSections.get(R.id.nav_grid);
-        return section == null ? null : (GridOptionsManager) section.customizationManager;
-    }
-
-    @Override
-    public ThemeManager getThemeManager() {
-        CustomizationSection section = mSections.get(R.id.nav_theme);
-        return section == null ? null : (ThemeManager) section.customizationManager;
-    }
-
-    @Override
-    protected void onStop() {
-        mUserEventLogger.logStopped();
-        super.onStop();
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-        if (mDelegate.handleActivityResult(requestCode, resultCode, data)) {
-            finishActivityWithResultOk();
-        }
-    }
-
-    private void finishActivityWithResultOk() {
-        overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
-        setResult(Activity.RESULT_OK);
-        finish();
-    }
-
-    @Override
-    public BottomActionBar getBottomActionBar() {
-        return mBottomActionBar;
-    }
-
-    @Override
-    public boolean isSafeToCommitFragmentTransaction() {
-        return mIsSafeToCommitFragmentTransaction;
-    }
-
-    /**
-     * Represents a section of the Picker (eg "ThemeBundle", "Clock", etc).
-     * There should be a concrete subclass per available section, providing the corresponding
-     * Fragment to be displayed when switching to each section.
-     */
-    static abstract class CustomizationSection<T extends CustomizationOption> {
-
-        /**
-         * IdRes used to identify this section in the BottomNavigationView menu.
-         */
-        @IdRes final int id;
-        protected final CustomizationManager<T> customizationManager;
-
-        private CustomizationSection(@IdRes int id, CustomizationManager<T> manager) {
-            this.id = id;
-            this.customizationManager = manager;
-        }
-
-        /**
-         * @return the Fragment corresponding to this section.
-         */
-        abstract Fragment getFragment();
-
-        void onVisible() {}
-    }
-
-    /**
-     * {@link CustomizationSection} corresponding to the "Wallpaper" section of the Picker.
-     */
-    private class WallpaperSection extends CustomizationSection {
-
-        private WallpaperSection(int id) {
-            super(id, null);
-        }
-
-        @Override
-        Fragment getFragment() {
-            if (mWallpaperCategoryFragment == null) {
-                mWallpaperCategoryFragment = CategoryFragment.newInstance(
-                        getString(R.string.wallpaper_title));
-            }
-            return mWallpaperCategoryFragment;
-        }
-    }
-
-    private class ThemeSection extends CustomizationSection<ThemeBundle> {
-
-        private ThemeFragment mFragment;
-
-        private ThemeSection(int id, ThemeManager manager) {
-            super(id, manager);
-        }
-
-        @Override
-        Fragment getFragment() {
-            if (mFragment == null) {
-                mFragment = ThemeFragment.newInstance(getString(R.string.theme_title));
-            }
-            return mFragment;
-        }
-    }
-
-    private class GridSection extends CustomizationSection<GridOption> {
-
-        private GridFragment mFragment;
-
-        private GridSection(int id, GridOptionsManager manager) {
-            super(id, manager);
-        }
-
-        @Override
-        Fragment getFragment() {
-            if (mFragment == null) {
-                mFragment = GridFragment.newInstance(getString(R.string.grid_title));
-            }
-            return mFragment;
-        }
-    }
-
-    private class ClockSection extends CustomizationSection<Clockface> {
-
-        private ClockFragment mFragment;
-
-        private ClockSection(int id, ClockManager manager) {
-            super(id, manager);
-        }
-
-        @Override
-        Fragment getFragment() {
-            if (mFragment == null) {
-                mFragment = ClockFragment.newInstance(getString(R.string.clock_title));
-            }
-            return mFragment;
-        }
-    }
-}
diff --git a/src/com/android/customization/picker/ViewOnlyFullPreviewActivity.java b/src/com/android/customization/picker/ViewOnlyFullPreviewActivity.java
deleted file mode 100644
index 2afbc16..0000000
--- a/src/com/android/customization/picker/ViewOnlyFullPreviewActivity.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker;
-
-import static com.android.customization.picker.theme.ThemeFullPreviewFragment.EXTRA_THEME_OPTION_TITLE;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import androidx.annotation.IntDef;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-
-import com.android.customization.picker.grid.GridFullPreviewFragment;
-import com.android.customization.picker.theme.ThemeFullPreviewFragment;
-import com.android.wallpaper.R;
-import com.android.wallpaper.widget.BottomActionBar;
-import com.android.wallpaper.widget.BottomActionBar.BottomActionBarHost;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/** Activity for full preview. */
-public class ViewOnlyFullPreviewActivity extends FragmentActivity implements BottomActionBarHost {
-
-    private static final String EXTRA_PREVIEW_SECTION = "preview_section";
-    private static final String EXTRA_PREVIEW_BUNDLE = "preview_bundle";
-
-    public static final int SECTION_STYLE = 0;
-    public static final int SECTION_GRID = 1;
-    public static final int SECTION_CLOCK = 2;
-
-    @IntDef({SECTION_STYLE, SECTION_GRID, SECTION_CLOCK})
-    @Retention(RetentionPolicy.SOURCE)
-    private @interface Section {}
-
-    /** Returns a new Intent with the provided data in the extra. */
-    public static Intent newIntent(Context packageContext, @Section int section, Bundle bundle) {
-        Intent intent = new Intent(packageContext, ViewOnlyFullPreviewActivity.class);
-        intent.putExtra(EXTRA_PREVIEW_SECTION, section);
-        intent.putExtra(EXTRA_PREVIEW_BUNDLE, bundle);
-        return intent;
-    }
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_full_preview);
-
-        final Intent intent = getIntent();
-        @Section final int section = intent.getIntExtra(EXTRA_PREVIEW_SECTION, 0);
-        final Bundle bundle = intent.getBundleExtra(EXTRA_PREVIEW_BUNDLE);
-        if (section == SECTION_GRID) {
-            showFragment(GridFullPreviewFragment.newInstance(
-                    getString(R.string.grid_title), bundle));
-        } else if (section == SECTION_STYLE) {
-            final String themeTitle = bundle.getString(EXTRA_THEME_OPTION_TITLE);
-            showFragment(ThemeFullPreviewFragment.newInstance(
-                    TextUtils.isEmpty(themeTitle)
-                            ? getString(R.string.theme_title)
-                            : themeTitle,
-                    bundle));
-        }
-    }
-
-    @Override
-    public BottomActionBar getBottomActionBar() {
-        return findViewById(R.id.bottom_actionbar);
-    }
-
-    private void showFragment(Fragment fragment) {
-        getSupportFragmentManager()
-                .beginTransaction()
-                .replace(R.id.preview_fragment_container, fragment)
-                .commitNow();
-    }
-}
diff --git a/src/com/android/customization/picker/WallpaperPreviewer.java b/src/com/android/customization/picker/WallpaperPreviewer.java
index 50010c5..fa7dd81 100644
--- a/src/com/android/customization/picker/WallpaperPreviewer.java
+++ b/src/com/android/customization/picker/WallpaperPreviewer.java
@@ -19,7 +19,6 @@
 import android.app.WallpaperColors;
 import android.content.Intent;
 import android.graphics.Rect;
-import android.graphics.RectF;
 import android.service.wallpaper.WallpaperService;
 import android.view.Surface;
 import android.view.SurfaceView;
@@ -34,15 +33,14 @@
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 
-import com.android.wallpaper.R;
 import com.android.wallpaper.model.LiveWallpaperInfo;
 import com.android.wallpaper.model.WallpaperInfo;
+import com.android.wallpaper.util.ResourceUtils;
 import com.android.wallpaper.util.ScreenSizeCalculator;
 import com.android.wallpaper.util.SizeCalculator;
 import com.android.wallpaper.util.WallpaperConnection;
 import com.android.wallpaper.util.WallpaperConnection.WallpaperConnectionListener;
 import com.android.wallpaper.util.WallpaperSurfaceCallback;
-import com.android.wallpaper.widget.LiveTileOverlay;
 import com.android.wallpaper.widget.WallpaperColorsLoader;
 
 /** A class to load the wallpaper to the view. */
@@ -76,7 +74,7 @@
         mWallpaperSurface = wallpaperSurface;
         mWallpaperSurfaceCallback = new WallpaperSurfaceCallback(activity, mHomePreview,
                 mWallpaperSurface, this::setUpWallpaperPreview);
-        mWallpaperSurface.setZOrderMediaOverlay(false);
+        mWallpaperSurface.setZOrderMediaOverlay(true);
         mWallpaperSurface.getHolder().addCallback(mWallpaperSurfaceCallback);
 
         View rootView = homePreview.getRootView();
@@ -118,7 +116,6 @@
     @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
     @MainThread
     public void onDestroy() {
-        LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
         if (mWallpaperConnection != null) {
             mWallpaperConnection.disconnect();
             mWallpaperConnection = null;
@@ -149,18 +146,22 @@
         ImageView homeImageWallpaper = mWallpaperSurfaceCallback.getHomeImageWallpaper();
         if (mWallpaper != null && homeImageWallpaper != null) {
             homeImageWallpaper.post(() -> {
+                if (mActivity == null || mActivity.isDestroyed()) {
+                    return;
+                }
                 boolean renderInImageWallpaperSurface = !(mWallpaper instanceof LiveWallpaperInfo);
                 mWallpaper.getThumbAsset(mActivity.getApplicationContext())
                         .loadPreviewImage(mActivity,
                                 renderInImageWallpaperSurface ? homeImageWallpaper : mHomePreview,
-                                mActivity.getResources().getColor(R.color.secondary_color));
-                LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
+                                ResourceUtils.getColorAttr(
+                                        mActivity, android.R.attr.colorSecondary));
                 if (mWallpaper instanceof LiveWallpaperInfo) {
                     mWallpaper.getThumbAsset(mActivity.getApplicationContext())
                             .loadPreviewImage(
                                     mActivity,
                                     homeImageWallpaper,
-                                    mActivity.getColor(R.color.secondary_color));
+                                    ResourceUtils.getColorAttr(
+                                            mActivity, android.R.attr.colorSecondary));
                     setUpLiveWallpaperPreview(mWallpaper);
                 } else {
                     // Ensure live wallpaper connection is disconnected.
@@ -206,16 +207,12 @@
                                 mWallpaperColorsListener.onWallpaperColorsChanged(colors);
                             }
                         }
-                    }, mPreviewGlobalRect);
-
-            LiveTileOverlay.INSTANCE.update(new RectF(mPreviewLocalRect),
-                    ((CardView) mHomePreview.getParent()).getRadius());
+                    }, mWallpaperSurface);
 
             mWallpaperConnection.setVisibility(true);
             mHomePreview.post(() -> {
                 if (mWallpaperConnection != null && !mWallpaperConnection.connect()) {
                     mWallpaperConnection = null;
-                    LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
                 }
             });
         } else {
diff --git a/src/com/android/customization/picker/ClockFacePickerActivity.java b/src/com/android/customization/picker/clock/ClockFacePickerActivity.java
similarity index 96%
rename from src/com/android/customization/picker/ClockFacePickerActivity.java
rename to src/com/android/customization/picker/clock/ClockFacePickerActivity.java
index 5065aef..5e51234 100644
--- a/src/com/android/customization/picker/ClockFacePickerActivity.java
+++ b/src/com/android/customization/picker/clock/ClockFacePickerActivity.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.customization.picker;
+package com.android.customization.picker.clock;
 
 import android.content.Intent;
 import android.os.Bundle;
@@ -23,7 +23,6 @@
 import com.android.customization.model.clock.BaseClockManager;
 import com.android.customization.model.clock.Clockface;
 import com.android.customization.model.clock.ContentProviderClockProvider;
-import com.android.customization.picker.clock.ClockFragment;
 import com.android.customization.picker.clock.ClockFragment.ClockFragmentHost;
 import com.android.wallpaper.R;
 
diff --git a/src/com/android/customization/picker/grid/GridFragment.java b/src/com/android/customization/picker/grid/GridFragment.java
index ad37fbf..bb29d55 100644
--- a/src/com/android/customization/picker/grid/GridFragment.java
+++ b/src/com/android/customization/picker/grid/GridFragment.java
@@ -15,15 +15,8 @@
  */
 package com.android.customization.picker.grid;
 
-import static android.app.Activity.RESULT_OK;
+import static com.android.wallpaper.widget.BottomActionBar.BottomAction.APPLY_TEXT;
 
-import static com.android.customization.picker.ViewOnlyFullPreviewActivity.SECTION_GRID;
-import static com.android.customization.picker.grid.GridFullPreviewFragment.EXTRA_GRID_OPTION;
-import static com.android.customization.picker.grid.GridFullPreviewFragment.EXTRA_WALLPAPER_INFO;
-import static com.android.wallpaper.widget.BottomActionBar.BottomAction.APPLY;
-
-import android.content.Context;
-import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -43,14 +36,15 @@
 import com.android.customization.model.grid.GridOption;
 import com.android.customization.model.grid.GridOptionsManager;
 import com.android.customization.module.ThemesUserEventLogger;
-import com.android.customization.picker.ViewOnlyFullPreviewActivity;
 import com.android.customization.picker.WallpaperPreviewer;
 import com.android.customization.widget.OptionSelectorController;
+import com.android.customization.widget.OptionSelectorController.CheckmarkStyle;
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
 import com.android.wallpaper.module.InjectorProvider;
 import com.android.wallpaper.picker.AppbarFragment;
+import com.android.wallpaper.util.LaunchUtils;
 import com.android.wallpaper.widget.BottomActionBar;
 
 import com.bumptech.glide.Glide;
@@ -62,20 +56,11 @@
  */
 public class GridFragment extends AppbarFragment {
 
-    private static final int FULL_PREVIEW_REQUEST_CODE = 1000;
+    private static final String TAG = "GridFragment";
     private static final String KEY_STATE_SELECTED_OPTION = "GridFragment.selectedOption";
     private static final String KEY_STATE_BOTTOM_ACTION_BAR_VISIBLE =
             "GridFragment.bottomActionBarVisible";
 
-    private static final String TAG = "GridFragment";
-
-    /**
-     * Interface to be implemented by an Activity hosting a {@link GridFragment}
-     */
-    public interface GridFragmentHost {
-        GridOptionsManager getGridOptionsManager();
-    }
-
     public static GridFragment newInstance(CharSequence title) {
         GridFragment fragment = new GridFragment();
         fragment.setArguments(AppbarFragment.createArguments(title));
@@ -92,7 +77,6 @@
     private View mError;
     private BottomActionBar mBottomActionBar;
     private ThemesUserEventLogger mEventLogger;
-
     private GridOptionPreviewer mGridOptionPreviewer;
 
     private final Callback mApplyGridCallback = new Callback() {
@@ -101,6 +85,9 @@
             Toast.makeText(getContext(), R.string.applied_grid_msg, Toast.LENGTH_SHORT).show();
             getActivity().overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
             getActivity().finish();
+
+            // Go back to launcher home
+            LaunchUtils.launchHome(getContext());
         }
 
         @Override
@@ -112,14 +99,6 @@
         }
     };
 
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        mGridManager = ((GridFragmentHost) context).getGridOptionsManager();
-        mEventLogger = (ThemesUserEventLogger)
-                InjectorProvider.getInjector().getUserEventLogger(context);
-    }
-
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@@ -132,8 +111,22 @@
         mLoading = view.findViewById(R.id.loading_indicator);
         mError = view.findViewById(R.id.error_section);
 
+        // For nav bar edge-to-edge effect.
+        view.setOnApplyWindowInsetsListener((v, windowInsets) -> {
+            v.setPadding(
+                    v.getPaddingLeft(),
+                    windowInsets.getSystemWindowInsetTop(),
+                    v.getPaddingRight(),
+                    windowInsets.getSystemWindowInsetBottom());
+            return windowInsets.consumeSystemWindowInsets();
+        });
+
         // Clear memory cache whenever grid fragment view is being loaded.
         Glide.get(getContext()).clearMemory();
+
+        mGridManager = GridOptionsManager.getInstance(getContext());
+        mEventLogger = (ThemesUserEventLogger) InjectorProvider.getInjector()
+                .getUserEventLogger(getContext());
         setUpOptions(savedInstanceState);
 
         SurfaceView wallpaperSurface = view.findViewById(R.id.wallpaper_preview_surface);
@@ -150,7 +143,6 @@
         mGridOptionPreviewer = new GridOptionPreviewer(mGridManager,
                 view.findViewById(R.id.grid_preview_container));
 
-        view.findViewById(R.id.grid_preview_card).setOnClickListener(v -> showFullPreview());
         return view;
     }
 
@@ -174,19 +166,11 @@
     }
 
     @Override
-    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-        if (requestCode == FULL_PREVIEW_REQUEST_CODE && resultCode == RESULT_OK) {
-            applyGridOption(data.getParcelableExtra(EXTRA_GRID_OPTION));
-        }
-    }
-
-
-    @Override
     protected void onBottomActionBarReady(BottomActionBar bottomActionBar) {
+        super.onBottomActionBarReady(bottomActionBar);
         mBottomActionBar = bottomActionBar;
-        mBottomActionBar.showActionsOnly(APPLY);
-        mBottomActionBar.setActionClickListener(APPLY, unused -> applyGridOption(mSelectedOption));
+        mBottomActionBar.showActionsOnly(APPLY_TEXT);
+        mBottomActionBar.setActionClickListener(APPLY_TEXT, v -> applyGridOption(mSelectedOption));
     }
 
     private void applyGridOption(GridOption gridOption) {
@@ -201,7 +185,8 @@
             @Override
             public void onOptionsLoaded(List<GridOption> options) {
                 mLoading.hide();
-                mOptionsController = new OptionSelectorController<>(mOptionsContainer, options);
+                mOptionsController = new OptionSelectorController<>(
+                        mOptionsContainer, options, /* useGrid= */ false, CheckmarkStyle.CENTER);
                 mOptionsController.initOptions(mGridManager);
 
                 // Find the selected Grid option.
@@ -231,7 +216,7 @@
                 }
                 showError();
             }
-        }, false);
+        }, /*reload= */ true);
     }
 
     private GridOption getActiveOption(List<GridOption> options) {
@@ -276,12 +261,4 @@
             mBottomActionBar.hide();
         }
     }
-
-    private void showFullPreview() {
-        Bundle bundle = new Bundle();
-        bundle.putParcelable(EXTRA_WALLPAPER_INFO, mHomeWallpaper);
-        bundle.putParcelable(EXTRA_GRID_OPTION, mSelectedOption);
-        Intent intent = ViewOnlyFullPreviewActivity.newIntent(getContext(), SECTION_GRID, bundle);
-        startActivityForResult(intent, FULL_PREVIEW_REQUEST_CODE);
-    }
 }
diff --git a/src/com/android/customization/picker/grid/GridFullPreviewFragment.java b/src/com/android/customization/picker/grid/GridFullPreviewFragment.java
deleted file mode 100644
index 69105df..0000000
--- a/src/com/android/customization/picker/grid/GridFullPreviewFragment.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.customization.picker.grid;
-
-import static android.app.Activity.RESULT_OK;
-
-import static com.android.wallpaper.widget.BottomActionBar.BottomAction.APPLY;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.SurfaceView;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.customization.model.grid.GridOption;
-import com.android.customization.model.grid.GridOptionsManager;
-import com.android.customization.model.grid.LauncherGridOptionsProvider;
-import com.android.customization.module.CustomizationInjector;
-import com.android.customization.module.ThemesUserEventLogger;
-import com.android.customization.picker.WallpaperPreviewer;
-import com.android.wallpaper.R;
-import com.android.wallpaper.model.WallpaperInfo;
-import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.AppbarFragment;
-import com.android.wallpaper.widget.BottomActionBar;
-
-import com.bumptech.glide.Glide;
-
-
-/** A Fragment for grid full preview page. */
-public class GridFullPreviewFragment extends AppbarFragment {
-
-    static final String EXTRA_WALLPAPER_INFO = "wallpaper_info";
-    static final String EXTRA_GRID_OPTION = "grid_option";
-
-    private WallpaperInfo mWallpaper;
-    private GridOption mGridOption;
-
-    private WallpaperPreviewer mWallpaperPreviewer;
-    private GridOptionPreviewer mGridOptionPreviewer;
-
-    /**
-     * Returns a new {@link GridFullPreviewFragment} with the provided title and bundle arguments
-     * set.
-     */
-    public static GridFullPreviewFragment newInstance(CharSequence title, Bundle intentBundle) {
-        GridFullPreviewFragment fragment = new GridFullPreviewFragment();
-        Bundle bundle = new Bundle();
-        bundle.putAll(AppbarFragment.createArguments(title));
-        bundle.putAll(intentBundle);
-        fragment.setArguments(bundle);
-        return fragment;
-    }
-
-    @Override
-    public void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mWallpaper = getArguments().getParcelable(EXTRA_WALLPAPER_INFO);
-        mGridOption = getArguments().getParcelable(EXTRA_GRID_OPTION);
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-                             @Nullable Bundle savedInstanceState) {
-        View view = inflater.inflate(
-                R.layout.fragment_grid_full_preview, container, /* attachToRoot */ false);
-        setUpToolbar(view);
-
-        // Clear memory cache whenever grid fragment view is being loaded.
-        Glide.get(getContext()).clearMemory();
-
-        ImageView wallpaperPreviewImage = view.findViewById(R.id.wallpaper_preview_image);
-        SurfaceView wallpaperSurface = view.findViewById(R.id.wallpaper_preview_surface);
-        mWallpaperPreviewer = new WallpaperPreviewer(
-                getLifecycle(), getActivity(), wallpaperPreviewImage, wallpaperSurface);
-
-        CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
-        ThemesUserEventLogger eventLogger = (ThemesUserEventLogger) injector.getUserEventLogger(
-                getContext());
-        final GridOptionsManager gridManager = new GridOptionsManager(
-                new LauncherGridOptionsProvider(getContext(),
-                        getString(R.string.grid_control_metadata_name)),
-                eventLogger);
-
-        mGridOptionPreviewer = new GridOptionPreviewer(gridManager,
-                view.findViewById(R.id.grid_preview_container));
-        return view;
-    }
-
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        mWallpaperPreviewer.setWallpaper(mWallpaper, /* listener= */ null);
-        mGridOptionPreviewer.setGridOption(mGridOption);
-    }
-
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-        if (mGridOptionPreviewer != null) {
-            mGridOptionPreviewer.release();
-        }
-    }
-
-    @Override
-    protected void onBottomActionBarReady(BottomActionBar bottomActionBar) {
-        bottomActionBar.showActionsOnly(APPLY);
-        bottomActionBar.setActionClickListener(APPLY, v -> finishActivityWithResultOk());
-        bottomActionBar.show();
-    }
-
-    private void finishActivityWithResultOk() {
-        Activity activity = requireActivity();
-        activity.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
-        Intent intent = new Intent();
-        intent.putExtra(EXTRA_GRID_OPTION, mGridOption);
-        activity.setResult(RESULT_OK, intent);
-        activity.finish();
-    }
-}
diff --git a/src/com/android/customization/picker/grid/GridOptionPreviewer.java b/src/com/android/customization/picker/grid/GridOptionPreviewer.java
index fdefa05..8de08cf 100644
--- a/src/com/android/customization/picker/grid/GridOptionPreviewer.java
+++ b/src/com/android/customization/picker/grid/GridOptionPreviewer.java
@@ -16,7 +16,6 @@
 package com.android.customization.picker.grid;
 
 import android.content.Context;
-import android.os.Bundle;
 import android.view.SurfaceHolder;
 import android.view.SurfaceView;
 import android.view.ViewGroup;
@@ -24,6 +23,7 @@
 import com.android.customization.model.grid.GridOption;
 import com.android.customization.model.grid.GridOptionsManager;
 import com.android.wallpaper.picker.WorkspaceSurfaceHolderCallback;
+import com.android.wallpaper.util.PreviewUtils;
 import com.android.wallpaper.util.SurfaceViewUtils;
 
 /** A class to load the {@link GridOption} preview to the view. */
@@ -62,6 +62,7 @@
         // Reattach SurfaceView to trigger #surfaceCreated to update preview for different option.
         mPreviewContainer.removeAllViews();
         if (mSurfaceCallback != null) {
+            mSurfaceCallback.cleanUp();
             mSurfaceCallback.resetLastSurface();
         }
         if (mGridOptionSurface == null) {
@@ -89,10 +90,11 @@
         }
 
         @Override
-        protected Bundle renderPreview(SurfaceView workspaceSurface) {
-            return mGridManager.renderPreview(
+        protected void requestPreview(SurfaceView workspaceSurface,
+                PreviewUtils.WorkspacePreviewCallback callback) {
+            mGridManager.renderPreview(
                     SurfaceViewUtils.createSurfaceViewRequest(workspaceSurface),
-                    mGridOption.name);
+                    mGridOption.name, callback);
         }
     }
 }
diff --git a/src/com/android/customization/picker/grid/GridSectionView.java b/src/com/android/customization/picker/grid/GridSectionView.java
new file mode 100644
index 0000000..58468e1
--- /dev/null
+++ b/src/com/android/customization/picker/grid/GridSectionView.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.picker.grid;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import androidx.annotation.Nullable;
+
+import com.android.wallpaper.picker.SectionView;
+
+/** The {@link SectionView} for app grid. */
+public final class GridSectionView extends SectionView {
+
+    public GridSectionView(Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+    }
+}
diff --git a/src/com/android/customization/picker/mode/DarkModeSectionView.java b/src/com/android/customization/picker/mode/DarkModeSectionView.java
new file mode 100644
index 0000000..6fc0a57
--- /dev/null
+++ b/src/com/android/customization/picker/mode/DarkModeSectionView.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.picker.mode;
+
+import android.content.Context;
+import android.content.res.Configuration;
+import android.util.AttributeSet;
+import android.widget.Switch;
+
+import androidx.annotation.Nullable;
+
+import com.android.wallpaper.R;
+import com.android.wallpaper.picker.SectionView;
+
+/** The view of section in the customization picker fragment. */
+public final class DarkModeSectionView extends SectionView {
+
+    private boolean mIsDarkModeActivated;
+
+    public DarkModeSectionView(Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+        setTitle(context.getString(R.string.mode_title));
+        mIsDarkModeActivated = (context.getResources().getConfiguration().uiMode
+                & Configuration.UI_MODE_NIGHT_YES) != 0;
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+        Switch switchView = findViewById(R.id.dark_mode_toggle);
+        switchView.setChecked(mIsDarkModeActivated);
+        switchView.setOnCheckedChangeListener((buttonView, isChecked) ->
+                switchView.setChecked(mIsDarkModeActivated)
+        );
+        setOnClickListener(view -> modeToggleClicked());
+    }
+
+    private void modeToggleClicked() {
+        mIsDarkModeActivated = !mIsDarkModeActivated;
+        viewActivated(mIsDarkModeActivated);
+    }
+
+    private void viewActivated(boolean isChecked) {
+        if (mSectionViewListener != null) {
+            mSectionViewListener.onViewActivated(getContext(), isChecked);
+        }
+    }
+
+    @Override
+    public void setEnabled(boolean enabled) {
+        final int numOfChildViews = getChildCount();
+        for (int i = 0; i < numOfChildViews; i++) {
+            getChildAt(i).setEnabled(enabled);
+        }
+    }
+}
diff --git a/src/com/android/customization/picker/theme/CustomThemeActivity.java b/src/com/android/customization/picker/theme/CustomThemeActivity.java
index a91faeb..62a2f26 100644
--- a/src/com/android/customization/picker/theme/CustomThemeActivity.java
+++ b/src/com/android/customization/picker/theme/CustomThemeActivity.java
@@ -53,6 +53,7 @@
 import com.android.customization.picker.theme.CustomThemeStepFragment.CustomThemeComponentStepHost;
 import com.android.wallpaper.R;
 import com.android.wallpaper.module.InjectorProvider;
+import com.android.wallpaper.picker.AppbarFragment.AppbarFragmentHost;
 
 import org.json.JSONException;
 
@@ -60,7 +61,7 @@
 import java.util.List;
 
 public class CustomThemeActivity extends FragmentActivity implements
-        CustomThemeComponentStepHost {
+        AppbarFragmentHost, CustomThemeComponentStepHost {
     public static final String EXTRA_THEME_ID = "CustomThemeActivity.ThemeId";
     public static final String EXTRA_THEME_TITLE = "CustomThemeActivity.ThemeTitle";
     public static final String EXTRA_THEME_PACKAGES = "CustomThemeActivity.ThemePackages";
@@ -283,6 +284,19 @@
         return mCustomThemeManager;
     }
 
+    @Override
+    public void onUpArrowPressed() {
+        // Skip it because CustomThemeStepFragment will implement cancel button
+        // (instead of up arrow) on action bar.
+    }
+
+    @Override
+    public boolean isUpArrowSupported() {
+        // Skip it because CustomThemeStepFragment will implement cancel button
+        // (instead of up arrow) on action bar.
+        return false;
+    }
+
     /**
      * Represents a step in selecting a custom theme, picking a particular component (eg font,
      * color, shape, etc).
@@ -290,13 +304,15 @@
      */
     private static abstract class ComponentStep<T extends ThemeComponentOption> {
         @StringRes final int titleResId;
+        @StringRes final int accessibilityResId;
         final ThemeComponentOptionProvider<T> provider;
         final int position;
         private CustomThemeStepFragment mFragment;
 
-        protected ComponentStep(@StringRes int titleResId, ThemeComponentOptionProvider<T> provider,
-                                int position) {
+        protected ComponentStep(@StringRes int titleResId, @StringRes int accessibilityResId,
+                ThemeComponentOptionProvider<T> provider, int position) {
             this.titleResId = titleResId;
+            this.accessibilityResId = accessibilityResId;
             this.provider = provider;
             this.position = position;
         }
@@ -318,7 +334,8 @@
 
         protected FontStep(ThemeComponentOptionProvider<FontOption> provider,
                 int position) {
-            super(R.string.font_component_title, provider, position);
+            super(R.string.font_component_title, R.string.accessibility_custom_font_title, provider,
+                    position);
         }
 
         @Override
@@ -326,7 +343,8 @@
             return CustomThemeComponentFragment.newInstance(
                     title,
                     position,
-                    titleResId);
+                    titleResId,
+                    accessibilityResId);
         }
     }
 
@@ -334,7 +352,8 @@
 
         protected IconStep(ThemeComponentOptionProvider<IconOption> provider,
                 int position) {
-            super(R.string.icon_component_title, provider, position);
+            super(R.string.icon_component_title, R.string.accessibility_custom_icon_title, provider,
+                    position);
         }
 
         @Override
@@ -342,7 +361,8 @@
             return CustomThemeComponentFragment.newInstance(
                     title,
                     position,
-                    titleResId);
+                    titleResId,
+                    accessibilityResId);
         }
     }
 
@@ -350,7 +370,8 @@
 
         protected ColorStep(ThemeComponentOptionProvider<ColorOption> provider,
                 int position) {
-            super(R.string.color_component_title, provider, position);
+            super(R.string.color_component_title, R.string.accessibility_custom_color_title,
+                    provider, position);
         }
 
         @Override
@@ -358,7 +379,8 @@
             return CustomThemeComponentFragment.newInstance(
                     title,
                     position,
-                    titleResId);
+                    titleResId,
+                    accessibilityResId);
         }
     }
 
@@ -366,7 +388,8 @@
 
         protected ShapeStep(ThemeComponentOptionProvider<ShapeOption> provider,
                 int position) {
-            super(R.string.shape_component_title, provider, position);
+            super(R.string.shape_component_title, R.string.accessibility_custom_shape_title,
+                    provider, position);
         }
 
         @Override
@@ -374,14 +397,16 @@
             return CustomThemeComponentFragment.newInstance(
                     title,
                     position,
-                    titleResId);
+                    titleResId,
+                    accessibilityResId);
         }
     }
 
     private class NameStep extends ComponentStep {
 
         protected NameStep(int position) {
-            super(R.string.name_component_title, null, position);
+            super(R.string.name_component_title, R.string.accessibility_custom_name_title, null,
+                    position);
         }
 
         @Override
@@ -389,7 +414,8 @@
             return CustomThemeNameFragment.newInstance(
                     title,
                     position,
-                    titleResId);
+                    titleResId,
+                    accessibilityResId);
         }
     }
 }
diff --git a/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java b/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java
index a6fdb1c..a1e9967 100644
--- a/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java
+++ b/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java
@@ -27,6 +27,7 @@
 import com.android.customization.model.theme.custom.ThemeComponentOption;
 import com.android.customization.model.theme.custom.ThemeComponentOptionProvider;
 import com.android.customization.widget.OptionSelectorController;
+import com.android.customization.widget.OptionSelectorController.CheckmarkStyle;
 import com.android.wallpaper.R;
 import com.android.wallpaper.picker.AppbarFragment;
 
@@ -34,16 +35,17 @@
     private static final String ARG_USE_GRID_LAYOUT = "CustomThemeComponentFragment.use_grid";;
 
     public static CustomThemeComponentFragment newInstance(CharSequence toolbarTitle, int position,
-            int titleResId) {
-        return newInstance(toolbarTitle, position, titleResId, false);
+            int titleResId, int accessibilityResId) {
+        return newInstance(toolbarTitle, position, titleResId, accessibilityResId, false);
     }
 
     public static CustomThemeComponentFragment newInstance(CharSequence toolbarTitle, int position,
-            int titleResId, boolean allowGridLayout) {
+            int titleResId, int accessibilityResId, boolean allowGridLayout) {
         CustomThemeComponentFragment fragment = new CustomThemeComponentFragment();
         Bundle arguments = AppbarFragment.createArguments(toolbarTitle);
         arguments.putInt(ARG_KEY_POSITION, position);
         arguments.putInt(ARG_KEY_TITLE_RES_ID, titleResId);
+        arguments.putInt(ARG_KEY_ACCESSIBILITY_RES_ID, accessibilityResId);
         arguments.putBoolean(ARG_USE_GRID_LAYOUT, allowGridLayout);
         fragment.setArguments(arguments);
         return fragment;
@@ -93,7 +95,7 @@
     private void setUpOptions() {
         mProvider.fetch(options -> {
             mOptionsController = new OptionSelectorController(
-                    mOptionsContainer, options, mUseGridLayout, false);
+                    mOptionsContainer, options, mUseGridLayout, CheckmarkStyle.NONE);
 
             mOptionsController.addListener(selected -> {
                 mSelectedOption = (ThemeComponentOption) selected;
diff --git a/src/com/android/customization/picker/theme/CustomThemeNameFragment.java b/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
index f36c80b..6f20a1a 100644
--- a/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
+++ b/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
@@ -15,12 +15,6 @@
  */
 package com.android.customization.picker.theme;
 
-import static com.android.customization.picker.ViewOnlyFullPreviewActivity.SECTION_STYLE;
-import static com.android.customization.picker.theme.ThemeFullPreviewFragment.EXTRA_THEME_OPTION;
-import static com.android.customization.picker.theme.ThemeFullPreviewFragment.EXTRA_THEME_OPTION_TITLE;
-import static com.android.customization.picker.theme.ThemeFullPreviewFragment.EXTRA_WALLPAPER_INFO;
-
-import android.content.Intent;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.Log;
@@ -37,10 +31,8 @@
 import com.android.customization.model.theme.custom.CustomTheme;
 import com.android.customization.module.CustomizationInjector;
 import com.android.customization.module.CustomizationPreferences;
-import com.android.customization.picker.ViewOnlyFullPreviewActivity;
 import com.android.customization.picker.WallpaperPreviewer;
 import com.android.wallpaper.R;
-import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
 import com.android.wallpaper.module.InjectorProvider;
 import com.android.wallpaper.picker.AppbarFragment;
@@ -54,18 +46,18 @@
     private static final String TAG = "CustomThemeNameFragment";
 
     public static CustomThemeNameFragment newInstance(CharSequence toolbarTitle, int position,
-            int titleResId) {
+            int titleResId, int accessibilityResId) {
         CustomThemeNameFragment fragment = new CustomThemeNameFragment();
         Bundle arguments = AppbarFragment.createArguments(toolbarTitle);
         arguments.putInt(ARG_KEY_POSITION, position);
         arguments.putInt(ARG_KEY_TITLE_RES_ID, titleResId);
+        arguments.putInt(ARG_KEY_ACCESSIBILITY_RES_ID, accessibilityResId);
         fragment.setArguments(arguments);
         return fragment;
     }
 
     private EditText mNameEditor;
     private ImageView mWallpaperImage;
-    private WallpaperInfo mCurrentHomeWallpaper;
     private ThemeOptionPreviewer mThemeOptionPreviewer;
     private CustomizationPreferences mCustomizationPreferences;
 
@@ -83,7 +75,6 @@
 
         // Set theme option.
         ViewGroup previewContainer = view.findViewById(R.id.theme_preview_container);
-        previewContainer.setOnClickListener(v -> showFullPreview());
         mThemeOptionPreviewer = new ThemeOptionPreviewer(getLifecycle(), getContext(),
                 previewContainer);
         PreviewInfo previewInfo = mCustomThemeManager.buildCustomThemePreviewInfo(getContext());
@@ -98,7 +89,6 @@
                 view.findViewById(R.id.wallpaper_preview_surface));
         currentWallpaperFactory.createCurrentWallpaperInfos(
                 (homeWallpaper, lockWallpaper, presentationMode) -> {
-                    mCurrentHomeWallpaper = homeWallpaper;
                     wallpaperPreviewer.setWallpaper(homeWallpaper,
                             mThemeOptionPreviewer::updateColorForLauncherWidgets);
                 }, false);
@@ -139,15 +129,4 @@
     public String getThemeName() {
         return mNameEditor.getText().toString();
     }
-
-    private void showFullPreview() {
-        CustomTheme themeToFullPreview = mCustomThemeManager.buildPartialCustomTheme(
-                getContext(), /* id= */ "", getThemeName());
-        Bundle bundle = new Bundle();
-        bundle.putParcelable(EXTRA_WALLPAPER_INFO, mCurrentHomeWallpaper);
-        bundle.putString(EXTRA_THEME_OPTION, themeToFullPreview.getSerializedPackages());
-        bundle.putString(EXTRA_THEME_OPTION_TITLE, themeToFullPreview.getTitle());
-        Intent intent = ViewOnlyFullPreviewActivity.newIntent(getContext(), SECTION_STYLE, bundle);
-        startActivity(intent);
-    }
 }
diff --git a/src/com/android/customization/picker/theme/CustomThemeStepFragment.java b/src/com/android/customization/picker/theme/CustomThemeStepFragment.java
index b05ebc4..3f07431 100644
--- a/src/com/android/customization/picker/theme/CustomThemeStepFragment.java
+++ b/src/com/android/customization/picker/theme/CustomThemeStepFragment.java
@@ -23,6 +23,8 @@
 abstract class CustomThemeStepFragment extends AppbarFragment {
     protected static final String ARG_KEY_POSITION = "CustomThemeStepFragment.position";
     protected static final String ARG_KEY_TITLE_RES_ID = "CustomThemeStepFragment.title_res";
+    protected static final String ARG_KEY_ACCESSIBILITY_RES_ID =
+            "CustomThemeStepFragment.accessibility_res";
     protected CustomThemeComponentStepHost mHost;
     protected CustomThemeManager mCustomThemeManager;
     protected int mPosition;
@@ -30,6 +32,8 @@
     protected TextView mTitle;
     @StringRes
     protected int mTitleResId;
+    @StringRes
+    protected int mAccessibilityResId;
 
     @Override
     public void onAttach(Context context) {
@@ -48,6 +52,7 @@
         super.onCreate(savedInstanceState);
         mPosition = getArguments().getInt(ARG_KEY_POSITION);
         mTitleResId = getArguments().getInt(ARG_KEY_TITLE_RES_ID);
+        mAccessibilityResId = getArguments().getInt(ARG_KEY_ACCESSIBILITY_RES_ID);
         mCustomThemeManager = mHost.getCustomThemeManager();
     }
 
@@ -63,10 +68,10 @@
         } else {
             setUpToolbar(view, R.menu.custom_theme_editor_menu);
             mToolbar.getMenu().getItem(0).setIconTintList(
-                    getContext().getColorStateList(R.color.toolbar_icon_color));
+                    getContext().getColorStateList(R.color.toolbar_icon_tint));
         }
         Drawable closeIcon = getResources().getDrawable(R.drawable.ic_close_24px, null).mutate();
-        closeIcon.setTintList(getResources().getColorStateList(R.color.toolbar_icon_color, null));
+        closeIcon.setTintList(getResources().getColorStateList(R.color.toolbar_icon_tint, null));
         mToolbar.setNavigationIcon(closeIcon);
 
         mToolbar.setNavigationContentDescription(R.string.cancel);
@@ -77,6 +82,11 @@
     }
 
     @Override
+    protected String getAccessibilityTitle() {
+        return getString(mAccessibilityResId);
+    }
+
+    @Override
     public boolean onMenuItemClick(MenuItem item) {
         if (item.getItemId() == R.id.custom_theme_delete) {
             AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
diff --git a/src/com/android/customization/picker/theme/ThemeFragment.java b/src/com/android/customization/picker/theme/ThemeFragment.java
index 7b58274..f5d56ca 100644
--- a/src/com/android/customization/picker/theme/ThemeFragment.java
+++ b/src/com/android/customization/picker/theme/ThemeFragment.java
@@ -17,11 +17,6 @@
 
 import static android.app.Activity.RESULT_OK;
 
-import static com.android.customization.picker.ViewOnlyFullPreviewActivity.SECTION_STYLE;
-import static com.android.customization.picker.theme.ThemeFullPreviewFragment.EXTRA_CAN_APPLY_FROM_FULL_PREVIEW;
-import static com.android.customization.picker.theme.ThemeFullPreviewFragment.EXTRA_THEME_OPTION;
-import static com.android.customization.picker.theme.ThemeFullPreviewFragment.EXTRA_THEME_OPTION_TITLE;
-import static com.android.customization.picker.theme.ThemeFullPreviewFragment.EXTRA_WALLPAPER_INFO;
 import static com.android.wallpaper.widget.BottomActionBar.BottomAction.APPLY;
 import static com.android.wallpaper.widget.BottomActionBar.BottomAction.CUSTOMIZE;
 import static com.android.wallpaper.widget.BottomActionBar.BottomAction.INFORMATION;
@@ -48,10 +43,8 @@
 import com.android.customization.model.theme.ThemeManager;
 import com.android.customization.model.theme.custom.CustomTheme;
 import com.android.customization.module.ThemesUserEventLogger;
-import com.android.customization.picker.ViewOnlyFullPreviewActivity;
 import com.android.customization.picker.WallpaperPreviewer;
 import com.android.customization.widget.OptionSelectorController;
-import com.android.customization.widget.ThemeInfoView;
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
@@ -59,6 +52,7 @@
 import com.android.wallpaper.picker.AppbarFragment;
 import com.android.wallpaper.widget.BottomActionBar;
 import com.android.wallpaper.widget.BottomActionBar.AccessibilityCallback;
+import com.android.wallpaper.widget.BottomActionBar.BottomSheetContent;
 
 import java.util.List;
 
@@ -142,22 +136,21 @@
                     mWallpaperPreviewer.setWallpaper(mCurrentHomeWallpaper,
                             mThemeOptionPreviewer::updateColorForLauncherWidgets);
                 }, false);
-
-        view.findViewById(R.id.theme_preview_card).setOnClickListener(v -> showFullPreview());
         return view;
     }
 
     @Override
     protected void onBottomActionBarReady(BottomActionBar bottomActionBar) {
+        super.onBottomActionBarReady(bottomActionBar);
         mBottomActionBar = bottomActionBar;
         mBottomActionBar.showActionsOnly(INFORMATION, APPLY);
         mBottomActionBar.setActionClickListener(APPLY, v -> {
             mBottomActionBar.disableActions();
             applyTheme();
         });
-        mThemeInfoView = (ThemeInfoView) LayoutInflater.from(getContext()).inflate(
-                R.layout.theme_info_view, /* root= */ null);
-        mBottomActionBar.attachViewToBottomSheetAndBindAction(mThemeInfoView, INFORMATION);
+
+        mBottomActionBar.bindBottomSheetContentWithAction(
+                new ThemeInfoContent(getContext()), INFORMATION);
         mBottomActionBar.setActionClickListener(CUSTOMIZE, this::onCustomizeClicked);
 
         // Update target view's accessibility param since it will be blocked by the bottom sheet
@@ -387,13 +380,23 @@
         startActivityForResult(intent, CustomThemeActivity.REQUEST_CODE_CUSTOM_THEME);
     }
 
-    private void showFullPreview() {
-        Bundle bundle = new Bundle();
-        bundle.putParcelable(EXTRA_WALLPAPER_INFO, mCurrentHomeWallpaper);
-        bundle.putString(EXTRA_THEME_OPTION, mSelectedTheme.getSerializedPackages());
-        bundle.putString(EXTRA_THEME_OPTION_TITLE, mSelectedTheme.getTitle());
-        bundle.putBoolean(EXTRA_CAN_APPLY_FROM_FULL_PREVIEW, true);
-        Intent intent = ViewOnlyFullPreviewActivity.newIntent(getContext(), SECTION_STYLE, bundle);
-        startActivityForResult(intent, FULL_PREVIEW_REQUEST_CODE);
+    private final class ThemeInfoContent extends BottomSheetContent<ThemeInfoView> {
+
+        private ThemeInfoContent(Context context) {
+            super(context);
+        }
+
+        @Override
+        public int getViewId() {
+            return R.layout.theme_info_view;
+        }
+
+        @Override
+        public void onViewCreated(ThemeInfoView view) {
+            mThemeInfoView = view;
+            if (mSelectedTheme != null) {
+                mThemeInfoView.populateThemeInfo(mSelectedTheme);
+            }
+        }
     }
 }
diff --git a/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java b/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
index 7cbeab9..3ba64ec 100644
--- a/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
+++ b/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
@@ -21,6 +21,7 @@
 import static com.android.wallpaper.widget.BottomActionBar.BottomAction.INFORMATION;
 
 import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
@@ -37,12 +38,12 @@
 import com.android.customization.model.theme.ThemeBundleProvider;
 import com.android.customization.module.CustomizationInjector;
 import com.android.customization.picker.WallpaperPreviewer;
-import com.android.customization.widget.ThemeInfoView;
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.InjectorProvider;
 import com.android.wallpaper.picker.AppbarFragment;
 import com.android.wallpaper.widget.BottomActionBar;
+import com.android.wallpaper.widget.BottomActionBar.BottomSheetContent;
 
 import com.bumptech.glide.Glide;
 
@@ -125,16 +126,15 @@
 
     @Override
     protected void onBottomActionBarReady(BottomActionBar bottomActionBar) {
+        super.onBottomActionBarReady(bottomActionBar);
         if (mCanApplyFromFullPreview) {
             bottomActionBar.showActionsOnly(INFORMATION, APPLY);
             bottomActionBar.setActionClickListener(APPLY, v -> finishActivityWithResultOk());
         } else {
             bottomActionBar.showActionsOnly(INFORMATION);
         }
-        ThemeInfoView themeInfoView = (ThemeInfoView) LayoutInflater.from(getContext()).inflate(
-                R.layout.theme_info_view, /* root= */ null);
-        themeInfoView.populateThemeInfo(mThemeBundle);
-        bottomActionBar.attachViewToBottomSheetAndBindAction(themeInfoView, INFORMATION);
+        bottomActionBar.bindBottomSheetContentWithAction(
+                new ThemeInfoContent(getContext()), INFORMATION);
         bottomActionBar.show();
     }
 
@@ -145,4 +145,21 @@
         activity.setResult(RESULT_OK, intent);
         activity.finish();
     }
+
+    private final class ThemeInfoContent extends BottomSheetContent<ThemeInfoView> {
+
+        private ThemeInfoContent(Context context) {
+            super(context);
+        }
+
+        @Override
+        public int getViewId() {
+            return R.layout.theme_info_view;
+        }
+
+        @Override
+        public void onViewCreated(ThemeInfoView view) {
+            view.populateThemeInfo(mThemeBundle);
+        }
+    }
 }
diff --git a/src/com/android/customization/widget/ThemeInfoView.java b/src/com/android/customization/picker/theme/ThemeInfoView.java
similarity index 98%
rename from src/com/android/customization/widget/ThemeInfoView.java
rename to src/com/android/customization/picker/theme/ThemeInfoView.java
index 9eb0320..e929c4d 100644
--- a/src/com/android/customization/widget/ThemeInfoView.java
+++ b/src/com/android/customization/picker/theme/ThemeInfoView.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.customization.widget;
+package com.android.customization.picker.theme;
 
 import android.content.Context;
 import android.content.res.ColorStateList;
diff --git a/src/com/android/customization/picker/theme/ThemeOptionPreviewer.java b/src/com/android/customization/picker/theme/ThemeOptionPreviewer.java
index 5c775dd..14b53ec 100644
--- a/src/com/android/customization/picker/theme/ThemeOptionPreviewer.java
+++ b/src/com/android/customization/picker/theme/ThemeOptionPreviewer.java
@@ -49,6 +49,7 @@
 import com.android.customization.model.theme.ThemeBundle.PreviewInfo;
 import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
 import com.android.wallpaper.R;
+import com.android.wallpaper.util.ResourceUtils;
 import com.android.wallpaper.util.ScreenSizeCalculator;
 import com.android.wallpaper.util.TimeUtils;
 import com.android.wallpaper.util.TimeUtils.TimeTicker;
@@ -184,11 +185,11 @@
         boolean useLightTextColor = colors == null
                 || (colors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) == 0;
         int textColor = mContext.getColor(useLightTextColor
-                ? R.color.text_color_light
-                : R.color.text_color_dark);
+                ? android.R.color.white
+                : android.R.color.black);
         int textShadowColor = mContext.getColor(useLightTextColor
-                ? R.color.smartspace_preview_shadow_color_dark
-                : R.color.smartspace_preview_shadow_color_transparent);
+                ? android.R.color.tertiary_text_dark
+                : android.R.color.transparent);
         // Update the top status bar clock text color.
         mStatusBarClock.setTextColor(textColor);
         // Update the top status bar icon color.
@@ -358,7 +359,8 @@
     }
 
     private ColorStateList getColorStateList(int accentColor) {
-        int controlGreyColor = mContext.getColor(R.color.control_grey);
+        int controlGreyColor =
+                ResourceUtils.getColorAttr(mContext, android.R.attr.textColorTertiary);
         return new ColorStateList(
                 new int[][]{
                         new int[]{android.R.attr.state_selected},
@@ -396,7 +398,7 @@
         final Resources res = mContext.getResources();
         return getDisplayHeight()
                 - getTopToolBarHeight()
-                - res.getDimensionPixelSize(R.dimen.bottom_navbar_height)
+                - res.getDimensionPixelSize(R.dimen.bottom_actions_height)
                 - res.getDimensionPixelSize(R.dimen.full_preview_page_default_padding_top)
                 - res.getDimensionPixelSize(R.dimen.full_preview_page_default_padding_bottom);
     }
diff --git a/src/com/android/customization/picker/themedicon/ThemedIconSectionView.java b/src/com/android/customization/picker/themedicon/ThemedIconSectionView.java
new file mode 100644
index 0000000..3e03a41
--- /dev/null
+++ b/src/com/android/customization/picker/themedicon/ThemedIconSectionView.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.picker.themedicon;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.Switch;
+
+import androidx.annotation.Nullable;
+
+import com.android.wallpaper.R;
+import com.android.wallpaper.picker.SectionView;
+
+/**
+ * The {@link SectionView} for themed icon section view
+ */
+public class ThemedIconSectionView extends SectionView {
+
+    private Switch mSwitchView;
+
+    public ThemedIconSectionView(Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+        setTitle(context.getString(R.string.themed_icon_title));
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+        mSwitchView = findViewById(R.id.themed_icon_toggle);
+        setOnClickListener(v -> mSwitchView.toggle());
+        mSwitchView.setOnCheckedChangeListener((buttonView, isChecked) -> viewActivated(isChecked));
+    }
+
+    /** Gets the switch view. */
+    public Switch getSwitch() {
+        return mSwitchView;
+    }
+
+    private void viewActivated(boolean isChecked) {
+        if (mSectionViewListener != null) {
+            mSectionViewListener.onViewActivated(getContext(), isChecked);
+        }
+    }
+}
diff --git a/src/com/android/customization/widget/GridTileDrawable.java b/src/com/android/customization/widget/GridTileDrawable.java
index c746aaf..83cd0b5 100644
--- a/src/com/android/customization/widget/GridTileDrawable.java
+++ b/src/com/android/customization/widget/GridTileDrawable.java
@@ -19,8 +19,7 @@
 
     // Path is expected configuration in following dimension: [100 x 100]))
     private static final float PATH_SIZE = 100f;
-    // We want each "icon" using 80% of the available size, so there's 10% padding on each side
-    private static final float ICON_SCALE = .8f;
+    private static final float SPACE_BETWEEN_ICONS = 6f;
     private final int mCols;
     private final int mRows;
     private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
@@ -28,7 +27,6 @@
     private final Path mTransformedPath;
     private final Matrix mScaleMatrix;
     private float mCellSize = -1f;
-    private float mSpaceBetweenIcons;
 
     public GridTileDrawable(int cols, int rows, String path) {
         mCols = cols;
@@ -42,21 +40,23 @@
     @Override
     protected void onBoundsChange(Rect bounds) {
         super.onBoundsChange(bounds);
-        mCellSize = (float) bounds.height() / mRows;
-        mSpaceBetweenIcons = mCellSize * ((1 - ICON_SCALE) / 2);
+        int longestSide = Math.max(mRows, mCols);
+        mCellSize = (float) bounds.width() / longestSide;
 
-        float scaleFactor = (mCellSize * ICON_SCALE) / PATH_SIZE;
+        float scaleFactor = (mCellSize - 2 * SPACE_BETWEEN_ICONS) / PATH_SIZE;
         mScaleMatrix.setScale(scaleFactor, scaleFactor);
         mShapePath.transform(mScaleMatrix, mTransformedPath);
     }
 
     @Override
     public void draw(Canvas canvas) {
+        double size = getBounds().width();
+
         for (int r = 0; r < mRows; r++) {
             for (int c = 0; c < mCols; c++) {
                 int saveCount = canvas.save();
-                float x = (c * mCellSize) + mSpaceBetweenIcons;
-                float y = (r * mCellSize) + mSpaceBetweenIcons;
+                float x = (float) ((r * size / mRows) + SPACE_BETWEEN_ICONS);
+                float y = (float) ((c * size / mCols) + SPACE_BETWEEN_ICONS);
                 canvas.translate(x, y);
                 canvas.drawPath(mTransformedPath, mPaint);
                 canvas.restoreToCount(saveCount);
diff --git a/src/com/android/customization/widget/OptionSelectorController.java b/src/com/android/customization/widget/OptionSelectorController.java
index db09aa6..8e85c01 100644
--- a/src/com/android/customization/widget/OptionSelectorController.java
+++ b/src/com/android/customization/widget/OptionSelectorController.java
@@ -15,8 +15,11 @@
  */
 package com.android.customization.widget;
 
+import static com.android.internal.util.Preconditions.checkNotNull;
+
 import android.content.Context;
 import android.content.res.Resources;
+import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
 import android.text.TextUtils;
@@ -29,6 +32,8 @@
 import android.view.accessibility.AccessibilityEvent;
 import android.widget.TextView;
 
+import androidx.annotation.Dimension;
+import androidx.annotation.IntDef;
 import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.GridLayoutManager;
 import androidx.recyclerview.widget.LinearLayoutManager;
@@ -63,26 +68,35 @@
         void onOptionSelected(CustomizationOption selected);
     }
 
+    @IntDef({CheckmarkStyle.NONE, CheckmarkStyle.CORNER, CheckmarkStyle.CENTER})
+    public @interface CheckmarkStyle {
+        int NONE = 0;
+        int CORNER = 1;
+        int CENTER = 2;
+    }
+
+    private static final float LINEAR_LAYOUT_HORIZONTAL_DISPLAY_OPTIONS_MAX = 4.35f;
+
     private final RecyclerView mContainer;
     private final List<T> mOptions;
     private final boolean mUseGrid;
-    private final boolean mShowCheckmark;
+    @CheckmarkStyle private final int mCheckmarkStyle;
 
     private final Set<OptionSelectedListener> mListeners = new HashSet<>();
     private RecyclerView.Adapter<TileViewHolder> mAdapter;
-    private CustomizationOption mSelectedOption;
-    private CustomizationOption mAppliedOption;
+    private T mSelectedOption;
+    private T mAppliedOption;
 
     public OptionSelectorController(RecyclerView container, List<T> options) {
-        this(container, options, true, true);
+        this(container, options, true, CheckmarkStyle.CORNER);
     }
 
     public OptionSelectorController(RecyclerView container, List<T> options,
-            boolean useGrid, boolean showCheckmark) {
+            boolean useGrid, @CheckmarkStyle int checkmarkStyle) {
         mContainer = container;
         mOptions = options;
         mUseGrid = useGrid;
-        mShowCheckmark = showCheckmark;
+        mCheckmarkStyle = checkmarkStyle;
     }
 
     public void addListener(OptionSelectedListener listener) {
@@ -93,26 +107,41 @@
         mListeners.remove(listener);
     }
 
-    public void setSelectedOption(CustomizationOption option) {
+    /**
+     * Mark the given option as selected
+     */
+    public void setSelectedOption(T option) {
         if (!mOptions.contains(option)) {
             throw new IllegalArgumentException("Invalid option");
         }
         updateActivatedStatus(mSelectedOption, false);
         updateActivatedStatus(option, true);
+        T lastSelectedOption = mSelectedOption;
         mSelectedOption = option;
+        mAdapter.notifyItemChanged(mOptions.indexOf(option));
+        if (lastSelectedOption != null) {
+            mAdapter.notifyItemChanged(mOptions.indexOf(lastSelectedOption));
+        }
         notifyListeners();
     }
 
     /**
+     * @return whether this controller contains the given option
+     */
+    public boolean containsOption(T option) {
+        return mOptions.contains(option);
+    }
+
+    /**
      * Mark an option as the one which is currently applied on the device. This will result in a
      * check being displayed in the lower-right corner of the corresponding ViewHolder.
      * @param option
      */
-    public void setAppliedOption(CustomizationOption option) {
+    public void setAppliedOption(T option) {
         if (!mOptions.contains(option)) {
             throw new IllegalArgumentException("Invalid option");
         }
-        CustomizationOption lastAppliedOption = mAppliedOption;
+        T lastAppliedOption = mAppliedOption;
         mAppliedOption = option;
         mAdapter.notifyItemChanged(mOptions.indexOf(option));
         if (lastAppliedOption != null) {
@@ -120,7 +149,7 @@
         }
     }
 
-    private void updateActivatedStatus(CustomizationOption option, boolean isActivated) {
+    private void updateActivatedStatus(T option, boolean isActivated) {
         int index = mOptions.indexOf(option);
         if (index < 0) {
             return;
@@ -132,14 +161,14 @@
             if (holder instanceof TileViewHolder) {
                 TileViewHolder tileHolder = (TileViewHolder) holder;
                 if (isActivated) {
-                    if (option == mAppliedOption && mShowCheckmark) {
+                    if (option == mAppliedOption && mCheckmarkStyle != CheckmarkStyle.NONE) {
                         tileHolder.setContentDescription(mContainer.getContext(), option,
                             R.string.option_applied_previewed_description);
                     } else {
                         tileHolder.setContentDescription(mContainer.getContext(), option,
                             R.string.option_previewed_description);
                     }
-                } else if (option == mAppliedOption && mShowCheckmark) {
+                } else if (option == mAppliedOption && mCheckmarkStyle != CheckmarkStyle.NONE) {
                     tileHolder.setContentDescription(mContainer.getContext(), option,
                         R.string.option_applied_description);
                 } else {
@@ -153,6 +182,17 @@
     }
 
     /**
+     * Notify that a given option has changed.
+     * @param option the option that changed
+     */
+    public void optionChanged(T option) {
+        if (!mOptions.contains(option)) {
+            throw new IllegalArgumentException("Invalid option");
+        }
+        mAdapter.notifyItemChanged(mOptions.indexOf(option));
+    }
+
+    /**
      * Initializes the UI for the options passed in the constructor of this class.
      */
     public void initOptions(final CustomizationManager<T> manager) {
@@ -174,7 +214,7 @@
 
             @Override
             public void onBindViewHolder(@NonNull TileViewHolder holder, int position) {
-                CustomizationOption option = mOptions.get(position);
+                T option = mOptions.get(position);
                 if (option.isActive(manager)) {
                     mAppliedOption = option;
                     if (mSelectedOption == null) {
@@ -184,40 +224,30 @@
                 if (holder.labelView != null) {
                     holder.labelView.setText(option.getTitle());
                 }
-                option.bindThumbnailTile(holder.tileView);
                 holder.itemView.setActivated(option.equals(mSelectedOption));
+                option.bindThumbnailTile(holder.tileView);
                 holder.itemView.setOnClickListener(view -> setSelectedOption(option));
 
-                if (mShowCheckmark && option.equals(mAppliedOption)) {
-                    Resources res = mContainer.getContext().getResources();
-                    Drawable checkmark = res.getDrawable(R.drawable.check_circle_accent_24dp,
-                            mContainer.getContext().getTheme());
-                    Drawable frame = holder.tileView.getForeground();
-                    Drawable[] layers = {frame, checkmark};
-                    if (frame == null) {
-                        layers = new Drawable[]{checkmark};
-                    }
-                    LayerDrawable checkedFrame = new LayerDrawable(layers);
-
-                    // Position at lower right
-                    int idx = layers.length - 1;
-                    int checkSize = (int) res.getDimension(R.dimen.check_size);
-                    int checkOffset = (int) res.getDimensionPixelOffset(R.dimen.check_offset);
-                    checkedFrame.setLayerGravity(idx, Gravity.BOTTOM | Gravity.RIGHT);
-                    checkedFrame.setLayerWidth(idx, checkSize);
-                    checkedFrame.setLayerHeight(idx, checkSize);
-                    checkedFrame.setLayerInsetBottom(idx, checkOffset);
-                    checkedFrame.setLayerInsetRight(idx, checkOffset);
-                    holder.tileView.setForeground(checkedFrame);
-
-                    // Initialize the currently applied option
-                    holder.setContentDescription(mContainer.getContext(), option,
-                        R.string.option_applied_previewed_description);
+                Resources res = mContainer.getContext().getResources();
+                if (mCheckmarkStyle == CheckmarkStyle.CORNER && option.equals(mAppliedOption)) {
+                    drawCheckmark(option, holder,
+                            res.getDrawable(R.drawable.check_circle_accent_24dp,
+                                    mContainer.getContext().getTheme()),
+                            Gravity.BOTTOM | Gravity.RIGHT,
+                            res.getDimensionPixelSize(R.dimen.check_size),
+                            res.getDimensionPixelOffset(R.dimen.check_offset));
+                } else if (mCheckmarkStyle == CheckmarkStyle.CENTER
+                        && option.equals(mAppliedOption)) {
+                    drawCheckmark(option, holder,
+                            res.getDrawable(R.drawable.check_circle_grey_large,
+                                    mContainer.getContext().getTheme()),
+                            Gravity.CENTER, res.getDimensionPixelSize(R.dimen.center_check_size),
+                            0);
                 } else if (option.equals(mAppliedOption)) {
                     // Initialize with "previewed" description if we don't show checkmark
                     holder.setContentDescription(mContainer.getContext(), option,
                         R.string.option_previewed_description);
-                } else if (mShowCheckmark) {
+                } else if (mCheckmarkStyle != CheckmarkStyle.NONE) {
                     holder.tileView.setForeground(null);
                 }
             }
@@ -226,6 +256,30 @@
             public int getItemCount() {
                 return mOptions.size();
             }
+
+            private void drawCheckmark(CustomizationOption<?> option, TileViewHolder holder,
+                    Drawable checkmark, int gravity, @Dimension int checkSize,
+                    @Dimension int checkOffset) {
+                Drawable frame = holder.tileView.getForeground();
+                Drawable[] layers = {frame, checkmark};
+                if (frame == null) {
+                    layers = new Drawable[]{checkmark};
+                }
+                LayerDrawable checkedFrame = new LayerDrawable(layers);
+
+                // Position according to the given gravity and offset
+                int idx = layers.length - 1;
+                checkedFrame.setLayerGravity(idx, gravity);
+                checkedFrame.setLayerWidth(idx, checkSize);
+                checkedFrame.setLayerHeight(idx, checkSize);
+                checkedFrame.setLayerInsetBottom(idx, checkOffset);
+                checkedFrame.setLayerInsetRight(idx, checkOffset);
+                holder.tileView.setForeground(checkedFrame);
+
+                // Initialize the currently applied option
+                holder.setContentDescription(mContainer.getContext(), option,
+                        R.string.option_applied_previewed_description);
+            }
         };
 
         Resources res = mContainer.getContext().getResources();
@@ -252,10 +306,10 @@
             availableWidth = fixWidth;
         }
         int totalWidth = mContainer.getMeasuredWidth();
+        int widthPerItem = res.getDimensionPixelOffset(R.dimen.option_tile_width);
 
         if (mUseGrid) {
             int numColumns = res.getInteger(R.integer.options_grid_num_columns);
-            int widthPerItem = res.getDimensionPixelOffset(R.dimen.option_tile_width);
             int extraSpace = availableWidth - widthPerItem * numColumns;
             while (extraSpace < 0) {
                 numColumns -= 1;
@@ -265,10 +319,6 @@
             if (mContainer.getLayoutManager() != null) {
                 ((GridLayoutManager) mContainer.getLayoutManager()).setSpanCount(numColumns);
             }
-
-            int containerSidePadding = (extraSpace / (numColumns + 1)) / 2;
-            mContainer.setPaddingRelative(containerSidePadding, 0, containerSidePadding, 0);
-            mContainer.setOverScrollMode(View.OVER_SCROLL_NEVER);
             return;
         }
 
@@ -276,12 +326,23 @@
         if (extraSpace >= 0) {
             mContainer.setOverScrollMode(View.OVER_SCROLL_NEVER);
         }
-        int itemSideMargin =  res.getDimensionPixelOffset(R.dimen.option_tile_margin_horizontal);
-        int defaultTotalPadding = itemSideMargin * (mAdapter.getItemCount() * 2 + 2);
-        if (extraSpace > defaultTotalPadding) {
-            int spaceBetweenItems = extraSpace / (mAdapter.getItemCount() + 1);
-            itemSideMargin = spaceBetweenItems / 2;
+
+        if (mAdapter.getItemCount() >= LINEAR_LAYOUT_HORIZONTAL_DISPLAY_OPTIONS_MAX) {
+            int spaceBetweenItems = availableWidth
+                    - Math.round(widthPerItem * LINEAR_LAYOUT_HORIZONTAL_DISPLAY_OPTIONS_MAX)
+                    - mContainer.getPaddingLeft();
+            int itemEndMargin =
+                    spaceBetweenItems / (int) LINEAR_LAYOUT_HORIZONTAL_DISPLAY_OPTIONS_MAX;
+            if (itemEndMargin <= 0) {
+                itemEndMargin = res.getDimensionPixelOffset(R.dimen.option_tile_margin_horizontal);
+            }
+            mContainer.addItemDecoration(new ItemEndHorizontalSpaceItemDecoration(
+                    mContainer.getContext(), itemEndMargin));
+            return;
         }
+
+        int spaceBetweenItems = extraSpace / (mAdapter.getItemCount() + 1);
+        int itemSideMargin = spaceBetweenItems / 2;
         mContainer.addItemDecoration(new HorizontalSpacerItemDecoration(itemSideMargin));
     }
 
@@ -295,7 +356,7 @@
         if (mListeners.isEmpty()) {
             return;
         }
-        CustomizationOption option = mSelectedOption;
+        T option = mSelectedOption;
         Set<OptionSelectedListener> iterableListeners = new HashSet<>(mListeners);
         for (OptionSelectedListener listener : iterableListeners) {
             listener.onOptionSelected(option);
@@ -321,7 +382,7 @@
          * @param option The customization option
          * @param id Resource ID of the string to use for the content description
          */
-        public void setContentDescription(Context context, CustomizationOption option, int id) {
+        public void setContentDescription(Context context, CustomizationOption<?> option, int id) {
             title = option.getTitle();
             if (TextUtils.isEmpty(title) && tileView != null) {
                 title = tileView.getContentDescription();
@@ -383,4 +444,35 @@
             return super.onRequestSendAccessibilityEvent(host, child, event);
         }
     }
+
+    /** Custom ItemDecorator to add specific spacing between items in the list. */
+    private static final class ItemEndHorizontalSpaceItemDecoration
+            extends RecyclerView.ItemDecoration {
+        private final int mHorizontalSpacePx;
+        private final boolean mDirectionLTR;
+
+        private ItemEndHorizontalSpaceItemDecoration(Context context, int horizontalSpacePx) {
+            mDirectionLTR = context.getResources().getConfiguration().getLayoutDirection()
+                    == View.LAYOUT_DIRECTION_LTR;
+            mHorizontalSpacePx = horizontalSpacePx;
+        }
+
+        @Override
+        public void getItemOffsets(Rect outRect, View view, RecyclerView recyclerView,
+                RecyclerView.State state) {
+            if (recyclerView.getAdapter() == null) {
+                return;
+            }
+
+            if (recyclerView.getChildAdapterPosition(view)
+                    != checkNotNull(recyclerView.getAdapter()).getItemCount() - 1) {
+                // Don't add spacing behind the last item
+                if (mDirectionLTR) {
+                    outRect.right = mHorizontalSpacePx;
+                } else {
+                    outRect.left = mHorizontalSpacePx;
+                }
+            }
+        }
+    }
 }
diff --git a/src/com/google/android/apps/wallpaper/asset/ThemeBundleThumbAsset.java b/src/com/google/android/apps/wallpaper/asset/ThemeBundleThumbAsset.java
index bc5f309..d941854 100644
--- a/src/com/google/android/apps/wallpaper/asset/ThemeBundleThumbAsset.java
+++ b/src/com/google/android/apps/wallpaper/asset/ThemeBundleThumbAsset.java
@@ -50,7 +50,7 @@
 
     @Override
     public void decodeBitmapRegion(Rect rect, int targetWidth, int targetHeight,
-            BitmapReceiver receiver) {
+            boolean shouldAdjustForRtl, BitmapReceiver receiver) {
 
     }
 
diff --git a/src_override/com/android/wallpaper/module/WallpapersInjector.java b/src_override/com/android/wallpaper/module/WallpapersInjector.java
index d113c1b..f1748b4 100755
--- a/src_override/com/android/wallpaper/module/WallpapersInjector.java
+++ b/src_override/com/android/wallpaper/module/WallpapersInjector.java
@@ -103,4 +103,9 @@
     public synchronized LoggingOptInStatusProvider getLoggingOptInStatusProvider(Context context) {
         return null;
     }
+
+    @Override
+    public String getDownloadableIntentAction() {
+        return null;
+    }
 }
diff --git a/tests/src/com/android/customization/picker/CustomizationPickerActivityTest.java b/tests/src/com/android/customization/picker/CustomizationPickerActivityTest.java
deleted file mode 100644
index dd1581a..0000000
--- a/tests/src/com/android/customization/picker/CustomizationPickerActivityTest.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package com.android.customization.picker;
-
-import static android.content.Intent.ACTION_SET_WALLPAPER;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.click;
-import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.intent.matcher.IntentMatchers.filterEquals;
-import static androidx.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.isSelected;
-import static androidx.test.espresso.matcher.ViewMatchers.withId;
-
-import static com.android.customization.picker.CustomizationPickerActivity.WALLPAPER_FLAVOR_EXTRA;
-import static com.android.customization.picker.CustomizationPickerActivity.WALLPAPER_FOCUS;
-import static com.android.customization.picker.CustomizationPickerActivity.WALLPAPER_ONLY;
-
-import static org.junit.Assert.assertTrue;
-
-import android.content.Intent;
-import android.text.TextUtils;
-
-import androidx.fragment.app.Fragment;
-import androidx.test.espresso.intent.Intents;
-import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner;
-import androidx.test.rule.ActivityTestRule;
-
-import com.android.customization.picker.theme.ThemeFragment;
-import com.android.customization.testing.TestCustomizationInjector;
-import com.android.customization.testing.TestThemeManager;
-import com.android.wallpaper.R;
-import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.CategoryFragment;
-import com.android.wallpaper.picker.TopLevelPickerActivity;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Tests for {@link CustomizationPickerActivity}.
- */
-@RunWith(AndroidJUnit4ClassRunner.class)
-public class CustomizationPickerActivityTest {
-
-    @Rule
-    public ActivityTestRule<CustomizationPickerActivity> mActivityRule =
-            new ActivityTestRule<>(CustomizationPickerActivity.class, false, false);
-
-    @Before
-    public void setUp() {
-        Intents.init();
-    }
-
-    @After
-    public void tearDown() {
-        mActivityRule.finishActivity();
-        Intents.release();
-    }
-
-    @Test
-    public void launchActivity_doesNotSupportCustomization_launchesTopLevelPickerActivity() {
-        TestThemeManager.setAvailable(false);
-
-        launchActivity();
-
-        Intents.intended(filterEquals(new Intent(mActivityRule.getActivity(),
-                TopLevelPickerActivity.class)));
-    }
-
-    // ----------------------------------------------------------------------
-    // Tests for customization supports.
-    // ----------------------------------------------------------------------
-
-    @Test
-    public void launchActivity_themeManagerIsAvailable_NavBarShowsStyleAndWallpaperItem() {
-        TestThemeManager.setAvailable(true);
-
-        launchActivity();
-
-        onView(withId(R.id.nav_theme)).check(matches(isCompletelyDisplayed()));
-        onView(withId(R.id.nav_wallpaper)).check(matches(isCompletelyDisplayed()));
-        onView(withId(R.id.nav_clock)).check(doesNotExist());
-        onView(withId(R.id.nav_grid)).check(doesNotExist());
-    }
-
-    @Test
-    public void launchActivity_navigateToTheStyleTabByDefault() {
-        TestThemeManager.setAvailable(true);
-
-        launchActivity();
-
-        onView(withId(R.id.nav_theme)).check(matches(isSelected()));
-        assertTrue(getCurrentShowingFragment() instanceof ThemeFragment);
-    }
-
-    @Test
-    public void launchActivity_withExtraWallpaperOnly_launchesTopLevelPickerActivity() {
-        TestThemeManager.setAvailable(true);
-
-        launchActivityWithFlavorExtra(WALLPAPER_ONLY);
-
-        // While receiving WALLPAPER_ONLY extra, it should launch TopLevelPickerActivity whatever it
-        // supports customization.
-        Intents.intended(filterEquals(new Intent(mActivityRule.getActivity(),
-                TopLevelPickerActivity.class)));
-    }
-
-    @Test
-    public void clickStyleButton_showsThemeFragment() {
-        TestThemeManager.setAvailable(true);
-        launchActivity();
-
-        onView(withId(R.id.nav_theme)).perform(click());
-
-        onView(withId(R.id.nav_theme)).check(matches(isSelected()));
-        assertTrue(getCurrentShowingFragment() instanceof ThemeFragment);
-    }
-
-    @Test
-    public void clickWallpaperButton_showsCategoryFragment() {
-        TestThemeManager.setAvailable(true);
-        launchActivity();
-
-        onView(withId(R.id.nav_wallpaper)).perform(click());
-
-        onView(withId(R.id.nav_wallpaper)).check(matches(isSelected()));
-        assertTrue(getCurrentShowingFragment() instanceof CategoryFragment);
-    }
-
-    @Test
-    public void launchActivity_withExtraWallpaperFocus_navigateToTheWallpaperTab() {
-        TestThemeManager.setAvailable(true);
-
-        launchActivityWithFlavorExtra(WALLPAPER_FOCUS);
-
-        onView(withId(R.id.nav_wallpaper)).check(matches(isSelected()));
-        assertTrue(getCurrentShowingFragment() instanceof CategoryFragment);
-    }
-
-    private void launchActivity() {
-        launchActivityWithFlavorExtra("");
-    }
-
-    private void launchActivityWithFlavorExtra(String extra) {
-        InjectorProvider.setInjector(new TestCustomizationInjector());
-        Intent intent = new Intent(ACTION_SET_WALLPAPER);
-        if (!TextUtils.isEmpty(extra)) {
-            intent.putExtra(WALLPAPER_FLAVOR_EXTRA, extra);
-        }
-        mActivityRule.launchActivity(intent);
-    }
-
-    private Fragment getCurrentShowingFragment() {
-        return mActivityRule.getActivity().getSupportFragmentManager()
-                .findFragmentById(R.id.fragment_container);
-    }
-}
diff --git a/tests/src/com/android/customization/testing/TestThemesUserEventLogger.java b/tests/src/com/android/customization/testing/TestThemesUserEventLogger.java
index 3600192..9969e6e 100644
--- a/tests/src/com/android/customization/testing/TestThemesUserEventLogger.java
+++ b/tests/src/com/android/customization/testing/TestThemesUserEventLogger.java
@@ -22,6 +22,11 @@
     }
 
     @Override
+    public void logColorApplied(int action, int colorIndex) {
+        // Do nothing.
+    }
+
+    @Override
     public void logClockSelected(Clockface clock) {
         // Do nothing.
     }
