diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 70aa303..d5f3c8b 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3,11 +3,12 @@
           xmlns:tools="http://schemas.android.com/tools"
           package="com.android.wallpaper">
 
-    <uses-sdk android:targetSdkVersion="29" android:minSdkVersion="28"/>
+    <uses-sdk android:targetSdkVersion="30" android:minSdkVersion="28"/>
 
     <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" />
 
     <application
         tools:replace="android:icon,android:name"
@@ -35,6 +36,10 @@
         <activity android:name="com.android.customization.picker.theme.CustomThemeActivity"
                   android:resizeableActivity="false"
                   android:theme="@style/CustomizationTheme.NoActionBar"/>
+
+        <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 17d8fce..bf94de9 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/material_grey500" />
+        android:color="@color/bottom_bar_icon_unchecked_color" />
 </selector>
\ No newline at end of file
diff --git a/res/drawable/color_chip.xml b/res/drawable/color_chip.xml
deleted file mode 100644
index bc09992..0000000
--- a/res/drawable/color_chip.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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item
-        android:state_activated="true"
-        android:drawable="@drawable/color_chip_filled" />
-    <item
-        android:state_activated="false"
-        android:drawable="@drawable/color_chip_hollow" />
-    <item
-        android:drawable="@drawable/color_chip_hollow"/>
-</selector>
\ No newline at end of file
diff --git a/res/drawable/color_chip_hollow.xml b/res/drawable/color_chip_hollow.xml
index c0eab74..49e6a4d 100644
--- a/res/drawable/color_chip_hollow.xml
+++ b/res/drawable/color_chip_hollow.xml
@@ -1,6 +1,5 @@
 <?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");
@@ -15,10 +14,28 @@
      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="ring"
-        android:innerRadius="10dp"
-        android:thickness="6dp"
-        android:useLevel="false">
-    <solid android:color="@android:color/black"/>
-</shape>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:id="@+id/center_fill"
+        android:height="@dimen/component_color_chip_size"
+        android:width="@dimen/component_color_chip_size"
+        android:gravity="center">
+        <shape
+            android:shape="oval">
+            <solid android:color="@android:color/black" />
+        </shape>
+    </item>
+    <item
+        android:height="@dimen/component_color_chip_container_size"
+        android:width="@dimen/component_color_chip_container_size"
+        android:gravity="center">
+        <shape
+            android:shape="ring"
+            android:innerRadius="24dp"
+            android:thickness="@dimen/option_border_width"
+            android:useLevel="false">
+        <solid android:color="?android:colorAccent"/>
+        </shape>
+    </item>
+</layer-list>
+
diff --git a/res/drawable/ic_check_circle_filled_24px.xml b/res/drawable/ic_check_circle_filled_24px.xml
deleted file mode 100644
index cacf1d8..0000000
--- a/res/drawable/ic_check_circle_filled_24px.xml
+++ /dev/null
@@ -1,28 +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="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-  <path
-      android:fillColor="@color/selected_check_background_color"
-      android:pathData="M12,2C6.5,2 2,6.5 2,12s4.5,10 10,10s10,-4.5 10,-10S17.5,2 12,2zM10,17l-4,-4l1.4,-1.4l2.6,2.6l6.6,-6.6L18,9L10,17z"/>
-  <path
-      android:pathData="m8.0085,14.9866 l-1.9939,-1.994 0.6892,-0.6889 0.6892,-0.6889 1.2925,1.2926c0.7109,0.711 1.3035,1.2926 1.3169,1.2926 0.0134,0 1.5034,-1.4789 3.3111,-3.2865l3.2866,-3.2865 0.689,0.689 0.689,0.689 -3.9878,3.9878 -3.9878,3.9878z"
-      android:strokeWidth="0.02439024"
-      android:fillColor="@color/selected_check_color"/>
-</vector>
diff --git a/res/drawable/option_border_custom.xml b/res/drawable/option_border_custom.xml
index 0fe8d12..648bc4f 100644
--- a/res/drawable/option_border_custom.xml
+++ b/res/drawable/option_border_custom.xml
@@ -18,7 +18,7 @@
     <item android:id="@android:id/mask">
         <shape android:shape="rectangle">
             <solid android:color="@android:color/white"/>
-            <corners android:radius="4dp" />
+            <corners android:radius="?android:dialogCornerRadius" />
         </shape>
     </item>
     <item android:drawable="@drawable/option_border_edge_custom" />
diff --git a/res/drawable/option_border_edge_custom.xml b/res/drawable/option_border_edge_custom.xml
index 1fba26b..6d633c3 100644
--- a/res/drawable/option_border_edge_custom.xml
+++ b/res/drawable/option_border_edge_custom.xml
@@ -20,16 +20,15 @@
             <stroke
                 android:color="@color/option_border_color"
                 android:width="@dimen/option_selected_border_width" />
-            <corners android:radius="4dp" />
+            <corners android:radius="?android:dialogCornerRadius" />
         </shape>
     </item>
     <item android:state_activated="false">
         <shape android:shape="rectangle">
             <stroke
-                android:color="@color/black_24_alpha"
-                android:alpha="0.24"
+                android:color="@color/option_border_color"
                 android:width="@dimen/option_border_width" />
-            <corners android:radius="4dp" />
+            <corners android:radius="?android:dialogCornerRadius" />
         </shape>
     </item>
 </selector>
diff --git a/res/layout-land/fragment_custom_theme_name.xml b/res/layout-land/fragment_custom_theme_name.xml
index 3c85f35..53cf513 100644
--- a/res/layout-land/fragment_custom_theme_name.xml
+++ b/res/layout-land/fragment_custom_theme_name.xml
@@ -31,15 +31,11 @@
             android:layout_width="0dp"
             android:layout_height="match_parent"
             android:layout_weight="1"
-            android:background="@color/secondary_color">
-            <include
-                android:id="@+id/component_preview_content"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginHorizontal="@dimen/preview_page_horizontal_margin"
-                android:layout_marginTop="@dimen/preview_page_top_margin"
-                android:layout_marginBottom="@dimen/component_preview_page_bottom_margin"
-                layout="@layout/theme_preview_card"/>
+            android:paddingTop="@dimen/preview_content_padding_top"
+            android:paddingBottom="@dimen/preview_content_padding_bottom"
+            android:clipToPadding="false"
+            android:background="@color/fullscreen_preview_background">
+            <include layout="@layout/theme_preview_card"/>
         </FrameLayout>
         <LinearLayout
             android:id="@+id/options_section"
diff --git a/res/layout-land/fragment_grid_picker.xml b/res/layout-land/fragment_grid_picker.xml
index 77330a8..dab9308 100644
--- a/res/layout-land/fragment_grid_picker.xml
+++ b/res/layout-land/fragment_grid_picker.xml
@@ -31,42 +31,29 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="horizontal">
-        <com.android.wallpaper.widget.PreviewPager
-            android:id="@+id/grid_preview_pager"
+        <FrameLayout
             android:layout_width="0dp"
             android:layout_height="match_parent"
             android:layout_weight="1"
-            android:background="@color/secondary_color"
-            app:card_style="screen_aspect_ratio"/>
+            android:clipToPadding="false"
+            android:paddingTop="@dimen/preview_content_padding_top"
+            android:paddingBottom="@dimen/preview_content_padding_bottom"
+            android:background="@color/fullscreen_preview_background">
+            <include layout="@layout/grid_preview_card"/>
+        </FrameLayout>
 
-        <LinearLayout
+        <FrameLayout
             android:id="@+id/options_section"
             android:layout_width="0dp"
             android:layout_height="match_parent"
             android:layout_weight="1"
-            android:paddingVertical="10dp"
-            android:orientation="vertical">
+            android:paddingVertical="10dp">
 
             <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/options_container"
                 android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="1"/>
-
-            <RelativeLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:paddingHorizontal="10dp">
-                <Button
-                    android:id="@+id/apply_button"
-                    style="@style/ActionPrimaryButton"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_alignParentEnd="true"
-                    android:text="@string/apply_btn"/>
-            </RelativeLayout>
-
-        </LinearLayout>
+                android:layout_height="match_parent"/>
+        </FrameLayout>
     </LinearLayout>
         <androidx.core.widget.ContentLoadingProgressBar
             android:id="@+id/loading_indicator"
diff --git a/res/layout-land/fragment_theme_picker.xml b/res/layout-land/fragment_theme_picker.xml
index f2083f3..fe660cf 100644
--- a/res/layout-land/fragment_theme_picker.xml
+++ b/res/layout-land/fragment_theme_picker.xml
@@ -31,55 +31,28 @@
             android:layout_height="match_parent"
             android:orientation="horizontal">
 
-            <com.android.wallpaper.widget.PreviewPager
-                android:id="@+id/theme_preview_pager"
+            <FrameLayout
                 android:layout_width="0dp"
                 android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:background="@color/secondary_color"/>
-            <View
-                android:layout_width="1dp"
-                android:layout_height="match_parent"
-                android:background="@color/divider_color"/>
-            <LinearLayout
-                android:id="@+id/options_section"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:paddingVertical="10dp"
-                android:orientation="vertical">
-
-                <androidx.recyclerview.widget.RecyclerView
-                    android:id="@+id/options_container"
-                    android:layout_width="match_parent"
-                    android:layout_height="0dp"
-                    android:layout_weight="1"/>
-
-                <RelativeLayout
+                android:layout_weight="1">
+                <FrameLayout
+                    android:id="@+id/preview_card_container"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:background="@null"
-                    android:paddingHorizontal="10dp">
-                    <CheckBox
-                        android:id="@+id/use_my_wallpaper"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_alignParentStart="true"
-                        android:layout_centerVertical="true"
-                        android:layout_toStartOf="@+id/apply_button"
-                        android:ellipsize="end"
-                        android:paddingLeft="4dp"
-                        android:minHeight="@dimen/min_taptarget_height"
-                        android:text="@string/keep_my_wallpaper"/>
-                    <Button
-                        android:id="@+id/apply_button"
-                        style="@style/ActionPrimaryButton"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_alignParentEnd="true"
-                        android:text="@string/apply_theme_btn"/>
-                </RelativeLayout>
-            </LinearLayout>
+                    android:paddingTop="@dimen/preview_content_padding_top"
+                    android:paddingBottom="@dimen/preview_content_padding_bottom"
+                    android:clipToPadding="false"
+                    android:background="@color/fullscreen_preview_background">
+                    <include layout="@layout/theme_preview_card"/>
+                </FrameLayout>
+            </FrameLayout>
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/options_container"
+                android:layout_width="0dp"
+                android:layout_height="match_parent"
+                android:layout_weight="1"
+                android:paddingVertical="10dp" />
         </LinearLayout>
 
         <androidx.core.widget.ContentLoadingProgressBar
diff --git a/res/layout/activity_custom_theme.xml b/res/layout/activity_custom_theme.xml
index b2aaa73..24d58b7 100644
--- a/res/layout/activity_custom_theme.xml
+++ b/res/layout/activity_custom_theme.xml
@@ -33,7 +33,8 @@
         android:id="@+id/custom_theme_nav"
         android:layout_width="match_parent"
         android:layout_height="@dimen/custom_theme_nav_height"
-        android:layout_marginHorizontal="12dp">
+        android:paddingHorizontal="12dp"
+        android:background="?android:colorPrimary">
         <Button
             android:id="@+id/previous_button"
             style="@style/ActionSecondaryButton"
diff --git a/res/layout/activity_full_preview.xml b/res/layout/activity_full_preview.xml
new file mode 100644
index 0000000..b1e0584
--- /dev/null
+++ b/res/layout/activity_full_preview.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <FrameLayout
+        android:id="@+id/preview_fragment_container"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_marginBottom="@dimen/bottom_navbar_height" />
+
+    <include layout="@layout/bottom_action_bar" />
+</FrameLayout>
diff --git a/res/layout/custom_theme_option.xml b/res/layout/custom_theme_option.xml
index c91cbf1..aff43a9 100644
--- a/res/layout/custom_theme_option.xml
+++ b/res/layout/custom_theme_option.xml
@@ -15,16 +15,23 @@
      limitations under the License.
 -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="match_parent"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingHorizontal="@dimen/option_padding_horizontal"
+    android:paddingBottom="@dimen/option_bottom_margin"
+    android:clipChildren="false"
+    android:clipToPadding="false"
     android:orientation="vertical">
 
     <TextView
         android:id="@+id/option_label"
-        android:layout_width="wrap_content"
+        android:layout_width="@dimen/option_tile_width"
         android:layout_height="wrap_content"
         android:layout_gravity="center_horizontal"
         android:layout_marginBottom="@dimen/theme_option_label_margin"
+        android:ellipsize="end"
+        android:gravity="center_horizontal"
+        android:maxLines="1"
         android:textAppearance="@style/OptionTitleTextAppearance"/>
     <FrameLayout
         android:id="@+id/option_tile"
@@ -35,8 +42,8 @@
         android:paddingVertical="@dimen/option_tile_padding_vertical"
         android:background="@drawable/option_border_custom">
         <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_width="@dimen/option_icon_size"
+            android:layout_height="@dimen/option_icon_size"
             android:layout_gravity="center"
             android:src="@drawable/ic_add_24px"
             android:tint="?android:attr/colorAccent" />
diff --git a/res/layout/fragment_clock_scalable_picker.xml b/res/layout/fragment_clock_scalable_picker.xml
deleted file mode 100644
index db31dc5..0000000
--- a/res/layout/fragment_clock_scalable_picker.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2020 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<androidx.coordinatorlayout.widget.CoordinatorLayout
-    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:background="?android:colorPrimary"
-    android:orientation="vertical">
-
-    <include layout="@layout/section_header" />
-
-    <FrameLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_behavior="@string/scalable_container_behavior">
-
-        <com.android.wallpaper.widget.PreviewPager
-            android:id="@+id/clock_preview_pager"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:background="@color/preview_pager_background" />
-    </FrameLayout>
-
-    <FrameLayout
-        android:id="@+id/scalable_content_container"
-        android:layout_width="wrap_content"
-        android:layout_height="@dimen/content_container_maximum_height"
-        app:behavior_peekHeight="@dimen/content_container_minimum_height"
-        app:layout_behavior="@string/bottom_sheet_behavior">
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/content_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent">
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/options_container"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/options_container_height"
-                android:layout_gravity="center_horizontal"
-                android:layout_marginTop="10dp"
-                app:layout_constraintBottom_toTopOf="@id/placeholder"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintVertical_bias="1.0" />
-
-            <Space
-                android:id="@+id/placeholder"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/min_taptarget_height"
-                app:layout_constraintBottom_toTopOf="@id/apply_button"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintHeight_min="@dimen/min_taptarget_height"
-                app:layout_constraintHorizontal_bias="0.0"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/options_container"
-                app:layout_constraintVertical_bias="1.0" />
-
-            <Button
-                android:id="@+id/apply_button"
-                style="@style/ActionPrimaryButton"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="end"
-                android:layout_marginVertical="10dp"
-                android:layout_marginEnd="10dp"
-                android:layout_weight="1"
-                android:text="@string/apply_theme_btn"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent" />
-        </androidx.constraintlayout.widget.ConstraintLayout>
-    </FrameLayout>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <androidx.core.widget.ContentLoadingProgressBar
-            android:id="@+id/loading_indicator"
-            style="@android:style/Widget.DeviceDefault.ProgressBar"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal|top"
-            android:layout_marginTop="200dp"
-            android:indeterminate="true" />
-
-        <FrameLayout
-            android:id="@+id/error_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:visibility="gone">
-
-            <TextView
-                android:id="@+id/error_message"
-                style="@style/TitleTextAppearance"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:gravity="center"
-                android:text="@string/something_went_wrong" />
-        </FrameLayout>
-    </FrameLayout>
-</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/res/layout/fragment_custom_theme_component.xml b/res/layout/fragment_custom_theme_component.xml
index cf80192..26feab8 100644
--- a/res/layout/fragment_custom_theme_component.xml
+++ b/res/layout/fragment_custom_theme_component.xml
@@ -33,13 +33,13 @@
             android:layout_height="0dp"
             android:background="?android:colorPrimary"
             app:layout_constrainedHeight="true"
-            app:layout_constraintBottom_toTopOf="@+id/guideline"
+            app:layout_constraintBottom_toTopOf="@+id/divider"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
-            app:layout_constraintHorizontal_bias="0.5"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.0">
+            app:layout_constraintVertical_bias="0.0"
+            app:layout_constraintHeight_percent="@dimen/preview_pager_maximum_height_ratio">
 
             <include
                 android:id="@+id/component_preview_content"
@@ -50,6 +50,7 @@
                 android:layout_marginHorizontal="@dimen/preview_page_horizontal_margin"
                 android:layout_marginTop="@dimen/preview_page_top_margin"/>
         </FrameLayout>
+
         <View
             android:id="@+id/divider"
             android:layout_width="match_parent"
@@ -57,44 +58,39 @@
             android:background="@color/divider_color"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/component_preview_container"/>
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/guideline"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            app:layout_constraintGuide_percent=".7"/>
-
-
-        <TextView
-            android:id="@+id/component_options_title"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:layout_marginStart="10dp"
-            android:layout_marginEnd="10dp"
-            android:layout_marginBottom="10dp"
-            android:textAlignment="center"
-            android:textAppearance="@style/TitleTextAppearance"
-            android:textSize="@dimen/component_options_title_size"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/component_preview_container"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintVertical_bias=".15"/>
+            app:layout_constraintBottom_toTopOf="@+id/component_scroll_view"/>
 
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/options_container"
+        <ScrollView
+            android:id="@+id/component_scroll_view"
             android:layout_width="match_parent"
-            android:layout_height="@dimen/options_container_height"
-            android:layout_gravity="center_horizontal"
-            app:layout_constraintBottom_toBottomOf="parent"
+            android:layout_height="0dp"
             app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHorizontal_bias="0.5"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/component_options_title"
-            app:layout_constraintVertical_bias=".25"/>
+            app:layout_constraintTop_toBottomOf="@+id/divider"
+            app:layout_constraintBottom_toBottomOf="parent">
 
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical">
+        
+                <TextView
+                    android:id="@+id/component_options_title"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginVertical="18dp"
+                    android:layout_marginHorizontal="16dp"
+                    android:textAlignment="center"
+                    android:textAppearance="@style/TitleTextAppearance"
+                    android:textSize="@dimen/component_options_title_size" />
+
+                <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/options_container"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal"/>
+            </LinearLayout>
+        </ScrollView>
     </androidx.constraintlayout.widget.ConstraintLayout>
 </LinearLayout>
diff --git a/res/layout/fragment_custom_theme_name.xml b/res/layout/fragment_custom_theme_name.xml
index 0a18aab..532e904 100644
--- a/res/layout/fragment_custom_theme_name.xml
+++ b/res/layout/fragment_custom_theme_name.xml
@@ -31,65 +31,57 @@
             android:id="@+id/component_preview_container"
             android:layout_width="match_parent"
             android:layout_height="0dp"
-            android:background="@color/secondary_color"
+            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/guideline"
+            app:layout_constraintBottom_toTopOf="@+id/component_scroll_view"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
-            app:layout_constraintHorizontal_bias="0.5"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_bias="0.0">
+            app:layout_constraintVertical_bias="0.0"
+            app:layout_constraintHeight_percent="@dimen/preview_pager_maximum_height_ratio">
 
-            <include
-                android:id="@+id/component_preview_content"
-                layout="@layout/theme_preview_card"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginHorizontal="@dimen/preview_page_horizontal_margin"
-                android:layout_marginTop="@dimen/preview_page_top_margin"
-                android:layout_marginBottom="@dimen/indicator_container_height"/>
+            <include layout="@layout/theme_preview_card"/>
         </FrameLayout>
 
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/guideline"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            app:layout_constraintGuide_percent=".7"/>
+        <ScrollView
+                android:id="@+id/component_scroll_view"
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@+id/component_preview_container"
+                app:layout_constraintBottom_toBottomOf="parent">
 
-        <TextView
-            android:id="@+id/component_options_title"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
-            android:layout_marginStart="10dp"
-            android:layout_marginEnd="10dp"
-            android:layout_marginBottom="10dp"
-            android:textAlignment="center"
-            android:textAppearance="@style/TitleTextAppearance"
-            android:textSize="@dimen/component_options_title_size"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/component_preview_container"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintVertical_bias=".15"/>
+            <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical">
 
-        <EditText
-            android:id="@+id/custom_theme_name"
-            style="@style/CustomThemeNameEditText"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:importantForAutofill="no"
-            android:minWidth="300dp"
-            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/component_options_title"
-            app:layout_constraintVertical_bias=".25"/>
+                <TextView
+                        android:id="@+id/component_options_title"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginVertical="18dp"
+                        android:layout_marginHorizontal="16dp"
+                        android:textAlignment="center"
+                        android:textAppearance="@style/TitleTextAppearance"
+                        android:textSize="@dimen/component_options_title_size"/>
 
-
+                <EditText
+                        android:id="@+id/custom_theme_name"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginVertical="16dp"
+                        android:layout_marginHorizontal="16dp"
+                        android:layout_gravity="center|top"
+                        android:importantForAutofill="no"
+                        android:minWidth="300dp"
+                        style="@style/CustomThemeNameEditText"/>
+            </LinearLayout>
+        </ScrollView>
     </androidx.constraintlayout.widget.ConstraintLayout>
-
 </LinearLayout>
diff --git a/res/layout/fragment_grid_full_preview.xml b/res/layout/fragment_grid_full_preview.xml
new file mode 100644
index 0000000..d39be36
--- /dev/null
+++ b/res/layout/fragment_grid_full_preview.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <include layout="@layout/section_header"/>
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:paddingTop="@dimen/full_preview_page_default_padding_top"
+        android:paddingBottom="@dimen/full_preview_page_default_padding_bottom"
+        android:clipToPadding="false"
+        android:background="@color/fullscreen_preview_background">
+
+        <include layout="@layout/grid_preview_card"/>
+    </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/fragment_grid_picker.xml b/res/layout/fragment_grid_picker.xml
index f664568..84c8163 100644
--- a/res/layout/fragment_grid_picker.xml
+++ b/res/layout/fragment_grid_picker.xml
@@ -32,56 +32,49 @@
             android:layout_width="match_parent"
             android:layout_height="match_parent">
 
-            <com.android.wallpaper.widget.PreviewPager
-                android:id="@+id/grid_preview_pager"
+            <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:background="@color/preview_pager_background"
-                app:card_style="screen_aspect_ratio"
-                app:layout_constrainedHeight="true"
-                app:layout_constraintBottom_toTopOf="@id/options_container"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
-                app:layout_constraintHeight_min="@dimen/preview_pager_min_height"
-                app:layout_constraintVertical_bias="0.0"
+                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"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintVertical_chainStyle="spread_inside"/>
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/preview_card_container"
+                app:layout_constraintBottom_toTopOf="@id/options_container" />
 
             <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/options_container"
                 android:layout_width="match_parent"
-                android:layout_height="@dimen/options_container_height"
-                android:layout_gravity="center_horizontal"
-                android:layout_marginTop="10dp"
-                app:layout_constraintBottom_toTopOf="@id/placeholder"
+                android:layout_height="0dp"
+                app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/grid_preview_pager"
-                app:layout_constraintVertical_bias="1.0"/>
-
-            <Space
-                android:id="@+id/placeholder"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/min_taptarget_height"
-                app:layout_constraintBottom_toTopOf="@id/apply_button"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/options_container"
-                app:layout_constraintVertical_bias="1.0"/>
-
-            <Button
-                android:id="@+id/apply_button"
-                style="@style/ActionPrimaryButton"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="end"
-                android:layout_marginEnd="10dp"
-                android:layout_marginVertical="10dp"
-                android:layout_weight="1"
-                android:text="@string/apply_theme_btn"
+                app:layout_constraintTop_toBottomOf="@id/options_title"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"/>
-
+                app:layout_constraintVertical_bias="1.0" />
         </androidx.constraintlayout.widget.ConstraintLayout>
 
         <androidx.core.widget.ContentLoadingProgressBar
diff --git a/res/layout/fragment_grid_scalable_picker.xml b/res/layout/fragment_grid_scalable_picker.xml
deleted file mode 100644
index de44923..0000000
--- a/res/layout/fragment_grid_scalable_picker.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2020 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<androidx.coordinatorlayout.widget.CoordinatorLayout
-    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:background="?android:colorPrimary"
-    android:orientation="vertical">
-
-    <include layout="@layout/section_header" />
-
-    <FrameLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_behavior="@string/scalable_container_behavior">
-
-        <com.android.wallpaper.widget.PreviewPager
-            android:id="@+id/grid_preview_pager"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:background="@color/preview_pager_background"
-            app:card_style="screen_aspect_ratio" />
-    </FrameLayout>
-
-    <FrameLayout
-        android:id="@+id/scalable_content_container"
-        android:layout_width="wrap_content"
-        android:layout_height="@dimen/content_container_maximum_height"
-        app:behavior_peekHeight="@dimen/content_container_minimum_height"
-        app:layout_behavior="@string/bottom_sheet_behavior">
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/content_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent">
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/options_container"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/options_container_height"
-                android:layout_gravity="center_horizontal"
-                android:layout_marginTop="10dp"
-                app:layout_constraintBottom_toTopOf="@id/placeholder"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintVertical_bias="1.0" />
-
-            <Space
-                android:id="@+id/placeholder"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/min_taptarget_height"
-                app:layout_constraintBottom_toTopOf="@id/apply_button"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/options_container"
-                app:layout_constraintVertical_bias="1.0" />
-
-            <Button
-                android:id="@+id/apply_button"
-                style="@style/ActionPrimaryButton"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="end"
-                android:layout_marginVertical="10dp"
-                android:layout_marginEnd="10dp"
-                android:layout_weight="1"
-                android:text="@string/apply_theme_btn"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent" />
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-    </FrameLayout>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <androidx.core.widget.ContentLoadingProgressBar
-            android:id="@+id/loading_indicator"
-            style="@android:style/Widget.DeviceDefault.ProgressBar"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal|top"
-            android:layout_marginTop="200dp"
-            android:indeterminate="true" />
-
-        <FrameLayout
-            android:id="@+id/error_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:visibility="gone">
-
-            <TextView
-                android:id="@+id/error_message"
-                style="@style/TitleTextAppearance"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:gravity="center"
-                android:text="@string/something_went_wrong" />
-        </FrameLayout>
-    </FrameLayout>
-</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/res/layout/fragment_theme_full_preview.xml b/res/layout/fragment_theme_full_preview.xml
new file mode 100644
index 0000000..008a795
--- /dev/null
+++ b/res/layout/fragment_theme_full_preview.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <include layout="@layout/section_header"/>
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:paddingTop="@dimen/full_preview_page_default_padding_top"
+        android:paddingBottom="@dimen/full_preview_page_default_padding_bottom"
+        android:clipToPadding="false"
+        android:background="@color/fullscreen_preview_background">
+
+        <include layout="@layout/theme_preview_card"/>
+    </FrameLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/fragment_theme_picker.xml b/res/layout/fragment_theme_picker.xml
index 1de5a3c..2e3a6bb 100644
--- a/res/layout/fragment_theme_picker.xml
+++ b/res/layout/fragment_theme_picker.xml
@@ -14,8 +14,7 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
@@ -31,62 +30,36 @@
             android:id="@+id/content_section"
             android:layout_width="match_parent"
             android:layout_height="match_parent">
-
-            <com.android.wallpaper.widget.PreviewPager
-                android:id="@+id/theme_preview_pager"
+            <FrameLayout
+                android:id="@+id/preview_card_container"
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
+                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_constraintBottom_toTopOf="@id/options_container"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
                 app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintTop_toTopOf="parent"
+                app:layout_constraintBottom_toTopOf="@id/options_container"
+                app:layout_constraintHeight_max="@dimen/preview_pager_max_height"
                 app:layout_constraintVertical_bias="0.0"
-                app:layout_constraintVertical_chainStyle="spread_inside"/>
+                app:layout_constraintHeight_percent="@dimen/preview_pager_maximum_height_ratio">
+                <include layout="@layout/theme_preview_card"/>
+            </FrameLayout>
 
             <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/options_container"
                 android:layout_width="match_parent"
-                android:layout_height="@dimen/options_container_height"
+                android:layout_height="0dp"
                 android:layout_gravity="bottom|center_horizontal"
                 android:layout_marginTop="10dp"
-                android:layout_weight="1"
-                app:layout_constraintBottom_toTopOf="@id/use_my_wallpaper"
-                app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/theme_preview_pager"
-                app:layout_constraintVertical_bias="1.0"/>
-
-            <CheckBox
-                android:id="@+id/use_my_wallpaper"
-                android:layout_width="wrap_content"
-                android:layout_height="@dimen/min_taptarget_height"
-                android:layout_marginStart="10dp"
-                android:ellipsize="end"
-                android:gravity="start|center_vertical"
-                android:paddingLeft="4dp"
-                android:text="@string/keep_my_wallpaper"
-                app:layout_constraintBottom_toTopOf="@id/apply_button"
                 app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintHeight_min="@dimen/min_taptarget_height"
-                app:layout_constraintHorizontal_bias="0.0"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/options_container"
-                app:layout_constraintVertical_bias="1.0"/>
-
-            <Button
-                android:id="@+id/apply_button"
-                style="@style/ActionPrimaryButton"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="end"
-                android:layout_marginEnd="10dp"
-                android:layout_marginBottom="10dp"
-                android:text="@string/apply_theme_btn"
+                app:layout_constraintTop_toBottomOf="@+id/preview_card_container"
                 app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"/>
+                app:layout_constraintVertical_bias="1.0"/>
         </androidx.constraintlayout.widget.ConstraintLayout>
 
         <androidx.core.widget.ContentLoadingProgressBar
diff --git a/res/layout/fragment_theme_scalable_picker.xml b/res/layout/fragment_theme_scalable_picker.xml
deleted file mode 100644
index e03df3e..0000000
--- a/res/layout/fragment_theme_scalable_picker.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2020 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<androidx.coordinatorlayout.widget.CoordinatorLayout
-    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:background="?android:colorPrimary"
-    android:orientation="vertical">
-
-    <include layout="@layout/section_header" />
-
-    <FrameLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_behavior="@string/scalable_container_behavior">
-
-        <com.android.wallpaper.widget.PreviewPager
-            android:id="@+id/theme_preview_pager"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:background="@color/preview_pager_background" />
-    </FrameLayout>
-
-    <FrameLayout
-        android:id="@+id/scalable_content_container"
-        android:layout_width="wrap_content"
-        android:layout_height="@dimen/content_container_maximum_height"
-        app:behavior_peekHeight="@dimen/content_container_minimum_height"
-        app:layout_behavior="@string/bottom_sheet_behavior">
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/content_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent">
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/options_container"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/options_container_height"
-                android:layout_gravity="bottom|center_horizontal"
-                android:layout_marginTop="10dp"
-                android:layout_weight="1"
-                app:layout_constraintBottom_toTopOf="@id/use_my_wallpaper"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintVertical_bias="1.0" />
-
-            <CheckBox
-                android:id="@+id/use_my_wallpaper"
-                android:layout_width="wrap_content"
-                android:layout_height="@dimen/min_taptarget_height"
-                android:layout_marginStart="10dp"
-                android:ellipsize="end"
-                android:gravity="start|center_vertical"
-                android:paddingLeft="4dp"
-                android:text="@string/keep_my_wallpaper"
-                app:layout_constraintBottom_toTopOf="@id/apply_button"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintHeight_min="@dimen/min_taptarget_height"
-                app:layout_constraintHorizontal_bias="0.0"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/options_container"
-                app:layout_constraintVertical_bias="1.0" />
-
-            <Button
-                android:id="@+id/apply_button"
-                style="@style/ActionPrimaryButton"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="end"
-                android:layout_marginEnd="10dp"
-                android:layout_marginBottom="10dp"
-                android:text="@string/apply_theme_btn"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent" />
-        </androidx.constraintlayout.widget.ConstraintLayout>
-    </FrameLayout>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <androidx.core.widget.ContentLoadingProgressBar
-            android:id="@+id/loading_indicator"
-            style="@android:style/Widget.DeviceDefault.ProgressBar"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal|top"
-            android:layout_marginTop="200dp"
-            android:indeterminate="true" />
-
-        <FrameLayout
-            android:id="@+id/error_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:visibility="gone">
-
-            <TextView
-                android:id="@+id/error_message"
-                style="@style/TitleTextAppearance"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:gravity="center"
-                android:text="@string/something_went_wrong" />
-        </FrameLayout>
-    </FrameLayout>
-</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/res/layout/grid_option.xml b/res/layout/grid_option.xml
index 286c60b..d06ff60 100644
--- a/res/layout/grid_option.xml
+++ b/res/layout/grid_option.xml
@@ -15,9 +15,9 @@
      limitations under the License.
 -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:paddingRight="2dp"
+    android:paddingHorizontal="@dimen/option_padding_horizontal"
     android:paddingBottom="@dimen/option_bottom_margin"
     android:clipChildren="false"
     android:clipToPadding="false"
diff --git a/res/layout/grid_preview_card.xml b/res/layout/grid_preview_card.xml
index 90b5578..e824460 100644
--- a/res/layout/grid_preview_card.xml
+++ b/res/layout/grid_preview_card.xml
@@ -17,19 +17,26 @@
 <androidx.cardview.widget.CardView
     xmlns:android="http://schemas.android.com/apk/res/android"
     style="@style/FullContentPreviewCard"
+    android:id="@+id/grid_preview_card"
+    android:contentDescription="@string/grid_preview_card_content_description"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:layout_gravity="center">
 
     <ImageView
-        android:id="@+id/grid_preview_image"
+        android:id="@+id/wallpaper_preview_image"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:background="@color/primary_color" />
 
     <SurfaceView
-        android:id="@+id/grid_preview_surface"
+        android:id="@+id/wallpaper_preview_surface"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+    <FrameLayout
+        android:id="@+id/grid_preview_container"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/primary_color" />
-
+        android:importantForAccessibility="noHideDescendants" />
 </androidx.cardview.widget.CardView>
\ No newline at end of file
diff --git a/res/layout/preview_card_cover_content.xml b/res/layout/preview_card_cover_content.xml
deleted file mode 100644
index 3ab13a4..0000000
--- a/res/layout/preview_card_cover_content.xml
+++ /dev/null
@@ -1,117 +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.
--->
-<RelativeLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:layout_gravity="center"
-    android:layout_marginHorizontal="@dimen/preview_theme_cover_content_extra_margin"
-    android:gravity="center_horizontal"
-    android:clipChildren="false"
-    tools:showIn="@layout/theme_preview_card">
-    <FrameLayout
-        android:layout_width="@dimen/preview_theme_icon_size"
-        android:layout_height="@dimen/preview_theme_icon_size"
-        android:layout_marginLeft="6dp"
-        android:layout_alignParentLeft="true"
-        android:layout_alignParentTop="true">
-        <ImageView
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:id="@+id/preview_color_qs_0_bg"/>
-        <ImageView
-            android:layout_width="@dimen/preview_theme_tile_size"
-            android:layout_height="@dimen/preview_theme_tile_size"
-            android:id="@+id/preview_color_qs_0_icon"
-            android:tint="@color/tile_enabled_icon_color"
-            android:layout_gravity="center"/>
-    </FrameLayout>
-    <FrameLayout
-        android:layout_width="@dimen/preview_theme_icon_size"
-        android:layout_height="@dimen/preview_theme_icon_size"
-        android:layout_alignParentTop="true"
-        android:layout_centerHorizontal="true"
-        android:layout_gravity="center_horizontal">
-        <ImageView
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:layout_gravity="center"
-            android:id="@+id/preview_color_qs_1_bg"/>
-        <ImageView
-            android:layout_width="@dimen/preview_theme_tile_size"
-            android:layout_height="@dimen/preview_theme_tile_size"
-            android:id="@+id/preview_color_qs_1_icon"
-            android:tint="@color/tile_enabled_icon_color"
-            android:layout_gravity="center"/>
-    </FrameLayout>
-    <FrameLayout
-        android:layout_width="@dimen/preview_theme_icon_size"
-        android:layout_height="@dimen/preview_theme_icon_size"
-        android:layout_marginRight="6dp"
-        android:layout_alignParentRight="true"
-        android:layout_alignParentTop="true">
-        <ImageView
-            android:layout_width="@dimen/preview_theme_icon_size"
-            android:layout_height="@dimen/preview_theme_icon_size"
-            android:id="@+id/preview_color_qs_2_bg"/>
-        <ImageView
-            android:layout_width="@dimen/preview_theme_tile_size"
-            android:layout_height="@dimen/preview_theme_tile_size"
-            android:id="@+id/preview_color_qs_2_icon"
-            android:tint="@color/tile_enabled_icon_color"
-            android:layout_gravity="center"/>
-    </FrameLayout>
-
-    <ImageView
-        android:id="@+id/shape_preview_icon_0"
-        android:layout_width="@dimen/preview_theme_shape_size"
-        android:layout_height="@dimen/preview_theme_shape_size"
-        android:layout_marginVertical="4dp"
-        android:layout_alignParentLeft="true"
-        android:layout_centerVertical="true"
-        android:elevation="4dp"/>
-    <FrameLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_centerVertical="true"
-        android:layout_centerHorizontal="true">
-        <ImageView
-            android:id="@+id/shape_preview_icon_1"
-            android:layout_width="@dimen/preview_theme_shape_size"
-            android:layout_height="@dimen/preview_theme_shape_size"
-            android:layout_gravity="center_horizontal"
-            android:layout_marginVertical="4dp"
-            android:elevation="4dp"/>
-    </FrameLayout>
-    <ImageView
-        android:id="@+id/shape_preview_icon_2"
-        android:layout_width="@dimen/preview_theme_shape_size"
-        android:layout_height="@dimen/preview_theme_shape_size"
-        android:layout_marginVertical="4dp"
-        android:layout_marginRight="2dp"
-        android:layout_alignParentRight="true"
-        android:layout_centerVertical="true"
-        android:elevation="4dp"/>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true">
-        <include layout="@layout/theme_cover_qsb"/>
-    </FrameLayout>
-</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/preview_card_wallpaper_content.xml b/res/layout/preview_card_wallpaper_content.xml
deleted file mode 100644
index 0b43c2f..0000000
--- a/res/layout/preview_card_wallpaper_content.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/preview_static_image"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:layout_gravity="bottom"
-    tools:showIn="@layout/theme_preview_card">
-    <TextView
-        style="@style/CardTitleTextAppearance"
-        android:id="@+id/wallpaper_description"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center_horizontal|bottom"/>
-</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/theme_color_option.xml b/res/layout/theme_color_option.xml
index 33e4668..8d55626 100644
--- a/res/layout/theme_color_option.xml
+++ b/res/layout/theme_color_option.xml
@@ -15,15 +15,16 @@
      limitations under the License.
 -->
 <FrameLayout 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:layout_gravity="center"
-    android:padding="8dp">
+    android:layout_marginTop="28dp"
+    android:layout_marginHorizontal="@dimen/component_options_margin_horizontal">
 
     <ImageView
         android:id="@+id/option_tile"
         android:layout_width="@dimen/component_color_chip_container_size"
         android:layout_height="@dimen/component_color_chip_container_size"
         android:layout_gravity="center"
-        android:src="@drawable/color_chip"/>
+        android:scaleType="center"/>
 </FrameLayout>
diff --git a/res/layout/theme_component_preview.xml b/res/layout/theme_component_preview.xml
index 43b8bf1..bf3255d 100644
--- a/res/layout/theme_component_preview.xml
+++ b/res/layout/theme_component_preview.xml
@@ -48,6 +48,7 @@
             android:layout_gravity="center_horizontal"
             android:drawablePadding="@dimen/theme_preview_header_drawable_padding"
             android:textAppearance="@style/CardTitleTextAppearance"
+            android:importantForAccessibility="no"
             app:layout_constraintBottom_toTopOf="@id/theme_preview_card_body_container"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_bias="0.5"
@@ -64,6 +65,7 @@
             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"
diff --git a/res/layout/theme_font_option.xml b/res/layout/theme_font_option.xml
index 48dcaa2..dea4f78 100644
--- a/res/layout/theme_font_option.xml
+++ b/res/layout/theme_font_option.xml
@@ -19,13 +19,6 @@
               android:layout_height="wrap_content"
               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"
@@ -33,6 +26,7 @@
         android:layout_gravity="center_horizontal"
         android:paddingHorizontal="@dimen/option_tile_padding_horizontal"
         android:paddingVertical="@dimen/option_tile_padding_vertical"
+        android:layout_marginHorizontal="@dimen/component_options_margin_horizontal"
         android:background="@drawable/option_border">
         <TextView
             android:id="@+id/thumbnail_text"
diff --git a/res/layout/theme_icon_option.xml b/res/layout/theme_icon_option.xml
index 62925ad..292b8cd 100644
--- a/res/layout/theme_icon_option.xml
+++ b/res/layout/theme_icon_option.xml
@@ -16,16 +16,9 @@
 -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
               android:layout_width="wrap_content"
-              android:layout_height="match_parent"
+              android:layout_height="wrap_content"
               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"
@@ -33,6 +26,7 @@
         android:layout_gravity="center_horizontal"
         android:paddingHorizontal="@dimen/option_tile_padding_horizontal"
         android:paddingVertical="@dimen/option_tile_padding_vertical"
+        android:layout_marginHorizontal="@dimen/component_options_margin_horizontal"
         android:background="@drawable/option_border">
         <ImageView
             android:id="@+id/option_icon"
diff --git a/res/layout/theme_info_view.xml b/res/layout/theme_info_view.xml
new file mode 100644
index 0000000..f228668
--- /dev/null
+++ b/res/layout/theme_info_view.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<com.android.customization.widget.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:theme="@style/WallpaperPicker.BottomPaneStyle">
+
+    <TextView
+        android:id="@+id/style_info_title"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="@dimen/theme_info_margin"
+        android:gravity="center"
+        android:lineHeight="24dp"
+        android:textAppearance="@style/SubtitleTextAppearance"
+        android:textColor="@color/action_bar_bottom_sheet_text_color"
+        android:textSize="16sp"
+        android:text="@string/style_info_description"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:gravity="center">
+
+        <TextView
+            android:id="@+id/font_preview"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginHorizontal="@dimen/theme_info_margin"
+            android:importantForAccessibility="no"
+            android:textSize="@dimen/theme_info_text_size"
+            android:textColor="?android:attr/colorForeground"
+            android:text="@string/font_component_option_thumbnail"/>
+
+        <ImageView
+            android:id="@+id/qs_preview_icon"
+            android:layout_width="@dimen/theme_info_icon_size"
+            android:layout_height="@dimen/theme_info_icon_size"
+            android:layout_marginHorizontal="@dimen/theme_info_margin"
+            android:tint="@color/theme_preview_icon_color"/>
+
+        <ImageView
+            android:id="@+id/app_preview_icon"
+            android:layout_width="@dimen/theme_info_icon_size"
+            android:layout_height="@dimen/theme_info_icon_size"
+            android:layout_marginHorizontal="@dimen/theme_info_margin"
+            android:layout_marginVertical="@dimen/theme_info_app_preview_icon_margin"
+            android:elevation="@dimen/theme_info_app_preview_icon_elevation"/>
+
+        <ImageView
+            android:id="@+id/shape_preview_icon"
+            android:layout_width="@dimen/theme_info_icon_size"
+            android:layout_height="@dimen/theme_info_icon_size"
+            android:layout_marginHorizontal="@dimen/theme_info_margin"/>
+    </LinearLayout>
+</com.android.customization.widget.ThemeInfoView>
\ No newline at end of file
diff --git a/res/layout/theme_option.xml b/res/layout/theme_option.xml
index 98fae71..bdf82d0 100644
--- a/res/layout/theme_option.xml
+++ b/res/layout/theme_option.xml
@@ -15,9 +15,9 @@
      limitations under the License.
 -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:paddingRight="2dp"
+    android:paddingHorizontal="@dimen/option_padding_horizontal"
     android:paddingBottom="@dimen/option_bottom_margin"
     android:clipChildren="false"
     android:clipToPadding="false"
@@ -46,22 +46,22 @@
             android:layout_width="@dimen/theme_option_icon_sample_width"
             android:layout_height="@dimen/theme_option_icon_sample_height"
             android:layout_alignParentTop="true"
-            android:layout_alignParentLeft="true"
-            android:layout_margin="@dimen/theme_option_sample_padding"
+            android:layout_alignParentStart="true"
             android:tint="?android:colorForeground"/>
         <ImageView
             android:id="@+id/theme_option_shape"
             android:layout_width="@dimen/theme_option_shape_sample_width"
             android:layout_height="@dimen/theme_option_shape_sample_height"
-            android:layout_alignParentRight="true"
             android:layout_alignBottom="@+id/theme_option_icon"
-            android:layout_marginHorizontal="@dimen/theme_option_sample_padding"/>
+            android:layout_toEndOf="@id/theme_option_icon"
+            android:layout_marginStart="@dimen/theme_option_sample_margin"/>
         <TextView
             android:id="@+id/theme_option_font"
             android:layout_width="@dimen/theme_option_font_sample_width"
             android:layout_height="@dimen/theme_option_font_sample_height"
-            android:layout_alignParentBottom="true"
-            android:layout_gravity="center_horizontal"
+            android:layout_gravity="center"
+            android:layout_below="@id/theme_option_icon"
+            android:layout_marginTop="@dimen/option_bottom_margin"
             android:autoSizeMaxTextSize="@dimen/theme_option_font_text_size"
             android:autoSizeMinTextSize="@dimen/theme_option_font_min_text_size"
             android:autoSizeTextType="uniform"
diff --git a/res/layout/theme_preview_app_icon_shape.xml b/res/layout/theme_preview_app_icon_shape.xml
new file mode 100644
index 0000000..fe95f90
--- /dev/null
+++ b/res/layout/theme_preview_app_icon_shape.xml
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<androidx.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/app_row_0"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toTopOf="@id/app_row_1">
+
+        <LinearLayout
+            android:id="@+id/app_item_0"
+            android:layout_width="@dimen/preview_theme_app_icon_size"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:orientation="vertical"
+            android:clipChildren="false"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/app_item_1"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent">
+            <ImageView
+                android:id="@+id/shape_preview_icon_0"
+                android:layout_width="@dimen/preview_theme_app_icon_size"
+                android:layout_height="@dimen/preview_theme_app_icon_size"
+                android:elevation="4dp"/>
+            <TextView
+                android:id="@+id/shape_preview_icon_app_name_0"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/preview_theme_app_icon_shape_text_margin_top"
+                android:textSize="@dimen/preview_theme_app_icon_shape_text_size"
+                android:lineHeight="20dp"
+                android:singleLine="true"/>
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/app_item_1"
+            android:layout_width="@dimen/preview_theme_app_icon_size"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:orientation="vertical"
+            android:clipChildren="false"
+            app:layout_constraintStart_toEndOf="@id/app_item_0"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent">
+            <ImageView
+                android:id="@+id/shape_preview_icon_1"
+                android:layout_width="@dimen/preview_theme_app_icon_size"
+                android:layout_height="@dimen/preview_theme_app_icon_size"
+                android:elevation="4dp"/>
+            <TextView
+                android:id="@+id/shape_preview_icon_app_name_1"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/preview_theme_app_icon_shape_text_margin_top"
+                android:textSize="@dimen/preview_theme_app_icon_shape_text_size"
+                android:lineHeight="20dp"
+                android:singleLine="true"/>
+        </LinearLayout>
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/app_row_1"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/app_row_0"
+        app:layout_constraintBottom_toBottomOf="parent">
+        <LinearLayout
+            android:id="@+id/app_item_2"
+            android:layout_width="@dimen/preview_theme_app_icon_size"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:orientation="vertical"
+            android:clipChildren="false"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toStartOf="@id/app_item_3"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent">
+            <ImageView
+                android:id="@+id/shape_preview_icon_2"
+                android:layout_width="@dimen/preview_theme_app_icon_size"
+                android:layout_height="@dimen/preview_theme_app_icon_size"
+                android:elevation="4dp"/>
+            <TextView
+                android:id="@+id/shape_preview_icon_app_name_2"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/preview_theme_app_icon_shape_text_margin_top"
+                android:textSize="@dimen/preview_theme_app_icon_shape_text_size"
+                android:lineHeight="20dp"
+                android:singleLine="true"/>
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/app_item_3"
+            android:layout_width="@dimen/preview_theme_app_icon_size"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:orientation="vertical"
+            android:clipChildren="false"
+            app:layout_constraintStart_toEndOf="@id/app_item_2"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent">
+            <ImageView
+                android:id="@+id/shape_preview_icon_3"
+                android:layout_width="@dimen/preview_theme_app_icon_size"
+                android:layout_height="@dimen/preview_theme_app_icon_size"
+                android:elevation="4dp"/>
+            <TextView
+                android:id="@+id/shape_preview_icon_app_name_3"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/preview_theme_app_icon_shape_text_margin_top"
+                android:textSize="@dimen/preview_theme_app_icon_shape_text_size"
+                android:lineHeight="20dp"
+                android:singleLine="true"/>
+        </LinearLayout>
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/theme_preview_card.xml b/res/layout/theme_preview_card.xml
index f80e846..e1e3491 100644
--- a/res/layout/theme_preview_card.xml
+++ b/res/layout/theme_preview_card.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-     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.
@@ -16,12 +16,27 @@
 -->
 <androidx.cardview.widget.CardView
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    style="@style/PreviewCard"
+    style="@style/FullContentPreviewCard"
+    android:id="@+id/theme_preview_card"
+    android:contentDescription="@string/theme_preview_card_content_description"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    app:contentPadding="0dp">
+    android:layout_gravity="center">
 
-    <include layout="@layout/theme_component_preview"/>
+    <ImageView
+        android:id="@+id/wallpaper_preview_image"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/primary_color" />
+
+    <SurfaceView
+        android:id="@+id/wallpaper_preview_surface"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+    <FrameLayout
+        android:id="@+id/theme_preview_container"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:importantForAccessibility="noHideDescendants" />
 </androidx.cardview.widget.CardView>
\ No newline at end of file
diff --git a/res/layout/theme_preview_color_icons.xml b/res/layout/theme_preview_color_icons.xml
new file mode 100644
index 0000000..c8afb99
--- /dev/null
+++ b/res/layout/theme_preview_color_icons.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<androidx.cardview.widget.CardView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/color_icons_section"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:paddingHorizontal="@dimen/preview_theme_color_icons_padding_horizontal"
+        android:paddingTop="@dimen/preview_theme_color_icons_padding_top"
+        android:paddingBottom="@dimen/preview_theme_color_icons_padding_bottom"
+        android:orientation="vertical"
+        android:background="@color/theme_preview_color_icons_background">
+
+        <!-- Title -->
+        <TextView
+            android:id="@+id/color_icons_section_title"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="@string/theme_preview_icons_section_title"
+            android:textSize="@dimen/preview_theme_color_icons_title_text_size"
+            android:textColor="@color/theme_preview_color_icons_title_color"
+            android:lineHeight="16dp"
+            android:gravity="center"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toTopOf="@id/qs_icons"
+            app:layout_constraintVertical_bias="0.0"
+            app:layout_constraintVertical_chainStyle="spread_inside" />
+
+        <!-- QS icons -->
+        <LinearLayout
+            android:id="@+id/qs_icons"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/color_icons_section_title"
+            app:layout_constraintBottom_toTopOf="@id/button_icons">
+            <FrameLayout
+                android:layout_width="@dimen/preview_theme_color_icons_icon_size"
+                android:layout_height="@dimen/preview_theme_color_icons_icon_size">
+                <ImageView
+                    android:id="@+id/preview_color_qs_0_bg"
+                    android:layout_width="@dimen/preview_theme_color_icons_icon_size"
+                    android:layout_height="@dimen/preview_theme_color_icons_icon_size"/>
+                <ImageView
+                    android:id="@+id/preview_color_qs_0_icon"
+                    android:layout_width="@dimen/preview_theme_color_icons_tile_size"
+                    android:layout_height="@dimen/preview_theme_color_icons_tile_size"
+                    android:tint="@color/tile_enabled_icon_color"
+                    android:layout_gravity="center"/>
+            </FrameLayout>
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"/>
+            <FrameLayout
+                android:layout_width="@dimen/preview_theme_color_icons_icon_size"
+                android:layout_height="@dimen/preview_theme_color_icons_icon_size"
+                android:layout_gravity="center_horizontal">
+                <ImageView
+                    android:id="@+id/preview_color_qs_1_bg"
+                    android:layout_width="@dimen/preview_theme_color_icons_icon_size"
+                    android:layout_height="@dimen/preview_theme_color_icons_icon_size"/>
+                <ImageView
+                    android:id="@+id/preview_color_qs_1_icon"
+                    android:layout_width="@dimen/preview_theme_color_icons_tile_size"
+                    android:layout_height="@dimen/preview_theme_color_icons_tile_size"
+                    android:tint="@color/tile_enabled_icon_color"
+                    android:layout_gravity="center"/>
+            </FrameLayout>
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"/>
+            <FrameLayout
+                android:layout_width="@dimen/preview_theme_color_icons_icon_size"
+                android:layout_height="@dimen/preview_theme_color_icons_icon_size">
+                <ImageView
+                    android:id="@+id/preview_color_qs_2_bg"
+                    android:layout_width="@dimen/preview_theme_color_icons_icon_size"
+                    android:layout_height="@dimen/preview_theme_color_icons_icon_size"/>
+                <ImageView
+                    android:id="@+id/preview_color_qs_2_icon"
+                    android:layout_width="@dimen/preview_theme_color_icons_tile_size"
+                    android:layout_height="@dimen/preview_theme_color_icons_tile_size"
+                    android:tint="@color/tile_enabled_icon_color"
+                    android:layout_gravity="center"/>
+            </FrameLayout>
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"/>
+            <FrameLayout
+                android:layout_width="@dimen/preview_theme_color_icons_icon_size"
+                android:layout_height="@dimen/preview_theme_color_icons_icon_size">
+                <ImageView
+                    android:id="@+id/preview_color_qs_3_bg"
+                    android:layout_width="@dimen/preview_theme_color_icons_icon_size"
+                    android:layout_height="@dimen/preview_theme_color_icons_icon_size"/>
+                <ImageView
+                    android:id="@+id/preview_color_qs_3_icon"
+                    android:layout_width="@dimen/preview_theme_color_icons_tile_size"
+                    android:layout_height="@dimen/preview_theme_color_icons_tile_size"
+                    android:tint="@color/tile_enabled_icon_color"
+                    android:layout_gravity="center"/>
+            </FrameLayout>
+        </LinearLayout>
+
+        <!-- Icons of CheckBox/RadioButton/Switch. -->
+        <RelativeLayout
+            android:id="@+id/button_icons"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/qs_icons"
+            app:layout_constraintBottom_toBottomOf="parent">
+            <FrameLayout
+                android:layout_width="@dimen/preview_theme_icon_size"
+                android:layout_height="@dimen/preview_theme_icon_size"
+                android:layout_alignParentStart="true">
+                <CheckBox
+                    android:id="@+id/preview_check_selected"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:checked="true"
+                    android:enabled="false"/>
+            </FrameLayout>
+
+            <FrameLayout
+                android:layout_width="@dimen/preview_theme_icon_size"
+                android:layout_height="@dimen/preview_theme_icon_size"
+                android:layout_centerHorizontal="true">
+                <RadioButton
+                    android:id="@+id/preview_radio_selected"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:checked="true"
+                    android:enabled="false"/>
+            </FrameLayout>
+
+            <FrameLayout
+                android:layout_width="wrap_content"
+                android:layout_height="@dimen/preview_theme_icon_size"
+                android:layout_alignParentEnd="true">
+                <Switch
+                    android:id="@+id/preview_toggle_selected"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:checked="true"
+                    android:enabled="false"/>
+            </FrameLayout>
+        </RelativeLayout>
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</androidx.cardview.widget.CardView>
diff --git a/res/layout/theme_preview_content.xml b/res/layout/theme_preview_content.xml
new file mode 100644
index 0000000..4b29617
--- /dev/null
+++ b/res/layout/theme_preview_content.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<androidx.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:paddingTop="@dimen/preview_theme_content_padding_top"
+    android:paddingBottom="@dimen/preview_theme_content_padding_bottom"
+    android:clipToPadding="false"
+    android:clipChildren="false">
+
+    <FrameLayout
+        android:id="@+id/topbar_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="@dimen/preview_theme_topbar_container_margin_horizontal"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toTopOf="@id/smart_space_date"
+        app:layout_constraintVertical_bias="0.0"
+        app:layout_constraintVertical_chainStyle="spread_inside">
+        <include layout="@layout/theme_preview_topbar" />
+    </FrameLayout>
+
+    <TextView
+        android:id="@+id/smart_space_date"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:textSize="@dimen/preview_theme_smart_space_date_size"
+        android:singleLine="true"
+        android:gravity="center|bottom"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/topbar_container"
+        app:layout_constraintBottom_toTopOf="@id/app_icon_shape_container"
+        app:layout_constraintHeight_percent="0.1" />
+
+    <FrameLayout
+        android:id="@+id/app_icon_shape_container"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/smart_space_date"
+        app:layout_constraintBottom_toTopOf="@id/color_icons_container"
+        app:layout_constraintHeight_percent="0.49">
+        <include layout="@layout/theme_preview_app_icon_shape" />
+    </FrameLayout>
+
+    <FrameLayout
+        android:id="@+id/color_icons_container"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_marginHorizontal="@dimen/preview_theme_color_icons_container_margin_horizontal"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/app_icon_shape_container"
+        app:layout_constraintBottom_toTopOf="@id/theme_qsb_container"
+        app:layout_constraintHeight_percent="0.275">
+        <include layout="@layout/theme_preview_color_icons" />
+    </FrameLayout>
+
+    <FrameLayout
+        android:id="@+id/theme_qsb_container"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_marginHorizontal="@dimen/preview_theme_qsb_container_margin_horizontal"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/color_icons_container"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintHeight_percent="0.1">
+        <include layout="@layout/theme_cover_qsb" />
+    </FrameLayout>
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/res/layout/theme_shape_option.xml b/res/layout/theme_shape_option.xml
index 94e31ea..c5682c0 100644
--- a/res/layout/theme_shape_option.xml
+++ b/res/layout/theme_shape_option.xml
@@ -16,15 +16,14 @@
 -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
               android:layout_width="wrap_content"
-              android:layout_height="match_parent"
+              android:layout_height="wrap_content"
               android:orientation="vertical">
     <FrameLayout
         android:id="@+id/option_tile"
         android:layout_width="@dimen/option_tile_width"
         android:layout_height="@dimen/option_tile_width"
         android:layout_gravity="center"
-        android:layout_marginTop="16dp"
-        android:padding="2dp">
+        android:layout_marginHorizontal="@dimen/component_options_margin_horizontal">
         <ImageView
             android:id="@+id/shape_thumbnail"
             android:layout_width="match_parent"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 63c127b..8cfc463 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Muurpapier"</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="accessibility_preview_pager" msgid="3548503287402185430">"Bladsy <xliff:g id="ID_1">%1$d</xliff:g> van <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Volgende"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Vorige"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Muurpapier"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Voeg jou gunstelinglettertipes op elke skerm by"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Kies \'n roostergrootte"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Styl is toegepas"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Horlosie is toegepas"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Styl is suksesvol gestel"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Horlosie is suksesvol gestel"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Rooster is suksesvol gestel"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Kon nie die styl toepas nie"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Volgende"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Vorige"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Gepasmaak"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Gepasmaakte <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Gepasmaakte styl"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Vee uit"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nee, dankie"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g>-horlosievoorskou"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oeps! Iets het skeefgeloop."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Kleur/ikone"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index ae13d48..724d06a 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"ቅጥ"</string>
     <string name="clock_title" msgid="2126046720254613991">"ሰዓት"</string>
     <string name="grid_title" msgid="2825094404523390773">"ፍርግርግ"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"ልጣፍ"</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="accessibility_preview_pager" msgid="3548503287402185430">"ገጽ <xliff:g id="ID_1">%1$d</xliff:g> ከ<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"ቀጣይ"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"ቀዳሚ"</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="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>፣ አሁን ላይ ተፈጻሚ ሆኗል"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied and previewed"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, currently previewed"</string>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"ቅጥ ተተግብሯል"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ሰዓት ተተግብሯል"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"ቅጥ በተሳካ ሁኔታ ተቀናብሯል"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ሰዓት በተሳካ ሁኔታ ተቀናብሯል"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ፍርግርግ በተሳካ ሁኔታ ተቀናብሯል"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"ቅጡን መተግበር ላይ ችግር ነበር"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"ቀጣይ"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"ቀዳሚ"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"ብጁ"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"ብጁ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"ብጁ ቅጥ"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"ሰርዝ"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 39173b0..7e36d26 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"النمط"</string>
     <string name="clock_title" msgid="2126046720254613991">"الساعة"</string>
     <string name="grid_title" msgid="2825094404523390773">"شبكة"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"الخلفية"</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="accessibility_preview_pager" msgid="3548503287402185430">"الصفحة <xliff:g id="ID_1">%1$d</xliff:g> من <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"التالي"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"السابق"</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="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>
@@ -41,13 +47,16 @@
     <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_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="7348498271552054431">"تم تطبيق النمط."</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"تم تطبيق الساعة"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"تم ضبط النمط."</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"تم ضبط الساعة."</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"تم ضبط الشبكة."</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"حدثت مشكلة أثناء تطبيق النمط."</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"التالي"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"الخطوة السابقة"</string>
-    <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g> مخصّصة"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"مخصّص"</string>
+    <string name="custom_theme_title" msgid="2192300350332693631">"مخصّص <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"النمط المخصّص"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"حذف"</string>
     <string name="font_component_title" msgid="8800340833695292049">"اختيار الخط"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index fc322f4..35b4b09 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"শৈলী"</string>
     <string name="clock_title" msgid="2126046720254613991">"ঘড়ী"</string>
     <string name="grid_title" msgid="2825094404523390773">"গ্ৰিড"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"ৱালপেপাৰ"</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="accessibility_preview_pager" msgid="3548503287402185430">"পৃষ্ঠা <xliff:g id="ID_2">%2$d</xliff:g>ৰ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"পৰৱৰ্তী"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"আগৰ"</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="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>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"শৈলী প্ৰয়োগ কৰা হ’ল"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ঘড়ী প্ৰয়োগ কৰা হ’ল"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"শৈলী সফলতাৰে ছেট কৰা হ’ল"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ঘড়ী সফলতাৰে ছেট কৰা হ’ল"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"গ্ৰিড সফলতাৰে ছেট কৰা হ’ল"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"শৈলীটো প্ৰয়োগ কৰোঁতে কিবা সমস্যা হৈছে"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"পৰৱৰ্তী"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"পূৰ্বৱৰ্তী"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"কাষ্টম"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"কাষ্টম <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"কাষ্টম শৈলী"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"মচক"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index e1001c9..e58ad29 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Divar kağızı"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Tətbiq edin"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Səhifə <xliff:g id="ID_1">%1$d</xliff:g>/<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Növbəti"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Əvvəlki"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Üslub önizləməsi"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Tor önizləməsi"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Şrift önizləməsi"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"İkona önizləməsi"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Rəng önizləməsi"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Forma önizləməsi"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"Hazırda <xliff:g id="ID_1">%1$s</xliff:g> tətbiq edilir"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> hazırda tətbiq edilir və önizlənilir"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> hazırda önizlənilir"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Divar kağızı"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Sevimli şriftlərinizi hər ekrana əlavə edin"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Tor ölçüsü seçin"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Üslub tətbiq edildi"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Saat tətbiq edildi"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Üslub uğurla ayarlandı"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Saat uğurla ayarlandı"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Tor uğurla ayarlandı"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Üslub tətbiq edilərkən xəta baş verdi"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Növbəti"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Əvvəlki"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Fərdi"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Fərdi <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Fərdi Üslub"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Silin"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Xeyr, təşəkkürlər"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g>, saatın önizlənməsi"</string>
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index cb4becd..08a5f6a 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Pozadina"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Primeni"</string>
     <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Dodirnite da biste izmenili"</string>
     <string name="keep_my_wallpaper" msgid="8012385376769568517">"Zadrži aktuelnu pozadinu"</string>
     <string name="apply_btn" msgid="7965877231041987336">"Primeni"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g>. stranica od <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Sledeća"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Prethodna"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Pregled stila"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Pregled mreže"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Pregled fonta"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Pregled ikone"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Pregled boje"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Pregled oblika"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, trenutno je primenjeno"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, trenutno je primenjeno i pregleda se"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, trenutno se pregleda"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Pozadina"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Dodajte omiljene fontove na svaki ekran"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Odaberite veličinu mreže"</string>
     <string name="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="7348498271552054431">"Stil je primenjen"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Sat je primenjen"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Podešavanje stila je uspelo"</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="apply_theme_error_msg" msgid="791364062636538317">"Došlo je do problema pri primeni stila"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Dalje"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Prethodno"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Prilagođeno"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Prilagođeno <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Prilagođeni stil"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Izbriši"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Ne, hvala"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Pregled sata <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ups! Došlo je do greške."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Boja/ikone"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index a1b4262..8a8c07f 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"Стыль"</string>
     <string name="clock_title" msgid="2126046720254613991">"Гадзіннік"</string>
     <string name="grid_title" msgid="2825094404523390773">"Сетка"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Шпалеры"</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="accessibility_preview_pager" msgid="3548503287402185430">"Старонка <xliff:g id="ID_1">%1$d</xliff:g> з <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Далей"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Назад"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Шпалеры"</string>
     <string name="font_card_title" msgid="2343292653502548685">"АБВ • абв • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Дадавайце любімыя шрыфты на кожны экран"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Выберыце памер сеткі"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Стыль ужыты"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Гадзіннік ужыты"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Стыль паспяхова зададзены"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Гадзіннік паспяхова зададзены"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Сетка паспяхова зададзена"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Не ўдалося ўжыць стыль"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Далей"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Назад"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Карыстальніцкая"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Карыстальніцкі <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Карыстальніцкі стыль"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Выдаліць"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index ebd909a..76d5a4c 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"Стил"</string>
     <string name="clock_title" msgid="2126046720254613991">"Часовник"</string>
     <string name="grid_title" msgid="2825094404523390773">"Таблица"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Тапет"</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="accessibility_preview_pager" msgid="3548503287402185430">"Страница <xliff:g id="ID_1">%1$d</xliff:g> от <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Напред"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Назад"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Визуализация на стила"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Визуализация на решетката"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Визуализация на шрифта"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Визуализация на иконата"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Визуализация на цвета"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Визуализация на формата"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"Понастоящем е приложена опцията „<xliff:g id="ID_1">%1$s</xliff:g>“"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"Понастоящем е приложена и визуализирана опцията „<xliff:g id="ID_1">%1$s</xliff:g>“"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"Понастоящем е визуализирана опцията „<xliff:g id="ID_1">%1$s</xliff:g>“"</string>
@@ -41,12 +43,15 @@
     <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_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="7348498271552054431">"Стилът бе приложен"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Часовникът е приложен"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Стилът бе зададен успешно"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Часовникът бе зададен успешно"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Решетката бе зададена успешно"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"При прилагането на стила възникна проблем"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Напред"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Назад"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Персонализирано"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Персонализ.: <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Персонализиран стил"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Изтриване"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 9d45e49..1e2d9e7 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"স্টাইল"</string>
     <string name="clock_title" msgid="2126046720254613991">"ঘড়ি"</string>
     <string name="grid_title" msgid="2825094404523390773">"গ্রিড"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"ওয়ালপেপার"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_2">%2$d</xliff:g>টি পৃষ্ঠার মধ্যে <xliff:g id="ID_1">%1$d</xliff:g> নম্বর"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"পরবর্তী"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"আগের"</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="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>
@@ -41,12 +47,15 @@
     <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="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="7348498271552054431">"স্টাইল প্রয়োগ করা হয়েছে"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ঘড়ি প্রয়োগ করা হয়েছে"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"স্টাইল সফলভাবে সেট করা হয়েছে"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ঘড়ি সফলভাবে সেট করা হয়েছে"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"গ্রিড সফলভাবে সেট করা হয়েছে"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"স্টাইল প্রয়োগ করার সময়ে সমস্যা হয়েছে"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"পরবর্তী"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"আগের"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"কাস্টম"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"কাস্টম <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"কাস্টম স্টাইল"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"মুছে ফেলুন"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index c09fdef..cd13922 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Pozadinska slika"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Primijeni"</string>
-    <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Dodirnite da izmijenite"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Primijeni"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Stranica <xliff:g id="ID_1">%1$d</xliff:g> od <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Naprijed"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Nazad"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Pregled stila"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Pregled mreže"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Pregled fonta"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Pregled ikone"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Pregled boje"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Pregled oblika"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, trenutno primijenjeno"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"Opcija <xliff:g id="ID_1">%1$s</xliff:g> se trenutno primjenjuje i pregleda"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"Opcija <xliff:g id="ID_1">%1$s</xliff:g> se trenutno pregleda"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Pozadinska slika"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Dodajte omiljene fontove na svaki ekran"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Odaberite veličinu mreže"</string>
     <string name="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="7348498271552054431">"Stil je primijenjen"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Sat je primijenjen"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stil je uspješno postavljen"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Sat je uspješno postavljen"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Mreža je uspješno postavljena"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Došlo je do problema kod primjene stila"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Naprijed"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Nazad"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Prilagođeno"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Prilagođeno <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Prilagođeni stil"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Izbriši"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Ne, hvala"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Pregled sata <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ups! 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 />
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 9ba191e..116d798 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Fons de pantalla"</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="accessibility_preview_pager" msgid="3548503287402185430">"Pàgina <xliff:g id="ID_1">%1$d</xliff:g> de <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Següent"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Anterior"</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="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>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"L\'estil s\'ha aplicat"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"S\'ha aplicat el rellotge"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"L\'estil s\'ha definit correctament"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"El rellotge s\'ha definit correctament"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"La quadrícula s\'ha definit correctament"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"S\'ha produït un error en aplicar l\'estil"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Següent"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Anterior"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Personalitzat"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Personalitzat <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Estil personalitzat"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Suprimeix"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 77ce470..c6c96f7 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Tapeta"</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="accessibility_preview_pager" msgid="3548503287402185430">"Strana <xliff:g id="ID_1">%1$d</xliff:g> z <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Další"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Předchozí"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Tapeta"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Přidejte si oblíbená písma na všechny obrazovky"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Vyberte velikost mřížky"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> × <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Styl byl použit"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Nastavení hodin bylo použito"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Styl byl úspěšně nastaven"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Hodiny byly úspěšně nastaveny"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Mřížka byla úspěšně nastavena"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Styl se nepodařilo použít"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Další"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Předchozí"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Vlastní"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Vlastní <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Vlastní styl"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Smazat"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Ne, děkuji"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Náhled ciferníku <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 848709b..fadce80 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Baggrund"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Anvend"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Side <xliff:g id="ID_1">%1$d</xliff:g> af <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Næste"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Forrige"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Forhåndsvisning af stil"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Forhåndsvisning af gitter"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Forhåndsvisning af skrifttype"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Forhåndsvisning af ikon"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Forhåndsvisning af farve"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Forhåndsvisning af form"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, er valgt"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> er valgt og forhåndsvises i øjeblikket"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> forhåndsvises i øjeblikket"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Baggrund"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Føj dine foretrukne skrifttyper til alle skærmbilleder"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Vælg gitterstørrelse"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stilen er anvendt"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Uret anvendes"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stilen er nu angivet"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Uret er nu indstillet"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Gitteret er nu oprettet"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Der opstod et problem under anvendelse af stilen"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Næste"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Forrige"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Tilpas"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Tilpasset <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Tilpasset stil"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Slet"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nej tak"</string>
     <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 />
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 681350f..0f30f2a 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Hintergrund"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Anwenden"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Seite <xliff:g id="ID_1">%1$d</xliff:g> von <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Weiter"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Zurück"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Designvorschau"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Rastervorschau"</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="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, wird aktuell angewendet"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, derzeit angewendet und in der Vorschau"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, derzeit in der Vorschau"</string>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Hintergrund"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Füg jedem Bildschirm deine bevorzugten Schriftarten hinzu"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Rastergröße auswählen"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Design angewendet"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Uhr angewendet"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Design festgelegt"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Uhr festgelegt"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Raster festgelegt"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Beim Anwenden des Designs ist ein Fehler aufgetreten"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Weiter"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Zurück"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Benutzerdefiniert"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Benutzerdefiniert <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Benutzerdefiniertes Design"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Löschen"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nein danke"</string>
     <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 />
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index fae57a5..bc9099d 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -17,18 +17,24 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_name" msgid="6995669566699638946">"Στυλ και ταπετσαρίες"</string>
-    <string name="theme_title" msgid="2144932106319405101">"Στυλ"</string>
+    <string name="app_name" msgid="6995669566699638946">"Στιλ και ταπετσαρίες"</string>
+    <string name="theme_title" msgid="2144932106319405101">"Στιλ"</string>
     <string name="clock_title" msgid="2126046720254613991">"Ρολόι"</string>
     <string name="grid_title" msgid="2825094404523390773">"Πλέγμα"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Ταπετσαρία"</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="accessibility_preview_pager" msgid="3548503287402185430">"Σελίδα <xliff:g id="ID_1">%1$d</xliff:g> από <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Επόμενο"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Προηγούμενο"</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="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>
@@ -41,14 +47,17 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Ταπετσαρία"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ΑΒΓ • αβγ • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Προσθέστε τις αγαπημένες σας γραμματοσειρές σε κάθε οθόνη"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Επιλέξτε μέγεθος πλέγματος"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Εφαρμόστηκε στυλ"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Το ρολόι εφαρμόστηκε"</string>
-    <string name="apply_theme_error_msg" msgid="791364062636538317">"Παρουσιάστηκε ένα πρόβλημα με την εφαρμογή του στυλ"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Επιτυχής ρύθμιση στιλ"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Επιτυχής ρύθμιση ρολογιού"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Επιτυχής ρύθμιση πλέγματος"</string>
+    <string name="apply_theme_error_msg" msgid="791364062636538317">"Παρουσιάστηκε ένα πρόβλημα με την εφαρμογή του στιλ"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Επόμενο"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Προηγούμενο"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Προσαρμογή"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Προσαρμοσμένο <xliff:g id="ID_1">%1$d</xliff:g>"</string>
-    <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Προσαρμοσμένο στυλ"</string>
+    <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Προσαρμοσμένο στιλ"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Διαγραφή"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Επιλέξτε γραμματοσειρά"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"Επιλογή εικονιδίων"</string>
@@ -61,9 +70,12 @@
     <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 />
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 756ad00..297cb6b 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Wallpaper"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Apply"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Page <xliff:g id="ID_1">%1$d</xliff:g> of <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Next"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Previous"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Style preview"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Grid preview"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Font preview"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Icon preview"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Colour preview"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Shape preview"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied and previewed"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, currently previewed"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Wallpaper"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Add your favourite fonts to every screen"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Choose a grid size"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Style applied"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Clock applied"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Style set successfully"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Clock set successfully"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Grid set successfully"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"There was a problem applying the style"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Next"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Previous"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Custom"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Custom <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Custom Style"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Delete"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"No thanks"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> clock preview"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oops! Something went wrong."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colour/Icons"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000..297cb6b
--- /dev/null
+++ b/res/values-en-rCA/strings.xml
@@ -0,0 +1,77 @@
+<?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.
+ -->
+
+<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="theme_title" msgid="2144932106319405101">"Style"</string>
+    <string name="clock_title" msgid="2126046720254613991">"Clock"</string>
+    <string name="grid_title" msgid="2825094404523390773">"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>
+    <string name="apply_btn" msgid="7965877231041987336">"Apply"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Style preview"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Grid preview"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Font preview"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Icon preview"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Colour preview"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Shape preview"</string>
+    <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied"</string>
+    <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied and previewed"</string>
+    <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, currently previewed"</string>
+    <string name="theme_description" msgid="3697012391785254635">"Font: <xliff:g id="ID_1">%1$s</xliff:g>, icons: <xliff:g id="ID_2">%2$s</xliff:g>, shape: <xliff:g id="ID_3">%3$s</xliff:g>, colour: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"Default"</string>
+    <string name="preview_name_font" msgid="4465423899630037038">"Font"</string>
+    <string name="preview_name_icon" msgid="6818927315316316440">"Icon"</string>
+    <string name="preview_name_color" msgid="8776203144994416172">"Colour"</string>
+    <string name="preview_name_shape" msgid="5676971146080968721">"Shape"</string>
+    <string name="preview_name_wallpaper" msgid="1738652462949531828">"Wallpaper"</string>
+    <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"Add your favourite fonts to every screen"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Choose a grid size"</string>
+    <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Style set successfully"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Clock set successfully"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Grid set successfully"</string>
+    <string name="apply_theme_error_msg" msgid="791364062636538317">"There was a problem applying the style"</string>
+    <string name="custom_theme_next" msgid="6235420097213197301">"Next"</string>
+    <string name="custom_theme_previous" msgid="4941132112640503022">"Previous"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Custom"</string>
+    <string name="custom_theme_title" msgid="2192300350332693631">"Custom <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Custom Style"</string>
+    <string name="custom_theme_delete" msgid="4744494663184126202">"Delete"</string>
+    <string name="font_component_title" msgid="8800340833695292049">"Choose font"</string>
+    <string name="icon_component_title" msgid="5779787138399083903">"Choose icons"</string>
+    <string name="color_component_title" msgid="1194089273921078816">"Choose colour"</string>
+    <string name="shape_component_title" msgid="8366847436022025538">"Choose shape"</string>
+    <string name="name_component_title" msgid="532425087968663437">"Name your style"</string>
+    <string name="icon_component_label" msgid="2625784884001407944">"Icons <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"Delete Custom style?"</string>
+    <string name="delete_custom_theme_button" msgid="5102462988130208824">"Delete"</string>
+    <string name="cancel" msgid="4651030493668562067">"Cancel"</string>
+    <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"Set style wallpaper"</string>
+    <string name="use_style_instead_title" msgid="1578754995763917502">"Use <xliff:g id="ID_1">%1$s</xliff:g> instead?"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"The components you chose match the <xliff:g id="ID_1">%1$s</xliff:g> style. Do you want to use <xliff:g id="ID_2">%1$s</xliff:g> instead?"</string>
+    <string name="use_style_button" msgid="1754493078383627019">"Use <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="no_thanks" msgid="7286616980115687627">"No thanks"</string>
+    <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> clock preview"</string>
+    <string name="something_went_wrong" msgid="529840112449799117">"Oops! Something went wrong."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colour/Icons"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
+</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 756ad00..297cb6b 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Wallpaper"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Apply"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Page <xliff:g id="ID_1">%1$d</xliff:g> of <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Next"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Previous"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Style preview"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Grid preview"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Font preview"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Icon preview"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Colour preview"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Shape preview"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied and previewed"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, currently previewed"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Wallpaper"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Add your favourite fonts to every screen"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Choose a grid size"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Style applied"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Clock applied"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Style set successfully"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Clock set successfully"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Grid set successfully"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"There was a problem applying the style"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Next"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Previous"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Custom"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Custom <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Custom Style"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Delete"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"No thanks"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> clock preview"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oops! Something went wrong."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colour/Icons"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 756ad00..297cb6b 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Wallpaper"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Apply"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Page <xliff:g id="ID_1">%1$d</xliff:g> of <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Next"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Previous"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Style preview"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Grid preview"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Font preview"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Icon preview"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Colour preview"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Shape preview"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, currently applied and previewed"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, currently previewed"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Wallpaper"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Add your favourite fonts to every screen"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Choose a grid size"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Style applied"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Clock applied"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Style set successfully"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Clock set successfully"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Grid set successfully"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"There was a problem applying the style"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Next"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Previous"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Custom"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Custom <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Custom Style"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Delete"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"No thanks"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> clock preview"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Oops! Something went wrong."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Colour/Icons"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
new file mode 100644
index 0000000..24bf8d9
--- /dev/null
+++ b/res/values-en-rXC/strings.xml
@@ -0,0 +1,76 @@
+<?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.
+ -->
+
+<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="theme_title" msgid="2144932106319405101">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎Style‎‏‎‎‏‎"</string>
+    <string name="clock_title" msgid="2126046720254613991">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‏‏‎Clock‎‏‎‎‏‎"</string>
+    <string name="grid_title" msgid="2825094404523390773">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‏‎‎‏‎‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‎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>
+    <string name="apply_btn" msgid="7965877231041987336">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‎Apply‎‏‎‎‏‎"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‎‏‎‏‎‏‏‎‏‎Style preview‎‏‎‎‏‎"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‎‏‎‏‏‎‏‎‎Grid preview‎‏‎‎‏‎"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‏‎Font preview‎‏‎‎‏‎"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎Icon preview‎‏‎‎‏‎"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‏‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎‎‎Color preview‎‏‎‎‏‎"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‎Shape preview‎‏‎‎‏‎"</string>
+    <string name="option_applied_description" msgid="5022305212078053534">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎, currently applied‎‏‎‎‏‎"</string>
+    <string name="option_applied_previewed_description" msgid="5269654286638446858">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‏‎‎‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‎‎‏‏‎‎‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎, currently applied and previewed‎‏‎‎‏‎"</string>
+    <string name="option_previewed_description" msgid="3467217598865047661">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎, currently previewed‎‏‎‎‏‎"</string>
+    <string name="theme_description" msgid="3697012391785254635">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‎‏‏‎Font: ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎, icons: ‎‏‎‎‏‏‎<xliff:g id="ID_2">%2$s</xliff:g>‎‏‎‎‏‏‏‎, shape: ‎‏‎‎‏‏‎<xliff:g id="ID_3">%3$s</xliff:g>‎‏‎‎‏‏‏‎, color: ‎‏‎‎‏‏‎<xliff:g id="ID_4">%4$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‎‏‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‏‎Default‎‏‎‎‏‎"</string>
+    <string name="preview_name_font" msgid="4465423899630037038">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎Font‎‏‎‎‏‎"</string>
+    <string name="preview_name_icon" msgid="6818927315316316440">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‎‎Icon‎‏‎‎‏‎"</string>
+    <string name="preview_name_color" msgid="8776203144994416172">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‎‎‎‏‏‎‎‎‏‎‏‏‎‎‎‎‎‏‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‏‎‎‎Color‎‏‎‎‏‎"</string>
+    <string name="preview_name_shape" msgid="5676971146080968721">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‎‏‏‎‎‎‎‎‎‎‎‏‎‎‎‏‎Shape‎‏‎‎‏‎"</string>
+    <string name="preview_name_wallpaper" msgid="1738652462949531828">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎Wallpaper‎‏‎‎‏‎"</string>
+    <string name="font_card_title" msgid="2343292653502548685">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎ABC • abc • 123‎‏‎‎‏‎"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎Add your favorite fonts to every screen‎‏‎‎‏‎"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎Choose a grid size‎‏‎‎‏‎"</string>
+    <string name="grid_title_pattern" msgid="9188866567612607806">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎x‎‏‎‎‏‏‎<xliff:g id="ID_2">%2$d</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‎Style set successfully‎‏‎‎‏‎"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‏‏‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‎‏‎‏‏‎‏‏‏‎Clock set successfully‎‏‎‎‏‎"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎Grid set successfully‎‏‎‎‏‎"</string>
+    <string name="apply_theme_error_msg" msgid="791364062636538317">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‎There was a problem applying the style‎‏‎‎‏‎"</string>
+    <string name="custom_theme_next" msgid="6235420097213197301">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‎‎‎‏‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎Next‎‏‎‎‏‎"</string>
+    <string name="custom_theme_previous" msgid="4941132112640503022">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‎Previous‎‏‎‎‏‎"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‎Custom‎‏‎‎‏‎"</string>
+    <string name="custom_theme_title" msgid="2192300350332693631">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‎‏‏‎‏‎‎‎‏‎‏‏‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎Custom ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="custom_theme_fragment_title" msgid="6615547284702040280">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‎‏‏‎‎‎‎Custom Style‎‏‎‎‏‎"</string>
+    <string name="custom_theme_delete" msgid="4744494663184126202">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‎‎Delete‎‏‎‎‏‎"</string>
+    <string name="font_component_title" msgid="8800340833695292049">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎‎‎‏‎Choose font‎‏‎‎‏‎"</string>
+    <string name="icon_component_title" msgid="5779787138399083903">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‏‎Choose icons‎‏‎‎‏‎"</string>
+    <string name="color_component_title" msgid="1194089273921078816">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎Choose color‎‏‎‎‏‎"</string>
+    <string name="shape_component_title" msgid="8366847436022025538">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‎Choose shape‎‏‎‎‏‎"</string>
+    <string name="name_component_title" msgid="532425087968663437">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‎‏‎Name your style‎‏‎‎‏‎"</string>
+    <string name="icon_component_label" msgid="2625784884001407944">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‎‎Icons ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎‏‏‏‎‎‎‎‏‏‎‎‏‏‎‎‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎Delete Custom style?‎‏‎‎‏‎"</string>
+    <string name="delete_custom_theme_button" msgid="5102462988130208824">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‏‏‎‏‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‏‎‎‎‎Delete‎‏‎‎‏‎"</string>
+    <string name="cancel" msgid="4651030493668562067">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‎‏‏‎Cancel‎‏‎‎‏‎"</string>
+    <string name="set_theme_wallpaper_dialog_message" msgid="2179661027350908003">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎Set style wallpaper‎‏‎‎‏‎"</string>
+    <string name="use_style_instead_title" msgid="1578754995763917502">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‏‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‏‏‏‏‏‎‎Use ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ instead?‎‏‎‎‏‎"</string>
+    <string name="use_style_instead_body" msgid="3051937045807471496">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‎‏‎‏‏‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎The components you chose match the ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ style. Do you want to use ‎‏‎‎‏‏‎<xliff:g id="ID_2">%1$s</xliff:g>‎‏‎‎‏‏‏‎ instead?‎‏‎‎‏‎"</string>
+    <string name="use_style_button" msgid="1754493078383627019">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‎‎‎‎‏‎‏‏‎Use ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="no_thanks" msgid="7286616980115687627">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‎‎‎‎‎‎‏‎‎‎‏‏‎‎‏‎‏‏‎No, thanks‎‏‎‎‏‎"</string>
+    <string name="clock_preview_content_description" msgid="5460561185905717460">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ clock preview‎‏‎‎‏‎"</string>
+    <string name="something_went_wrong" msgid="529840112449799117">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎Oops! Something went wrong.‎‏‎‎‏‎"</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‏‎‏‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‏‏‎Color / Icons‎‏‎‎‏‎"</string>
+    <string name="style_info_description" msgid="2612473574431003251">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎Preview of font, icons, app shape, and color‎‏‎‎‏‎"</string>
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 7c372ae..1d3ba97 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -21,19 +21,21 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Fondo de pantalla"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Aplicar"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Página <xliff:g id="ID_1">%1$d</xliff:g> de <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Siguiente"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Anterior"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Vista previa del estilo"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Vista previa de la cuadrícula"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Vista previa de fuente"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Vista previa de ícono"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Vista previa de color"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Vista previa de forma"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g> (aplicado actualmente)"</string>
     <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>, íconos: <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">"Predeter."</string>
+    <string name="default_theme_title" msgid="2555741736622366797">"Predet."</string>
     <string name="preview_name_font" msgid="4465423899630037038">"Fuente"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Ícono"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Color"</string>
@@ -41,12 +43,15 @@
     <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">"Agrega tus fuentes favoritas a cada pantalla"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Elige un tamaño de cuadrícula"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Se aplicó el estilo"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Se aplicó el reloj"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Se estableció correctamente el estilo"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Se estableció correctamente el reloj"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Se estableció correctamente la cuadrícula"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Se produjo un error al aplicar el estilo"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Siguiente"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Anterior"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Personalizado"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Personalizado <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Estilo personalizado"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Borrar"</string>
@@ -66,4 +71,7 @@
     <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">"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 />
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 47b3b8b..9e1a318 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Fondo pantalla"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Aplicar"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Página <xliff:g id="ID_1">%1$d</xliff:g> de <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Siguiente"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Anterior"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Previsualizar estilo"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Vista previa de cuadrícula"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Vista previa de fuente"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Vista previa de icono"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Vista previa de color"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Vista previa de forma"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"Se ha aplicado <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> (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>
@@ -41,12 +43,15 @@
     <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_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="7348498271552054431">"Estilo aplicado"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Reloj aplicado"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Estilo implementado 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="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>
+    <string name="custom_theme" msgid="1618351922263478163">"Personalizado"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Personalizado <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Estilo personal"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Eliminar"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index d6230af..97bce06 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Taustapilt"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Rakenda"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g>. leht <xliff:g id="ID_2">%2$d</xliff:g>-st"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Järgmine"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Eelmine"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Stiili eelvaade"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Ruudustiku eelvaade"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Fondi eelvaade"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Ikooni eelvaade"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Värvi eelvaade"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Kuju eelvaade"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, praegu rakendatud"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, praegu rakendatakse ja kuvatakse eelvaadet"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, praegu kuvatakse eelvaadet"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Taustapilt"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Lisage lemmikfondid igale erkaanikuvale"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Valige ruudustiku suurus"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> × <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stiil rakendati"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Kell on rakendatud"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stiili määramine õnnestus"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Kella määramine õnnestus"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Ruudustiku määramine õnnestus"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Stiili rakendamisel ilmnes probleem"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Järgmine"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Eelmine"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Kohandatud"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Kohandatud <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Kohandatud stiil"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Kustuta"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index e461865..acaea60 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -21,36 +21,41 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Horma-papera"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Aplikatu"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g>/<xliff:g id="ID_2">%2$d</xliff:g> orria"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Hurrengoa"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Aurrekoa"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Estiloaren aurrebista"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Saretaren aurrebista"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Letraren aurrebista"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Ikonoaren aurrebista"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Kolorearen aurrebista"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Formaren aurrebista"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g> (aplikatuta dago)"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> (aplikatuta eta aurrebista gisa ikusgai)"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> (aurrebista gisa ikusgai)"</string>
-    <string name="theme_description" msgid="3697012391785254635">"Letra-tipoa: <xliff:g id="ID_1">%1$s</xliff:g>, ikonoak: <xliff:g id="ID_2">%2$s</xliff:g>, forma: <xliff:g id="ID_3">%3$s</xliff:g>, kolorea: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
+    <string name="theme_description" msgid="3697012391785254635">"Letra: <xliff:g id="ID_1">%1$s</xliff:g>, ikonoak: <xliff:g id="ID_2">%2$s</xliff:g>, forma: <xliff:g id="ID_3">%3$s</xliff:g>, kolorea: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
     <string name="default_theme_title" msgid="2555741736622366797">"Lehenetsia"</string>
-    <string name="preview_name_font" msgid="4465423899630037038">"Letra-tipoa"</string>
+    <string name="preview_name_font" msgid="4465423899630037038">"Letra"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Ikonoa"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Kolorea"</string>
     <string name="preview_name_shape" msgid="5676971146080968721">"Forma"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Horma-papera"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"Gehitu gogoko dituzun letra-tipoak pantaila guztietan"</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="applied_theme_msg" msgid="7348498271552054431">"Aplikatu da estiloa"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Aplikatu da erlojua"</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>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Arazo bat izan da estiloa aplikatzean"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Hurrengoa"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Aurrekoa"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Pertsonalizatua"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g> pertsonalizat."</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Pertsonalizatu estiloa"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Ezabatu"</string>
-    <string name="font_component_title" msgid="8800340833695292049">"Aukeratu letra-tipoa"</string>
+    <string name="font_component_title" msgid="8800340833695292049">"Aukeratu letra"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"Aukeratu ikonoak"</string>
     <string name="color_component_title" msgid="1194089273921078816">"Aukeratu kolorea"</string>
     <string name="shape_component_title" msgid="8366847436022025538">"Aukeratu forma"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Ez"</string>
     <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 />
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 5ffd461..18da1de 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"سبک"</string>
     <string name="clock_title" msgid="2126046720254613991">"ساعت"</string>
     <string name="grid_title" msgid="2825094404523390773">"جدول"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"کاغذدیواری"</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="accessibility_preview_pager" msgid="3548503287402185430">"صفحه <xliff:g id="ID_1">%1$d</xliff:g> از <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"بعدی"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"قبلی"</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="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>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"سبک اعمال شد"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ساعت اعمال شد"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"سبک باموفقیت تنظیم شد"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ساعت باموفقیت تنظیم شد"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"جدول باموفقیت تنظیم شد"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"مشکلی در اعمال سبک روی داد"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"بعدی"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"قبلی"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"سفارشی"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g> سفارشی"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"سفارشی کردن سبک"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"حذف"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 696b5d3..e7d34aa 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -21,36 +21,45 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Taustakuva"</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="accessibility_preview_pager" msgid="3548503287402185430">"Sivu <xliff:g id="ID_1">%1$d</xliff:g>/<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Seuraava"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Edellinen"</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="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>
-    <string name="theme_description" msgid="3697012391785254635">"Kirjasin: <xliff:g id="ID_1">%1$s</xliff:g>, kuvakkeet: <xliff:g id="ID_2">%2$s</xliff:g>, muoto: <xliff:g id="ID_3">%3$s</xliff:g>, väri: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
+    <string name="theme_description" msgid="3697012391785254635">"Fontti: <xliff:g id="ID_1">%1$s</xliff:g>, kuvakkeet: <xliff:g id="ID_2">%2$s</xliff:g>, muoto: <xliff:g id="ID_3">%3$s</xliff:g>, väri: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
     <string name="default_theme_title" msgid="2555741736622366797">"Oletus"</string>
-    <string name="preview_name_font" msgid="4465423899630037038">"Kirjasin"</string>
+    <string name="preview_name_font" msgid="4465423899630037038">"Fontti"</string>
     <string name="preview_name_icon" msgid="6818927315316316440">"Kuvake"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Väri"</string>
     <string name="preview_name_shape" msgid="5676971146080968721">"Muoto"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Taustakuva"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Lisää lempikirjasimesi joka näytölle"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Valitse ruudukon koko"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Käytössä oleva tyyli"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Kello käytössä"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Tyyli valittu"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Kello asetettu"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Ruudukko asetettu"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Tyylin käyttöönotossa tapahtui virhe"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Seuraava"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Edellinen"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Oma"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Oma <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Oma tyyli"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Poista"</string>
-    <string name="font_component_title" msgid="8800340833695292049">"Valitse kirjasin"</string>
+    <string name="font_component_title" msgid="8800340833695292049">"Valitse fontti"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"Valitse kuvakkeet"</string>
     <string name="color_component_title" msgid="1194089273921078816">"Valitse väri"</string>
     <string name="shape_component_title" msgid="8366847436022025538">"Valitse muoto"</string>
@@ -65,5 +74,8 @@
     <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! Jokin meni vikaan."</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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index c4b0224..e817276 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Fond d\'écran"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Appliquer"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Page <xliff:g id="ID_1">%1$d</xliff:g> sur <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Suivant"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Précédent"</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>
+    <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">"L\'option <xliff:g id="ID_1">%1$s</xliff:g> est présentement active"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"Option appliquée et en cours d\'aperçu : <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"Option en cours d\'aperçu : <xliff:g id="ID_1">%1$s</xliff:g>"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Fond d\'écran"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Ajoutez vos polices préférées à chaque écran"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Choisir une taille de grille"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Style appliqué"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"L\'horloge a été appliquée"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Le style a été appliqué"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"L\'horloge a été réglée"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"La grille a été définie"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Un problème est survenu lors de l\'application du style"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Suivant"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Précédent"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Personnalisé"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Personnalisé <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Style personnalisé"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Supprimer"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Non, merci"</string>
     <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 />
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index e28b35e..3688458 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Fond d\'écran"</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="accessibility_preview_pager" msgid="3548503287402185430">"Page <xliff:g id="ID_1">%1$d</xliff:g> sur <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Suivant"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Précédent"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Fond d\'écran"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Ajoutez vos polices préférées sur chaque écran"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Choisir une taille de grille"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Le style a bien été appliqué"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Horloge appliquée"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Le style a bien été défini"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"L\'horloge a bien été réglée"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"La grille a bien été définie"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Un problème est survenu au moment d\'appliquer le style"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Suivant"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Précédent"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Personnalisé"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Personnalisé<xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Style personnalisé"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Supprimer"</string>
@@ -66,4 +75,7 @@
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 2cdb267..30980b1 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Fondo pantalla"</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="accessibility_preview_pager" msgid="3548503287402185430">"Páxina <xliff:g id="ID_1">%1$d</xliff:g> de <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Seguinte"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Anterior"</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="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>
@@ -41,12 +47,15 @@
     <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">"Engade as túas fontes favoritas a todas as pantallas"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Escoller un tamaño para a grade"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Aplicouse o estilo"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Aplicouse o reloxo"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"O estilo aplicouse correctamente"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"O reloxo aplicouse correctamente"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"A grade aplicouse correctamente"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Produciuse un problema ao aplicar o estilo"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Seguinte"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Anterior"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Personalizar"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Personalizado <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Estilo personalizado"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Eliminar"</string>
@@ -66,4 +75,7 @@
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index d94c671..77e14f8 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"શૈલી"</string>
     <string name="clock_title" msgid="2126046720254613991">"ઘડિયાળ"</string>
     <string name="grid_title" msgid="2825094404523390773">"ગ્રિડ"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"વૉલપેપર"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_2">%2$d</xliff:g>માંથી <xliff:g id="ID_1">%1$d</xliff:g> પેજ"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"આગળ"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"પાછળ"</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="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>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"શૈલી લાગુ કરી"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ઘડિયાળ લાગુ કરી"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"શૈલી સફળતાપૂર્વક સેટ કરી"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ઘડિયાળ સફળતાપૂર્વક સેટ કરી"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ગ્રિડ સફળતાપૂર્વક સેટ કરી"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"શૈલી લાગુ કરવામાં સમસ્યા આવી હતી"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"આગલી થીમ"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"પાછળ"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"કસ્ટમ થીમ"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"કસ્ટમ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"કસ્ટમ શૈલી"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"ડિલીટ કરો"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-h740dp/dimens.xml b/res/values-h740dp/dimens.xml
index a752b6b..250262f 100644
--- a/res/values-h740dp/dimens.xml
+++ b/res/values-h740dp/dimens.xml
@@ -21,7 +21,6 @@
     <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_cover_content_extra_margin">8dp</dimen>
 
     <dimen name="preview_theme_content_min_height">152dp</dimen>
 
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 50e26a8..624b2c7 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"शैली"</string>
     <string name="clock_title" msgid="2126046720254613991">"घड़ी"</string>
     <string name="grid_title" msgid="2825094404523390773">"ग्रिड"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"वॉलपेपर"</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="accessibility_preview_pager" msgid="3548503287402185430">"पेज <xliff:g id="ID_2">%2$d</xliff:g> का <xliff:g id="ID_1">%1$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"अगला"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"पिछला"</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="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>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"शैली लागू की गई"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"घड़ी की सुविधा जोड़ी गई"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"थीम सेट हो गई"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"घड़ी सेट हो गई"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ग्रिड सेट हो गया"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"शैली लागू करने में समस्या हुई"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"अगला"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"पीछे जाएं"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"पसंद के मुताबिक थीम"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"कस्टम <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"शैली पसंद के मुताबिक बनाना"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"मिटाएं"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index b3166b1..1a63aed 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Pozadina"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Primijeni"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Stranica <xliff:g id="ID_1">%1$d</xliff:g> od <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Sljedeće"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Prethodno"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Pregled stila"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Pregled rešetke"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Pregled fonta"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Pregled ikone"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Pregled boje"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Pregled oblika"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, trenutačno primijenjeno"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, trenutačno se primjenjuje i pregledava"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, trenutačno se pregledava"</string>
@@ -41,18 +43,21 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Pozadina"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Dodajte svoje omiljene fontove na svaki zaslon"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Odaberite veličinu rešetke"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stil je primijenjen"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Sat je primijenjen"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stil je uspješno postavljen"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Sat je uspješno postavljen"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Rešetka je uspješno postavljena"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Pojavio se problem prilikom primjene stila"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Sljedeće"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Prethodno"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Prilagođeno"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Prilagođeno <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Prilagođeni stil"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Izbriši"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Odaberite font"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"Odaberite ikone"</string>
-    <string name="color_component_title" msgid="1194089273921078816">"Izbor boje"</string>
+    <string name="color_component_title" msgid="1194089273921078816">"Odaberite boju"</string>
     <string name="shape_component_title" msgid="8366847436022025538">"Odaberite oblik"</string>
     <string name="name_component_title" msgid="532425087968663437">"Unesite naziv svojeg stila"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"Ikone <xliff:g id="ID_1">%1$d</xliff:g>"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Ne, hvala"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Pregled sata <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Ups! Došlo je do pogreške."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Boja/ikone"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index ee4df61..6f494de 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Háttérkép"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_2">%2$d</xliff:g>/<xliff:g id="ID_1">%1$d</xliff:g>. oldal"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Tovább"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Előző"</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="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>
@@ -41,19 +47,22 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Háttérkép"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Adja hozzá kedvenc betűtípusát az összes képernyőhöz"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Rácsméret kiválasztása"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>×<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stílus alkalmazva"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Óra alkalmazva"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Sikerült a stílus beállítása"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Sikerült az óra beállítása"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Sikerült a rács beállítása"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Hiba történt a stílus alkalmazása során"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Tovább"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Előző"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Egyéni"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Egyéni <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Egyéni stílus"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Törlés"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Betűtípus kiválasztása"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"Ikonok kiválasztása"</string>
     <string name="color_component_title" msgid="1194089273921078816">"Színválasztás"</string>
-    <string name="shape_component_title" msgid="8366847436022025538">"Forma kiválasztása"</string>
+    <string name="shape_component_title" msgid="8366847436022025538">"Alak kiválasztása"</string>
     <string name="name_component_title" msgid="532425087968663437">"Nevezze el a stílust"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"Ikonok <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"Törli az egyéni stílust?"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nem, köszönöm"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> – óra előnézete"</string>
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 94f4d1c..6f1512d 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"Ոճ"</string>
     <string name="clock_title" msgid="2126046720254613991">"Ժամացույց"</string>
     <string name="grid_title" msgid="2825094404523390773">"Ցանց"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Պաստառ"</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="accessibility_preview_pager" msgid="3548503287402185430">"Էջ <xliff:g id="ID_1">%1$d</xliff:g>/<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Առաջ"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Հետ"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Ոճի նախադիտում"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Ցանցի նախադիտում"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Տառատեսակի նախադիտում"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Պատկերակի նախադիտում"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Գույնի նախադիտում"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Ձևապատկերի նախադիտում"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g> (այժմ կիրառվում է)"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, այժմ կիրառվում և ցուցադրվում է"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, այժմ ցուցադրվում է"</string>
@@ -41,19 +43,22 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Պաստառ"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ԱԲԳ • աբգ • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Ավելացրեք ձեր նախընտրած տառատեսակները յուրաքանչյուր էկրանին"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Ընտրեք ցանցի չափը"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Ոճը կիրառվեց"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Ժամացույցը կիրառվեց"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Ոճը կարգավորվեց"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Ժամացույցը կարգավորվեց"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Ցանցը կարգավորվեց"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Չհաջողվեց կիրառել ոճը"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Առաջ"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Հետ"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Այլ"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Հատուկ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Հատուկ ոճ"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Ջնջել"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Ընտրեք տառատեսակ"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"Ընտրեք պատկերակներ"</string>
     <string name="color_component_title" msgid="1194089273921078816">"Ընտրեք գույնը"</string>
-    <string name="shape_component_title" msgid="8366847436022025538">"Ընտրեք ձև"</string>
+    <string name="shape_component_title" msgid="8366847436022025538">"Ընտրեք ձւապատկեր"</string>
     <string name="name_component_title" msgid="532425087968663437">"Անվանեք ձեր թեման"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"Պատկերակներ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"Ջնջե՞լ հատուկ ոճը"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 67721f8..7a066a7 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Wallpaper"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Terapkan"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Halaman <xliff:g id="ID_1">%1$d</xliff:g> dari <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Berikutnya"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Sebelumnya"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Pratinjau gaya"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Pratinjau petak"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Pratinjau font"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Pratinjau ikon"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Pratinjau warna"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Pratinjau bentuk"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, saat ini diterapkan"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, saat ini diterapkan dan dilihat pratinjaunya"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, saat ini dilihat pratinjaunya"</string>
@@ -41,13 +43,16 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Wallpaper"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Tambahkan font favorit ke setiap layar"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Pilih ukuran petak"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Gaya diterapkan"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Jam diterapkan"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Gaya berhasil disetel"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Jam berhasil disetel"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Petak berhasil disetel"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Terjadi masalah saat menerapkan gaya"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Berikutnya"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Sebelumnya"</string>
-    <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g> khusus"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Kustom"</string>
+    <string name="custom_theme_title" msgid="2192300350332693631">"Khusus <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Gaya Kustom"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Hapus"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Pilih font"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Lain kali"</string>
     <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 />
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 8474c87..8ac1838 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Veggfóður"</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="accessibility_preview_pager" msgid="3548503287402185430">"Síða <xliff:g id="ID_1">%1$d</xliff:g> af <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Næsta"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Fyrra"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Veggfóður"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Fáðu uppáhaldsleturgerðirnar þínar á alla skjái"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Velja stærð hnitanets"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stíll notaður"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Klukka notuð"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stíll var stilltur"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Klukka var stillt"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Hnitanet var stillt"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Vandamál kom upp við að nota stílinn"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Næsta"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Fyrra"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Sérsniðið"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Sérsniðið <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Sérsniðinn stíll"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Eyða"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nei, takk"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> forskoðun klukku"</string>
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 1a46542..137789a 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Sfondo"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Applica"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Pagina <xliff:g id="ID_1">%1$d</xliff:g> di <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Avanti"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Indietro"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Anteprima stile"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Anteprima griglia"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Anteprima carattere"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Anteprima icona"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Anteprima colore"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Anteprima forma"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, attualmente applicata"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, attualmente applicata e visualizzata in anteprima"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, attualmente visualizzata in anteprima"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Sfondo"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Aggiungi i tuoi caratteri preferiti a ogni schermata"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Scegli la dimensione della griglia"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stile applicato"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Orologio applicato"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stile impostato"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Orologio impostato"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Griglia impostata"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Si è verificato un problema durante l\'applicazione dello stile"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Avanti"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Indietro"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Personalizza"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Personalizzato <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Stile personalizzato"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Elimina"</string>
@@ -66,4 +71,7 @@
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index f8d444b..d45d3c6 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"סגנון"</string>
     <string name="clock_title" msgid="2126046720254613991">"שעון"</string>
     <string name="grid_title" msgid="2825094404523390773">"רשת"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"טפט"</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="accessibility_preview_pager" msgid="3548503287402185430">"דף <xliff:g id="ID_1">%1$d</xliff:g> מתוך <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"הבא"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"הקודם"</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="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>
@@ -40,13 +46,16 @@
     <string name="preview_name_shape" msgid="5676971146080968721">"צורה"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"טפט"</string>
     <string name="font_card_title" msgid="2343292653502548685">"אבג • 123"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"אפשר להוסיף את הפונטים המועדפים לכל מסך"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"אפשר להוסיף את הגופנים המועדפים לכל מסך"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"בחירת גודל הרשת"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"הסגנון הוחל"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"השעון הותקן"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"הסגנון הוגדר בהצלחה"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"השעון הוגדר בהצלחה"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"הרשת הוגדרה בהצלחה"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"הייתה בעיה בהחלת הסגנון"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"הבא"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"הקודם"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"התאמה אישית"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"מותאם אישית <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"סגנון מותאם אישית"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"מחיקה"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index f95c696..0a36000 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"スタイル"</string>
     <string name="clock_title" msgid="2126046720254613991">"時計"</string>
     <string name="grid_title" msgid="2825094404523390773">"グリッド"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"壁紙"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g>/<xliff:g id="ID_2">%2$d</xliff:g> ページ目"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"次へ"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"前へ"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"スタイルのプレビュー"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"グリッドのプレビュー"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"フォントのプレビュー"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"アイコンのプレビュー"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"色のプレビュー"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"形のプレビュー"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>（現在適用中）"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>（現在、適用してプレビュー中）"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>（現在、プレビュー中）"</string>
@@ -41,12 +43,15 @@
     <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_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="7348498271552054431">"スタイルを適用しました"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"時計を適用しました"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"スタイルの設定が完了しました"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"時計の設定が完了しました"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"グリッドの設定が完了しました"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"スタイルの適用中にエラーが発生しました"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"次へ"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"前へ"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"カスタム"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"カスタム <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"カスタム スタイル"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"削除"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 5e6cab0..e92e867 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"სტილი"</string>
     <string name="clock_title" msgid="2126046720254613991">"საათი"</string>
     <string name="grid_title" msgid="2825094404523390773">"ბადე"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"ფონი"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g> გვერდი <xliff:g id="ID_2">%2$d</xliff:g>-დან"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"შემდეგი"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"წინა"</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="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>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"სტილი მისადაგებულია"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"საათი მისადაგებულია"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"სტილი წარმატებით დაყენდა"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"საათი წარმატებით დაყენდა"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ბადე წარმატებით დაყენდა"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"სტილის მისადაგებისას პრობლემა წარმოიქმნა"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"შემდეგი"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"წინა"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"მორგებული"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"მორგებული <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"მორგებული სტილი"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"წაშლა"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index c8aa174..1364e01 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"Стиль"</string>
     <string name="clock_title" msgid="2126046720254613991">"Cағат"</string>
     <string name="grid_title" msgid="2825094404523390773">"Тор"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Тұсқағаз"</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="accessibility_preview_pager" msgid="3548503287402185430">"Бет: <xliff:g id="ID_1">%1$d</xliff:g>/<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Келесі"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Алдыңғы"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Стильді алдын ала қарау"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Торды алдын ала қарау"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Қаріпті алдын ала қарау"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Белгішені алдын ала қарау"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Түсті алдын ала қарау"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Пішінді алдын ала қарау"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, қазір қосулы"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, қазір қолданылды және алдын ала қаралды"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, қазір алдын ала қаралды"</string>
@@ -40,14 +42,17 @@
     <string name="preview_name_shape" msgid="5676971146080968721">"Пішін"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Тұсқағаз"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"Әрбір экранға ұнайтын қаріптерді қосыңыз."</string>
+    <string name="font_card_body" msgid="6790525594503904468">"Әр экранға ұнайтын қаріпті қоя аласыз."</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Тор өлшемін таңдаңыз"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Стиль қолданылды."</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Сағат қолданылды."</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Стиль орнатылды."</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Сағат орнатылды."</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Тор орнатылды."</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Стильді қолдану кезінде қате шықты."</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Келесі"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Алдыңғы"</string>
-    <string name="custom_theme_title" msgid="2192300350332693631">"Арнаулы <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Басқа"</string>
+    <string name="custom_theme_title" msgid="2192300350332693631">"Басқа <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Арнаулы стиль"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Жою"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Қаріп таңдау"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 1bc2e7f..c183f7f 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"រចនាប័ទ្ម"</string>
     <string name="clock_title" msgid="2126046720254613991">"នាឡិកា"</string>
     <string name="grid_title" msgid="2825094404523390773">"ក្រឡា"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"ផ្ទាំងរូបភាព"</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="accessibility_preview_pager" msgid="3548503287402185430">"ទំព័រ <xliff:g id="ID_1">%1$d</xliff:g> នៃ <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"បន្ទាប់"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"មុន"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"ការមើល​រចនាប័ទ្មសាកល្បង"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ការមើល​ក្រឡាសាកល្បង"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"ការមើលពុម្ព​អក្សរសាកល្បង"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"ការមើលរូបតំណាង​សាកល្បង"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"ការមើល​ពណ៌សាកល្បង"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"ការមើល​រូបរាងសាកល្បង"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g> ត្រូវបានប្រើ​បច្ចុប្បន្ននេះ"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> កំពុងត្រូវបានអនុវត្ត និង​មើលសាកល្បង​បច្ចុប្បន្ននេះ"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> កំពុងត្រូវបាន​មើលសាកល្បង​បច្ចុប្បន្ននេះ"</string>
@@ -41,12 +43,15 @@
     <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_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="7348498271552054431">"បានប្រើ​រចនាប័ទ្ម"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"បានប្រើ​នាឡិកា"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"បានកំណត់​រចនាប័ទ្មដោយ​ជោគជ័យ"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"បានកំណត់​នាឡិកាដោយ​ជោគជ័យ"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"បានកំណត់​ក្រឡាដោយ​ជោគជ័យ"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"មានបញ្ហា​ក្នុងការប្រើ​រចនាប័ទ្ម"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"បន្ទាប់"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"មុន"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"តាម​បំណង"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g> ផ្ទាល់ខ្លួន"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"រចនាប័ទ្ម​ផ្ទាល់ខ្លួន"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"លុប"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 0bffb94..3fc84dd 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"ಶೈಲಿ"</string>
     <string name="clock_title" msgid="2126046720254613991">"ಗಡಿಯಾರ"</string>
     <string name="grid_title" msgid="2825094404523390773">"ಗ್ರಿಡ್"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"ವಾಲ್‌ಪೇಪರ್‌"</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="accessibility_preview_pager" msgid="3548503287402185430">"ಪುಟ <xliff:g id="ID_2">%2$d</xliff:g> ರಲ್ಲಿ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"ಮುಂದಿನದು"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"ಹಿಂದಿನದು"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"ಶೈಲಿ ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ಗ್ರಿಡ್ ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"ಫಾಂಟ್ ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"ಐಕಾನ್ ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"ಬಣ್ಣ ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"ಆಕಾರ ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"ಪ್ರಸ್ತುತ <xliff:g id="ID_1">%1$s</xliff:g> ಅನ್ನು ಅನ್ವಯಿಸಲಾಗಿದೆ"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, ಪ್ರಸ್ತುತ ಸಲ್ಲಿಸಲಾಗಿದೆ ಮತ್ತು ಪೂರ್ವವೀಕ್ಷಿಸಲಾಗಿದೆ"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, ಪ್ರಸ್ತುತ ಪೂರ್ವವೀಕ್ಷಿಸಲಾಗಿದೆ"</string>
@@ -41,12 +43,15 @@
     <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_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="7348498271552054431">"ಶೈಲಿಯನ್ನು ಅನ್ವಯಿಸಲಾಗಿದೆ"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ಗಡಿಯಾರವನ್ನು ಅನ್ವಯಿಸಲಾಗಿದೆ"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"ಶೈಲಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ಗಡಿಯಾರವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ಗ್ರಿಡ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"ಶೈಲಿಯನ್ನು ಅನ್ವಯಿಸುವಲ್ಲಿ ಸಮಸ್ಯೆ ಎದುರಾಗಿದೆ"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"ಮುಂದಿನದು"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"ಹಿಂದಿನ"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"ಕಸ್ಟಮ್"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"ಕಸ್ಟಮ್ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"ಕಸ್ಟಮ್ ಶೈಲಿ"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"ಅಳಿಸಿ"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 2cdd6a8..ca06cee 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"스타일"</string>
     <string name="clock_title" msgid="2126046720254613991">"시계"</string>
     <string name="grid_title" msgid="2825094404523390773">"그리드"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"배경화면"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_2">%2$d</xliff:g>페이지 중 <xliff:g id="ID_1">%1$d</xliff:g>페이지"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"다음"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"이전"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"스타일 미리보기"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"그리드 미리보기"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"글꼴 미리보기"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"아이콘 미리보기"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"색상 미리보기"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"도형 미리보기"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, 현재 적용됨"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, 현재 적용되어 미리보기 중"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, 현재 미리보기 중"</string>
@@ -41,19 +43,22 @@
     <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_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="7348498271552054431">"스타일 적용됨"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"시계 적용됨"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"스타일 설정이 완료되었습니다."</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"시계 설정이 완료되었습니다."</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"그리드 설정이 완료되었습니다."</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"스타일을 적용하는 중에 문제가 발생했습니다."</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"다음"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"이전"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"맞춤"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"맞춤설정 <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"맞춤 스타일"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"삭제"</string>
     <string name="font_component_title" msgid="8800340833695292049">"글꼴 선택"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"아이콘 선택"</string>
     <string name="color_component_title" msgid="1194089273921078816">"색상 선택"</string>
-    <string name="shape_component_title" msgid="8366847436022025538">"모양 선택"</string>
+    <string name="shape_component_title" msgid="8366847436022025538">"도형 선택"</string>
     <string name="name_component_title" msgid="532425087968663437">"스타일 이름 지정"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"아이콘 <xliff:g id="ID_1">%1$d</xliff:g>개"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"맞춤 스타일을 삭제하시겠습니까?"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index bcd7cea..ca4eed4 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"Стиль"</string>
     <string name="clock_title" msgid="2126046720254613991">"Саат"</string>
     <string name="grid_title" msgid="2825094404523390773">"Торчо"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Тушкагаз"</string>
     <string name="apply_theme_btn" msgid="6293081192321303991">"Колдонуу"</string>
-    <string name="edit_custom_theme_lbl" msgid="5211377705710775224">"Түзөтүү үчүн таптап коюңуз"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_2">%2$d</xliff:g> ичинен <xliff:g id="ID_1">%1$d</xliff:g>-барак"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Кийинки"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Мурунку"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Тушкагаз"</string>
     <string name="font_card_title" msgid="2343292653502548685">"АБВ • абв • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Жактырган ариптериңизди каалаган экранга коюп алсаңыз болот"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Торчонун өлчөмүн тандоо"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Стиль колдонулду"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Саат колдонулду"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Стили ийгиликтүү орнотулду"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Саат ийгиликтүү жөндөлдү"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Торчо ийгиликтүү жөндөлдү"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Стилди колдонууда маселе келип чыкты"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Кийинки"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Мурунку"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Жеке"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Жеке <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Ыңгайлаштырылган стиль"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Жок кылуу"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-land/bools.xml b/res/values-land/bools.xml
deleted file mode 100644
index 409538d..0000000
--- a/res/values-land/bools.xml
+++ /dev/null
@@ -1,20 +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.
--->
-<resources>
-    <bool name="use_grid_for_options">true</bool>
-</resources>
\ No newline at end of file
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index bd37bae..134bfa7 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -29,9 +29,7 @@
     <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_cover_content_extra_margin">0dp</dimen>
     <dimen name="preview_theme_content_bottom">8dp</dimen>
-    <dimen name="preview_theme_cover_content_bottom">36dp</dimen>
 
     <dimen name="font_preview_divider_gap">12dp</dimen>
 
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 3b9dd17..58cbe97 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"ຮູບແບບ"</string>
     <string name="clock_title" msgid="2126046720254613991">"ໂມງ"</string>
     <string name="grid_title" msgid="2825094404523390773">"ເສັ້ນ"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"ຮູບພື້ນຫຼັງ"</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="accessibility_preview_pager" msgid="3548503287402185430">"ໜ້າທີ <xliff:g id="ID_1">%1$d</xliff:g> ຈາກທັງໝົດ <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"ຖັດໄປ"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"ກ່ອນໜ້າ"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"ຕົວຢ່າງຮູບແບບ"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ຕົວຢ່າງຊ່ອງ"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"ຕົວຢ່າງຟອນ"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"ຕົວຢ່າງໄອຄອນ"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"ຕົວຢ່າງສີ"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"ຕົວຢ່າງຮູບຮ່າງ"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, ຕອນນີ້ນຳໃຊ້ແລ້ວ"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, ຕອນນີ້ນຳໃຊ້ ແລະ ເບິ່ງຕົວຢ່າງແລ້ວ"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, ຕອນນີ້ເບິ່ງຕົວຢ່າງແລ້ວ"</string>
@@ -41,13 +43,16 @@
     <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_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="7348498271552054431">"ນຳໃຊ້ຮູບແບບແລ້ວ"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ນຳໃຊ້ໂມງແລ້ວ"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"ຕັ້ງຮູບແບບສຳເລັດແລ້ວ"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ຕັ້ງໂມງສຳເລັດແລ້ວ"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ຕັ້ງຊ່ອງສຳເລັດແລ້ວ"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"ເກີດບັນຫາໃນການນຳໃຊ້ຮູບແບບ"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"ຖັດໄປ"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"ຜ່ານມາ"</string>
-    <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g> ແບບກຳນົດເອງ"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"ກຳນົດເອງ"</string>
+    <string name="custom_theme_title" msgid="2192300350332693631">"ແບບກຳນົດເອງ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"ຮູບແບບກຳນົດເອງ"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"ລຶບ"</string>
     <string name="font_component_title" msgid="8800340833695292049">"ເລືອກຟອນ"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 07984e6..3be2ab7 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Ekrano fonas"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Taikyti"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g> psl. iš <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Kitas"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Ankstesnis"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Stiliaus peržiūra"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Tinklelio peržiūra"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Šrifto peržiūra"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Piktogramos peržiūra"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Spalvos peržiūra"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Formos peržiūra"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, šiuo metu taikoma"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, šiuo metu taikoma ir peržiūrima"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, šiuo metu peržiūrima"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Ekrano fonas"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Pridėkite mėgstamiausių šriftų prie kiekvieno ekrano"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Pasirinkti tinklelio dydį"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stilius pritaikytas"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Laikrodis pritaikytas"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stilius nustatytas sėkmingai"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Laikrodis nustatytas sėkmingai"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Tinklelis nustatytas sėkmingai"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Taikant stilių kilo problema"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Kitas"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Ankstesnis"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Tinkinta"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Tinkintas <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Tinkintas stilius"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Ištrinti"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index c671560..0297f29 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Fona tapete"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g>. lapa no <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Tālāk"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Atpakaļ"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Fona tapete"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Pievienojiet savus iecienītos fontus visos ekrānos."</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Režģa izmēra izvēle"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stils tiek lietots"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Ciparnīca tiek lietota"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stils ir sekmīgi iestatīts"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Pulkstenis ir sekmīgi iestatīts"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Režģis ir sekmīgi iestatīts"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Lietojot stilu, radās problēma."</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Tālāk"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Atpakaļ"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Pielāgots"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Pielāgots <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Pielāgots stils"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Dzēst"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nē, paldies"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g>: pulksteņa priekšskatījums"</string>
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index cf58de7..9266846 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"Стил"</string>
     <string name="clock_title" msgid="2126046720254613991">"Часовник"</string>
     <string name="grid_title" msgid="2825094404523390773">"Мрежа"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Тапет"</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="accessibility_preview_pager" msgid="3548503287402185430">"Страница <xliff:g id="ID_1">%1$d</xliff:g> од <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Следно"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Претходно"</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="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>
@@ -41,19 +47,22 @@
     <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_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="7348498271552054431">"Стилот е применет"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Часовникот е применет"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Стилот е успешно поставен"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Часовникот е успешно поставен"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Решетката е успешно поставена"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Настана проблем со применување на стилот"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Следно"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Претходно"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Приспособена"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Приспособен <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Приспособен стил"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Избриши"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Изберете фонт"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"Изберете икони"</string>
     <string name="color_component_title" msgid="1194089273921078816">"Изберете боја"</string>
-    <string name="shape_component_title" msgid="8366847436022025538">"Изберете форма"</string>
+    <string name="shape_component_title" msgid="8366847436022025538">"Изберете облик"</string>
     <string name="name_component_title" msgid="532425087968663437">"Именувајте го вашиот стил"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"Икони <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"Да се избрише приспособениот стил?"</string>
@@ -65,5 +74,8 @@
     <string name="use_style_button" msgid="1754493078383627019">"Користи <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="no_thanks" msgid="7286616980115687627">"Не, фала"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Преглед на часовник <xliff:g id="ID_1">%1$s</xliff:g>"</string>
-    <string name="something_went_wrong" msgid="529840112449799117">"Оф леле! Нешто тргна наопаку."</string>
+    <string name="something_went_wrong" msgid="529840112449799117">"Уф! Нешто тргна наопаку."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Боја/икони"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index ea0488a..8ac69b6 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"സ്‌റ്റൈൽ"</string>
     <string name="clock_title" msgid="2126046720254613991">"ക്ലോക്ക്"</string>
     <string name="grid_title" msgid="2825094404523390773">"ഗ്രിഡ്"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"വാൾപേപ്പർ"</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="accessibility_preview_pager" msgid="3548503287402185430">"ആകെ <xliff:g id="ID_2">%2$d</xliff:g> പേജുകളിൽ <xliff:g id="ID_1">%1$d</xliff:g>-ാമത്തെ പേജ്"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"അടുത്തത്"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"മുൻപത്തേത്"</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="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>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"സ്‌റ്റൈൽ പ്രയോഗിച്ചു"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ക്ലോക്ക് പ്രയോഗിച്ചു"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"സ്‌റ്റൈൽ സജ്ജമാക്കി"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ക്ലോക്ക് സജ്ജമാക്കി"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ഗ്രിഡ് സജ്ജമാക്കി"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"സ്‌റ്റൈൽ പ്രയോഗിക്കുന്നതിൽ ഒരു പ്രശ്‌നമുണ്ടായി"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"അടുത്തത്"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"മുമ്പത്തെ"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"ഇഷ്‌ടാനുസൃതം"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"ഇഷ്‌ടാനുസൃതം <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"ഇഷ്‌ടാനുസൃത സ്‌റ്റൈൽ"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"ഇല്ലാതാക്കുക"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 136afb1..755eb97 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"Загвар"</string>
     <string name="clock_title" msgid="2126046720254613991">"Цаг"</string>
     <string name="grid_title" msgid="2825094404523390773">"Эгнээ"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Ханын зураг"</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="accessibility_preview_pager" msgid="3548503287402185430">"Хуудас <xliff:g id="ID_2">%2$d</xliff:g>-н <xliff:g id="ID_1">%1$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Дараах"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Өмнөх"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Загварыг урьдчилан үзэх"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Торыг урьдчилан үзэх"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Фонтыг урьдчилан үзэх"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Дүрс тэмдгийг урьдчилан үзэх"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Өнгийг урьдчилан үзэх"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Хэлбэрийг урьдчилан үзэх"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>-г одоогоор ашигласан"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>-г одоогоор хэрэгжүүлсэн бөгөөд шалгасан"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>-г одоогоор шалгасан"</string>
@@ -41,12 +43,15 @@
     <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_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="7348498271552054431">"Загварыг ашигласан"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Цагийг ашигласан"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Загварыг амжилттай тохирууллаа"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Цагийг амжилттай тохирууллаа"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Торыг амжилттай тохирууллаа"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Загварыг ашиглахад асуудал гарлаа"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Дараах"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Өмнөх"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Захиалгат"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Захиалгат <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Захиалгат загвар"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Устгах"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index a5e0550..03d8adb 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"शैली"</string>
     <string name="clock_title" msgid="2126046720254613991">"घड्याळ"</string>
     <string name="grid_title" msgid="2825094404523390773">"ग्रिड"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"वॉलपेपर"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_2">%2$d</xliff:g> पैकी <xliff:g id="ID_1">%1$d</xliff:g> पेज"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"पुढील"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"मागील"</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="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>
@@ -41,12 +47,15 @@
     <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="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="7348498271552054431">"शैली लागू केली आहे"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"क्लॉक लागू केले"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"शैली यशस्वीरीत्या सेट केली"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"क्लॉक यशस्वीरीत्या सेट केले"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ग्रिड यशस्वीरीत्या सेट केले"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"शैली लागू करताना समस्या आली"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"पुढील"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"मागील"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"कस्टम"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"कस्टम <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"कस्टम शैली"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"हटवा"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 87d6f6d..d0e227b 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Kertas dinding"</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="accessibility_preview_pager" msgid="3548503287402185430">"Halaman <xliff:g id="ID_1">%1$d</xliff:g> daripada <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Seterusnya"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Sebelumnya"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Kertas dinding"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Tambahkan fon kegemaran anda pada setiap skrin"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Pilih saiz grid"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Gaya digunakan"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Jam digunakan"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Gaya berjaya ditetapkan"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Jam berjaya ditetapkan"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Grid berjaya ditetapkan"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Terdapat masalah menggunakan gaya"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Seterusnya"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Sebelumnya"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Tersuai"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Tersuai <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Gaya Tersuai"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Padam"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Tidak perlu"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> pratonton jam"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Op! Berlaku kesilapan."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Warna / Ikon"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index a0f8435..5094e77 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"ပုံစံ"</string>
     <string name="clock_title" msgid="2126046720254613991">"နာရီ"</string>
     <string name="grid_title" msgid="2825094404523390773">"ဇယားကွက်"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"နောက်ခံ"</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="accessibility_preview_pager" msgid="3548503287402185430">"စာမျက်နှာ <xliff:g id="ID_2">%2$d</xliff:g> မျက်နှာအနက် <xliff:g id="ID_1">%1$d</xliff:g> မျက်နှာ"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"ရှေ့သို့"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"ယခင်"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"ပုံစံ အစမ်းကြည့်ရှုခြင်း"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ဇယားကွက် အစမ်းကြည့်ရှုခြင်း"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"ဖောင့် အစမ်းကြည့်ရှုခြင်း"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"သင်္ကေတ အစမ်းကြည့်ရှုခြင်း"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"အရောင် အစမ်းကြည့်ရှုခြင်း"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"ပုံသဏ္ဌာန် အစမ်းကြည့်ရှုခြင်း"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g> ကို လက်ရှိအသုံးပြုထားသည်"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>၊ လက်ရှိ အသုံးပြုပြီး အစမ်းကြည့်ထားသည်"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>၊ လက်ရှိ အစမ်းကြည့်ထားသည်"</string>
@@ -41,12 +43,15 @@
     <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="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="7348498271552054431">"ပုံစံ အသုံပြုထားပါသည်"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"နာရီကို အသုံးပြုထားသည်"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"ပုံစံကို အောင်မြင်စွာ သတ်မှတ်ပြီးပါပြီ"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"နာရီကို အောင်မြင်စွာ သတ်မှတ်ပြီးပါပြီ"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ဇယားကွက်ကို အောင်မြင်စွာ သတ်မှတ်ပြီးပါပြီ"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"ဤပုံစံ အသုံးပြုရာတွင် ပြဿနာရှိသည်"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"ရှေ့သို့"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"ယခင်"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"စိတ်ကြိုက်"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"စိတ်ကြိုက် <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"စိတ်ကြိုက် ပုံစံ"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"ဖျက်ရန်"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 062a98b..bd49d14 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Bakgrunn"</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="accessibility_preview_pager" msgid="3548503287402185430">"Side <xliff:g id="ID_1">%1$d</xliff:g> av <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Neste"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Forrige"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Bakgrunn"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Legg til favorittskrifttypen din på alle skjermer"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Velg rutenettstørrelse"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stilen brukes"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Klokken brukes"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stilen er angitt"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Klokken er angitt"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Rutenettet er angitt"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Det oppsto et problem med implementering av stilen"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Neste"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Forrige"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Tilpasset"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Tilpasset <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Egendefinert stil"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Slett"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nei takk"</string>
     <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 />
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 5b3c636..2777261 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -21,38 +21,47 @@
     <string name="theme_title" msgid="2144932106319405101">"शैली"</string>
     <string name="clock_title" msgid="2126046720254613991">"घडी"</string>
     <string name="grid_title" msgid="2825094404523390773">"ग्रिड"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"वालपेपर"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g> मध्ये <xliff:g id="ID_2">%2$d</xliff:g> पृष्ठ"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"अर्को"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"अघिल्लो"</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="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_icon" msgid="6818927315316316440">"आइकन"</string>
-    <string name="preview_name_color" msgid="8776203144994416172">"रङ"</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="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="7348498271552054431">"शैली लागू गरियो"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"घडी लागू गरियो"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"शैली सफलतापूर्वक सेट गरियो"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"घडी सफलतापूर्वक सेट गरियो"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ग्रिड सफलतापूर्वक सेट गरियो"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"उक्त शैली लागू गर्ने क्रममा कुनै समस्या भयो"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"अर्को"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"अघिल्लो"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"रोजेको"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"आफू अनुकूल <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"आफू अनुकूल शैली"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"मेट्नुहोस्"</string>
     <string name="font_component_title" msgid="8800340833695292049">"फन्ट छनौट गर्नुहोस्"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"आइकनहरू छनौट गर्नुहोस्"</string>
-    <string name="color_component_title" msgid="1194089273921078816">"रङ छनौट गर्नुहोस्"</string>
+    <string name="color_component_title" msgid="1194089273921078816">"रङ्ग छनौट गर्नुहोस्"</string>
     <string name="shape_component_title" msgid="8366847436022025538">"आकार छनौट गर्नुहोस्"</string>
     <string name="name_component_title" msgid="532425087968663437">"आफ्नो शैलीको नाम राख्नुहोस्"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"आइकनहरू <xliff:g id="ID_1">%1$d</xliff:g>"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
index c6b2a3f..4f369a7 100644
--- a/res/values-night/colors.xml
+++ b/res/values-night/colors.xml
@@ -20,6 +20,9 @@
 
     <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>
@@ -33,9 +36,6 @@
     <color name="tip_dot_color">#81C995</color>
     <color name="tip_dot_line_color">#000000</color>
 
-    <color name="selected_check_color">#000000</color>
-    <color name="selected_check_background_color">#81C995</color>
-
     <color name="toolbar_icon_color">@color/text_color_light</color>
 
     <color name="divider_color">@color/white_14_alpha</color>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 71f7f24..ee6461d 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -21,37 +21,42 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Achtergrond"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Toepassen"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Pagina <xliff:g id="ID_1">%1$d</xliff:g> van <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Volgende"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Vorige"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Stijlvoorbeeld"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Rastervoorbeeld"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Lettertypevoorbeeld"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Icoonvoorbeeld"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Kleurvoorbeeld"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Vormvoorbeeld"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, momenteel toegepast"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, wordt momenteel toegepast en bekeken"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, wordt momenteel bekeken"</string>
     <string name="theme_description" msgid="3697012391785254635">"Lettertype: <xliff:g id="ID_1">%1$s</xliff:g>, pictogrammen: <xliff:g id="ID_2">%2$s</xliff:g>, vorm: <xliff:g id="ID_3">%3$s</xliff:g>, kleur: <xliff:g id="ID_4">%4$s</xliff:g>"</string>
     <string name="default_theme_title" msgid="2555741736622366797">"Standaard"</string>
     <string name="preview_name_font" msgid="4465423899630037038">"Lettertype"</string>
-    <string name="preview_name_icon" msgid="6818927315316316440">"Pictogram"</string>
+    <string name="preview_name_icon" msgid="6818927315316316440">"Icoon"</string>
     <string name="preview_name_color" msgid="8776203144994416172">"Kleur"</string>
     <string name="preview_name_shape" msgid="5676971146080968721">"Vorm"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Achtergrond"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Voeg je favoriete lettertypen toe aan elk scherm"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Een rastergrootte kiezen"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stijl toegepast"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Klok toegepast"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stijl ingesteld"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Klok ingesteld"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Raster ingesteld"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Er is een probleem opgetreden bij het toepassen van de stijl"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Volgende"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Vorige"</string>
-    <string name="custom_theme_title" msgid="2192300350332693631">"Custom <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Aangepast"</string>
+    <string name="custom_theme_title" msgid="2192300350332693631">"Aangepast <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Aangepaste stijl"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Verwijderen"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Lettertype kiezen"</string>
-    <string name="icon_component_title" msgid="5779787138399083903">"Pictogrammen kiezen"</string>
+    <string name="icon_component_title" msgid="5779787138399083903">"Iconen kiezen"</string>
     <string name="color_component_title" msgid="1194089273921078816">"Kleur kiezen"</string>
     <string name="shape_component_title" msgid="8366847436022025538">"Vorm kiezen"</string>
     <string name="name_component_title" msgid="532425087968663437">"Je stijl een naam geven"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nee, bedankt"</string>
     <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 />
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 071664a..6d1badb 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -17,18 +17,24 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_name" msgid="6995669566699638946">"ଶୈଳୀ ଏବଂ ୱାଲ୍‍ପେପର୍"</string>
-    <string name="theme_title" msgid="2144932106319405101">"ଶୈଳୀ"</string>
+    <string name="app_name" msgid="6995669566699638946">"ଷ୍ଟାଇଲ୍ ଏବଂ ୱାଲପେପର୍"</string>
+    <string name="theme_title" msgid="2144932106319405101">"ଷ୍ଟାଇଲ୍"</string>
     <string name="clock_title" msgid="2126046720254613991">"ଘଣ୍ଟା"</string>
     <string name="grid_title" msgid="2825094404523390773">"ଗ୍ରିଡ୍"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"ୱାଲ୍‌ପେପର୍"</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="accessibility_preview_pager" msgid="3548503287402185430">"ମୋଟ <xliff:g id="ID_2">%2$d</xliff:g>ର <xliff:g id="ID_1">%1$d</xliff:g> ପୃଷ୍ଠା"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"ପରବର୍ତ୍ତୀ"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"ପୂର୍ବବର୍ତ୍ତୀ"</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="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>
@@ -41,14 +47,17 @@
     <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_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="7348498271552054431">"ଶୈଳୀ ଲାଗୁ କରାଯାଇଛି"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ଘଣ୍ଟା ଲାଗୁ କରାଯାଇଛି"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"ଷ୍ଟାଇଲ୍ ସଫଳତାର ସହ ସେଟ୍ ହୋଇଛି"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ଘଣ୍ଟା ସଫଳତାର ସହ ସେଟ୍ ହୋଇଛି"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ଗ୍ରିଡ୍ ସଫଳତାର ସହ ସେଟ୍ ହୋଇଛି"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"ଶୈଳୀ ପ୍ରୟୋଗ କରିବାରେ କିଛି ସମସ୍ୟା ହୋଇଛି"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"ପରବର୍ତ୍ତୀ"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"ପୂର୍ବବର୍ତ୍ତୀ"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"କଷ୍ଟମ୍"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"କଷ୍ଟମ୍ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
-    <string name="custom_theme_fragment_title" msgid="6615547284702040280">"କଷ୍ଟମ୍‌ ଶୈଳୀ"</string>
+    <string name="custom_theme_fragment_title" msgid="6615547284702040280">"କଷ୍ଟମ୍‌ ଷ୍ଟାଇଲ୍"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"ଡିଲିଟ୍‍ କରନ୍ତୁ"</string>
     <string name="font_component_title" msgid="8800340833695292049">"ଫଣ୍ଟ ଚୟନ କରନ୍ତୁ"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"ଆଇକନ୍ ଚୟନ କରନ୍ତୁ"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 61d89a0..f61182b 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"ਸ਼ੈਲੀ"</string>
     <string name="clock_title" msgid="2126046720254613991">"ਘੜੀ"</string>
     <string name="grid_title" msgid="2825094404523390773">"ਗ੍ਰਿਡ"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"ਵਾਲਪੇਪਰ"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_2">%2$d</xliff:g> ਵਿੱਚੋਂ ਪੰਨਾ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"ਅੱਗੇ"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"ਪਿੱਛੇ"</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="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>
@@ -40,13 +46,16 @@
     <string name="preview_name_shape" msgid="5676971146080968721">"ਆਕ੍ਰਿਤੀ"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"ਵਾਲਪੇਪਰ"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"ਹਰ ਸਕ੍ਰੀਨ \'ਤੇ ਆਪਣਾ ਮਨਪਸੰਦ ਫੌਂਟ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"ਹਰ ਸਕ੍ਰੀਨ \'ਤੇ ਆਪਣੇ ਮਨਪਸੰਦ ਫੌਂਟ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"ਗ੍ਰਿਡ ਦਾ ਆਕਾਰ ਚੁਣੋ"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"ਸ਼ੈਲੀ ਲਾਗੂ ਕੀਤੀ ਗਈ"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ਘੜੀ ਲਾਗੂ ਕੀਤੀ ਗਈ"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"ਸਟਾਈਲ ਸਫਲਤਾਪੂਰਵਕ ਸੈੱਟ ਕੀਤਾ ਗਿਆ"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ਘੜੀ ਸਫਲਤਾਪੂਰਵਕ ਸੈੱਟ ਕੀਤੀ ਗਈ"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ਗ੍ਰਿਡ ਸਫਲਤਾਪੂਰਵਕ ਸੈੱਟ ਕੀਤਾ ਗਿਆ"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"ਸ਼ੈਲੀ ਨੂੰ ਲਾਗੂ ਕਰਨ ਵਿੱਚ ਕੋਈ ਸਮੱਸਿਆ ਆਈ"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"ਅੱਗੇ"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"ਪਿੱਛੇ"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"ਵਿਉਂਤਬੱਧ"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"ਵਿਉਂਤਿਆ <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"ਵਿਉਂਂਤੀ ਸ਼ੈਲੀ"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"ਮਿਟਾਓ"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 7b94f32..0b3bdc6 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Tapeta"</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="accessibility_preview_pager" msgid="3548503287402185430">"Strona <xliff:g id="ID_1">%1$d</xliff:g> z <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Dalej"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Wstecz"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Tapeta"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Dodaj swoje ulubione czcionki do każdego ekranu"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Wybierz rozmiar siatki"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Zastosowano styl"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Zastosowano zegar"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Styl został ustawiony"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Zegar został ustawiony"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Siatka została ustawiona"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Podczas stosowania stylu wystąpił problem"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Dalej"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Wstecz"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Niestandardowy"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Niestandardowy <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Własny styl"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Usuń"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nie, dziękuję"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Podgląd zegara <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 73dc198..cf9bb6f 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Imagem de fundo"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Aplicar"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Página <xliff:g id="ID_1">%1$d</xliff:g> de <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Seguinte"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Anterior"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Pré-visualização do estilo"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Pré-visualização da grelha"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Pré-visualiz. do tipo de letra"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Pré-visualização do ícone"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Pré-visualização da cor"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Pré-visualização da forma"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, aplicado atualmente"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, aplicado e em pré-visualização atualmente"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, em pré-visualização atualmente"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Imagem de fundo"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Adicione os seus tipos de letra favoritos a todos os ecrãs."</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Escolha um tamanho de grelha"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Estilo aplicado"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Relógio aplicado."</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Estilo definido com êxito."</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Relógio definido com êxito."</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Grelha definida com êxito."</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Ocorreu um problema ao aplicar o estilo."</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Seguinte"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Anterior"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Personalizado"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Personalizado <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Estilo personalizado"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Eliminar"</string>
@@ -66,4 +71,7 @@
     <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="theme_preview_icons_section_title" msgid="7064768910744000643">"Cor/Ícones"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 417280b..af1bb01 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Plano de fundo"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Aplicar"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Página <xliff:g id="ID_1">%1$d</xliff:g> de <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Próxima"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Anterior"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Visualização do estilo"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Visualização da grade"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Visualização da fonte"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Visualização do ícone"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Visualização da cor"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Visualização da forma"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"Opção <xliff:g id="ID_1">%1$s</xliff:g> aplicada no momento"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"Opção <xliff:g id="ID_1">%1$s</xliff:g> aplicada e visualizada no momento"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"Opção <xliff:g id="ID_1">%1$s</xliff:g> visualizada no momento"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Plano de fundo"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Adicione suas fontes favoritas a cada tela"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Escolha o tamanho da grade"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Estilo aplicado"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"O relógio foi aplicado"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Estilo definido"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Relógio definido"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Grade definida"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Ocorreu um problema na aplicação do estilo"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Próxima"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Anterior"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Personalizado"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Personalizado <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Estilo personalizado"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Excluir"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Não"</string>
     <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 />
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 04e1a3f..2631b1d 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Imagine de fundal"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Aplicați"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Pagina <xliff:g id="ID_1">%1$d</xliff:g> din <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Înainte"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Înapoi"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Previzualizarea stilului"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Previzualizarea grilei"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Previzualizarea fontului"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Previzualizarea pictogramei"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Previzualizarea culorii"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Previzualizarea formei"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"S-a aplicat <xliff:g id="ID_1">%1$s</xliff:g> acum"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, aplicată și previzualizată acum"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, previzualizată acum"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Imagine de fundal"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Adăugați fonturile preferate pe fiecare ecran"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Alegeți o dimensiune de grilă"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"S-a aplicat stilul"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"S-a aplicat ceasul"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stilul a fost setat"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Ceasul a fost setat"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Grila a fost setată"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"A apărut o problemă la aplicarea stilului"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Înainte"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Înapoi"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Personalizat"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g> personalizat"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Stil personalizat"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Ștergeți"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nu, mulțumesc"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Previzualizarea ceasului <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 0b356fc..a497f91 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"Стиль"</string>
     <string name="clock_title" msgid="2126046720254613991">"Часы"</string>
     <string name="grid_title" msgid="2825094404523390773">"Сетка"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Обои"</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="accessibility_preview_pager" msgid="3548503287402185430">"Страница <xliff:g id="ID_1">%1$d</xliff:g>, всего <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Далее"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Назад"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Предварительный просмотр стиля"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Предварительный просмотр сетки"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Предпросмотр шрифта"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Предпросмотр значка"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Предпросмотр цвета"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Предпросмотр формы"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"Применено сейчас: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"Сейчас включено и показано: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"Сейчас показано: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Обои"</string>
     <string name="font_card_title" msgid="2343292653502548685">"АБВ • абв • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Добавьте любимые шрифты на каждый экран."</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Выберите размер сетки"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Стиль применен."</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Стиль часов изменен."</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Стиль настроен."</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Часы настроены."</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Сетка настроена."</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Не удалось применить стиль."</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Далее"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Назад"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Собственная"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Своя тема <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Свой стиль"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Удалить"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index b9e20a3..dc24850 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"විලාසය"</string>
     <string name="clock_title" msgid="2126046720254613991">"ඔරලෝසුව"</string>
     <string name="grid_title" msgid="2825094404523390773">"ජාලකය"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"බිතුපත"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_2">%2$d</xliff:g>න් <xliff:g id="ID_1">%1$d</xliff:g> වැනි පිටුව"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"මීළඟ"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"පෙර"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"විලාස පෙරදසුන"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"ජාලක පෙරදසුන"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"ෆොන්ට පෙරදසුන"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"නිරූපක පෙරදසුන"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"වර්ණ පෙරදසුන"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"හැඩ පෙරදසුන"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, දැනට යෙදේ"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, දැනට යෙදිණි සහ පෙරදසුන්ගතයි"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, දැනට පෙරදසුන්ගතයි"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"බිතුපත"</string>
     <string name="font_card_title" msgid="2343292653502548685">"අආඇ • අආඇ • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"සෑම තිරයටම ඔබේ ප්‍රියතම අකුරු එක් කරන්න"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"ජාලක තරමක් තෝරා ගන්න"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"විලාසය යෙදිණි"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ඔරලෝසුව යෙදිණි"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"විලාස සාර්ථකව සැකසිණි"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ඔරලෝසුව සාර්ථකව සැකසිණි"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ජාලකය සාර්ථකව සැකසිණි"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"විලාසය යෙදීමේ දී ගැටලුවක් විය"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"මීළඟ"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"පෙර"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"අභිරුචි"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"අභිරුචි <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"අභිරුචි විලාසය"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"මකන්න"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 336c221..c19f3bc 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Tapeta"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g>. strana z <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Ďalej"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Naspäť"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Tapeta"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Pridajte na každú obrazovku svoje obľúbené písma"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Vyberte veľkosť mriežky"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> × <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Bol použitý štýl"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Hodiny boli použité"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Štýl bol úspešne nastavený"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Hodiny boli úspešne nastavené"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Mriežka bola úspešne nastavená"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Vyskytol sa problém s použitím tohto štýlu"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Ďalej"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Späť"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Vlastné"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g>. vlastný motív"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Vlastný štýl"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Odstrániť"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nie, ďakujem"</string>
     <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 />
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index b2415a6..d208cf7 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Ozadje"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g>. stran od <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Naprej"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Nazaj"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Ozadje"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Dodajte priljubljeno pisavo na vsak zaslon"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Izbira velikosti mreže"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Uporabljen je bil slog"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Ura je uporabljena"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Slog je uspešno nastavljen"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Ura je uspešno nastavljena"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Mreža je uspešno nastavljena"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Pri uporabi sloga je prišlo do težave"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Naprej"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Nazaj"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Po meri"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Po meri <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Slog po meri"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Izbris"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Ne, hvala"</string>
     <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 />
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index b6b9c45..10cc0d6 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Imazhi i sfondit"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Zbato"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Faqja <xliff:g id="ID_1">%1$d</xliff:g> nga <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Para"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Prapa"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Pamja paraprake e stilit"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Pamja paraprake e rrjetës"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Pamja paraprake e fontit"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Pamja paraprake e ikonës"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Pamja paraprake e ngjyrave"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Pamja paraprake e formës"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, është zbatuar aktualisht"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, aktualisht është zbatuar dhe në pamje paraprake"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, aktualisht në pamje paraprake"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Imazhi i sfondit"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Shto fontet e tua të preferuara në çdo ekran"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Zgjidh një madhësi rrjete"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stili u zbatua"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Ora u zbatua"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stili u caktua me sukses"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Ora u caktua me sukses"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Rrjeta u caktua me sukses"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Kishte një problem me zbatimin e stilit"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Para"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Prapa"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Personalizo"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"E personalizuar <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Stili i personalizuar"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Fshi"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Jo, faleminderit"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Pamja paraprake e orës <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Mos! Ndodhi një gabim."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Ngjyra / Ikonat"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index afe91b4..c2179e6 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"Стил"</string>
     <string name="clock_title" msgid="2126046720254613991">"Сат"</string>
     <string name="grid_title" msgid="2825094404523390773">"Мрежа"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Позадина"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_1">%1$d</xliff:g>. страница од <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Следећа"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Претходна"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Преглед стила"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Преглед мреже"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Преглед фонта"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Преглед иконе"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Преглед боје"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Преглед облика"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, тренутно је примењено"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, тренутно је примењено и прегледа се"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, тренутно се прегледа"</string>
@@ -41,12 +43,15 @@
     <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_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="7348498271552054431">"Стил је примењен"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Сат је примењен"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Подешавање стила је успело"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Подешавање сата је успело"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Подешавање мреже је успело"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Дошло је до проблема при примени стила"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Даље"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Претходно"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Прилагођено"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Прилагођено <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Прилагођени стил"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Избриши"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index d124728..ecd3e85 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Bakgrund"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Använd"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Sida <xliff:g id="ID_1">%1$d</xliff:g> av <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Nästa"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Föregående"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Förhandsgranska stilen"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Förhandsgranska rutnätet"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Förhandsgranska teckensnitt"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Förhandsgranska ikoner"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Förhandsgranska färger"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Förhandsgranska former"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g> tillämpas för närvarande"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> förhandsgranskas och tillämpas just nu"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> förhandsgranskas just nu"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Bakgrund"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Lägg till teckensnitt som du gillar på varje skärm"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Välj rutnätsstorlek"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Formatet används"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Klockan har tillämpats"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stilen har angetts"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Klockan har angetts"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Rutnätet har angetts"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Det gick inte att använda formatet"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Nästa"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Föregående"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Anpassat"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Anpassad <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Anpassat format"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Radera"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Nej tack"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"Förhandsvisning av urtavlan <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index db157ae..0aae7d7 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Mandhari"</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="accessibility_preview_pager" msgid="3548503287402185430">"Ukurasa wa <xliff:g id="ID_1">%1$d</xliff:g> kati ya <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Unaofuata"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Uliotangulia"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Mandhari"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <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="7348498271552054431">"Umetumia mtindo"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Saa inatumika"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Imeweka muundo"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Imeweka saa"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Imeweka gridi"</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>
+    <string name="custom_theme" msgid="1618351922263478163">"Maalum"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g> Maalum"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Muundo Maalum"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Futa"</string>
@@ -63,7 +72,10 @@
     <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_button" msgid="1754493078383627019">"Tumia <xliff:g id="ID_1">%1$s</xliff:g>"</string>
-    <string name="no_thanks" msgid="7286616980115687627">"Hapana, asante"</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 />
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index a539944..da70d01 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"ஸ்டைல்"</string>
     <string name="clock_title" msgid="2126046720254613991">"கடிகாரம்"</string>
     <string name="grid_title" msgid="2825094404523390773">"கட்டம்"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"வால்பேப்பர்"</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="accessibility_preview_pager" msgid="3548503287402185430">"பக்கம் <xliff:g id="ID_1">%1$d</xliff:g> / <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"அடுத்த பக்கத்திற்குச் செல்வதற்கான பட்டன்"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"முந்தைய பக்கத்திற்குச் செல்வதற்கான பட்டன்"</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="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>
@@ -41,13 +47,16 @@
     <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_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="7348498271552054431">"ஸ்டைல் பயன்படுத்தப்பட்டது"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"கடிகாரம் பயன்படுத்தப்பட்டது"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"ஸ்டைல் அமைக்கப்பட்டது"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"கடிகாரம் அமைக்கப்பட்டது"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"கட்டம் அமைக்கப்பட்டது"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"இந்த ஸ்டைலைப் பயன்படுத்துவதில் சிக்கல் உள்ளது"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"அடுத்து"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"முந்தையது"</string>
-    <string name="custom_theme_title" msgid="2192300350332693631">"தனிப்பயன் <xliff:g id="ID_1">%1$d</xliff:g>"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"பிரத்தியேகம்"</string>
+    <string name="custom_theme_title" msgid="2192300350332693631">"பிரத்தியேக <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"பிரத்தியேக ஸ்டைல்"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"நீக்கு"</string>
     <string name="font_component_title" msgid="8800340833695292049">"எழுத்துருவைத் தேர்ந்தெடுத்தல்"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 12dd69d..8e03819 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"శైలి"</string>
     <string name="clock_title" msgid="2126046720254613991">"గడియారం"</string>
     <string name="grid_title" msgid="2825094404523390773">"గ్రిడ్"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"వాల్‌పేపర్"</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="accessibility_preview_pager" msgid="3548503287402185430">"<xliff:g id="ID_2">%2$d</xliff:g>లో <xliff:g id="ID_1">%1$d</xliff:g>వ పేజీ"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"తర్వాత"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"మునుపటి"</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="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>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"శైలి వర్తింపజేయబడింది"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"గడియారం వర్తింపజేయబడింది"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"స్టైల్ విజయవంతంగా సెట్ చేయబడింది"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"గడియారం విజయవంతంగా సెట్ చేయబడింది"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"గ్రిడ్ విజయవంతంగా సెట్ చేయబడింది"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"శైలిని వర్తింపజేస్తున్నప్పుడు సమస్య ఏర్పడింది"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"తర్వాత"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"మునుపటి"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"అనుకూలం"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"అనుకూల <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"అనుకూల శైలి"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"తొలగించు"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index d061f5e..6906d93 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"รูปแบบ"</string>
     <string name="clock_title" msgid="2126046720254613991">"นาฬิกา"</string>
     <string name="grid_title" msgid="2825094404523390773">"ตารางกริด"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"วอลเปเปอร์"</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="accessibility_preview_pager" msgid="3548503287402185430">"หน้า <xliff:g id="ID_1">%1$d</xliff:g> จาก <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"ถัดไป"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"ก่อนหน้า"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"พรีวิวรูปแบบ"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"พรีวิวตารางกริด"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"พรีวิวแบบอักษร"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"พรีวิวไอคอน"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"พรีวิวสี"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"พรีวิวรูปร่าง"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g> ใช้อยู่ในขณะนี้"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>แสดงตัวอย่างและใช้อยู่"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>แสดงตัวอย่างอยู่"</string>
@@ -41,12 +43,15 @@
     <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_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="7348498271552054431">"ใช้รูปแบบแล้ว"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"ใช้นาฬิกาแล้ว"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"ตั้งค่ารูปแบบเรียบร้อยแล้ว"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"ตั้งนาฬิกาเรียบร้อยแล้ว"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"ตั้งค่าตารางกริดเรียบร้อยแล้ว"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"เกิดปัญหาในการใช้รูปแบบนี้"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"ถัดไป"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"ก่อนหน้า"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"กำหนดเอง"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"กำหนดเอง <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"รูปแบบที่กำหนดเอง"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"ลบ"</string>
@@ -54,7 +59,7 @@
     <string name="icon_component_title" msgid="5779787138399083903">"เลือกไอคอน"</string>
     <string name="color_component_title" msgid="1194089273921078816">"เลือกสี"</string>
     <string name="shape_component_title" msgid="8366847436022025538">"เลือกรูปร่าง"</string>
-    <string name="name_component_title" msgid="532425087968663437">"ตั้งชื่อสไตล์ของคุณ"</string>
+    <string name="name_component_title" msgid="532425087968663437">"ตั้งชื่อรูปแบบของคุณ"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"ไอคอน <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"ลบรูปแบบที่กำหนดเองใช่ไหม"</string>
     <string name="delete_custom_theme_button" msgid="5102462988130208824">"ลบ"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index cdc7de1..bed4b60 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Wallpaper"</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="accessibility_preview_pager" msgid="3548503287402185430">"Page <xliff:g id="ID_1">%1$d</xliff:g> ng <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Susunod"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Nakaraan"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Wallpaper"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Idagdag ang mga paborito mong font sa bawat screen"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Pumili ng laki ng grid"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Inilapat ang istilo"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Inilapat ang orasan"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Matagumpay na naitakda ang istilo"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Matagumpay na naitakda ang orasan"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Matagumpay na naitakda ang grid"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Nagkaproblema sa paglalapat ng istilo"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Susunod"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Nakaraan"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Custom"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Custom <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Custom na Istilo"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"I-delete"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Hindi, salamat"</string>
     <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 />
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 575f052..1992d89 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -21,14 +21,16 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Duvar kağıdı"</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>
     <string name="apply_btn" msgid="7965877231041987336">"Uygula"</string>
-    <string name="accessibility_preview_pager" msgid="3548503287402185430">"Sayfa <xliff:g id="ID_1">%1$d</xliff:g>/<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Sonraki"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Önceki"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"Stil önizleme"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"Izgara önizleme"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"Yazı tipi önizleme"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"Simge önizleme"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"Renk önizleme"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"Şekil önizleme"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"<xliff:g id="ID_1">%1$s</xliff:g>, uygulanmış durumda"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g>, şu anda uygulandı ve önizleniyor"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g>, şu anda önizleniyor"</string>
@@ -41,12 +43,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Duvar kağıdı"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"En sevdiğiniz yazı tiplerini her ekrana ekleyin"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Izgara boyutu seçin"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Stil uygulandı"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Saat uygulandı"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Stil başarıyla ayarlandı"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Saat başarıyla ayarlandı"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Izgara başarıyla ayarlandı"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Stili uygulamayla ilgili bir sorun oluştu"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Sonraki"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Önceki"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Özel"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Özel <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Özel Stil"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Sil"</string>
@@ -66,4 +71,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Hayır"</string>
     <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 />
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 9e04c90..9f22f75 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"Стиль"</string>
     <string name="clock_title" msgid="2126046720254613991">"Годинник"</string>
     <string name="grid_title" msgid="2825094404523390773">"Сітка"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"Фоновий малюнок"</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="accessibility_preview_pager" msgid="3548503287402185430">"Сторінка <xliff:g id="ID_1">%1$d</xliff:g> з <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Далі"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Назад"</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="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>
@@ -41,19 +47,22 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Фоновий малюнок"</string>
     <string name="font_card_title" msgid="2343292653502548685">"АБВ • абв • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Додайте вибрані шрифти до кожного екрана"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Виберіть розмір сітки"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Стиль застосовано"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Годинник застосовано"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Тему налаштовано"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Годинник налаштовано"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Сітку налаштовано"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Не вдалося застосувати стиль"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Далі"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Назад"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Власна тема"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Власна тема <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Власний стиль"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Видалити"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Виберіть шрифт"</string>
     <string name="icon_component_title" msgid="5779787138399083903">"Виберіть значки"</string>
     <string name="color_component_title" msgid="1194089273921078816">"Виберіть колір"</string>
-    <string name="shape_component_title" msgid="8366847436022025538">"Вибрати форму"</string>
+    <string name="shape_component_title" msgid="8366847436022025538">"Виберіть форму"</string>
     <string name="name_component_title" msgid="532425087968663437">"Введіть назву стилю"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"Значки <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"Видалити власний стиль?"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index e3b6823..56eba90 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"طرز"</string>
     <string name="clock_title" msgid="2126046720254613991">"گھڑی"</string>
     <string name="grid_title" msgid="2825094404523390773">"گرڈ"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"وال پیپر"</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="accessibility_preview_pager" msgid="3548503287402185430">"صفحہ <xliff:g id="ID_1">%1$d</xliff:g> از <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"اگلا"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"پچھلا"</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="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>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"طرز لاگو کر دی گئی"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"گھڑی لاگو ہو گئی"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"طرز کامیابی کے ساتھ سیٹ ہو گیا"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"گھڑی کامیابی کے ساتھ سیٹ ہو گئی"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"گرڈ کامیابی کے ساتھ سیٹ ہو گیا"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"طرز کو لاگو کرنے میں ایک مسئلہ پیش آ گیا"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"اگلا"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"پیچھے جائیں"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"حسب ضرورت"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"حسب ضرورت <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"حسب ضرورت طرز"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"حذف کریں"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 1d0c62b..70a658b 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Fon rasmi"</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="accessibility_preview_pager" msgid="3548503287402185430">"Sahifa: <xliff:g id="ID_1">%1$d</xliff:g> / <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Keyingisi"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Avvalgisi"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Fon rasmi"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Sevimli shriftlarni har bir ekranga kiriting"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Kataklar hajmini tanlang"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Uslub tatbiq etildi"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Soat tatbiq qilindi"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Dizayn sozlandi"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Soat sozlandi"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Kataklar sozlandi"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Uslubni tatbiq etishda xatolik yuz berdi"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Keyingisi"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Avvalgisi"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Boshqa"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Maxsus <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Boshqa uslub"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Oʻchirish"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index f688d90..b8de739 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Hình nền"</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="accessibility_preview_pager" msgid="3548503287402185430">"Trang <xliff:g id="ID_1">%1$d</xliff:g>/<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Tiếp theo"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Trước"</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="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>
@@ -41,13 +47,16 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Hình nền"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Thêm phông chữ bạn yêu thích vào mọi màn hình"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Chọn kích thước lưới"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Đã áp dụng kiểu"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Đã áp dụng đồng hồ"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Đã đặt kiểu thành công"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Đã đặt đồng hồ thành công"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"Đã đặt lưới thành công"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Đã xảy ra sự cố khi áp dụng kiểu"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Tiếp theo"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Trước"</string>
-    <string name="custom_theme_title" msgid="2192300350332693631">"<xliff:g id="ID_1">%1$d</xliff:g> tùy chỉnh"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Tùy chỉnh"</string>
+    <string name="custom_theme_title" msgid="2192300350332693631">"Tùy chỉnh <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Kiểu tùy chỉnh"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Xóa"</string>
     <string name="font_component_title" msgid="8800340833695292049">"Chọn phông chữ"</string>
@@ -66,4 +75,7 @@
     <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>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 52a0bda..3a85558 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -21,14 +21,20 @@
     <string name="theme_title" msgid="2144932106319405101">"样式"</string>
     <string name="clock_title" msgid="2126046720254613991">"时钟"</string>
     <string name="grid_title" msgid="2825094404523390773">"网格"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"壁纸"</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="accessibility_preview_pager" msgid="3548503287402185430">"第 <xliff:g id="ID_1">%1$d</xliff:g> 页，共 <xliff:g id="ID_2">%2$d</xliff:g> 页"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"下一页"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"上一页"</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="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>
@@ -41,12 +47,15 @@
     <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_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="7348498271552054431">"已应用样式"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"已应用时钟"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"已成功设置样式"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"已成功设置时钟"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"已成功设置网格"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"应用样式时出现问题"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"下一步"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"上一步"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"自定义"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"自定义 <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"自定义样式"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"删除"</string>
@@ -66,4 +75,7 @@
     <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 />
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 91ed965..74166e0 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"樣式"</string>
     <string name="clock_title" msgid="2126046720254613991">"時鐘"</string>
     <string name="grid_title" msgid="2825094404523390773">"格狀"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"桌布"</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="accessibility_preview_pager" msgid="3548503287402185430">"第 <xliff:g id="ID_1">%1$d</xliff:g> 頁，共 <xliff:g id="ID_2">%2$d</xliff:g> 頁"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"繼續"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"返回"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"預覽樣式"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"預覽網格"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"字型預覽"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"圖示預覽"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"顏色預覽"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"形狀預覽"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"目前已套用<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"目前已套用及預覽<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"目前已預覽<xliff:g id="ID_1">%1$s</xliff:g>"</string>
@@ -40,13 +42,16 @@
     <string name="preview_name_shape" msgid="5676971146080968721">"形狀"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"桌布"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"將您喜愛的字型放進每個畫面"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"讓每個畫面顯示您喜愛的字型"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"請選擇網格大小"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"已套用樣式"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"已套用時鐘"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"成功設定樣式"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"成功設定時鐘"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"成功設定網格"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"套用樣式時發生問題"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"繼續"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"上一步"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"自訂"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"自訂 <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"自訂樣式"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"刪除"</string>
@@ -54,7 +59,7 @@
     <string name="icon_component_title" msgid="5779787138399083903">"選擇圖示"</string>
     <string name="color_component_title" msgid="1194089273921078816">"選擇顏色"</string>
     <string name="shape_component_title" msgid="8366847436022025538">"選擇形狀"</string>
-    <string name="name_component_title" msgid="532425087968663437">"為您的風格命名"</string>
+    <string name="name_component_title" msgid="532425087968663437">"為樣式命名"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"圖示 <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"要刪除自訂樣式嗎？"</string>
     <string name="delete_custom_theme_button" msgid="5102462988130208824">"刪除"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index de8381a..fe1f3ce 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -21,14 +21,16 @@
     <string name="theme_title" msgid="2144932106319405101">"樣式"</string>
     <string name="clock_title" msgid="2126046720254613991">"時鐘"</string>
     <string name="grid_title" msgid="2825094404523390773">"網格"</string>
-    <string name="wallpaper_title" msgid="6952635398953194544">"桌布"</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="accessibility_preview_pager" msgid="3548503287402185430">"第 <xliff:g id="ID_1">%1$d</xliff:g> 頁，共 <xliff:g id="ID_2">%2$d</xliff:g> 頁"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"下一頁"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"上一頁"</string>
+    <string name="theme_preview_card_content_description" msgid="5989222908619535533">"樣式預覽"</string>
+    <string name="grid_preview_card_content_description" msgid="8449383777584714842">"網格預覽"</string>
+    <string name="font_preview_content_description" msgid="128230439293337891">"字型預覽"</string>
+    <string name="icon_preview_content_description" msgid="7761101284351952890">"圖示預覽"</string>
+    <string name="color_preview_content_description" msgid="4879120462082058124">"顏色預覽"</string>
+    <string name="shape_preview_content_description" msgid="6479487796176550432">"圖形預覽"</string>
     <string name="option_applied_description" msgid="5022305212078053534">"目前已套用「<xliff:g id="ID_1">%1$s</xliff:g>」"</string>
     <string name="option_applied_previewed_description" msgid="5269654286638446858">"<xliff:g id="ID_1">%1$s</xliff:g> (目前套用及預覽的項目)"</string>
     <string name="option_previewed_description" msgid="3467217598865047661">"<xliff:g id="ID_1">%1$s</xliff:g> (目前預覽的項目)"</string>
@@ -40,13 +42,16 @@
     <string name="preview_name_shape" msgid="5676971146080968721">"形狀"</string>
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"桌布"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
-    <string name="font_card_body" msgid="6790525594503904468">"將你喜愛的字型套用到每個畫面上的文字"</string>
+    <string name="font_card_body" msgid="6790525594503904468">"將你喜愛的字型套用到每個畫面"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"選擇網格大小"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g> x <xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"已套用樣式"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"已套用時鐘"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"已成功設定樣式"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"已成功設定時鐘"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"已成功設定網格"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"套用樣式時發生問題"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"下一步"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"上一步"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"自訂"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"自訂 <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"自訂樣式"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"刪除"</string>
@@ -54,7 +59,7 @@
     <string name="icon_component_title" msgid="5779787138399083903">"選擇圖示"</string>
     <string name="color_component_title" msgid="1194089273921078816">"選擇顏色"</string>
     <string name="shape_component_title" msgid="8366847436022025538">"選擇形狀"</string>
-    <string name="name_component_title" msgid="532425087968663437">"為樣式命名"</string>
+    <string name="name_component_title" msgid="532425087968663437">"樣式命名"</string>
     <string name="icon_component_label" msgid="2625784884001407944">"圖示 <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="delete_custom_theme_confirmation" msgid="4452137183628769394">"要刪除自訂樣式嗎？"</string>
     <string name="delete_custom_theme_button" msgid="5102462988130208824">"刪除"</string>
@@ -66,4 +71,7 @@
     <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 />
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 2ead0b0..12596ab 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -21,14 +21,20 @@
     <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="wallpaper_title" msgid="6952635398953194544">"Isithombe sangemuva"</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="accessibility_preview_pager" msgid="3548503287402185430">"Ikhasi elingu-<xliff:g id="ID_1">%1$d</xliff:g> kwangu-<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="next_page_content_description" msgid="5290226604542300962">"Okulandelayo"</string>
-    <string name="previous_page_content_description" msgid="6025726405430262788">"Okwangaphambilini"</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="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>
@@ -41,12 +47,15 @@
     <string name="preview_name_wallpaper" msgid="1738652462949531828">"Isithombe sangemuva"</string>
     <string name="font_card_title" msgid="2343292653502548685">"ABC • abc • 123"</string>
     <string name="font_card_body" msgid="6790525594503904468">"Engeza amafonti akho owathandayo kuso sonke isikrini"</string>
+    <string name="grid_options_title" msgid="7071930966989877023">"Khetha usayizi we-grid"</string>
     <string name="grid_title_pattern" msgid="9188866567612607806">"<xliff:g id="ID_1">%1$d</xliff:g>x<xliff:g id="ID_2">%2$d</xliff:g>"</string>
-    <string name="applied_theme_msg" msgid="7348498271552054431">"Isitayela sifakiwe"</string>
-    <string name="applied_clock_msg" msgid="1938218786265793285">"Iwashi lifakiwe"</string>
+    <string name="applied_theme_msg" msgid="3749018706366796244">"Isitayela sisethwe ngokuphumelelayo"</string>
+    <string name="applied_clock_msg" msgid="1303338016701443767">"Iwashi lisethwe ngokuphumelelayo"</string>
+    <string name="applied_grid_msg" msgid="3250499654436933034">"I-Grid isethwe ngempumelelo"</string>
     <string name="apply_theme_error_msg" msgid="791364062636538317">"Kube nenkinga ukufaka isitayela"</string>
     <string name="custom_theme_next" msgid="6235420097213197301">"Okulandelayo"</string>
     <string name="custom_theme_previous" msgid="4941132112640503022">"Okwangaphambilini"</string>
+    <string name="custom_theme" msgid="1618351922263478163">"Ngokwezifiso"</string>
     <string name="custom_theme_title" msgid="2192300350332693631">"Ngokwezifiso <xliff:g id="ID_1">%1$d</xliff:g>"</string>
     <string name="custom_theme_fragment_title" msgid="6615547284702040280">"Isitayela sangokwezifiso"</string>
     <string name="custom_theme_delete" msgid="4744494663184126202">"Susa"</string>
@@ -66,4 +75,7 @@
     <string name="no_thanks" msgid="7286616980115687627">"Cha, ngiyabonga"</string>
     <string name="clock_preview_content_description" msgid="5460561185905717460">"<xliff:g id="ID_1">%1$s</xliff:g> ukubuka kuqala iwashi"</string>
     <string name="something_went_wrong" msgid="529840112449799117">"Hawu! Kukhona okungahambile kahle."</string>
+    <string name="theme_preview_icons_section_title" msgid="7064768910744000643">"Umbala / Izithonjana"</string>
+    <!-- no translation found for style_info_description (2612473574431003251) -->
+    <skip />
 </resources>
diff --git a/res/values/bools.xml b/res/values/bools.xml
deleted file mode 100644
index 078b50c..0000000
--- a/res/values/bools.xml
+++ /dev/null
@@ -1,20 +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.
--->
-<resources>
-    <bool name="use_grid_for_options">false</bool>
-</resources>
\ No newline at end of file
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 437e4ea..02b3472 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -31,9 +31,8 @@
     <color name="clockface_preview_background">@android:color/black</color>
 
     <color name="theme_preview_icon_color">@color/google_grey700</color>
-
-    <color name="text_color_dark">#2d2d2d</color>
-    <color name="text_color_light">@color/material_white_text</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>
@@ -48,9 +47,6 @@
     <color name="tip_dot_color">#34A853</color>
     <color name="tip_dot_line_color">#FFFFFF</color>
 
-    <color name="selected_check_color">#FFFFFF</color>
-    <color name="selected_check_background_color">#1E8E3E</color>
-
     <color name="toolbar_icon_color">@color/text_color_dark</color>
 
     <color name="divider_color">@color/black_14_alpha</color>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 49daee4..280c187 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -21,29 +21,31 @@
     <dimen name="tip_dot_size">8dp</dimen>
     <dimen name="tip_dot_line_width">2dp</dimen>
 
-    <dimen name="check_size">20dp</dimen>
-    <dimen name="check_offset">-4dp</dimen>
+    <dimen name="check_size">16dp</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">104dp</dimen>
+    <dimen name="options_container_height">120dp</dimen>
     <dimen name="options_container_width">0dp</dimen>
-    <dimen name="option_tile_width">72dp</dimen>
-    <dimen name="theme_option_icon_sample_height">18dp</dimen>
-    <dimen name="theme_option_icon_sample_width">18dp</dimen>
-    <dimen name="theme_option_shape_sample_height">16dp</dimen>
-    <dimen name="theme_option_shape_sample_width">16dp</dimen>
-    <dimen name="theme_option_font_sample_height">16dp</dimen>
+    <dimen name="option_tile_width">88dp</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>
+    <dimen name="theme_option_shape_sample_height">20dp</dimen>
+    <dimen name="theme_option_shape_sample_width">20dp</dimen>
+    <dimen name="theme_option_font_sample_height">20dp</dimen>
     <dimen name="theme_option_font_sample_width">52dp</dimen>
-    <dimen name="theme_option_sample_padding">5dp</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">12dp</dimen>
-    <dimen name="option_tile_padding_horizontal">10dp</dimen>
+    <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">16dp</dimen>
+    <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>
@@ -64,11 +66,31 @@
     <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">14sp</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_cover_content_extra_margin">16dp</dimen>
     <dimen name="preview_theme_content_bottom">@dimen/min_taptarget_height</dimen>
-    <dimen name="preview_theme_cover_content_bottom">@dimen/preview_theme_content_bottom</dimen>
+
+    <!--  For the new preview of theme picker.  -->
+    <dimen name="preview_theme_content_padding_top">16dp</dimen>
+    <dimen name="preview_theme_content_padding_bottom">24dp</dimen>
+    <dimen name="preview_theme_topbar_container_margin_horizontal">16dp</dimen>
+    <dimen name="preview_theme_color_icons_container_margin_horizontal">10dp</dimen>
+    <dimen name="preview_theme_qsb_container_margin_horizontal">14dp</dimen>
+    <dimen name="preview_theme_smart_space_date_size">18sp</dimen>
+    <dimen name="preview_theme_app_icon_size">64dp</dimen>
+    <dimen name="preview_theme_app_icon_shape_text_margin_top">8dp</dimen>
+    <dimen name="preview_theme_app_icon_shape_text_size">16sp</dimen>
+    <dimen name="preview_theme_color_icons_padding_top">12dp</dimen>
+    <dimen name="preview_theme_color_icons_padding_bottom">20dp</dimen>
+    <dimen name="preview_theme_color_icons_padding_horizontal">18dp</dimen>
+    <dimen name="preview_theme_color_icons_title_text_size">12sp</dimen>
+    <dimen name="preview_theme_color_icons_icon_size">@dimen/preview_theme_icon_size</dimen>
+    <dimen name="preview_theme_color_icons_tile_size">@dimen/preview_theme_tile_size</dimen>
+    <dimen name="preview_theme_app_name_key_ambient_shadow_blur">2.5dp</dimen>
+
+    <!--  For the customization previews on the picker. -->
+    <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>
@@ -76,19 +98,27 @@
     <dimen name="custom_theme_nav_height">56dp</dimen>
 
     <!-- Note, using dp instead of sp as this is just the font thumbnail, not text -->
-    <dimen name="font_comonent_option_thumbnail_size">32dp</dimen>
+    <dimen name="font_comonent_option_thumbnail_size">36dp</dimen>
 
     <dimen name="component_icon_thumb_size">40dp</dimen>
 
-    <dimen name="component_color_chip_size">32dp</dimen>
-    <dimen name="component_color_chip_container_size">33dp</dimen>
+    <dimen name="component_color_chip_size">40dp</dimen>
+    <dimen name="component_color_chip_container_size">52dp</dimen>
 
     <dimen name="component_shape_thumb_size">72dp</dimen>
-    <dimen name="component_options_title_size">18sp</dimen>
+    <dimen name="component_options_title_size">20sp</dimen>
+    <dimen name="component_options_margin_horizontal">4dp</dimen>
 
     <!-- For a corner radius of this size or larger, we'll preview a rounded qsb widget. -->
     <dimen name="roundCornerThreshold">16dp</dimen>
 
     <dimen name="min_taptarget_height">48dp</dimen>
 
+    <!--  For the style info preview sheet. -->
+    <dimen name="theme_info_margin">12dp</dimen>
+    <dimen name="theme_info_icon_size">24dp</dimen>
+    <dimen name="theme_info_app_preview_icon_margin">2dp</dimen>
+    <dimen name="theme_info_app_preview_icon_elevation">2dp</dimen>
+    <dimen name="theme_info_text_size">28sp</dimen>
+
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index c940efd..55de455 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -30,10 +30,6 @@
         the home screen. [CHAR LIMIT=15] -->
     <string name="grid_title">Grid</string>
 
-    <!-- Title of a section of the customization picker where the user can select a Wallpaper.
-        [CHAR LIMIT=19] -->
-    <string name="wallpaper_title">Wallpaper</string>
-
     <!-- Label for a button that allows the user to apply the currently selected Theme.
         [CHAR LIMIT=20] -->
     <string name="apply_theme_btn">Apply</string>
@@ -50,6 +46,24 @@
         [CHAR LIMIT=20] -->
     <string name="apply_btn">Apply</string>
 
+    <!-- Content description of theme preview card. [CHAR_LIMIT=30]-->
+    <string name="theme_preview_card_content_description">Style preview</string>
+
+    <!-- Content description of grid preview card. [CHAR_LIMIT=30]-->
+    <string name="grid_preview_card_content_description">Grid preview</string>
+
+    <!-- Content description of font preview. [CHAR_LIMIT=30]-->
+    <string name="font_preview_content_description">Font preview</string>
+
+    <!-- Content description of icon preview. [CHAR_LIMIT=30]-->
+    <string name="icon_preview_content_description">Icon preview</string>
+
+    <!-- Content description of color preview. [CHAR_LIMIT=30]-->
+    <string name="color_preview_content_description">Color preview</string>
+
+    <!-- Content description of shape preview. [CHAR_LIMIT=30]-->
+    <string name="shape_preview_content_description">Shape preview</string>
+
     <!-- Content description indicating that the selected option is currently applied to the device. [CHAR_LIMIT=NONE] -->
     <string name="option_applied_description"><xliff:g name="style_name">%1$s</xliff:g>, currently applied</string>
 
@@ -67,7 +81,7 @@
 
     <!-- Plus sign used to indicate that the user can add a custom theme -->
 
-    <!-- Name for the Android Theme that comes preset with the device [CHAR LIMIT=10]-->
+    <!-- Name for the Android Theme (Style/Wallpaper/Grid/Clock...) that comes preset with the device [CHAR LIMIT=10]-->
     <string name="default_theme_title">Default</string>
 
     <!-- Title of a page that shows the user the preview of a font selection [CHAR_LIMIT=20] -->
@@ -92,14 +106,20 @@
     <!-- Body text for previewing a font [CHAR LIMIT=160] -->
     <string name="font_card_body">Add your favorite fonts to every screen</string>
 
+    <!--Title for grid options [CHAR LIMIT=NONE] -->
+    <string name="grid_options_title">Choose a grid size</string>
+
     <!--Title for a grid option, describing the number of columns and rows, eg: 4x4 [CHAR LIMIT=10] -->
     <string name="grid_title_pattern"><xliff:g name="num_cols" example="1">%1$d</xliff:g>x<xliff:g name="num_rows" example="1">%2$d</xliff:g></string>
 
     <!-- Message shown when a theme has been applied successfully in the system [CHAR LIMIT=NONE] -->
-    <string name="applied_theme_msg">Style applied</string>
+    <string name="applied_theme_msg">Style set successfully</string>
 
     <!-- Message shown when a clock has been applied successfully in the system [CHAR LIMIT=NONE] -->
-    <string name="applied_clock_msg">Clock applied</string>
+    <string name="applied_clock_msg">Clock set successfully</string>
+
+    <!-- Message shown when a grid has been applied successfully in the system [CHAR LIMIT=NONE] -->
+    <string name="applied_grid_msg">Grid set successfully</string>
 
     <!-- Message shown when a theme couldn't be applied in the system because of an error
         [CHAR LIMIT=NONE] -->
@@ -113,6 +133,9 @@
         [CHAR LIMIT=20] -->
     <string name="custom_theme_previous">Previous</string>
 
+    <!-- Title for "Custom theme" option. [CHAR LIMIT=20] -->
+    <string name="custom_theme">Custom</string>
+
     <!-- Generic label for one system Style/Theme (combination of fonts/colors/icons) that is
         defined and customized by the user (note there could be more than one so the label includes
         a number, eg "Custom 1, Custom 2, etc") [CHAR LIMIT=15] -->
@@ -183,4 +206,10 @@
 
     <!-- Generic error message [CHAR_LIMIT=NONE] -->
     <string name="something_went_wrong">Oops! Something went wrong.</string>
+
+    <!-- Title for a section of a style preview screen that shows a preview of the style color and icons. [CHAR_LIMIT=30]-->
+    <string name="theme_preview_icons_section_title">Color / Icons</string>
+
+    <!-- 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>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 0b61fe4..b4e1971 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -51,7 +51,7 @@
         <item name="itemTextAppearanceActive">@style/BottomNavTextAppearanceActive</item>
         <item name="itemTextAppearanceInactive">@style/BottomNavTextAppearance</item>
         <item name="itemBackground">?android:attr/selectableItemBackgroundBorderless</item>
-        <item name="android:background">?android:colorPrimary</item>
+        <item name="android:background">@color/bottom_bar_background_color</item>
     </style>
 
     <style name="BottomNavTextAppearance" parent="TitleTextAppearance">
@@ -103,6 +103,7 @@
         <item name="android:paddingBottom">16dp</item>
         <item name="android:paddingStart">12dp</item>
         <item name="android:paddingEnd">12dp</item>
+        <item name="android:textAlignment">viewStart</item>
         <item name="android:textColor">@color/edittext_text_color</item>
         <item name="android:inputType">text</item>
         <item name="android:maxLength">100</item>
diff --git a/robolectric_tests/src/com/android/customization/model/theme/ThemeManagerTest.java b/robolectric_tests/src/com/android/customization/model/theme/ThemeManagerTest.java
index 6f1f95e..cfb8a33 100644
--- a/robolectric_tests/src/com/android/customization/model/theme/ThemeManagerTest.java
+++ b/robolectric_tests/src/com/android/customization/model/theme/ThemeManagerTest.java
@@ -40,12 +40,11 @@
 import androidx.annotation.Nullable;
 import androidx.fragment.app.FragmentActivity;
 
-import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
 import com.android.customization.model.CustomizationManager.Callback;
+import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
 import com.android.customization.model.theme.custom.CustomTheme;
 import com.android.customization.module.ThemesUserEventLogger;
 import com.android.customization.testutils.OverlayManagerMocks;
-import com.android.wallpaper.module.WallpaperSetter;
 
 import org.json.JSONObject;
 import org.junit.After;
@@ -61,7 +60,6 @@
 public class ThemeManagerTest {
 
     @Mock OverlayManagerCompat mMockOm;
-    @Mock WallpaperSetter mMockWallpaperSetter;
     @Mock ThemesUserEventLogger mThemesUserEventLogger;
     @Mock ThemeBundleProvider mThemeBundleProvider;
     private OverlayManagerMocks mMockOmHelper;
@@ -75,7 +73,7 @@
         mActivity = spy(activity);
         mMockOmHelper = new OverlayManagerMocks();
         mMockOmHelper.setUpMock(mMockOm);
-        mThemeManager = new ThemeManager(mThemeBundleProvider, activity, mMockWallpaperSetter,
+        mThemeManager = new ThemeManager(mThemeBundleProvider, activity,
                 mMockOm, mThemesUserEventLogger);
     }
 
diff --git a/src/com/android/customization/model/grid/GridOption.java b/src/com/android/customization/model/grid/GridOption.java
index e3b90f4..43afee4 100644
--- a/src/com/android/customization/model/grid/GridOption.java
+++ b/src/com/android/customization/model/grid/GridOption.java
@@ -18,9 +18,14 @@
 import android.content.Context;
 import android.graphics.PorterDuff.Mode;
 import android.net.Uri;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.text.TextUtils;
 import android.view.View;
 import android.widget.ImageView;
 
+import androidx.annotation.Nullable;
+
 import com.android.customization.model.CustomizationManager;
 import com.android.customization.model.CustomizationOption;
 import com.android.customization.widget.GridTileDrawable;
@@ -29,10 +34,22 @@
 /**
  * Represents a grid layout option available in the current launcher.
  */
-public class GridOption implements CustomizationOption<GridOption> {
+public class GridOption implements CustomizationOption<GridOption>, Parcelable {
+    public static final Creator<GridOption> CREATOR = new Creator<GridOption>() {
+        @Override
+        public GridOption createFromParcel(Parcel in) {
+            return new GridOption(in);
+        }
+
+        @Override
+        public GridOption[] newArray(int size) {
+            return new GridOption[size];
+        }
+    };
 
     private final String mTitle;
     private final boolean mIsCurrent;
+    private final String mIconShapePath;
     private final GridTileDrawable mTileDrawable;
     public final String name;
     public final int rows;
@@ -44,7 +61,8 @@
             Uri previewImageUri, int previewPagesCount, String iconShapePath) {
         mTitle = title;
         mIsCurrent = isCurrent;
-        mTileDrawable = new GridTileDrawable(rows, cols, iconShapePath);
+        mIconShapePath = iconShapePath;
+        mTileDrawable = new GridTileDrawable(rows, cols, mIconShapePath);
         this.name = name;
         this.rows = rows;
         this.cols = cols;
@@ -52,6 +70,18 @@
         this.previewPagesCount = previewPagesCount;
     }
 
+    protected GridOption(Parcel in) {
+        mTitle = in.readString();
+        mIsCurrent = in.readByte() != 0;
+        mIconShapePath = in.readString();
+        name = in.readString();
+        rows = in.readInt();
+        cols = in.readInt();
+        previewImageUri = in.readParcelable(Uri.class.getClassLoader());
+        previewPagesCount = in.readInt();
+        mTileDrawable = new GridTileDrawable(rows, cols, mIconShapePath);
+    }
+
     @Override
     public String getTitle() {
         return mTitle;
@@ -73,7 +103,39 @@
     }
 
     @Override
+    public boolean equals(@Nullable Object obj) {
+        if (this == obj) {
+            return true;
+        }
+
+        if (obj instanceof GridOption) {
+            GridOption other = (GridOption) obj;
+            return TextUtils.equals(this.name, other.name)
+                    && this.cols == other.cols
+                    && this.rows == other.rows;
+        }
+        return false;
+    }
+
+    @Override
     public int getLayoutResId() {
         return R.layout.grid_option;
     }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel parcel, int i) {
+        parcel.writeString(mTitle);
+        parcel.writeByte((byte) (mIsCurrent ? 1 : 0));
+        parcel.writeString(mIconShapePath);
+        parcel.writeString(name);
+        parcel.writeInt(rows);
+        parcel.writeInt(cols);
+        parcel.writeParcelable(previewImageUri, i);
+        parcel.writeInt(previewPagesCount);
+    }
 }
diff --git a/src/com/android/customization/model/grid/GridOptionsManager.java b/src/com/android/customization/model/grid/GridOptionsManager.java
index a334f5e..cf55147 100644
--- a/src/com/android/customization/model/grid/GridOptionsManager.java
+++ b/src/com/android/customization/model/grid/GridOptionsManager.java
@@ -17,7 +17,6 @@
 
 import android.os.AsyncTask;
 import android.os.Bundle;
-import android.util.Pair;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -58,40 +57,36 @@
 
     @Override
     public void fetchOptions(OptionsFetchedListener<GridOption> callback, boolean reload) {
-        new FetchTask(mProvider, callback).execute();
-    }
-
-    /** See if using surface view to render grid options */
-    public boolean usesSurfaceView() {
-        return mProvider.usesSurfaceView();
+        new FetchTask(mProvider, callback, reload).execute();
     }
 
     /** Call through content provider API to render preview */
-    public void renderPreview(Bundle bundle, String gridName) {
-        mProvider.renderPreview(gridName, bundle);
+    public Bundle renderPreview(Bundle bundle, String gridName) {
+        return mProvider.renderPreview(gridName, bundle);
     }
 
-    private static class FetchTask extends AsyncTask<Void, Void, Pair<List<GridOption>, String>> {
+    private static class FetchTask extends AsyncTask<Void, Void, List<GridOption>> {
         private final LauncherGridOptionsProvider mProvider;
         @Nullable private final OptionsFetchedListener<GridOption> mCallback;
+        private final boolean mReload;
 
         private FetchTask(@NonNull LauncherGridOptionsProvider provider,
-                @Nullable OptionsFetchedListener<GridOption> callback) {
+                @Nullable OptionsFetchedListener<GridOption> callback, boolean reload) {
             mCallback = callback;
             mProvider = provider;
+            mReload = reload;
         }
 
         @Override
-        protected Pair<List<GridOption>, String> doInBackground(Void[] params) {
-            return mProvider.fetch(false);
+        protected List<GridOption> doInBackground(Void[] params) {
+            return mProvider.fetch(mReload);
         }
 
         @Override
-        protected void onPostExecute(Pair<List<GridOption>, String> gridOptionsResult) {
+        protected void onPostExecute(List<GridOption> gridOptions) {
             if (mCallback != null) {
-                if (gridOptionsResult != null && gridOptionsResult.first != null
-                        && !gridOptionsResult.first.isEmpty()) {
-                    mCallback.onOptionsLoaded(gridOptionsResult.first);
+                if (gridOptions != null && !gridOptions.isEmpty()) {
+                    mCallback.onOptionsLoaded(gridOptions);
                 } else {
                     mCallback.onError(null);
                 }
diff --git a/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java b/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java
index 7d1d5cd..cdab1a6 100644
--- a/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java
+++ b/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java
@@ -21,15 +21,12 @@
 import android.content.res.Resources;
 import android.database.Cursor;
 import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.Pair;
 import android.view.SurfaceView;
 
 import androidx.annotation.Nullable;
 import androidx.annotation.WorkerThread;
 
 import com.android.customization.model.ResourceConstants;
-import com.android.systemui.shared.system.SurfaceViewRequestUtils;
 import com.android.wallpaper.R;
 import com.android.wallpaper.util.PreviewUtils;
 
@@ -53,12 +50,14 @@
     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;
     private final PreviewUtils mPreviewUtils;
     private List<GridOption> mOptions;
-    private String mVersion;
 
     public LauncherGridOptionsProvider(Context context, String authorityMetadataKey) {
         mPreviewUtils = new PreviewUtils(context, authorityMetadataKey);
@@ -69,30 +68,24 @@
         return mPreviewUtils.supportsPreview();
     }
 
-    boolean usesSurfaceView() {
-        // If no version code is returned, fall back to V1.
-        return TextUtils.equals(mVersion, "V2");
-    }
-
     /**
      * Retrieve the available grids.
      * @param reload whether to reload grid options if they're cached.
      */
     @WorkerThread
     @Nullable
-    Pair<List<GridOption>, String> fetch(boolean reload) {
+    List<GridOption> fetch(boolean reload) {
         if (!areGridsAvailable()) {
             return null;
         }
         if (mOptions != null && !reload) {
-            return Pair.create(mOptions, mVersion);
+            return mOptions;
         }
         ContentResolver resolver = mContext.getContentResolver();
         String iconPath = mContext.getResources().getString(Resources.getSystem().getIdentifier(
                 ResourceConstants.CONFIG_ICON_MASK, "string", ResourceConstants.ANDROID_PACKAGE));
         try (Cursor c = resolver.query(mPreviewUtils.getUri(LIST_OPTIONS), null, null, null,
                 null)) {
-            mVersion = c.getExtras().getString(METADATA_KEY_PREVIEW_VERSION);
             mOptions = new ArrayList<>();
             while(c.moveToNext()) {
                 String name = c.getString(c.getColumnIndex(COL_NAME));
@@ -100,27 +93,28 @@
                 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 = mContext.getString(R.string.grid_title_pattern, cols, rows);
+                String title = GRID_NAME_NORMAL.equals(name)
+                        ? mContext.getString(R.string.default_theme_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;
-            mVersion = null;
         }
-        return Pair.create(mOptions, mVersion);
+        return mOptions;
     }
 
     /**
      * Request rendering of home screen preview via Launcher to Wallpaper using SurfaceView
      * @param name      the grid option name
      * @param bundle    surface view request bundle generated from
-     *                  {@link SurfaceViewRequestUtils#createSurfaceBundle(SurfaceView)}.
+     *    {@link com.android.wallpaper.util.SurfaceViewUtils#createSurfaceViewRequest(SurfaceView)}.
      */
-    void renderPreview(String name, Bundle bundle) {
+    Bundle renderPreview(String name, Bundle bundle) {
         bundle.putString("name", name);
-        mPreviewUtils.renderPreview(bundle);
+        return mPreviewUtils.renderPreview(bundle);
     }
 
     int applyGrid(String name) {
diff --git a/src/com/android/customization/model/theme/DefaultThemeProvider.java b/src/com/android/customization/model/theme/DefaultThemeProvider.java
index ce12d35..ddadc7d 100644
--- a/src/com/android/customization/model/theme/DefaultThemeProvider.java
+++ b/src/com/android/customization/model/theme/DefaultThemeProvider.java
@@ -15,8 +15,6 @@
  */
 package com.android.customization.model.theme;
 
-import static android.content.res.Resources.ID_NULL;
-
 import static com.android.customization.model.ResourceConstants.ANDROID_PACKAGE;
 import static com.android.customization.model.ResourceConstants.ICONS_FOR_PREVIEW;
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_COLOR;
@@ -29,14 +27,11 @@
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
 import static com.android.customization.model.ResourceConstants.SYSUI_PACKAGE;
 
-import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
+import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.ResolveInfo;
 import android.content.res.Resources.NotFoundException;
-import android.service.wallpaper.WallpaperService;
+import android.graphics.drawable.Drawable;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -45,11 +40,11 @@
 import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
 import com.android.customization.model.ResourcesApkProvider;
 import com.android.customization.model.theme.ThemeBundle.Builder;
+import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
 import com.android.customization.model.theme.custom.CustomTheme;
 import com.android.customization.module.CustomizationPreferences;
 import com.android.wallpaper.R;
 import com.android.wallpaper.asset.ResourceAsset;
-import com.android.wallpaper.model.LiveWallpaperInfo;
 
 import com.bumptech.glide.request.RequestOptions;
 import com.google.android.apps.wallpaper.asset.ThemeBundleThumbAsset;
@@ -57,9 +52,7 @@
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
-import org.xmlpull.v1.XmlPullParserException;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -83,20 +76,11 @@
     private static final String ICON_THEMEPICKER_PREFIX = "theme_overlay_icon_themepicker_";
     private static final String ICON_SETTINGS_PREFIX = "theme_overlay_icon_settings_";
     private static final String ICON_SYSUI_PREFIX = "theme_overlay_icon_sysui_";
-    private static final String WALLPAPER_PREFIX = "theme_wallpaper_";
-    private static final String WALLPAPER_TITLE_PREFIX = "theme_wallpaper_title_";
-    private static final String WALLPAPER_ATTRIBUTION_PREFIX = "theme_wallpaper_attribution_";
-    private static final String WALLPAPER_THUMB_PREFIX = "theme_wallpaper_thumbnail_";
-    private static final String WALLPAPER_ACTION_PREFIX = "theme_wallpaper_action_";
-    private static final String WALLPAPER_OPTIONS_PREFIX = "theme_wallpaper_options_";
 
     private static final String DEFAULT_THEME_NAME= "default";
     private static final String THEME_TITLE_FIELD = "_theme_title";
     private static final String THEME_ID_FIELD = "_theme_id";
 
-    // Maximum number of themes allowed (including default, pre-bundled and custom)
-    private static final int MAX_TOTAL_THEMES = 10;
-
     private final OverlayThemeExtractor mOverlayProvider;
     private List<ThemeBundle> mThemes;
     private final CustomizationPreferences mCustomizationPreferences;
@@ -125,6 +109,12 @@
     }
 
     private void loadAll() {
+        // Add "Custom" option at the beginning.
+        mThemes.add(new CustomTheme.Builder()
+                .setId(CustomTheme.newId())
+                .setTitle(mContext.getString(R.string.custom_theme))
+                .build(mContext));
+
         addDefaultTheme();
 
         String[] themeNames = getItemsFromStub(THEMES_ARRAY);
@@ -172,8 +162,6 @@
 
                 mOverlayProvider.addNoPreviewIconOverlay(builder, iconSettingsOverlayPackage);
 
-                addWallpaper(themeName, builder);
-
                 mThemes.add(builder.build(mContext));
             } catch (NameNotFoundException | NotFoundException e) {
                 Log.w(TAG, String.format("Couldn't load part of theme %s, will skip it", themeName),
@@ -184,70 +172,6 @@
         addCustomThemes();
     }
 
-    private void addWallpaper(String themeName, Builder builder) {
-        try {
-            String wallpaperResName = WALLPAPER_PREFIX + themeName;
-            int wallpaperResId = mStubApkResources.getIdentifier(wallpaperResName,
-                    "drawable", mStubPackageName);
-            // Check in case the theme has a separate thumbnail for the wallpaper
-            String wallpaperThumbnailResName = WALLPAPER_THUMB_PREFIX + themeName;
-            int wallpaperThumbnailResId = mStubApkResources.getIdentifier(wallpaperThumbnailResName,
-                    "drawable", mStubPackageName);
-            if (wallpaperResId != ID_NULL) {
-                builder.setWallpaperInfo(mStubPackageName, wallpaperResName,
-                        themeName, wallpaperResId,
-                        mStubApkResources.getIdentifier(WALLPAPER_TITLE_PREFIX + themeName,
-                                "string", mStubPackageName),
-                        mStubApkResources.getIdentifier(
-                                WALLPAPER_ATTRIBUTION_PREFIX + themeName, "string",
-                                mStubPackageName),
-                        mStubApkResources.getIdentifier(WALLPAPER_ACTION_PREFIX + themeName,
-                                "string", mStubPackageName))
-                        .setWallpaperAsset(wallpaperThumbnailResId != ID_NULL ?
-                                getThumbAsset(WALLPAPER_THUMB_PREFIX, themeName)
-                                : getDrawableResourceAsset(WALLPAPER_PREFIX, themeName));
-            } else {
-                // Try to see if it's a live wallpaper reference
-                wallpaperResId = mStubApkResources.getIdentifier(wallpaperResName,
-                        "string", mStubPackageName);
-                if (wallpaperResId != ID_NULL) {
-                    String wpComponent = mStubApkResources.getString(wallpaperResId);
-
-                    int wallpaperOptionsResId = mStubApkResources.getIdentifier(
-                            WALLPAPER_OPTIONS_PREFIX + themeName, "string", mStubPackageName);
-                    String wallpaperOptions = wallpaperOptionsResId != ID_NULL
-                            ? mStubApkResources.getString(wallpaperOptionsResId) : null;
-
-                    String[] componentParts = wpComponent.split("/");
-                    Intent liveWpIntent =  new Intent(WallpaperService.SERVICE_INTERFACE);
-                    liveWpIntent.setComponent(
-                            new ComponentName(componentParts[0], componentParts[1]));
-
-                    Context appContext = mContext.getApplicationContext();
-                    PackageManager pm = appContext.getPackageManager();
-                    ResolveInfo resolveInfo =
-                            pm.resolveService(liveWpIntent, PackageManager.GET_META_DATA);
-                    if (resolveInfo != null) {
-                        android.app.WallpaperInfo wallpaperInfo;
-                        try {
-                            wallpaperInfo = new android.app.WallpaperInfo(appContext, resolveInfo);
-                            LiveWallpaperInfo liveInfo = new LiveWallpaperInfo(wallpaperInfo);
-                            builder.setLiveWallpaperInfo(liveInfo).setWallpaperAsset(
-                                    wallpaperThumbnailResId != ID_NULL ?
-                                            getThumbAsset(WALLPAPER_THUMB_PREFIX, themeName)
-                                        : liveInfo.getThumbAsset(mContext))
-                                    .setWallpaperOptions(wallpaperOptions);
-                        } catch (XmlPullParserException | IOException e) {
-                            Log.w(TAG, "Skipping wallpaper " + resolveInfo.serviceInfo, e);
-                        }
-                    }
-                }
-            }
-        } catch (NotFoundException e) {
-            // Nothing to do here, if there's no wallpaper we'll just omit wallpaper
-        }
-    }
-
     /**
      * Default theme requires different treatment: if there are overlay packages specified in the
      * stub apk, we'll use those, otherwise we'll get the System default values. But we cannot skip
@@ -289,15 +213,26 @@
             Log.d(TAG, "Didn't find shape overlay for default theme, will use system default");
             mOverlayProvider.addSystemDefaultShape(builder);
         }
+
+        List<ShapeAppIcon> icons = new ArrayList<>();
         for (String packageName : mOverlayProvider.getShapePreviewIconPackages()) {
+            Drawable icon = null;
+            CharSequence name = null;
             try {
-                builder.addShapePreviewIcon(
-                        mContext.getPackageManager().getApplicationIcon(packageName));
+                icon = mContext.getPackageManager().getApplicationIcon(packageName);
+                ApplicationInfo appInfo = mContext.getPackageManager()
+                        .getApplicationInfo(packageName, /* flag= */ 0);
+                name = mContext.getPackageManager().getApplicationLabel(appInfo);
             } catch (NameNotFoundException e) {
                 Log.d(TAG, "Couldn't find app " + packageName + ", won't use it for icon shape"
                         + "preview");
+            } finally {
+                if (icon != null && !TextUtils.isEmpty(name)) {
+                    icons.add(new ShapeAppIcon(icon, name));
+                }
             }
         }
+        builder.setShapePreviewIcons(icons);
 
         try {
             String iconAndroidOverlayPackage = getOverlayPackage(ICON_ANDROID_PREFIX,
@@ -318,8 +253,6 @@
             mOverlayProvider.addSystemDefaultIcons(builder, SYSUI_PACKAGE, ICONS_FOR_PREVIEW);
         }
 
-        addWallpaper(DEFAULT_THEME_NAME, builder);
-
         mThemes.add(builder.build(mContext));
     }
 
@@ -383,7 +316,13 @@
                 JSONArray customThemes = new JSONArray(serializedThemes);
                 for (int i = 0; i < customThemes.length(); i++) {
                     JSONObject jsonTheme = customThemes.getJSONObject(i);
-                    ThemeBundle.Builder builder = convertJsonToBuilder(jsonTheme);
+                    CustomTheme.Builder builder = new CustomTheme.Builder();
+                    try {
+                        convertJsonToBuilder(jsonTheme, builder);
+                    } catch (NameNotFoundException | NotFoundException e) {
+                        Log.i(TAG, "Couldn't parse serialized custom theme", e);
+                        builder = null;
+                    }
                     if (builder != null) {
                         if (TextUtils.isEmpty(builder.getTitle())) {
                             builder.setTitle(mContext.getString(R.string.custom_theme_title,
@@ -392,67 +331,32 @@
                         mThemes.add(builder.build(mContext));
                     } else {
                         Log.w(TAG, "Couldn't read stored custom theme, resetting");
-                        mThemes.add(new CustomTheme(CustomTheme.newId(),
-                                mContext.getString(R.string.custom_theme_title,
-                                customThemesCount + 1), new HashMap<>(), null));
+                        mThemes.add(new CustomTheme.Builder()
+                                .setId(CustomTheme.newId())
+                                .setTitle(mContext.getString(
+                                        R.string.custom_theme_title, customThemesCount + 1))
+                                .build(mContext));
                     }
                     customThemesCount++;
                 }
             } catch (JSONException e) {
                 Log.w(TAG, "Couldn't read stored custom theme, resetting", e);
-                mThemes.add(new CustomTheme(CustomTheme.newId(), mContext.getString(
-                        R.string.custom_theme_title, customThemesCount + 1),
-                        new HashMap<>(), null));
+                mThemes.add(new CustomTheme.Builder()
+                        .setId(CustomTheme.newId())
+                        .setTitle(mContext.getString(
+                                R.string.custom_theme_title, customThemesCount + 1))
+                        .build(mContext));
             }
         }
-
-        if (mThemes.size() < MAX_TOTAL_THEMES) {
-            // Add an empty one at the end.
-            mThemes.add(new CustomTheme(CustomTheme.newId(), mContext.getString(
-                    R.string.custom_theme_title, customThemesCount + 1), new HashMap<>(), null));
-        }
-
-    }
-
-    @Override
-    public CustomTheme.Builder parseCustomTheme(String serializedTheme) throws JSONException {
-        JSONObject theme = new JSONObject(serializedTheme);
-        return convertJsonToBuilder(theme);
     }
 
     @Nullable
-    private CustomTheme.Builder convertJsonToBuilder(JSONObject theme) throws JSONException {
+    @Override
+    public ThemeBundle.Builder parseThemeBundle(String serializedTheme) throws JSONException {
+        JSONObject theme = new JSONObject(serializedTheme);
         try {
-            Map<String, String> customPackages = new HashMap<>();
-            Iterator<String> keysIterator = theme.keys();
-
-            while (keysIterator.hasNext()) {
-                String category = keysIterator.next();
-                customPackages.put(category, theme.getString(category));
-            }
-            CustomTheme.Builder builder = new CustomTheme.Builder();
-            mOverlayProvider.addShapeOverlay(builder,
-                    customPackages.get(OVERLAY_CATEGORY_SHAPE));
-            mOverlayProvider.addFontOverlay(builder,
-                    customPackages.get(OVERLAY_CATEGORY_FONT));
-            mOverlayProvider.addColorOverlay(builder,
-                    customPackages.get(OVERLAY_CATEGORY_COLOR));
-            mOverlayProvider.addAndroidIconOverlay(builder,
-                    customPackages.get(OVERLAY_CATEGORY_ICON_ANDROID));
-            mOverlayProvider.addSysUiIconOverlay(builder,
-                    customPackages.get(OVERLAY_CATEGORY_ICON_SYSUI));
-            mOverlayProvider.addNoPreviewIconOverlay(builder,
-                    customPackages.get(OVERLAY_CATEGORY_ICON_SETTINGS));
-            mOverlayProvider.addNoPreviewIconOverlay(builder,
-                    customPackages.get(OVERLAY_CATEGORY_ICON_LAUNCHER));
-            mOverlayProvider.addNoPreviewIconOverlay(builder,
-                    customPackages.get(OVERLAY_CATEGORY_ICON_THEMEPICKER));
-            if (theme.has(THEME_TITLE_FIELD)) {
-                builder.setTitle(theme.getString(THEME_TITLE_FIELD));
-            }
-            if (theme.has(THEME_ID_FIELD)) {
-                builder.setId(theme.getString(THEME_ID_FIELD));
-            }
+            ThemeBundle.Builder builder = new ThemeBundle.Builder();
+            convertJsonToBuilder(theme, builder);
             return builder;
         } catch (NameNotFoundException | NotFoundException e) {
             Log.i(TAG, "Couldn't parse serialized custom theme", e);
@@ -460,6 +364,52 @@
         }
     }
 
+    @Nullable
+    @Override
+    public CustomTheme.Builder parseCustomTheme(String serializedTheme) throws JSONException {
+        JSONObject theme = new JSONObject(serializedTheme);
+        try {
+            CustomTheme.Builder builder = new CustomTheme.Builder();
+            convertJsonToBuilder(theme, builder);
+            return builder;
+        } catch (NameNotFoundException | NotFoundException e) {
+            Log.i(TAG, "Couldn't parse serialized custom theme", e);
+            return null;
+        }
+    }
+
+    private void convertJsonToBuilder(JSONObject theme, ThemeBundle.Builder builder)
+            throws JSONException, NameNotFoundException, NotFoundException {
+        Map<String, String> customPackages = new HashMap<>();
+        Iterator<String> keysIterator = theme.keys();
+
+        while (keysIterator.hasNext()) {
+            String category = keysIterator.next();
+            customPackages.put(category, theme.getString(category));
+        }
+        mOverlayProvider.addShapeOverlay(builder,
+                customPackages.get(OVERLAY_CATEGORY_SHAPE));
+        mOverlayProvider.addFontOverlay(builder,
+                customPackages.get(OVERLAY_CATEGORY_FONT));
+        mOverlayProvider.addColorOverlay(builder,
+                customPackages.get(OVERLAY_CATEGORY_COLOR));
+        mOverlayProvider.addAndroidIconOverlay(builder,
+                customPackages.get(OVERLAY_CATEGORY_ICON_ANDROID));
+        mOverlayProvider.addSysUiIconOverlay(builder,
+                customPackages.get(OVERLAY_CATEGORY_ICON_SYSUI));
+        mOverlayProvider.addNoPreviewIconOverlay(builder,
+                customPackages.get(OVERLAY_CATEGORY_ICON_SETTINGS));
+        mOverlayProvider.addNoPreviewIconOverlay(builder,
+                customPackages.get(OVERLAY_CATEGORY_ICON_LAUNCHER));
+        mOverlayProvider.addNoPreviewIconOverlay(builder,
+                customPackages.get(OVERLAY_CATEGORY_ICON_THEMEPICKER));
+        if (theme.has(THEME_TITLE_FIELD)) {
+            builder.setTitle(theme.getString(THEME_TITLE_FIELD));
+        }
+        if (builder instanceof CustomTheme.Builder && theme.has(THEME_ID_FIELD)) {
+            ((CustomTheme.Builder) builder).setId(theme.getString(THEME_ID_FIELD));
+        }
+    }
 
     @Override
     public ThemeBundle findEquivalent(ThemeBundle other) {
diff --git a/src/com/android/customization/model/theme/OverlayThemeExtractor.java b/src/com/android/customization/model/theme/OverlayThemeExtractor.java
index 9c85fa4..816176e 100644
--- a/src/com/android/customization/model/theme/OverlayThemeExtractor.java
+++ b/src/com/android/customization/model/theme/OverlayThemeExtractor.java
@@ -8,6 +8,7 @@
 import android.content.Context;
 import android.content.om.OverlayInfo;
 import android.content.om.OverlayManager;
+import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Resources;
 import android.content.res.Resources.NotFoundException;
@@ -22,9 +23,12 @@
 
 import com.android.customization.model.ResourceConstants;
 import com.android.customization.model.theme.ThemeBundle.Builder;
+import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
 import com.android.wallpaper.R;
 
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.function.Consumer;
 
@@ -97,16 +101,26 @@
     }
 
     private void addShapePreviewIcons(Builder builder) {
+        List<ShapeAppIcon> icons = new ArrayList<>();
         for (String packageName : mShapePreviewIconPackages) {
+            Drawable icon = null;
+            CharSequence name = null;
             try {
-                builder.addShapePreviewIcon(
-                        mContext.getPackageManager().getApplicationIcon(
-                                packageName));
+                icon = mContext.getPackageManager().getApplicationIcon(packageName);
+                // Add the shape icon app name.
+                ApplicationInfo appInfo = mContext.getPackageManager()
+                        .getApplicationInfo(packageName, /* flag= */ 0);
+                name = mContext.getPackageManager().getApplicationLabel(appInfo);
             } catch (NameNotFoundException e) {
                 Log.d(TAG, "Couldn't find app " + packageName
                         + ", won't use it for icon shape preview");
+            } finally {
+                if (icon != null && !TextUtils.isEmpty(name)) {
+                    icons.add(new ShapeAppIcon(icon, name));
+                }
             }
         }
+        builder.setShapePreviewIcons(icons);
     }
 
     void addNoPreviewIconOverlay(Builder builder, String overlayPackage) {
diff --git a/src/com/android/customization/model/theme/ThemeBundle.java b/src/com/android/customization/model/theme/ThemeBundle.java
index e83e852..4ede59e 100644
--- a/src/com/android/customization/model/theme/ThemeBundle.java
+++ b/src/com/android/customization/model/theme/ThemeBundle.java
@@ -31,7 +31,6 @@
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.ShapeDrawable;
 import android.graphics.drawable.shapes.PathShape;
-import android.icu.text.SimpleDateFormat;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
@@ -40,18 +39,16 @@
 
 import androidx.annotation.ColorInt;
 import androidx.annotation.Dimension;
-import androidx.annotation.DrawableRes;
 import androidx.annotation.Nullable;
-import androidx.annotation.StringRes;
 import androidx.core.graphics.PathParser;
 
 import com.android.customization.model.CustomizationManager;
 import com.android.customization.model.CustomizationOption;
+import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
 import com.android.customization.widget.DynamicAdaptiveIconDrawable;
 import com.android.wallpaper.R;
 import com.android.wallpaper.asset.Asset;
 import com.android.wallpaper.asset.BitmapCachingAsset;
-import com.android.wallpaper.model.LiveWallpaperInfo;
 import com.android.wallpaper.model.WallpaperInfo;
 
 import org.json.JSONException;
@@ -59,14 +56,13 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * Represents a Theme component available in the system as a "persona" bundle.
@@ -83,21 +79,16 @@
     private final PreviewInfo mPreviewInfo;
     private final boolean mIsDefault;
     protected final Map<String, String> mPackagesByCategory;
-    @Nullable private final WallpaperInfo mWallpaperInfo;
-    @Nullable private final String mWallpaperOptions;
     private WallpaperInfo mOverrideWallpaper;
     private Asset mOverrideWallpaperAsset;
     private CharSequence mContentDescription;
 
     protected ThemeBundle(String title, Map<String, String> overlayPackages,
-            boolean isDefault, @Nullable WallpaperInfo wallpaperInfo,
-            @Nullable String wallpaperOptions, PreviewInfo previewInfo) {
+            boolean isDefault, PreviewInfo previewInfo) {
         mTitle = title;
         mIsDefault = isDefault;
         mPreviewInfo = previewInfo;
-        mWallpaperInfo = wallpaperInfo;
-        mWallpaperOptions = wallpaperOptions;
-        mPackagesByCategory = Collections.unmodifiableMap(overlayPackages);
+        mPackagesByCategory = Collections.unmodifiableMap(removeNullValues(overlayPackages));
     }
 
     @Override
@@ -169,16 +160,6 @@
         mOverrideWallpaperAsset = null;
     }
 
-    public boolean shouldUseThemeWallpaper() {
-        return mOverrideWallpaper == null && mWallpaperInfo != null;
-    }
-
-    public Asset getWallpaperPreviewAsset(Context context) {
-        return mOverrideWallpaper != null ?
-                getOverrideWallpaperAsset(context) :
-                getPreviewInfo().wallpaperAsset;
-    }
-
     private Asset getOverrideWallpaperAsset(Context context) {
         if (mOverrideWallpaperAsset == null) {
             mOverrideWallpaperAsset = new BitmapCachingAsset(context,
@@ -187,15 +168,6 @@
         return mOverrideWallpaperAsset;
     }
 
-    public WallpaperInfo getWallpaperInfo() {
-        return mWallpaperInfo;
-    }
-
-    @Nullable
-    public String getWallpaperOptions() {
-        return mWallpaperOptions;
-    }
-
     boolean isDefault() {
         return mIsDefault;
     }
@@ -243,6 +215,13 @@
         }
     }
 
+    private Map<String, String> removeNullValues(Map<String, String> map) {
+        return map.entrySet()
+                .stream()
+                .filter(entry -> entry.getValue() != null)
+                .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
+    }
+
     protected CharSequence getContentDescription(Context context) {
         if (mContentDescription == null) {
             CharSequence defaultName = context.getString(R.string.default_theme_title);
@@ -280,14 +259,34 @@
         @ColorInt public final int colorAccentDark;
         public final List<Drawable> icons;
         public final Drawable shapeDrawable;
-        @Nullable public final Asset wallpaperAsset;
-        public final List<Drawable> shapeAppIcons;
+        public final List<ShapeAppIcon> shapeAppIcons;
         @Dimension public final int bottomSheeetCornerRadius;
 
+        /** A class to represent an App icon and its name. */
+        public static class ShapeAppIcon {
+            private Drawable mIconDrawable;
+            private CharSequence mAppName;
+
+            public ShapeAppIcon(Drawable icon, CharSequence appName) {
+                mIconDrawable = icon;
+                mAppName = appName;
+            }
+
+            /** Returns a copy of app icon drawable. */
+            public Drawable getDrawableCopy() {
+                return mIconDrawable.getConstantState().newDrawable().mutate();
+            }
+
+            /** Returns the app name. */
+            public CharSequence getAppName() {
+                return mAppName;
+            }
+        }
+
         private PreviewInfo(Context context, Typeface bodyFontFamily, Typeface headlineFontFamily,
                 int colorAccentLight, int colorAccentDark, List<Drawable> icons,
                 Drawable shapeDrawable, @Dimension int cornerRadius,
-                @Nullable Asset wallpaperAsset, List<Drawable> shapeAppIcons) {
+                List<ShapeAppIcon> shapeAppIcons) {
             this.bodyFontFamily = bodyFontFamily;
             this.headlineFontFamily = headlineFontFamily;
             this.colorAccentLight = colorAccentLight;
@@ -295,8 +294,6 @@
             this.icons = icons;
             this.shapeDrawable = shapeDrawable;
             this.bottomSheeetCornerRadius = cornerRadius;
-            this.wallpaperAsset = wallpaperAsset == null
-                    ? null : new BitmapCachingAsset(context, wallpaperAsset);
             this.shapeAppIcons = shapeAppIcons;
         }
 
@@ -323,20 +320,16 @@
         private Path mShapePath;
         private boolean mIsDefault;
         @Dimension private int mCornerRadius;
-        private Asset mWallpaperAsset;
-        private WallpaperInfo mWallpaperInfo;
-        private String mWallpaperOptions;
         protected Map<String, String> mPackages = new HashMap<>();
-        private List<Drawable> mAppIcons = new ArrayList<>();
+        private List<ShapeAppIcon> mAppIcons = new ArrayList<>();
 
         public ThemeBundle build(Context context) {
-            return new ThemeBundle(mTitle, mPackages, mIsDefault, mWallpaperInfo, mWallpaperOptions,
-                    createPreviewInfo(context));
+            return new ThemeBundle(mTitle, mPackages, mIsDefault, createPreviewInfo(context));
         }
 
         public PreviewInfo createPreviewInfo(Context context) {
             ShapeDrawable shapeDrawable = null;
-            List<Drawable> shapeIcons = new ArrayList<>();
+            List<ShapeAppIcon> shapeIcons = new ArrayList<>();
             Path path = mShapePath;
             if (!TextUtils.isEmpty(mPathString)) {
                 path = PathParser.createPathFromPathData(mPathString);
@@ -346,12 +339,15 @@
                 shapeDrawable = new ShapeDrawable(shape);
                 shapeDrawable.setIntrinsicHeight((int) PATH_SIZE);
                 shapeDrawable.setIntrinsicWidth((int) PATH_SIZE);
-                for (Drawable icon : mAppIcons) {
-                    if (icon instanceof AdaptiveIconDrawable) {
-                        AdaptiveIconDrawable adaptiveIcon = (AdaptiveIconDrawable) icon;
-                        shapeIcons.add(new DynamicAdaptiveIconDrawable(adaptiveIcon.getBackground(),
-                                adaptiveIcon.getForeground(), path));
-                    } else if (icon instanceof DynamicAdaptiveIconDrawable) {
+                for (ShapeAppIcon icon : mAppIcons) {
+                    Drawable drawable = icon.mIconDrawable;
+                    if (drawable instanceof AdaptiveIconDrawable) {
+                        AdaptiveIconDrawable adaptiveIcon = (AdaptiveIconDrawable) drawable;
+                        shapeIcons.add(new ShapeAppIcon(
+                                new DynamicAdaptiveIconDrawable(adaptiveIcon.getBackground(),
+                                        adaptiveIcon.getForeground(), path),
+                                icon.getAppName()));
+                    } else if (drawable instanceof DynamicAdaptiveIconDrawable) {
                         shapeIcons.add(icon);
                     }
                     // TODO: add iconloader library's legacy treatment helper methods for
@@ -359,8 +355,7 @@
                 }
             }
             return new PreviewInfo(context, mBodyFontFamily, mHeadlineFontFamily, mColorAccentLight,
-                    mColorAccentDark, mIcons, shapeDrawable, mCornerRadius,
-                    mWallpaperAsset, shapeIcons);
+                    mColorAccentDark, mIcons, shapeDrawable, mCornerRadius, shapeIcons);
         }
 
         public Map<String, String> getPackages() {
@@ -416,37 +411,14 @@
             return this;
         }
 
-        public Builder setWallpaperInfo(String wallpaperPackageName, String wallpaperResName,
-                String themeId, @DrawableRes int wallpaperResId, @StringRes int titleResId,
-                @StringRes int attributionResId, @StringRes int actionUrlResId) {
-            mWallpaperInfo = new ThemeBundledWallpaperInfo(wallpaperPackageName, wallpaperResName,
-                    themeId, wallpaperResId, titleResId, attributionResId, actionUrlResId);
-            return this;
-        }
-
-        public Builder setLiveWallpaperInfo(LiveWallpaperInfo info) {
-            mWallpaperInfo = info;
-            return this;
-        }
-
-
-        public Builder setWallpaperAsset(Asset wallpaperAsset) {
-            mWallpaperAsset = wallpaperAsset;
-            return this;
-        }
-
-        public Builder setWallpaperOptions(String wallpaperOptions) {
-            mWallpaperOptions = wallpaperOptions;
-            return this;
-        }
-
         public Builder asDefault() {
             mIsDefault = true;
             return this;
         }
 
-        public Builder addShapePreviewIcon(Drawable appIcon) {
-            mAppIcons.add(appIcon);
+        public Builder setShapePreviewIcons(List<ShapeAppIcon> appIcons) {
+            mAppIcons.clear();
+            mAppIcons.addAll(appIcons);
             return this;
         }
 
diff --git a/src/com/android/customization/model/theme/ThemeBundleProvider.java b/src/com/android/customization/model/theme/ThemeBundleProvider.java
index fac11cd..34342b3 100644
--- a/src/com/android/customization/model/theme/ThemeBundleProvider.java
+++ b/src/com/android/customization/model/theme/ThemeBundleProvider.java
@@ -43,6 +43,8 @@
 
     void removeCustomTheme(CustomTheme theme);
 
+    @Nullable ThemeBundle.Builder parseThemeBundle(String serializedTheme) throws JSONException;
+
     @Nullable CustomTheme.Builder parseCustomTheme(String serializedTheme) throws JSONException;
 
     ThemeBundle findEquivalent(ThemeBundle other);
diff --git a/src/com/android/customization/model/theme/ThemeManager.java b/src/com/android/customization/model/theme/ThemeManager.java
index 79b45fd..533fbd0 100644
--- a/src/com/android/customization/model/theme/ThemeManager.java
+++ b/src/com/android/customization/model/theme/ThemeManager.java
@@ -24,7 +24,6 @@
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_ICON_THEMEPICKER;
 import static com.android.customization.model.ResourceConstants.OVERLAY_CATEGORY_SHAPE;
 
-import android.graphics.Point;
 import android.provider.Settings;
 import android.text.TextUtils;
 
@@ -35,13 +34,6 @@
 import com.android.customization.model.ResourceConstants;
 import com.android.customization.model.theme.custom.CustomTheme;
 import com.android.customization.module.ThemesUserEventLogger;
-import com.android.wallpaper.R;
-import com.android.wallpaper.asset.Asset;
-import com.android.wallpaper.model.LiveWallpaperInfo;
-import com.android.wallpaper.model.WallpaperInfo;
-import com.android.wallpaper.module.WallpaperPersister.SetWallpaperCallback;
-import com.android.wallpaper.module.WallpaperSetter;
-import com.android.wallpaper.util.WallpaperCropUtils;
 
 import org.json.JSONObject;
 
@@ -61,25 +53,22 @@
         THEME_CATEGORIES.add(OVERLAY_CATEGORY_ICON_SYSUI);
         THEME_CATEGORIES.add(OVERLAY_CATEGORY_ICON_LAUNCHER);
         THEME_CATEGORIES.add(OVERLAY_CATEGORY_ICON_THEMEPICKER);
-    };
-
+    }
 
     private final ThemeBundleProvider mProvider;
     private final OverlayManagerCompat mOverlayManagerCompat;
 
-    private final WallpaperSetter mWallpaperSetter;
     protected final FragmentActivity mActivity;
     private final ThemesUserEventLogger mEventLogger;
 
     private Map<String, String> mCurrentOverlays;
 
     public ThemeManager(ThemeBundleProvider provider, FragmentActivity activity,
-            WallpaperSetter wallpaperSetter, OverlayManagerCompat overlayManagerCompat,
+            OverlayManagerCompat overlayManagerCompat,
             ThemesUserEventLogger logger) {
         mProvider = provider;
         mActivity = activity;
         mOverlayManagerCompat = overlayManagerCompat;
-        mWallpaperSetter = wallpaperSetter;
         mEventLogger = logger;
     }
 
@@ -90,67 +79,7 @@
 
     @Override
     public void apply(ThemeBundle theme, Callback callback) {
-        // Set wallpaper
-        if (theme.shouldUseThemeWallpaper()) {
-            mWallpaperSetter.requestDestination(mActivity, mActivity.getSupportFragmentManager(),
-                    R.string.set_theme_wallpaper_dialog_message,
-                    destination -> applyWallpaper(
-                            theme,
-                            destination,
-                            createSetWallpaperCallback(theme, callback)),
-                    theme.getWallpaperInfo() instanceof LiveWallpaperInfo);
-
-        } else {
-            applyOverlays(theme, callback);
-        }
-    }
-
-    private SetWallpaperCallback createSetWallpaperCallback(ThemeBundle theme, Callback callback) {
-        return new SetWallpaperCallback() {
-            @Override
-            public void onSuccess(WallpaperInfo wallpaperInfo) {
-                applyWallpaperOptions(theme);
-                applyOverlays(theme, callback);
-            }
-
-            @Override
-            public void onError(@Nullable Throwable throwable) {
-                callback.onError(throwable);
-            }
-        };
-    }
-
-    protected void applyWallpaperOptions(ThemeBundle theme) {
-        //Do nothing.
-    }
-
-    private void applyWallpaper(ThemeBundle theme, int destination,
-            SetWallpaperCallback callback) {
-        Point defaultCropSurfaceSize = WallpaperCropUtils.getDefaultCropSurfaceSize(
-                mActivity.getResources(),
-                mActivity.getWindowManager().getDefaultDisplay());
-        Asset wallpaperAsset = theme.getWallpaperInfo().getAsset(mActivity);
-        if (wallpaperAsset != null) {
-            wallpaperAsset.decodeRawDimensions(mActivity,
-                    dimensions -> {
-                        float scale = 1f;
-                        // Calculate scale to fit the screen height
-                        if (dimensions != null && dimensions.y > 0) {
-                            scale = (float) defaultCropSurfaceSize.y / dimensions.y;
-                        }
-                        mWallpaperSetter.setCurrentWallpaper(mActivity,
-                                theme.getWallpaperInfo(),
-                                wallpaperAsset,
-                                destination,
-                                scale, null, callback);
-                    });
-        } else {
-            mWallpaperSetter.setCurrentWallpaper(mActivity,
-                    theme.getWallpaperInfo(),
-                    null,
-                    destination,
-                    1f, null, callback);
-        }
+        applyOverlays(theme, callback);
     }
 
     private void applyOverlays(ThemeBundle theme, Callback callback) {
diff --git a/src/com/android/customization/model/theme/custom/CustomTheme.java b/src/com/android/customization/model/theme/custom/CustomTheme.java
index 8a7ca05..a1ee106 100644
--- a/src/com/android/customization/model/theme/custom/CustomTheme.java
+++ b/src/com/android/customization/model/theme/custom/CustomTheme.java
@@ -39,9 +39,9 @@
      */
     private final String mId;
 
-    public CustomTheme(@NonNull String id, String title, Map<String, String> overlayPackages,
+    private CustomTheme(@NonNull String id, String title, Map<String, String> overlayPackages,
             @Nullable PreviewInfo previewInfo) {
-        super(title, overlayPackages, false, null, null, previewInfo);
+        super(title, overlayPackages, false, previewInfo);
         mId = id;
     }
 
@@ -76,13 +76,13 @@
     }
 
     @Override
-    public boolean shouldUseThemeWallpaper() {
-        return false;
+    public boolean isActive(CustomizationManager<ThemeBundle> manager) {
+        return isDefined() && super.isActive(manager);
     }
 
     @Override
-    public boolean isActive(CustomizationManager<ThemeBundle> manager) {
-        return isDefined() && super.isActive(manager);
+    public boolean isEquivalent(ThemeBundle other) {
+        return isDefined() && super.isEquivalent(other);
     }
 
     public boolean isDefined() {
@@ -94,7 +94,8 @@
 
         @Override
         public CustomTheme build(Context context) {
-            return new CustomTheme(mId, mTitle, mPackages, createPreviewInfo(context));
+            return new CustomTheme(mId, mTitle, mPackages,
+                    mPackages.isEmpty() ? null : createPreviewInfo(context));
         }
 
         public Builder setId(String id) {
diff --git a/src/com/android/customization/model/theme/custom/CustomThemeManager.java b/src/com/android/customization/model/theme/custom/CustomThemeManager.java
index 7b9b67c..42d73e6 100644
--- a/src/com/android/customization/model/theme/custom/CustomThemeManager.java
+++ b/src/com/android/customization/model/theme/custom/CustomThemeManager.java
@@ -16,20 +16,29 @@
 package com.android.customization.model.theme.custom;
 
 import android.content.Context;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Log;
 
 import androidx.annotation.Nullable;
 
 import com.android.customization.model.CustomizationManager;
 import com.android.customization.model.theme.ThemeBundle.PreviewInfo;
+import com.android.customization.model.theme.ThemeBundleProvider;
 import com.android.customization.model.theme.ThemeManager;
 import com.android.customization.model.theme.custom.CustomTheme.Builder;
 
+import org.json.JSONException;
+
 import java.util.Map;
 
 public class CustomThemeManager implements CustomizationManager<ThemeComponentOption> {
 
+    private static final String TAG = "CustomThemeManager";
+    private static final String KEY_STATE_CURRENT_SELECTION = "CustomThemeManager.currentSelection";
+
     private final CustomTheme mOriginalTheme;
-    private final CustomTheme.Builder mBuilder;
+    private CustomTheme.Builder mBuilder;
 
     private CustomThemeManager(Map<String, String> overlayPackages,
             @Nullable CustomTheme originalTheme) {
@@ -72,6 +81,29 @@
         return mBuilder.createPreviewInfo(context);
     }
 
+    /** Saves the custom theme selections while system config changes. */
+    public void saveCustomTheme(Context context, Bundle savedInstanceState) {
+        CustomTheme customTheme =
+                buildPartialCustomTheme(context, /* id= */ null, /* title= */ null);
+        savedInstanceState.putString(KEY_STATE_CURRENT_SELECTION,
+                customTheme.getSerializedPackages());
+    }
+
+    /** Reads the saved custom theme after system config changed. */
+    public void readCustomTheme(ThemeBundleProvider themeBundleProvider,
+                                Bundle savedInstanceState) {
+        String packages = savedInstanceState.getString(KEY_STATE_CURRENT_SELECTION);
+        if (!TextUtils.isEmpty(packages)) {
+            try {
+                mBuilder = themeBundleProvider.parseCustomTheme(packages);
+            } catch (JSONException e) {
+                Log.w(TAG, "Couldn't parse provided custom theme.");
+            }
+        } else {
+            Log.w(TAG, "No custom theme being restored.");
+        }
+    }
+
     public static CustomThemeManager create(
             @Nullable CustomTheme customTheme, ThemeManager themeManager) {
         if (customTheme != null && customTheme.isDefined()) {
diff --git a/src/com/android/customization/model/theme/custom/ShapeOptionsProvider.java b/src/com/android/customization/model/theme/custom/ShapeOptionsProvider.java
index 2206ff4..f93b892 100644
--- a/src/com/android/customization/model/theme/custom/ShapeOptionsProvider.java
+++ b/src/com/android/customization/model/theme/custom/ShapeOptionsProvider.java
@@ -22,6 +22,7 @@
 import static com.android.customization.model.ResourceConstants.PATH_SIZE;
 
 import android.content.Context;
+import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Resources;
@@ -39,6 +40,7 @@
 
 import com.android.customization.model.ResourceConstants;
 import com.android.customization.model.theme.OverlayManagerCompat;
+import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
 import com.android.customization.model.theme.custom.ThemeComponentOption.ShapeOption;
 import com.android.customization.widget.DynamicAdaptiveIconDrawable;
 import com.android.wallpaper.R;
@@ -71,11 +73,11 @@
             try {
                 Path path = loadPath(mContext.getPackageManager()
                         .getResourcesForApplication(overlayPackage), overlayPackage);
-                ShapeDrawable shapeDrawable = createShapeDrawable(path);
                 PackageManager pm = mContext.getPackageManager();
                 String label = pm.getApplicationInfo(overlayPackage, 0).loadLabel(pm).toString();
                 mOptions.add(new ShapeOption(overlayPackage, label, path,
-                        loadCornerRadius(overlayPackage), shapeDrawable, getShapedIcons(path)));
+                        loadCornerRadius(overlayPackage), createShapeDrawable(path),
+                        getShapedAppIcons(path)));
             } catch (NameNotFoundException | NotFoundException e) {
                 Log.w(TAG, String.format("Couldn't load shape overlay %s, will skip it",
                         overlayPackage), e);
@@ -86,12 +88,11 @@
     private void addDefault() {
         Resources system = Resources.getSystem();
         Path path = loadPath(system, ANDROID_PACKAGE);
-        ShapeDrawable shapeDrawable = createShapeDrawable(path);
         mOptions.add(new ShapeOption(null, mContext.getString(R.string.default_theme_title), path,
                 system.getDimensionPixelOffset(
-                    system.getIdentifier(ResourceConstants.CONFIG_CORNERRADIUS,
-                        "dimen", ResourceConstants.ANDROID_PACKAGE)),
-                shapeDrawable, getShapedIcons(path)));
+                        system.getIdentifier(ResourceConstants.CONFIG_CORNERRADIUS,
+                                "dimen", ResourceConstants.ANDROID_PACKAGE)),
+                createShapeDrawable(path), getShapedAppIcons(path)));
     }
 
     private ShapeDrawable createShapeDrawable(Path path) {
@@ -102,22 +103,32 @@
         return shapeDrawable;
     }
 
-    private List<Drawable> getShapedIcons(Path path) {
-        List<Drawable> icons = new ArrayList<>();
+    private List<ShapeAppIcon> getShapedAppIcons(Path path) {
+        List<ShapeAppIcon> shapedAppIcons = new ArrayList<>();
         for (String packageName : mShapePreviewIconPackages) {
+            Drawable icon = null;
+            CharSequence name = null;
             try {
                 Drawable appIcon = mContext.getPackageManager().getApplicationIcon(packageName);
                 if (appIcon instanceof AdaptiveIconDrawable) {
                     AdaptiveIconDrawable adaptiveIcon = (AdaptiveIconDrawable) appIcon;
-                    icons.add(new DynamicAdaptiveIconDrawable(adaptiveIcon.getBackground(),
-                            adaptiveIcon.getForeground(), path));
+                    icon = new DynamicAdaptiveIconDrawable(adaptiveIcon.getBackground(),
+                            adaptiveIcon.getForeground(), path);
+
+                    ApplicationInfo appInfo = mContext.getPackageManager()
+                            .getApplicationInfo(packageName, /* flag= */ 0);
+                    name = mContext.getPackageManager().getApplicationLabel(appInfo);
                 }
             } catch (NameNotFoundException e) {
                 Log.d(TAG, "Couldn't find app " + packageName
                         + ", won't use it for icon shape preview");
+            } finally {
+                if (icon != null && !TextUtils.isEmpty(name)) {
+                    shapedAppIcons.add(new ShapeAppIcon(icon, name));
+                }
             }
         }
-        return icons;
+        return shapedAppIcons;
     }
 
     private Path loadPath(Resources overlayRes, String packageName) {
diff --git a/src/com/android/customization/model/theme/custom/ThemeComponentOption.java b/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
index 6583433..5922f5c 100644
--- a/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
+++ b/src/com/android/customization/model/theme/custom/ThemeComponentOption.java
@@ -35,6 +35,7 @@
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
 import android.graphics.drawable.ShapeDrawable;
+import android.graphics.drawable.StateListDrawable;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -55,6 +56,7 @@
 import com.android.customization.model.CustomizationManager;
 import com.android.customization.model.CustomizationOption;
 import com.android.customization.model.ResourceConstants;
+import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
 import com.android.customization.model.theme.custom.CustomTheme.Builder;
 import com.android.wallpaper.R;
 
@@ -136,6 +138,9 @@
 
         @Override
         public void bindPreview(ViewGroup container) {
+            container.setContentDescription(
+                    container.getContext().getString(R.string.font_preview_content_description));
+
             bindPreviewHeader(container, R.string.preview_name_font, R.drawable.ic_font);
 
             ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
@@ -223,6 +228,9 @@
 
         @Override
         public void bindPreview(ViewGroup container) {
+            container.setContentDescription(
+                    container.getContext().getString(R.string.icon_preview_content_description));
+
             bindPreviewHeader(container, R.string.preview_name_icon, R.drawable.ic_wifi_24px);
 
             ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
@@ -314,8 +322,21 @@
         @Override
         public void bindThumbnailTile(View view) {
             @ColorInt int color = resolveColor(view.getResources());
-            ((ImageView) view.findViewById(R.id.option_tile)).setImageTintList(
+            LayerDrawable selectedOption = (LayerDrawable) view.getResources().getDrawable(
+                    R.drawable.color_chip_hollow, view.getContext().getTheme());
+            Drawable unselectedOption = view.getResources().getDrawable(
+                    R.drawable.color_chip_filled, view.getContext().getTheme());
+
+            selectedOption.findDrawableByLayerId(R.id.center_fill).setTintList(
                     ColorStateList.valueOf(color));
+            unselectedOption.setTintList(ColorStateList.valueOf(color));
+
+            StateListDrawable stateListDrawable = new StateListDrawable();
+            stateListDrawable.addState(new int[] {android.R.attr.state_activated}, selectedOption);
+            stateListDrawable.addState(
+                    new int[] {-android.R.attr.state_activated}, unselectedOption);
+
+            ((ImageView) view.findViewById(R.id.option_tile)).setImageDrawable(stateListDrawable);
             view.setContentDescription(mLabel);
         }
 
@@ -340,6 +361,9 @@
 
         @Override
         public void bindPreview(ViewGroup container) {
+            container.setContentDescription(
+                    container.getContext().getString(R.string.color_preview_content_description));
+
             bindPreviewHeader(container, R.string.preview_name_color, R.drawable.ic_colorize_24px);
 
             ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
@@ -416,7 +440,7 @@
     public static class ShapeOption extends ThemeComponentOption {
 
         private final LayerDrawable mShape;
-        private final List<Drawable> mAppIcons;
+        private final List<ShapeAppIcon> mAppIcons;
         private final String mLabel;
         private final Path mPath;
         private final int mCornerRadius;
@@ -427,7 +451,7 @@
 
         ShapeOption(String packageName, String label, Path path,
                 @Dimension int cornerRadius, Drawable shapeDrawable,
-                List<Drawable> appIcons) {
+                List<ShapeAppIcon> appIcons) {
             addOverlayPackage(OVERLAY_CATEGORY_SHAPE, packageName);
             mLabel = label;
             mAppIcons = appIcons;
@@ -480,6 +504,9 @@
 
         @Override
         public void bindPreview(ViewGroup container) {
+            container.setContentDescription(
+                    container.getContext().getString(R.string.shape_preview_content_description));
+
             bindPreviewHeader(container, R.string.preview_name_shape, R.drawable.ic_shapes_24px);
 
             ViewGroup cardBody = container.findViewById(R.id.theme_preview_card_body_container);
@@ -489,16 +516,15 @@
             }
             for (int i = 0; i < mShapeIconIds.length && i < mAppIcons.size(); i++) {
                 ImageView iconView = cardBody.findViewById(mShapeIconIds[i]);
-                iconView.setBackground(mAppIcons.get(i));
+                iconView.setBackground(mAppIcons.get(i).getDrawableCopy());
             }
         }
 
         @Override
         public Builder buildStep(Builder builder) {
-            builder.setShapePath(mPath).setBottomSheetCornerRadius(mCornerRadius);
-            for (Drawable appIcon : mAppIcons) {
-                builder.addShapePreviewIcon(appIcon);
-            }
+            builder.setShapePath(mPath)
+                    .setBottomSheetCornerRadius(mCornerRadius)
+                    .setShapePreviewIcons(mAppIcons);
             return super.buildStep(builder);
         }
     }
diff --git a/src/com/android/customization/module/CustomizationInjector.java b/src/com/android/customization/module/CustomizationInjector.java
index d25f925..85853de 100644
--- a/src/com/android/customization/module/CustomizationInjector.java
+++ b/src/com/android/customization/module/CustomizationInjector.java
@@ -23,13 +23,11 @@
 import com.android.customization.model.theme.ThemeBundleProvider;
 import com.android.customization.model.theme.ThemeManager;
 import com.android.wallpaper.module.Injector;
-import com.android.wallpaper.module.WallpaperSetter;
 
 public interface CustomizationInjector extends Injector {
 
     CustomizationPreferences getCustomizationPreferences(Context context);
 
     ThemeManager getThemeManager(ThemeBundleProvider provider, FragmentActivity activity,
-            WallpaperSetter wallpaperSetter, OverlayManagerCompat overlayManagerCompat,
-            ThemesUserEventLogger logger);
+            OverlayManagerCompat overlayManagerCompat, ThemesUserEventLogger logger);
 }
diff --git a/src/com/android/customization/module/DefaultCustomizationInjector.java b/src/com/android/customization/module/DefaultCustomizationInjector.java
index a0d435b..e18cb2d 100644
--- a/src/com/android/customization/module/DefaultCustomizationInjector.java
+++ b/src/com/android/customization/module/DefaultCustomizationInjector.java
@@ -30,7 +30,6 @@
 import com.android.wallpaper.module.LoggingOptInStatusProvider;
 import com.android.wallpaper.module.WallpaperPreferences;
 import com.android.wallpaper.module.WallpaperRotationRefresher;
-import com.android.wallpaper.module.WallpaperSetter;
 import com.android.wallpaper.monitor.PerformanceMonitor;
 import com.android.wallpaper.picker.PreviewFragment;
 
@@ -50,7 +49,6 @@
         return mPrefs;
     }
 
-
     @Override
     public CustomizationPreferences getCustomizationPreferences(Context context) {
         return (CustomizationPreferences) getPreferences(context);
@@ -91,8 +89,9 @@
             Context context,
             WallpaperInfo wallpaperInfo,
             int mode,
+            boolean viewAsHome,
             boolean testingModeEnabled) {
-        return PreviewFragment.newInstance(wallpaperInfo, mode, testingModeEnabled);
+        return PreviewFragment.newInstance(wallpaperInfo, mode, viewAsHome, testingModeEnabled);
     }
 
     @Override
@@ -115,9 +114,8 @@
 
     @Override
     public ThemeManager getThemeManager(ThemeBundleProvider provider, FragmentActivity activity,
-            WallpaperSetter wallpaperSetter, OverlayManagerCompat overlayManagerCompat,
-            ThemesUserEventLogger logger) {
-        return new ThemeManager(provider, activity, wallpaperSetter, overlayManagerCompat, logger);
+            OverlayManagerCompat overlayManagerCompat, ThemesUserEventLogger logger) {
+        return new ThemeManager(provider, activity, overlayManagerCompat, logger);
     }
 
 }
diff --git a/src/com/android/customization/picker/BasePreviewAdapter.java b/src/com/android/customization/picker/BasePreviewAdapter.java
index dab923a..c3ddc1d 100644
--- a/src/com/android/customization/picker/BasePreviewAdapter.java
+++ b/src/com/android/customization/picker/BasePreviewAdapter.java
@@ -17,6 +17,7 @@
 
 import static androidx.core.view.ViewCompat.LAYOUT_DIRECTION_RTL;
 
+import android.app.Activity;
 import android.content.Context;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -29,6 +30,7 @@
 import androidx.viewpager.widget.PagerAdapter;
 
 import com.android.customization.picker.BasePreviewAdapter.PreviewPage;
+import com.android.wallpaper.util.SizeCalculator;
 import com.android.wallpaper.widget.PreviewPager;
 
 import java.util.ArrayList;
@@ -103,11 +105,24 @@
         protected final String title;
         protected CardView card;
 
-        protected PreviewPage(String title) {
+        private Activity mActivity;
+
+        protected PreviewPage(String title, Activity activity) {
             this.title = title;
+            mActivity = activity;
         }
 
         public void setCard(CardView card) {
+            card.addOnLayoutChangeListener(
+                    new View.OnLayoutChangeListener() {
+                        @Override
+                        public void onLayoutChange(View v, int left, int top, int right, int bottom,
+                                int oldLeft, int oldTop, int oldRight, int oldBottom) {
+                            card.setRadius(SizeCalculator.getPreviewCornerRadius(
+                                    mActivity, card.getMeasuredWidth()));
+                            card.removeOnLayoutChangeListener(this);
+                        }
+                    });
             this.card = card;
         }
 
diff --git a/src/com/android/customization/picker/CustomizationPickerActivity.java b/src/com/android/customization/picker/CustomizationPickerActivity.java
index 86a0bf6..240f879 100644
--- a/src/com/android/customization/picker/CustomizationPickerActivity.java
+++ b/src/com/android/customization/picker/CustomizationPickerActivity.java
@@ -25,6 +25,7 @@
 import android.view.Gravity;
 import android.view.Menu;
 import android.view.MenuItem;
+import android.view.View;
 
 import androidx.annotation.IdRes;
 import androidx.annotation.NonNull;
@@ -65,7 +66,8 @@
 import com.android.wallpaper.module.Injector;
 import com.android.wallpaper.module.InjectorProvider;
 import com.android.wallpaper.module.UserEventLogger;
-import com.android.wallpaper.module.WallpaperSetter;
+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.MyPhotosStarter;
@@ -73,6 +75,8 @@
 import com.android.wallpaper.picker.TopLevelPickerActivity;
 import com.android.wallpaper.picker.WallpaperPickerDelegate;
 import com.android.wallpaper.picker.WallpapersUiContainer;
+import com.android.wallpaper.widget.BottomActionBar;
+import com.android.wallpaper.widget.BottomActionBar.BottomActionBarHost;
 
 import com.google.android.material.bottomnavigation.BottomNavigationView;
 
@@ -84,7 +88,8 @@
  *  Fragments providing customization options.
  */
 public class CustomizationPickerActivity extends FragmentActivity implements WallpapersUiContainer,
-        CategoryFragmentHost, ThemeFragmentHost, GridFragmentHost, ClockFragmentHost {
+        CategoryFragmentHost, ThemeFragmentHost, GridFragmentHost, ClockFragmentHost,
+        BottomActionBarHost {
 
     private static final String TAG = "CustomizationPickerActivity";
     @VisibleForTesting static final String WALLPAPER_FLAVOR_EXTRA =
@@ -98,7 +103,7 @@
 
     private static final Map<Integer, CustomizationSection> mSections = new HashMap<>();
     private CategoryFragment mWallpaperCategoryFragment;
-    private WallpaperSetter mWallpaperSetter;
+    private BottomActionBar mBottomActionBar;
 
     private boolean mWallpaperCategoryInitialized;
 
@@ -116,24 +121,36 @@
         if (!supportsCustomization()) {
             Log.w(TAG, "Themes not supported, reverting to Wallpaper Picker");
             skipToWallpaperPicker();
-        } else {
-            setContentView(R.layout.activity_customization_picker_main);
-            setUpBottomNavView();
+            return;
+        }
 
-            FragmentManager fm = getSupportFragmentManager();
-            Fragment fragment = fm.findFragmentById(R.id.fragment_container);
+        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);
+                    }
+                });
 
-            if (fragment == null) {
-                // App launch specific logic: log the "app launched" event and set up daily logging.
-                mUserEventLogger.logAppLaunched();
-                DailyLoggingAlarmScheduler.setAlarm(getApplicationContext());
+        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);
-            }
+            // 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);
         }
     }
 
@@ -194,14 +211,11 @@
         }
         //Theme
         CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
-        mWallpaperSetter = new WallpaperSetter(injector.getWallpaperPersister(this),
-                injector.getPreferences(this), mUserEventLogger, false);
         ThemesUserEventLogger eventLogger = (ThemesUserEventLogger) injector.getUserEventLogger(
                 this);
         ThemeManager themeManager = injector.getThemeManager(
                 new DefaultThemeProvider(this, injector.getCustomizationPreferences(this)),
-                this,
-                mWallpaperSetter, new OverlayManagerCompat(this), eventLogger);
+                this, new OverlayManagerCompat(this), eventLogger);
         if (themeManager.isAvailable()) {
             mSections.put(R.id.nav_theme, new ThemeSection(R.id.nav_theme, themeManager));
         } else {
@@ -292,9 +306,17 @@
 
     @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;
         }
@@ -335,8 +357,18 @@
     }
 
     @Override
-    public void showViewOnlyPreview(WallpaperInfo wallpaperInfo) {
-        mDelegate.showViewOnlyPreview(wallpaperInfo);
+    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
@@ -391,14 +423,6 @@
     }
 
     @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        if (mWallpaperSetter != null) {
-            mWallpaperSetter.cleanUp();
-        }
-    }
-
-    @Override
     protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         if (mDelegate.handleActivityResult(requestCode, resultCode, data)) {
@@ -412,6 +436,11 @@
         finish();
     }
 
+    @Override
+    public BottomActionBar getBottomActionBar() {
+        return mBottomActionBar;
+    }
+
     /**
      * Represents a section of the Picker (eg "ThemeBundle", "Clock", etc).
      * There should be a concrete subclass per available section, providing the corresponding
diff --git a/src/com/android/customization/picker/TimeTicker.java b/src/com/android/customization/picker/TimeTicker.java
deleted file mode 100644
index 2cf5dbf..0000000
--- a/src/com/android/customization/picker/TimeTicker.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.android.customization.picker;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-
-import androidx.annotation.Nullable;
-
-/**
- * BroadcastReceiver that can notify a listener when the system time (minutes) changes.
- * Use {@link #registerNewReceiver(Context, TimeListener)} to create a new instance that will be
- * automatically registered using the given Context.
- */
-public class TimeTicker extends BroadcastReceiver {
-
-    public interface TimeListener {
-        void onCurrentTimeChanged();
-    }
-
-    public static TimeTicker registerNewReceiver(Context context, TimeListener listener) {
-        TimeTicker receiver = new TimeTicker(listener);
-        // Register broadcast receiver for time tick
-        final IntentFilter filter = new IntentFilter(Intent.ACTION_TIME_TICK);
-        context.registerReceiver(receiver, filter);
-        return receiver;
-    }
-
-    @Nullable private TimeListener mListener;
-
-    private TimeTicker(TimeListener listener) {
-        mListener = listener;
-    }
-
-    @Override
-    public void onReceive(Context context, Intent intent) {
-        if (mListener != null) {
-            mListener.onCurrentTimeChanged();
-        }
-    }
-}
diff --git a/src/com/android/customization/picker/ViewOnlyFullPreviewActivity.java b/src/com/android/customization/picker/ViewOnlyFullPreviewActivity.java
new file mode 100644
index 0000000..2afbc16
--- /dev/null
+++ b/src/com/android/customization/picker/ViewOnlyFullPreviewActivity.java
@@ -0,0 +1,93 @@
+/*
+ * 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
new file mode 100644
index 0000000..ba750c9
--- /dev/null
+++ b/src/com/android/customization/picker/WallpaperPreviewer.java
@@ -0,0 +1,282 @@
+/*
+ * 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 android.view.View.MeasureSpec.EXACTLY;
+import static android.view.View.MeasureSpec.makeMeasureSpec;
+
+import android.app.Activity;
+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.SurfaceControlViewHost;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+import androidx.annotation.MainThread;
+import androidx.annotation.Nullable;
+import androidx.cardview.widget.CardView;
+import androidx.core.content.ContextCompat;
+import androidx.lifecycle.Lifecycle;
+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.ScreenSizeCalculator;
+import com.android.wallpaper.util.SizeCalculator;
+import com.android.wallpaper.util.WallpaperConnection;
+import com.android.wallpaper.util.WallpaperConnection.WallpaperConnectionListener;
+import com.android.wallpaper.widget.LiveTileOverlay;
+import com.android.wallpaper.widget.WallpaperColorsLoader;
+
+/** A class to load the wallpaper to the view. */
+public class WallpaperPreviewer implements LifecycleObserver {
+
+    private final Rect mPreviewLocalRect = new Rect();
+    private final Rect mPreviewGlobalRect = new Rect();
+    private final int[] mLivePreviewLocation = new int[2];
+
+    private final Activity mActivity;
+    private final ImageView mHomePreview;
+    private final SurfaceView mWallpaperSurface;
+    private final WallpaperSurfaceCallback mWallpaperSurfaceCallback =
+            new WallpaperSurfaceCallback();
+
+    private WallpaperInfo mWallpaper;
+    private WallpaperConnection mWallpaperConnection;
+    // Home workspace surface is behind the app window, and so must the home image wallpaper like
+    // the live wallpaper. This view is rendered on mWallpaperSurface for home image wallpaper.
+    private ImageView mHomeImageWallpaper;
+    @Nullable private WallpaperColorsListener mWallpaperColorsListener;
+
+    /** Interface for getting {@link WallpaperColors} from wallpaper. */
+    public interface WallpaperColorsListener {
+        /** Gets called when wallpaper color is available or updated. */
+        void onWallpaperColorsChanged(WallpaperColors colors);
+    }
+
+    public WallpaperPreviewer(Lifecycle lifecycle, Activity activity, ImageView homePreview,
+                              SurfaceView wallpaperSurface) {
+        lifecycle.addObserver(this);
+
+        mActivity = activity;
+        mHomePreview = homePreview;
+        mWallpaperSurface = wallpaperSurface;
+        mWallpaperSurface.setZOrderMediaOverlay(false);
+        mWallpaperSurface.getHolder().addCallback(mWallpaperSurfaceCallback);
+
+        View rootView = homePreview.getRootView();
+        rootView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
+            @Override
+            public void onLayoutChange(View v, int left, int top, int right, int bottom,
+                                       int oldLeft, int oldTop, int oldRight, int oldBottom) {
+                updatePreviewCardRadius();
+                rootView.removeOnLayoutChangeListener(this);
+            }
+        });
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
+    @MainThread
+    public void onResume() {
+        if (mWallpaperConnection != null) {
+            mWallpaperConnection.setVisibility(true);
+        }
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
+    @MainThread
+    public void onPause() {
+        if (mWallpaperConnection != null) {
+            mWallpaperConnection.setVisibility(false);
+        }
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
+    @MainThread
+    public void onStop() {
+        if (mWallpaperConnection != null) {
+            mWallpaperConnection.disconnect();
+            mWallpaperConnection = null;
+        }
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
+    @MainThread
+    public void onDestroy() {
+        LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
+        if (mWallpaperConnection != null) {
+            mWallpaperConnection.disconnect();
+            mWallpaperConnection = null;
+        }
+
+        mWallpaperSurfaceCallback.cleanUp();
+        mWallpaperSurface.getHolder().removeCallback(mWallpaperSurfaceCallback);
+        Surface surface = mWallpaperSurface.getHolder().getSurface();
+        if (surface != null) {
+            surface.release();
+        }
+    }
+
+    /**
+     * Sets a wallpaper to be shown on preview screen.
+     *
+     * @param wallpaperInfo the wallpaper to preview
+     * @param listener the listener for getting the wallpaper color of {@param wallpaperInfo}
+     */
+    public void setWallpaper(WallpaperInfo wallpaperInfo,
+                             @Nullable WallpaperColorsListener listener) {
+        mWallpaper = wallpaperInfo;
+        mWallpaperColorsListener = listener;
+        setUpWallpaperPreview();
+    }
+
+    private void setUpWallpaperPreview() {
+        if (mWallpaper != null && mHomeImageWallpaper != null) {
+            boolean renderInImageWallpaperSurface = !(mWallpaper instanceof LiveWallpaperInfo);
+            mWallpaper.getThumbAsset(mActivity.getApplicationContext())
+                    .loadPreviewImage(mActivity,
+                            renderInImageWallpaperSurface ? mHomeImageWallpaper : mHomePreview,
+                            mActivity.getResources().getColor(R.color.secondary_color));
+            LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
+            if (mWallpaper instanceof LiveWallpaperInfo) {
+                mWallpaper.getThumbAsset(mActivity.getApplicationContext())
+                        .loadPreviewImage(
+                                mActivity,
+                                mHomeImageWallpaper,
+                                mActivity.getColor(R.color.secondary_color));
+                setUpLiveWallpaperPreview(mWallpaper);
+            } else {
+                // Ensure live wallpaper connection is disconnected.
+                if (mWallpaperConnection != null) {
+                    mWallpaperConnection.disconnect();
+                    mWallpaperConnection = null;
+                }
+
+                // Load wallpaper color for static wallpaper.
+                if (mWallpaperColorsListener != null) {
+                    WallpaperColorsLoader.getWallpaperColors(
+                            mActivity,
+                            mWallpaper.getThumbAsset(mActivity),
+                            mWallpaperColorsListener::onWallpaperColorsChanged);
+                }
+            }
+        }
+    }
+
+    private void setUpLiveWallpaperPreview(WallpaperInfo homeWallpaper) {
+        if (mActivity == null || mActivity.isFinishing()) {
+            return;
+        }
+
+        if (mWallpaperConnection != null) {
+            mWallpaperConnection.disconnect();
+        }
+
+        mHomePreview.getLocationOnScreen(mLivePreviewLocation);
+        mPreviewGlobalRect.set(0, 0, mHomePreview.getMeasuredWidth(),
+                mHomePreview.getMeasuredHeight());
+        mPreviewLocalRect.set(mPreviewGlobalRect);
+        mPreviewGlobalRect.offset(mLivePreviewLocation[0], mLivePreviewLocation[1]);
+
+        mWallpaperConnection = new WallpaperConnection(
+                getWallpaperIntent(homeWallpaper.getWallpaperComponent()), mActivity,
+                new WallpaperConnectionListener() {
+                    @Override
+                    public void onWallpaperColorsChanged(WallpaperColors colors, int displayId) {
+                        if (mWallpaperColorsListener != null) {
+                            mWallpaperColorsListener.onWallpaperColorsChanged(colors);
+                        }
+                    }
+                }, mPreviewGlobalRect);
+
+        LiveTileOverlay.INSTANCE.update(new RectF(mPreviewLocalRect),
+                ((CardView) mHomePreview.getParent()).getRadius());
+
+        mWallpaperConnection.setVisibility(true);
+        mHomePreview.post(() -> {
+            if (mWallpaperConnection != null && !mWallpaperConnection.connect()) {
+                mWallpaperConnection = null;
+                LiveTileOverlay.INSTANCE.detach(mHomePreview.getOverlay());
+            }
+        });
+    }
+
+    /** Updates the preview card view corner radius to match the device corner radius. */
+    private void updatePreviewCardRadius() {
+        final float screenAspectRatio =
+                ScreenSizeCalculator.getInstance().getScreenAspectRatio(mActivity);
+        CardView cardView = (CardView) mHomePreview.getParent();
+        final int cardWidth = (int) (cardView.getMeasuredHeight() / screenAspectRatio);
+        ViewGroup.LayoutParams layoutParams = cardView.getLayoutParams();
+        layoutParams.width = cardWidth;
+        cardView.setLayoutParams(layoutParams);
+        cardView.setRadius(SizeCalculator.getPreviewCornerRadius(mActivity, cardWidth));
+    }
+
+    private static Intent getWallpaperIntent(android.app.WallpaperInfo info) {
+        return new Intent(WallpaperService.SERVICE_INTERFACE)
+                .setClassName(info.getPackageName(), info.getServiceName());
+    }
+
+    private class WallpaperSurfaceCallback implements SurfaceHolder.Callback {
+
+        private Surface mLastSurface;
+        private SurfaceControlViewHost mHost;
+
+        @Override
+        public void surfaceCreated(SurfaceHolder holder) {
+            if (mLastSurface != holder.getSurface()) {
+                mLastSurface = holder.getSurface();
+                mHomeImageWallpaper = new ImageView(mActivity);
+                mHomeImageWallpaper.setBackgroundColor(
+                        ContextCompat.getColor(mActivity, R.color.primary_color));
+                mHomeImageWallpaper.measure(makeMeasureSpec(mHomePreview.getWidth(), EXACTLY),
+                        makeMeasureSpec(mHomePreview.getHeight(), EXACTLY));
+                mHomeImageWallpaper.layout(0, 0, mHomePreview.getWidth(), mHomePreview.getHeight());
+
+                cleanUp();
+                mHost = new SurfaceControlViewHost(mActivity,
+                        mActivity.getDisplay(), mWallpaperSurface.getHostToken());
+                mHost.setView(mHomeImageWallpaper, mHomeImageWallpaper.getWidth(),
+                        mHomeImageWallpaper.getHeight());
+                mWallpaperSurface.setChildSurfacePackage(mHost.getSurfacePackage());
+            }
+            setUpWallpaperPreview();
+        }
+
+        @Override
+        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
+
+        @Override
+        public void surfaceDestroyed(SurfaceHolder holder) {}
+
+        public void cleanUp() {
+            if (mHost != null) {
+                mHost.release();
+                mHost = null;
+            }
+        }
+    }
+}
diff --git a/src/com/android/customization/picker/clock/ClockFragment.java b/src/com/android/customization/picker/clock/ClockFragment.java
index 48b4c0d..bc02ae3 100644
--- a/src/com/android/customization/picker/clock/ClockFragment.java
+++ b/src/com/android/customization/picker/clock/ClockFragment.java
@@ -15,8 +15,7 @@
  */
 package com.android.customization.picker.clock;
 
-import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
-
+import android.app.Activity;
 import android.content.Context;
 import android.content.res.Resources;
 import android.os.Bundle;
@@ -43,7 +42,7 @@
 import com.android.wallpaper.R;
 import com.android.wallpaper.asset.Asset;
 import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.ToolbarFragment;
+import com.android.wallpaper.picker.AppbarFragment;
 import com.android.wallpaper.widget.PreviewPager;
 
 import java.util.List;
@@ -51,7 +50,7 @@
 /**
  * Fragment that contains the main UI for selecting and applying a Clockface.
  */
-public class ClockFragment extends ToolbarFragment {
+public class ClockFragment extends AppbarFragment {
 
     private static final String TAG = "ClockFragment";
 
@@ -64,7 +63,7 @@
 
     public static ClockFragment newInstance(CharSequence title) {
         ClockFragment fragment = new ClockFragment();
-        fragment.setArguments(ToolbarFragment.createArguments(title));
+        fragment.setArguments(AppbarFragment.createArguments(title));
         return fragment;
     }
 
@@ -90,20 +89,8 @@
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
             @Nullable Bundle savedInstanceState) {
-        View view;
-        if (ADD_SCALABLE_HEADER) {
-            // TODO(b/147780560): Once the temporary flag (ADD_SCALABLE_HEADER) is removed,
-            // we should have a layout with the same name for portrait and landscape.
-            int orientation = getResources().getConfiguration().orientation;
-            view = inflater.inflate(
-                    orientation == ORIENTATION_LANDSCAPE
-                            ? R.layout.fragment_clock_picker
-                            : R.layout.fragment_clock_scalable_picker,
-                    container, /* attachToRoot */ false);
-        } else {
-            view = inflater.inflate(
-                    R.layout.fragment_clock_picker, container, /* attachToRoot */ false);
-        }
+        View view = inflater.inflate(
+                R.layout.fragment_clock_picker, container, /* attachToRoot */ false);
         setUpToolbar(view);
         mContent = view.findViewById(R.id.content_section);
         mPreviewPager = view.findViewById(R.id.clock_preview_pager);
@@ -134,7 +121,7 @@
     }
 
     private void createAdapter() {
-        mPreviewPager.setAdapter(new ClockPreviewAdapter(getContext(), mSelectedOption));
+        mPreviewPager.setAdapter(new ClockPreviewAdapter(getActivity(), mSelectedOption));
     }
 
     private void setUpOptions() {
@@ -188,8 +175,8 @@
 
         private final Asset mPreviewAsset;
 
-        public ClockfacePreviewPage(String title, Asset previewAsset) {
-            super(title);
+        public ClockfacePreviewPage(String title, Activity activity, Asset previewAsset) {
+            super(title, activity);
             mPreviewAsset = previewAsset;
         }
 
@@ -213,9 +200,10 @@
      * we don't want to just scroll)
      */
     private static class ClockPreviewAdapter extends BasePreviewAdapter<ClockfacePreviewPage> {
-        ClockPreviewAdapter(Context context, Clockface clockface) {
-            super(context, R.layout.clock_preview_card);
-            addPage(new ClockfacePreviewPage(clockface.getTitle(), clockface.getPreviewAsset()));
+        ClockPreviewAdapter(Activity activity, Clockface clockface) {
+            super(activity, R.layout.clock_preview_card);
+            addPage(new ClockfacePreviewPage(
+                    clockface.getTitle(), activity , clockface.getPreviewAsset()));
         }
     }
 }
diff --git a/src/com/android/customization/picker/grid/GridFragment.java b/src/com/android/customization/picker/grid/GridFragment.java
index 7a01f26..ad37fbf 100644
--- a/src/com/android/customization/picker/grid/GridFragment.java
+++ b/src/com/android/customization/picker/grid/GridFragment.java
@@ -15,59 +15,57 @@
  */
 package com.android.customization.picker.grid;
 
-import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
+import static android.app.Activity.RESULT_OK;
 
-import android.app.Activity;
+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.res.Resources;
-import android.graphics.drawable.BitmapDrawable;
-import android.net.Uri;
+import android.content.Intent;
 import android.os.Bundle;
-import android.util.DisplayMetrics;
 import android.util.Log;
 import android.view.LayoutInflater;
-import android.view.SurfaceHolder;
 import android.view.SurfaceView;
 import android.view.View;
-import android.view.View.OnLayoutChangeListener;
 import android.view.ViewGroup;
-import android.widget.ImageView;
+import android.widget.Toast;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.cardview.widget.CardView;
 import androidx.core.widget.ContentLoadingProgressBar;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.customization.model.CustomizationManager.Callback;
 import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
+import com.android.customization.model.CustomizationOption;
 import com.android.customization.model.grid.GridOption;
 import com.android.customization.model.grid.GridOptionsManager;
 import com.android.customization.module.ThemesUserEventLogger;
-import com.android.customization.picker.BasePreviewAdapter;
-import com.android.customization.picker.BasePreviewAdapter.PreviewPage;
+import com.android.customization.picker.ViewOnlyFullPreviewActivity;
+import com.android.customization.picker.WallpaperPreviewer;
 import com.android.customization.widget.OptionSelectorController;
-import com.android.systemui.shared.system.SurfaceViewRequestUtils;
 import com.android.wallpaper.R;
-import com.android.wallpaper.asset.Asset;
-import com.android.wallpaper.asset.ContentUriAsset;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
 import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.ToolbarFragment;
-import com.android.wallpaper.widget.PreviewPager;
+import com.android.wallpaper.picker.AppbarFragment;
+import com.android.wallpaper.widget.BottomActionBar;
 
 import com.bumptech.glide.Glide;
-import com.bumptech.glide.request.RequestOptions;
 
 import java.util.List;
 
 /**
  * Fragment that contains the UI for selecting and applying a GridOption.
  */
-public class GridFragment extends ToolbarFragment {
+public class GridFragment extends AppbarFragment {
 
-    private static final int PREVIEW_FADE_DURATION_MS = 100;
+    private static final int FULL_PREVIEW_REQUEST_CODE = 1000;
+    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";
 
@@ -80,26 +78,40 @@
 
     public static GridFragment newInstance(CharSequence title) {
         GridFragment fragment = new GridFragment();
-        fragment.setArguments(ToolbarFragment.createArguments(title));
+        fragment.setArguments(AppbarFragment.createArguments(title));
         return fragment;
     }
 
     private WallpaperInfo mHomeWallpaper;
-    private float mScreenAspectRatio;
-    private int mCardHeight;
-    private int mCardWidth;
-    private BitmapDrawable mCardBackground;
-    private GridPreviewAdapter mAdapter;
     private RecyclerView mOptionsContainer;
     private OptionSelectorController<GridOption> mOptionsController;
     private GridOptionsManager mGridManager;
     private GridOption mSelectedOption;
-    private PreviewPager mPreviewPager;
     private ContentLoadingProgressBar mLoading;
     private View mContent;
     private View mError;
+    private BottomActionBar mBottomActionBar;
     private ThemesUserEventLogger mEventLogger;
 
+    private GridOptionPreviewer mGridOptionPreviewer;
+
+    private final Callback mApplyGridCallback = new Callback() {
+        @Override
+        public void onSuccess() {
+            Toast.makeText(getContext(), R.string.applied_grid_msg, Toast.LENGTH_SHORT).show();
+            getActivity().overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
+            getActivity().finish();
+        }
+
+        @Override
+        public void onError(@Nullable Throwable throwable) {
+            // Since we disabled it when clicked apply button.
+            mBottomActionBar.enableActions();
+            mBottomActionBar.hide();
+            //TODO(chihhangchuang): handle
+        }
+    };
+
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
@@ -112,89 +124,77 @@
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
             @Nullable Bundle savedInstanceState) {
-        View view;
-        if (ADD_SCALABLE_HEADER) {
-            // TODO(b/147780560): Once the temporary flag (ADD_SCALABLE_HEADER) is removed,
-            // we should have a layout with the same name for portrait and landscape.
-            int orientation = getResources().getConfiguration().orientation;
-            view = inflater.inflate(
-                    orientation == ORIENTATION_LANDSCAPE
-                            ? R.layout.fragment_grid_picker
-                            : R.layout.fragment_grid_scalable_picker,
-                    container, /* attachToRoot */ false);
-        } else {
-            view = inflater.inflate(
-                    R.layout.fragment_grid_picker, container, /* attachToRoot */ false);
-        }
+        View view = inflater.inflate(
+                R.layout.fragment_grid_picker, container, /* attachToRoot */ false);
         setUpToolbar(view);
         mContent = view.findViewById(R.id.content_section);
-        mPreviewPager = view.findViewById(R.id.grid_preview_pager);
         mOptionsContainer = view.findViewById(R.id.options_container);
         mLoading = view.findViewById(R.id.loading_indicator);
         mError = view.findViewById(R.id.error_section);
-        final Resources res = getResources();
-        DisplayMetrics dm = res.getDisplayMetrics();
-        mScreenAspectRatio = (float) dm.heightPixels / dm.widthPixels;
 
         // Clear memory cache whenever grid fragment view is being loaded.
         Glide.get(getContext()).clearMemory();
-        setUpOptions();
-        view.findViewById(R.id.apply_button).setOnClickListener(v -> {
-            mGridManager.apply(mSelectedOption,  new Callback() {
-                @Override
-                public void onSuccess() {
-                    getActivity().finish();
-                }
+        setUpOptions(savedInstanceState);
 
-                @Override
-                public void onError(@Nullable Throwable throwable) {
-                    //TODO(santie): handle
-                }
-            });
-
-        });
+        SurfaceView wallpaperSurface = view.findViewById(R.id.wallpaper_preview_surface);
+        WallpaperPreviewer wallpaperPreviewer = new WallpaperPreviewer(getLifecycle(),
+                getActivity(), view.findViewById(R.id.wallpaper_preview_image), wallpaperSurface);
+        // Loads current Wallpaper.
         CurrentWallpaperInfoFactory factory = InjectorProvider.getInjector()
                 .getCurrentWallpaperFactory(getContext().getApplicationContext());
-
         factory.createCurrentWallpaperInfos((homeWallpaper, lockWallpaper, presentationMode) -> {
             mHomeWallpaper = homeWallpaper;
-            loadWallpaperBackground();
-
+            wallpaperPreviewer.setWallpaper(mHomeWallpaper, /* listener= */ null);
         }, false);
-        view.addOnLayoutChangeListener(new OnLayoutChangeListener() {
-            @Override
-            public void onLayoutChange(View v, int left, int top, int right, int bottom,
-                    int oldLeft, int oldTop, int oldRight, int oldBottom) {
-                mCardHeight = mPreviewPager.getHeight() - mPreviewPager.getPaddingTop() -
-                        res.getDimensionPixelSize(R.dimen.indicator_container_height);
-                mCardWidth = (int) (mCardHeight / mScreenAspectRatio);
-                view.removeOnLayoutChangeListener(this);
-                loadWallpaperBackground();
-            }
-        });
+
+        mGridOptionPreviewer = new GridOptionPreviewer(mGridManager,
+                view.findViewById(R.id.grid_preview_container));
+
+        view.findViewById(R.id.grid_preview_card).setOnClickListener(v -> showFullPreview());
         return view;
     }
 
-    private void loadWallpaperBackground() {
-        if (mHomeWallpaper != null && mCardHeight > 0 && mCardWidth > 0) {
-            mHomeWallpaper.getThumbAsset(getContext()).decodeBitmap(mCardWidth,
-                    mCardHeight,
-                    bitmap -> {
-                        mCardBackground =
-                                new BitmapDrawable(getResources(), bitmap);
-                        if (mAdapter != null) {
-                            mAdapter.onWallpaperInfoLoaded();
-                        }
-                    });
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        if (mGridOptionPreviewer != null) {
+            mGridOptionPreviewer.release();
         }
     }
 
-    private void createAdapter() {
-        mAdapter = new GridPreviewAdapter(mSelectedOption);
-        mPreviewPager.setAdapter(mAdapter);
+    @Override
+    public void onSaveInstanceState(@NonNull Bundle outState) {
+        super.onSaveInstanceState(outState);
+        if (mSelectedOption != null) {
+            outState.putParcelable(KEY_STATE_SELECTED_OPTION, mSelectedOption);
+        }
+        if (mBottomActionBar != null) {
+            outState.putBoolean(KEY_STATE_BOTTOM_ACTION_BAR_VISIBLE, mBottomActionBar.isVisible());
+        }
     }
 
-    private void setUpOptions() {
+    @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) {
+        mBottomActionBar = bottomActionBar;
+        mBottomActionBar.showActionsOnly(APPLY);
+        mBottomActionBar.setActionClickListener(APPLY, unused -> applyGridOption(mSelectedOption));
+    }
+
+    private void applyGridOption(GridOption gridOption) {
+        mBottomActionBar.disableActions();
+        mGridManager.apply(gridOption, mApplyGridCallback);
+    }
+
+    private void setUpOptions(@Nullable Bundle savedInstanceState) {
         hideError();
         mLoading.show();
         mGridManager.fetchOptions(new OptionsFetchedListener<GridOption>() {
@@ -202,23 +202,26 @@
             public void onOptionsLoaded(List<GridOption> options) {
                 mLoading.hide();
                 mOptionsController = new OptionSelectorController<>(mOptionsContainer, options);
-
-                mOptionsController.addListener(selected -> {
-                    mSelectedOption = (GridOption) selected;
-                    mEventLogger.logGridSelected(mSelectedOption);
-                    createAdapter();
-                });
                 mOptionsController.initOptions(mGridManager);
-                for (GridOption option : options) {
-                    if (option.isActive(mGridManager)) {
-                        mSelectedOption = option;
-                    }
+
+                // Find the selected Grid option.
+                GridOption previouslySelectedOption = null;
+                if (savedInstanceState != null) {
+                    previouslySelectedOption = findEquivalent(
+                            options, savedInstanceState.getParcelable(KEY_STATE_SELECTED_OPTION));
                 }
-                // For development only, as there should always be a grid set.
-                if (mSelectedOption == null) {
-                    mSelectedOption = options.get(0);
-                }
-                createAdapter();
+                mSelectedOption = previouslySelectedOption != null
+                        ? previouslySelectedOption
+                        : getActiveOption(options);
+
+                mOptionsController.setSelectedOption(mSelectedOption);
+                onOptionSelected(mSelectedOption);
+                restoreBottomActionBarVisibility(savedInstanceState);
+
+                mOptionsController.addListener(selectedOption -> {
+                    onOptionSelected(selectedOption);
+                    mBottomActionBar.show();
+                });
             }
 
             @Override
@@ -231,6 +234,22 @@
         }, false);
     }
 
+    private GridOption getActiveOption(List<GridOption> options) {
+        return options.stream()
+                .filter(option -> option.isActive(mGridManager))
+                .findAny()
+                // For development only, as there should always be a grid set.
+                .orElse(options.get(0));
+    }
+
+    @Nullable
+    private GridOption findEquivalent(List<GridOption> options, GridOption target) {
+        return options.stream()
+                .filter(option -> option.equals(target))
+                .findAny()
+                .orElse(null);
+    }
+
     private void hideError() {
         mContent.setVisibility(View.VISIBLE);
         mError.setVisibility(View.GONE);
@@ -242,97 +261,27 @@
         mError.setVisibility(View.VISIBLE);
     }
 
-    private class GridPreviewPage extends PreviewPage {
-        private final int mPageId;
-        private final Asset mPreviewAsset;
-        private final int mCols;
-        private final int mRows;
-        private final Activity mActivity;
+    private void onOptionSelected(CustomizationOption selectedOption) {
+        mSelectedOption = (GridOption) selectedOption;
+        mEventLogger.logGridSelected(mSelectedOption);
+        mGridOptionPreviewer.setGridOption(mSelectedOption);
+    }
 
-        private final String mName;
-
-        private ImageView mPreview;
-        private SurfaceView mPreviewSurface;
-
-        private GridPreviewPage(Activity activity, int id, Uri previewUri, String name, int rows,
-                int cols) {
-            super(null);
-            mPageId = id;
-            mPreviewAsset = new ContentUriAsset(activity, previewUri,
-                    RequestOptions.fitCenterTransform());
-            mName = name;
-            mRows = rows;
-            mCols = cols;
-            mActivity = activity;
-        }
-
-        @Override
-        public void setCard(CardView card) {
-            super.setCard(card);
-            mPreview = card.findViewById(R.id.grid_preview_image);
-            mPreviewSurface = card.findViewById(R.id.grid_preview_surface);
-        }
-
-        public void bindPreviewContent() {
-            Resources resources = card.getResources();
-            bindWallpaperIfAvailable();
-            final boolean usesSurfaceViewForPreview = mGridManager.usesSurfaceView();
-            mPreview.setVisibility(usesSurfaceViewForPreview ? View.GONE : View.VISIBLE);
-            mPreviewSurface.setVisibility(usesSurfaceViewForPreview ? View.VISIBLE : View.GONE);
-            if (usesSurfaceViewForPreview) {
-                mPreviewSurface.setZOrderOnTop(true);
-                mPreviewSurface.getHolder().addCallback(new SurfaceHolder.Callback() {
-                    @Override
-                    public void surfaceCreated(SurfaceHolder holder) {
-                        Bundle bundle = SurfaceViewRequestUtils.createSurfaceBundle(
-                                mPreviewSurface);
-                        mGridManager.renderPreview(bundle, mName);
-                    }
-
-                    @Override
-                    public void surfaceChanged(SurfaceHolder holder, int format, int width,
-                            int height) {}
-
-                    @Override
-                    public void surfaceDestroyed(SurfaceHolder holder) {}
-                });
-            } else {
-                mPreviewAsset.loadDrawableWithTransition(mActivity,
-                        mPreview /* imageView */,
-                        PREVIEW_FADE_DURATION_MS /* duration */,
-                        null /* drawableLoadedListener */,
-                        resources.getColor(android.R.color.transparent,
-                                null) /* placeHolderColorJ */);
-            }
-        }
-
-        void bindWallpaperIfAvailable() {
-            if (card != null && mCardBackground != null) {
-                mPreview.setBackground(mCardBackground);
-                mPreviewSurface.setBackground(mCardBackground);
-            }
+    private void restoreBottomActionBarVisibility(@Nullable Bundle savedInstanceState) {
+        boolean isBottomActionBarVisible = savedInstanceState != null
+                && savedInstanceState.getBoolean(KEY_STATE_BOTTOM_ACTION_BAR_VISIBLE);
+        if (isBottomActionBarVisible) {
+            mBottomActionBar.show();
+        } else {
+            mBottomActionBar.hide();
         }
     }
-    /**
-     * Adapter class for mPreviewPager.
-     * This is a ViewPager as it allows for a nice pagination effect (ie, pages snap on swipe,
-     * we don't want to just scroll)
-     */
-    class GridPreviewAdapter extends BasePreviewAdapter<GridPreviewPage> {
 
-        GridPreviewAdapter(GridOption gridOption) {
-            super(getContext(), R.layout.grid_preview_card);
-            for (int i = 0; i < gridOption.previewPagesCount; i++) {
-                addPage(new GridPreviewPage(getActivity(), i,
-                        gridOption.previewImageUri.buildUpon().appendPath("" + i).build(),
-                        gridOption.name, gridOption.rows, gridOption.cols));
-            }
-        }
-
-        void onWallpaperInfoLoaded() {
-            for (GridPreviewPage page : mPages) {
-                page.bindWallpaperIfAvailable();
-            }
-        }
+    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
new file mode 100644
index 0000000..69105df
--- /dev/null
+++ b/src/com/android/customization/picker/grid/GridFullPreviewFragment.java
@@ -0,0 +1,140 @@
+/*
+ * 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
new file mode 100644
index 0000000..fdefa05
--- /dev/null
+++ b/src/com/android/customization/picker/grid/GridOptionPreviewer.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.picker.grid;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+import android.view.ViewGroup;
+
+import com.android.customization.model.grid.GridOption;
+import com.android.customization.model.grid.GridOptionsManager;
+import com.android.wallpaper.picker.WorkspaceSurfaceHolderCallback;
+import com.android.wallpaper.util.SurfaceViewUtils;
+
+/** A class to load the {@link GridOption} preview to the view. */
+class GridOptionPreviewer {
+
+    private final GridOptionsManager mGridManager;
+    private final ViewGroup mPreviewContainer;
+
+    private SurfaceView mGridOptionSurface;
+    private GridOption mGridOption;
+    private GridOptionSurfaceHolderCallback mSurfaceCallback;
+
+    GridOptionPreviewer(GridOptionsManager gridManager, ViewGroup previewContainer) {
+        mGridManager = gridManager;
+        mPreviewContainer = previewContainer;
+    }
+
+    /** Loads the Grid option into the container view. */
+    public void setGridOption(GridOption gridOption) {
+        mGridOption = gridOption;
+        if (mGridOption != null) {
+            updateWorkspacePreview();
+        }
+    }
+
+    /** Releases the view resource. */
+    public void release() {
+        if (mGridOptionSurface != null) {
+            mSurfaceCallback.cleanUp();
+            mGridOptionSurface = null;
+        }
+        mPreviewContainer.removeAllViews();
+    }
+
+    private void updateWorkspacePreview() {
+        // Reattach SurfaceView to trigger #surfaceCreated to update preview for different option.
+        mPreviewContainer.removeAllViews();
+        if (mSurfaceCallback != null) {
+            mSurfaceCallback.resetLastSurface();
+        }
+        if (mGridOptionSurface == null) {
+            mGridOptionSurface = new SurfaceView(mPreviewContainer.getContext());
+            mGridOptionSurface.setLayoutParams(new ViewGroup.LayoutParams(
+                    ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
+            mGridOptionSurface.setZOrderMediaOverlay(true);
+            mSurfaceCallback = new GridOptionSurfaceHolderCallback(mGridOptionSurface,
+                    mGridOptionSurface.getContext());
+            mGridOptionSurface.getHolder().addCallback(mSurfaceCallback);
+        }
+        mPreviewContainer.addView(mGridOptionSurface);
+    }
+
+    private class GridOptionSurfaceHolderCallback extends WorkspaceSurfaceHolderCallback {
+        private GridOptionSurfaceHolderCallback(SurfaceView workspaceSurface, Context context) {
+            super(workspaceSurface, context);
+        }
+
+        @Override
+        public void surfaceCreated(SurfaceHolder holder) {
+            if (mGridOption != null) {
+                super.surfaceCreated(holder);
+            }
+        }
+
+        @Override
+        protected Bundle renderPreview(SurfaceView workspaceSurface) {
+            return mGridManager.renderPreview(
+                    SurfaceViewUtils.createSurfaceViewRequest(workspaceSurface),
+                    mGridOption.name);
+        }
+    }
+}
diff --git a/src/com/android/customization/picker/theme/CustomThemeActivity.java b/src/com/android/customization/picker/theme/CustomThemeActivity.java
index fe537ba..a91faeb 100644
--- a/src/com/android/customization/picker/theme/CustomThemeActivity.java
+++ b/src/com/android/customization/picker/theme/CustomThemeActivity.java
@@ -53,7 +53,6 @@
 import com.android.customization.picker.theme.CustomThemeStepFragment.CustomThemeComponentStepHost;
 import com.android.wallpaper.R;
 import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.module.WallpaperSetter;
 
 import org.json.JSONException;
 
@@ -84,12 +83,12 @@
     protected void onCreate(Bundle savedInstanceState) {
         CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
         mUserEventLogger = (ThemesUserEventLogger) injector.getUserEventLogger(this);
+        ThemeBundleProvider themeProvider =
+                new DefaultThemeProvider(this, injector.getCustomizationPreferences(this));
         Intent intent = getIntent();
         CustomTheme customTheme = null;
         if (intent != null && intent.hasExtra(EXTRA_THEME_PACKAGES)
                 && intent.hasExtra(EXTRA_THEME_TITLE) && intent.hasExtra(EXTRA_THEME_ID)) {
-            ThemeBundleProvider themeProvider =
-                    new DefaultThemeProvider(this, injector.getCustomizationPreferences(this));
             try {
                 CustomTheme.Builder themeBuilder = themeProvider.parseCustomTheme(
                         intent.getStringExtra(EXTRA_THEME_PACKAGES));
@@ -106,12 +105,13 @@
         mThemeManager = injector.getThemeManager(
                 new DefaultThemeProvider(this, injector.getCustomizationPreferences(this)),
                 this,
-                new WallpaperSetter(injector.getWallpaperPersister(this),
-                        injector.getPreferences(this), mUserEventLogger, false),
                 new OverlayManagerCompat(this),
                 mUserEventLogger);
         mThemeManager.fetchOptions(null, false);
         mCustomThemeManager = CustomThemeManager.create(customTheme, mThemeManager);
+        if (savedInstanceState != null) {
+            mCustomThemeManager.readCustomTheme(themeProvider, savedInstanceState);
+        }
 
         int currentStep = 0;
         if (savedInstanceState != null) {
@@ -138,6 +138,9 @@
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
         outState.putInt(KEY_STATE_CURRENT_STEP, mCurrentStep);
+        if (mCustomThemeManager != null) {
+            mCustomThemeManager.saveCustomTheme(this, outState);
+        }
     }
 
     private void navigateToStep(int i) {
@@ -223,7 +226,8 @@
         mThemeManager.apply(themeToApply, new Callback() {
             @Override
             public void onSuccess() {
-                Toast.makeText(CustomThemeActivity.this, R.string.applied_theme_msg,
+                overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
+                Toast.makeText(getApplicationContext(), R.string.applied_theme_msg,
                         Toast.LENGTH_LONG).show();
                 setResult(RESULT_THEME_APPLIED);
                 finish();
@@ -354,8 +358,7 @@
             return CustomThemeComponentFragment.newInstance(
                     title,
                     position,
-                    titleResId,
-                    true);
+                    titleResId);
         }
     }
 
diff --git a/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java b/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java
index f6471f0..a6fdb1c 100644
--- a/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java
+++ b/src/com/android/customization/picker/theme/CustomThemeComponentFragment.java
@@ -15,27 +15,20 @@
  */
 package com.android.customization.picker.theme;
 
-import android.app.AlertDialog;
-import android.content.Context;
-import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.view.LayoutInflater;
-import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.TextView;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.annotation.StringRes;
 import androidx.recyclerview.widget.RecyclerView;
 
-import com.android.customization.model.theme.custom.CustomThemeManager;
 import com.android.customization.model.theme.custom.ThemeComponentOption;
 import com.android.customization.model.theme.custom.ThemeComponentOptionProvider;
 import com.android.customization.widget.OptionSelectorController;
 import com.android.wallpaper.R;
-import com.android.wallpaper.picker.ToolbarFragment;
+import com.android.wallpaper.picker.AppbarFragment;
 
 public class CustomThemeComponentFragment extends CustomThemeStepFragment {
     private static final String ARG_USE_GRID_LAYOUT = "CustomThemeComponentFragment.use_grid";;
@@ -48,7 +41,7 @@
     public static CustomThemeComponentFragment newInstance(CharSequence toolbarTitle, int position,
             int titleResId, boolean allowGridLayout) {
         CustomThemeComponentFragment fragment = new CustomThemeComponentFragment();
-        Bundle arguments = ToolbarFragment.createArguments(toolbarTitle);
+        Bundle arguments = AppbarFragment.createArguments(toolbarTitle);
         arguments.putInt(ARG_KEY_POSITION, position);
         arguments.putInt(ARG_KEY_TITLE_RES_ID, titleResId);
         arguments.putBoolean(ARG_USE_GRID_LAYOUT, allowGridLayout);
@@ -105,6 +98,9 @@
             mOptionsController.addListener(selected -> {
                 mSelectedOption = (ThemeComponentOption) selected;
                 bindPreview();
+                // Preview and apply. The selection will be kept whatever user goes to previous page
+                // or encounter system config changes, the current selection can be recovered.
+                mCustomThemeManager.apply(mSelectedOption, /* callback= */ null);
             });
             mOptionsController.initOptions(mCustomThemeManager);
 
diff --git a/src/com/android/customization/picker/theme/CustomThemeNameFragment.java b/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
index e21fc80..f36c80b 100644
--- a/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
+++ b/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
@@ -15,84 +15,59 @@
  */
 package com.android.customization.picker.theme;
 
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
+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.Editable;
-import android.text.TextWatcher;
+import android.text.TextUtils;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.View.OnLayoutChangeListener;
 import android.view.ViewGroup;
 import android.widget.EditText;
-import android.widget.TextView;
+import android.widget.ImageView;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.cardview.widget.CardView;
 
 import com.android.customization.model.theme.ThemeBundle.PreviewInfo;
-import com.android.customization.picker.TimeTicker;
-import com.android.customization.picker.theme.ThemePreviewPage.ThemeCoverPage;
+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.asset.Asset;
-import com.android.wallpaper.asset.BitmapCachingAsset;
+import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
 import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.ToolbarFragment;
+import com.android.wallpaper.picker.AppbarFragment;
 
+import org.json.JSONArray;
+import org.json.JSONException;
+
+/** Fragment of naming a custom theme. */
 public class CustomThemeNameFragment extends CustomThemeStepFragment {
 
+    private static final String TAG = "CustomThemeNameFragment";
+
     public static CustomThemeNameFragment newInstance(CharSequence toolbarTitle, int position,
             int titleResId) {
         CustomThemeNameFragment fragment = new CustomThemeNameFragment();
-        Bundle arguments = ToolbarFragment.createArguments(toolbarTitle);
+        Bundle arguments = AppbarFragment.createArguments(toolbarTitle);
         arguments.putInt(ARG_KEY_POSITION, position);
         arguments.putInt(ARG_KEY_TITLE_RES_ID, titleResId);
         fragment.setArguments(arguments);
         return fragment;
     }
 
-
-    private int[] mColorButtonIds = {
-            R.id.preview_check_selected, R.id.preview_radio_selected, R.id.preview_toggle_selected
-    };
-    private int[] mColorTileIds = {
-            R.id.preview_color_qs_0_bg, R.id.preview_color_qs_1_bg, R.id.preview_color_qs_2_bg
-    };
-    private int[][] mColorTileIconIds = {
-            new int[]{ R.id.preview_color_qs_0_icon, 0},
-            new int[]{ R.id.preview_color_qs_1_icon, 1},
-            new int[] { R.id.preview_color_qs_2_icon, 3}
-    };
-
-    private int[] mShapeIconIds = {
-            R.id.shape_preview_icon_0, R.id.shape_preview_icon_1, R.id.shape_preview_icon_2,
-            R.id.shape_preview_icon_3, R.id.shape_preview_icon_4, R.id.shape_preview_icon_5
-    };
-
-    private Asset mWallpaperAsset;
-    private ThemeCoverPage mCoverPage;
-    private TimeTicker mTicker;
     private EditText mNameEditor;
-
-    @Override
-    public void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        CurrentWallpaperInfoFactory currentWallpaperFactory = InjectorProvider.getInjector()
-                .getCurrentWallpaperFactory(getActivity().getApplicationContext());
-        currentWallpaperFactory.createCurrentWallpaperInfos(
-                (homeWallpaper, lockWallpaper, presentationMode) -> {
-                    mWallpaperAsset = new BitmapCachingAsset(getContext(),
-                            homeWallpaper.getThumbAsset(getContext()));
-                    if (mCoverPage != null) {
-                        mCoverPage.bindBody(true);
-                    }
-                }, false);
-    }
+    private ImageView mWallpaperImage;
+    private WallpaperInfo mCurrentHomeWallpaper;
+    private ThemeOptionPreviewer mThemeOptionPreviewer;
+    private CustomizationPreferences mCustomizationPreferences;
 
     @Nullable
     @Override
@@ -101,93 +76,59 @@
         View view = super.onCreateView(inflater, container, savedInstanceState);
         mTitle = view.findViewById(R.id.component_options_title);
         mTitle.setText(mTitleResId);
-        mNameEditor = view.findViewById(R.id.custom_theme_name);
-        mNameEditor.setText(mCustomThemeManager.getOriginalTheme().getTitle());
-        bindCover(view.findViewById(R.id.component_preview_content));
+        CurrentWallpaperInfoFactory currentWallpaperFactory = InjectorProvider.getInjector()
+                .getCurrentWallpaperFactory(getActivity().getApplicationContext());
+        CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
+        mCustomizationPreferences = injector.getCustomizationPreferences(getContext());
 
+        // 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());
+        mThemeOptionPreviewer.setPreviewInfo(previewInfo);
+
+        // Set wallpaper background.
+        mWallpaperImage = view.findViewById(R.id.wallpaper_preview_image);
+        final WallpaperPreviewer wallpaperPreviewer = new WallpaperPreviewer(
+                getLifecycle(),
+                getActivity(),
+                mWallpaperImage,
+                view.findViewById(R.id.wallpaper_preview_surface));
+        currentWallpaperFactory.createCurrentWallpaperInfos(
+                (homeWallpaper, lockWallpaper, presentationMode) -> {
+                    mCurrentHomeWallpaper = homeWallpaper;
+                    wallpaperPreviewer.setWallpaper(homeWallpaper,
+                            mThemeOptionPreviewer::updateColorForLauncherWidgets);
+                }, false);
+
+        // Set theme default name.
+        mNameEditor = view.findViewById(R.id.custom_theme_name);
+        mNameEditor.setText(getOriginalThemeName());
         return view;
     }
 
-    @Override
-    public void onResume() {
-        super.onResume();
-        mTicker = TimeTicker.registerNewReceiver(getContext(), this::updateTime);
-        updateTime();
-    }
-
-    private void updateTime() {
-        if (mCoverPage != null) {
-            mCoverPage.updateTime();
-        }
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        if (getContext() != null) {
-            getContext().unregisterReceiver(mTicker);
-        }
-    }
-
-    private void bindCover(CardView card) {
-        Context context = getContext();
-        PreviewInfo previewInfo = mCustomThemeManager.buildCustomThemePreviewInfo(context);
-        mCoverPage = new ThemeCoverPage(context, getThemeName(),
-                previewInfo.resolveAccentColor(getResources()), previewInfo.icons,
-                previewInfo.headlineFontFamily, previewInfo.bottomSheeetCornerRadius,
-                previewInfo.shapeDrawable, previewInfo.shapeAppIcons, null,
-                mColorButtonIds, mColorTileIds, mColorTileIconIds, mShapeIconIds,
-                new WallpaperLayoutListener());
-        mCoverPage.setCard(card);
-        mCoverPage.bindPreviewContent();
-        mNameEditor.addTextChangedListener(new TextWatcher() {
-            @Override
-            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
-            }
-
-            @Override
-            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-                ((TextView)card.findViewById(R.id.theme_preview_card_header)).setText(charSequence);
-            }
-
-            @Override
-            public void afterTextChanged(Editable editable) {
-
-            }
-        });
-    }
-
-    private class WallpaperLayoutListener implements OnLayoutChangeListener {
-
-        @Override
-        public void onLayoutChange(View view, int left, int top, int right,
-                int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
-            int targetWidth = right - left;
-            int targetHeight = bottom - top;
-            if (targetWidth > 0 && targetHeight > 0) {
-                if (mWallpaperAsset != null) {
-                    mWallpaperAsset.decodeBitmap(
-                            targetWidth, targetHeight,
-                            bitmap -> setWallpaperBitmap(view, bitmap));
+    private String getOriginalThemeName() {
+        CustomTheme originalTheme = mCustomThemeManager.getOriginalTheme();
+        if (originalTheme == null || !originalTheme.isDefined()) {
+            // For new custom theme. use custom themes amount plus 1 as default naming.
+            String serializedThemes = mCustomizationPreferences.getSerializedCustomThemes();
+            int customThemesCount = 0;
+            if (!TextUtils.isEmpty(serializedThemes)) {
+                try {
+                    JSONArray customThemes = new JSONArray(serializedThemes);
+                    customThemesCount = customThemes.length();
+                } catch (JSONException e) {
+                    Log.w(TAG, "Couldn't read stored custom theme");
                 }
-                view.removeOnLayoutChangeListener(this);
             }
+            return getContext().getString(
+                    R.string.custom_theme_title, customThemesCount + 1);
+        } else {
+            // For existing custom theme, keep its name as default naming.
+            return originalTheme.getTitle();
         }
-
-        private void setWallpaperBitmap(View view, Bitmap bitmap) {
-            Resources res = view.getContext().getResources();
-            Drawable background = new BitmapDrawable(res, bitmap);
-            background.setAlpha(ThemeCoverPage.COVER_PAGE_WALLPAPER_ALPHA);
-
-            view.findViewById(R.id.theme_preview_card_background).setBackground(background);
-        }
-    }
-
-    @Override
-    public void onDestroyView() {
-        super.onDestroyView();
-        mCoverPage = null;
     }
 
     @Override
@@ -198,4 +139,15 @@
     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 ebf55e3..b05ebc4 100644
--- a/src/com/android/customization/picker/theme/CustomThemeStepFragment.java
+++ b/src/com/android/customization/picker/theme/CustomThemeStepFragment.java
@@ -18,9 +18,9 @@
 import com.android.customization.model.theme.custom.ThemeComponentOption;
 import com.android.customization.model.theme.custom.ThemeComponentOptionProvider;
 import com.android.wallpaper.R;
-import com.android.wallpaper.picker.ToolbarFragment;
+import com.android.wallpaper.picker.AppbarFragment;
 
-abstract class CustomThemeStepFragment extends ToolbarFragment {
+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 CustomThemeComponentStepHost mHost;
diff --git a/src/com/android/customization/picker/theme/ThemeFragment.java b/src/com/android/customization/picker/theme/ThemeFragment.java
index b5c68e5..de8aa69 100644
--- a/src/com/android/customization/picker/theme/ThemeFragment.java
+++ b/src/com/android/customization/picker/theme/ThemeFragment.java
@@ -15,32 +15,25 @@
  */
 package com.android.customization.picker.theme;
 
-import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
+import static android.app.Activity.RESULT_OK;
 
-import android.app.Activity;
-import android.app.WallpaperColors;
+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;
+
 import android.content.Context;
 import android.content.Intent;
-import android.content.res.ColorStateList;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.Bitmap.Config;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.View.OnLayoutChangeListener;
 import android.view.ViewGroup;
-import android.widget.CheckBox;
-import android.widget.CompoundButton;
 import android.widget.ImageView;
-import android.widget.SeekBar;
-import android.widget.Switch;
-import android.widget.TextView;
 import android.widget.Toast;
 
 import androidx.annotation.NonNull;
@@ -50,34 +43,35 @@
 
 import com.android.customization.model.CustomizationManager.Callback;
 import com.android.customization.model.CustomizationManager.OptionsFetchedListener;
+import com.android.customization.model.CustomizationOption;
 import com.android.customization.model.theme.ThemeBundle;
-import com.android.customization.model.theme.ThemeBundle.PreviewInfo;
 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.BasePreviewAdapter;
-import com.android.customization.picker.TimeTicker;
-import com.android.customization.picker.theme.ThemePreviewPage.ThemeCoverPage;
-import com.android.customization.picker.theme.ThemePreviewPage.TimeContainer;
+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.asset.Asset;
-import com.android.wallpaper.asset.Asset.CenterCropBitmapTask;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
 import com.android.wallpaper.module.InjectorProvider;
-import com.android.wallpaper.picker.ToolbarFragment;
-import com.android.wallpaper.widget.PreviewPager;
+import com.android.wallpaper.picker.AppbarFragment;
+import com.android.wallpaper.widget.BottomActionBar;
+import com.android.wallpaper.widget.BottomActionBar.AccessibilityCallback;
 
 import java.util.List;
 
 /**
  * Fragment that contains the main UI for selecting and applying a ThemeBundle.
  */
-public class ThemeFragment extends ToolbarFragment {
+public class ThemeFragment extends AppbarFragment {
 
     private static final String TAG = "ThemeFragment";
     private static final String KEY_SELECTED_THEME = "ThemeFragment.SelectedThemeBundle";
+    private static final String KEY_STATE_BOTTOM_ACTION_BAR_VISIBLE =
+            "ThemeFragment.bottomActionBarVisible";
+    private static final int FULL_PREVIEW_REQUEST_CODE = 1000;
 
     /**
      * Interface to be implemented by an Activity hosting a {@link ThemeFragment}
@@ -87,25 +81,25 @@
     }
     public static ThemeFragment newInstance(CharSequence title) {
         ThemeFragment fragment = new ThemeFragment();
-        fragment.setArguments(ToolbarFragment.createArguments(title));
+        fragment.setArguments(AppbarFragment.createArguments(title));
         return fragment;
     }
 
     private RecyclerView mOptionsContainer;
-    private CheckBox mUseMyWallpaperButton;
     private OptionSelectorController<ThemeBundle> mOptionsController;
     private ThemeManager mThemeManager;
     private ThemesUserEventLogger mEventLogger;
     private ThemeBundle mSelectedTheme;
-    private ThemePreviewAdapter mAdapter;
-    private PreviewPager mPreviewPager;
     private ContentLoadingProgressBar mLoading;
     private View mContent;
     private View mError;
-    private boolean mUseMyWallpaper;
     private WallpaperInfo mCurrentHomeWallpaper;
     private CurrentWallpaperInfoFactory mCurrentWallpaperFactory;
-    private TimeTicker mTicker;
+    private BottomActionBar mBottomActionBar;
+    private WallpaperPreviewer mWallpaperPreviewer;
+    private ImageView mWallpaperImage;
+    private ThemeOptionPreviewer mThemeOptionPreviewer;
+    private ThemeInfoView mThemeInfoView;
 
     @Override
     public void onAttach(Context context) {
@@ -119,20 +113,8 @@
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
             @Nullable Bundle savedInstanceState) {
-        View view;
-        if (ADD_SCALABLE_HEADER) {
-            // TODO(b/147780560): Once the temporary flag (ADD_SCALABLE_HEADER) is removed,
-            // we should have a layout with the same name for portrait and landscape.
-            int orientation = getResources().getConfiguration().orientation;
-            view = inflater.inflate(
-                    orientation == ORIENTATION_LANDSCAPE
-                            ? R.layout.fragment_theme_picker
-                            : R.layout.fragment_theme_scalable_picker,
-                    container, /* attachToRoot */ false);
-        } else {
-            view = inflater.inflate(
-                    R.layout.fragment_theme_picker, container, /* attachToRoot */ false);
-        }
+        View view = inflater.inflate(
+                R.layout.fragment_theme_picker, container, /* attachToRoot */ false);
         setUpToolbar(view);
 
         mContent = view.findViewById(R.id.content_section);
@@ -140,31 +122,84 @@
         mError = view.findViewById(R.id.error_section);
         mCurrentWallpaperFactory = InjectorProvider.getInjector()
                 .getCurrentWallpaperFactory(getActivity().getApplicationContext());
-        mPreviewPager = view.findViewById(R.id.theme_preview_pager);
         mOptionsContainer = view.findViewById(R.id.options_container);
-        view.findViewById(R.id.apply_button).setOnClickListener(v -> {
+
+        mThemeOptionPreviewer = new ThemeOptionPreviewer(
+                getLifecycle(),
+                getContext(),
+                view.findViewById(R.id.theme_preview_container));
+
+        // Set Wallpaper background.
+        mWallpaperImage = view.findViewById(R.id.wallpaper_preview_image);
+        mWallpaperPreviewer = new WallpaperPreviewer(
+                getLifecycle(),
+                getActivity(),
+                mWallpaperImage,
+                view.findViewById(R.id.wallpaper_preview_surface));
+        mCurrentWallpaperFactory.createCurrentWallpaperInfos(
+                (homeWallpaper, lockWallpaper, presentationMode) -> {
+                    mCurrentHomeWallpaper = homeWallpaper;
+                    mWallpaperPreviewer.setWallpaper(mCurrentHomeWallpaper,
+                            mThemeOptionPreviewer::updateColorForLauncherWidgets);
+                }, false);
+
+        view.findViewById(R.id.theme_preview_card).setOnClickListener(v -> showFullPreview());
+        return view;
+    }
+
+    @Override
+    protected void onBottomActionBarReady(BottomActionBar bottomActionBar) {
+        mBottomActionBar = bottomActionBar;
+        mBottomActionBar.showActionsOnly(INFORMATION, APPLY);
+        mBottomActionBar.setActionClickListener(APPLY, v -> {
+            mBottomActionBar.disableActions();
             applyTheme();
         });
-        mUseMyWallpaperButton = view.findViewById(R.id.use_my_wallpaper);
-        mUseMyWallpaperButton.setOnCheckedChangeListener(this::onUseMyWallpaperCheckChanged);
-        setUpOptions(savedInstanceState);
+        mThemeInfoView = (ThemeInfoView) LayoutInflater.from(getContext()).inflate(
+                R.layout.theme_info_view, /* root= */ null);
+        mBottomActionBar.attachViewToBottomSheetAndBindAction(mThemeInfoView, INFORMATION);
+        mBottomActionBar.setActionClickListener(CUSTOMIZE, this::onCustomizeClicked);
 
-        return view;
+        // Update target view's accessibility param since it will be blocked by the bottom sheet
+        // when expanded.
+        mBottomActionBar.setAccessibilityCallback(new AccessibilityCallback() {
+            @Override
+            public void onBottomSheetCollapsed() {
+                mOptionsContainer.setImportantForAccessibility(
+                        View.IMPORTANT_FOR_ACCESSIBILITY_YES);
+            }
+
+            @Override
+            public void onBottomSheetExpanded() {
+                mOptionsContainer.setImportantForAccessibility(
+                        View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
+            }
+        });
+    }
+
+    @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        // Setup options here when all views are ready(including BottomActionBar), since we need to
+        // update views after options are loaded.
+        setUpOptions(savedInstanceState);
     }
 
     private void applyTheme() {
         mThemeManager.apply(mSelectedTheme, new Callback() {
             @Override
             public void onSuccess() {
-                Toast.makeText(getContext(), R.string.applied_theme_msg,
-                        Toast.LENGTH_LONG).show();
-                getActivity().finish();
+                Toast.makeText(getContext(), R.string.applied_theme_msg, Toast.LENGTH_LONG).show();
                 getActivity().overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
+                getActivity().finish();
             }
 
             @Override
             public void onError(@Nullable Throwable throwable) {
                 Log.w(TAG, "Error applying theme", throwable);
+                // Since we disabled it when clicked apply button.
+                mBottomActionBar.enableActions();
+                mBottomActionBar.hide();
                 Toast.makeText(getContext(), R.string.apply_theme_error_msg,
                         Toast.LENGTH_LONG).show();
             }
@@ -172,33 +207,14 @@
     }
 
     @Override
-    public void onResume() {
-        super.onResume();
-        mTicker = TimeTicker.registerNewReceiver(getContext(), this::updateTime);
-        reloadWallpaper();
-        updateTime();
-    }
-
-    private void updateTime() {
-        if (mAdapter != null) {
-            mAdapter.updateTime();
-        }
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        if (getContext() != null) {
-            getContext().unregisterReceiver(mTicker);
-        }
-    }
-
-    @Override
     public void onSaveInstanceState(@NonNull Bundle outState) {
         super.onSaveInstanceState(outState);
         if (mSelectedTheme != null && !mSelectedTheme.isActive(mThemeManager)) {
             outState.putString(KEY_SELECTED_THEME, mSelectedTheme.getSerializedPackages());
         }
+        if (mBottomActionBar != null) {
+            outState.putBoolean(KEY_STATE_BOTTOM_ACTION_BAR_VISIBLE, mBottomActionBar.isVisible());
+        }
     }
 
     @Override
@@ -208,58 +224,30 @@
                 mSelectedTheme = null;
                 reloadOptions();
             } else if (resultCode == CustomThemeActivity.RESULT_THEME_APPLIED) {
+                getActivity().overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
                 getActivity().finish();
             } else {
                 if (mSelectedTheme != null) {
                     mOptionsController.setSelectedOption(mSelectedTheme);
+                    // Set selected option above will show BottomActionBar,
+                    // hide BottomActionBar for the mis-trigger.
+                    mBottomActionBar.hide();
                 } else {
                     reloadOptions();
                 }
             }
+        } else if (requestCode == FULL_PREVIEW_REQUEST_CODE && resultCode == RESULT_OK) {
+            applyTheme();
         }
         super.onActivityResult(requestCode, resultCode, data);
     }
 
-    private void onUseMyWallpaperCheckChanged(CompoundButton checkbox, boolean checked) {
-        mUseMyWallpaper = checked;
-        reloadWallpaper();
-    }
-
-    private void reloadWallpaper() {
-        mCurrentWallpaperFactory.createCurrentWallpaperInfos(
-                (homeWallpaper, lockWallpaper, presentationMode) -> {
-                    mCurrentHomeWallpaper = homeWallpaper;
-                    if (mSelectedTheme != null) {
-                        if (mUseMyWallpaper || (mSelectedTheme instanceof CustomTheme)) {
-                            mSelectedTheme.setOverrideThemeWallpaper(homeWallpaper);
-                        } else {
-                            mSelectedTheme.setOverrideThemeWallpaper(null);
-                        }
-                        if (mAdapter != null) {
-                            mAdapter.rebindWallpaperIfAvailable();
-                        }
-                    }
-        }, false);
-    }
-
-    private void createAdapter(List<ThemeBundle> options) {
-        mAdapter = new ThemePreviewAdapter(getActivity(), mSelectedTheme,
-                mSelectedTheme instanceof CustomTheme ? this::onEditClicked : null,
-                new PreloadWallpapersLayoutListener(options));
-        mPreviewPager.setAdapter(mAdapter);
-    }
-
-    private void onEditClicked(View view) {
+    private void onCustomizeClicked(View view) {
         if (mSelectedTheme instanceof CustomTheme) {
             navigateToCustomTheme((CustomTheme) mSelectedTheme);
         }
     }
 
-    private void updateButtonsVisibility() {
-        mUseMyWallpaperButton.setVisibility(mSelectedTheme instanceof CustomTheme
-                ? View.INVISIBLE : View.VISIBLE);
-    }
-
     private void hideError() {
         mContent.setVisibility(View.VISIBLE);
         mError.setVisibility(View.GONE);
@@ -278,44 +266,43 @@
             @Override
             public void onOptionsLoaded(List<ThemeBundle> options) {
                 mOptionsController = new OptionSelectorController<>(mOptionsContainer, options);
-                mOptionsController.addListener(selected -> {
-                    mLoading.hide();
-                    if (selected instanceof CustomTheme && !((CustomTheme) selected).isDefined()) {
-                        navigateToCustomTheme((CustomTheme) selected);
-                    } else {
-                        mSelectedTheme = (ThemeBundle) selected;
-                        if (mUseMyWallpaper || mSelectedTheme instanceof CustomTheme) {
-                            mSelectedTheme.setOverrideThemeWallpaper(mCurrentHomeWallpaper);
-                        } else {
-                            mSelectedTheme.setOverrideThemeWallpaper(null);
-                        }
-                        mEventLogger.logThemeSelected(mSelectedTheme,
-                                selected instanceof CustomTheme);
-                        createAdapter(options);
-                        updateButtonsVisibility();
-                    }
-                });
                 mOptionsController.initOptions(mThemeManager);
+
+                // Find out the selected theme option.
+                // 1. Find previously selected theme.
                 String previouslySelected = savedInstanceState != null
                         ? savedInstanceState.getString(KEY_SELECTED_THEME) : null;
+                ThemeBundle previouslySelectedTheme = null;
+                ThemeBundle activeTheme = null;
                 for (ThemeBundle theme : options) {
                     if (previouslySelected != null
                             && previouslySelected.equals(theme.getSerializedPackages())) {
-                        mSelectedTheme = theme;
-                    } else if (theme.isActive(mThemeManager)) {
-                        mSelectedTheme = theme;
-                        break;
+                        previouslySelectedTheme = theme;
+                    }
+                    if (theme.isActive(mThemeManager)) {
+                        activeTheme = theme;
                     }
                 }
+                // 2. Use active theme if no previously selected theme.
+                mSelectedTheme = previouslySelectedTheme != null
+                        ? previouslySelectedTheme
+                        : activeTheme;
+                // 3. Select the default theme if there is no matching custom enabled theme.
                 if (mSelectedTheme == null) {
-                    // Select the default theme if there is no matching custom enabled theme
-                    // TODO(b/124796742): default to custom if there is no matching theme bundle
-                    mSelectedTheme = options.get(0);
-                } else {
-                    // Only show show checkmark if we found a matching theme
-                    mOptionsController.setAppliedOption(mSelectedTheme);
+                    mSelectedTheme = findDefaultThemeBundle(options);
                 }
+
                 mOptionsController.setSelectedOption(mSelectedTheme);
+                onOptionSelected(mSelectedTheme);
+                restoreBottomActionBarVisibility(savedInstanceState);
+
+                mOptionsController.addListener(selectedOption -> {
+                    onOptionSelected(selectedOption);
+                    if (!isAddCustomThemeOption(selectedOption)) {
+                        mBottomActionBar.show();
+                    }
+                });
+                mLoading.hide();
             }
             @Override
             public void onError(@Nullable Throwable throwable) {
@@ -338,16 +325,61 @@
             }
             if (mSelectedTheme == null) {
                 // Select the default theme if there is no matching custom enabled theme
-                // TODO(b/124796742): default to custom if there is no matching theme bundle
-                mSelectedTheme = options.get(0);
-            } else {
-                // Only show show checkmark if we found a matching theme
-                mOptionsController.setAppliedOption(mSelectedTheme);
+                mSelectedTheme = findDefaultThemeBundle(options);
             }
             mOptionsController.setSelectedOption(mSelectedTheme);
+            // Set selected option above will show BottomActionBar,
+            // hide BottomActionBar for the mis-trigger.
+            mBottomActionBar.hide();
         }, true);
     }
 
+    private ThemeBundle findDefaultThemeBundle(List<ThemeBundle> options) {
+        String defaultThemeTitle =
+                getActivity().getResources().getString(R.string.default_theme_title);
+        for (ThemeBundle bundle : options) {
+            if (bundle.getTitle().equals(defaultThemeTitle)) {
+                return bundle;
+            }
+        }
+        return null;
+    }
+
+    private void onOptionSelected(CustomizationOption selectedOption) {
+        if (isAddCustomThemeOption(selectedOption)) {
+            navigateToCustomTheme((CustomTheme) selectedOption);
+        } else {
+            mSelectedTheme = (ThemeBundle) selectedOption;
+            mSelectedTheme.setOverrideThemeWallpaper(mCurrentHomeWallpaper);
+            mEventLogger.logThemeSelected(mSelectedTheme,
+                    selectedOption instanceof CustomTheme);
+            mThemeOptionPreviewer.setPreviewInfo(mSelectedTheme.getPreviewInfo());
+            if (mThemeInfoView != null && mSelectedTheme != null) {
+                mThemeInfoView.populateThemeInfo(mSelectedTheme);
+            }
+
+            if (selectedOption instanceof CustomTheme) {
+                mBottomActionBar.showActionsOnly(INFORMATION, CUSTOMIZE, APPLY);
+            } else {
+                mBottomActionBar.showActionsOnly(INFORMATION, APPLY);
+            }
+        }
+    }
+
+    private void restoreBottomActionBarVisibility(@Nullable Bundle savedInstanceState) {
+        boolean isBottomActionBarVisible = savedInstanceState != null
+                && savedInstanceState.getBoolean(KEY_STATE_BOTTOM_ACTION_BAR_VISIBLE);
+        if (isBottomActionBarVisible) {
+            mBottomActionBar.show();
+        } else {
+            mBottomActionBar.hide();
+        }
+    }
+
+    private boolean isAddCustomThemeOption(CustomizationOption option) {
+        return option instanceof CustomTheme && !((CustomTheme) option).isDefined();
+    }
+
     private void navigateToCustomTheme(CustomTheme themeToEdit) {
         Intent intent = new Intent(getActivity(), CustomThemeActivity.class);
         intent.putExtra(CustomThemeActivity.EXTRA_THEME_TITLE, themeToEdit.getTitle());
@@ -357,295 +389,13 @@
         startActivityForResult(intent, CustomThemeActivity.REQUEST_CODE_CUSTOM_THEME);
     }
 
-    /**
-     * Adapter class for mPreviewPager.
-     * This is a ViewPager as it allows for a nice pagination effect (ie, pages snap on swipe,
-     * we don't want to just scroll)
-     */
-    private static class ThemePreviewAdapter extends BasePreviewAdapter<ThemePreviewPage> {
-
-        private int[] mIconIds = {
-                R.id.preview_icon_0, R.id.preview_icon_1, R.id.preview_icon_2, R.id.preview_icon_3,
-                R.id.preview_icon_4, R.id.preview_icon_5
-        };
-        private int[] mColorButtonIds = {
-            R.id.preview_check_selected, R.id.preview_radio_selected, R.id.preview_toggle_selected
-        };
-        private int[] mColorTileIds = {
-            R.id.preview_color_qs_0_bg, R.id.preview_color_qs_1_bg, R.id.preview_color_qs_2_bg
-        };
-        private int[][] mColorTileIconIds = {
-                new int[]{ R.id.preview_color_qs_0_icon, 0},
-                new int[]{ R.id.preview_color_qs_1_icon, 1},
-                new int[] { R.id.preview_color_qs_2_icon, 3}
-        };
-
-        private int[] mShapeIconIds = {
-                R.id.shape_preview_icon_0, R.id.shape_preview_icon_1, R.id.shape_preview_icon_2,
-                R.id.shape_preview_icon_3, R.id.shape_preview_icon_4, R.id.shape_preview_icon_5
-        };
-
-        ThemePreviewAdapter(Activity activity, ThemeBundle theme,
-                @Nullable OnClickListener editClickListener,
-                @Nullable OnLayoutChangeListener coverCardLayoutListener) {
-            super(activity, R.layout.theme_preview_card);
-            final Resources res = activity.getResources();
-            final PreviewInfo previewInfo = theme.getPreviewInfo();
-
-            Drawable coverScrim = theme instanceof CustomTheme
-                    ? res.getDrawable(R.drawable.theme_cover_scrim, activity.getTheme())
-                    : null;
-
-            WallpaperPreviewLayoutListener wallpaperListener = new WallpaperPreviewLayoutListener(
-                    theme, previewInfo, coverScrim, true);
-
-            addPage(new ThemeCoverPage(activity, theme.getTitle(),
-                    previewInfo.resolveAccentColor(res), previewInfo.icons,
-                    previewInfo.headlineFontFamily, previewInfo.bottomSheeetCornerRadius,
-                    previewInfo.shapeDrawable, previewInfo.shapeAppIcons, editClickListener,
-                    mColorButtonIds, mColorTileIds, mColorTileIconIds, mShapeIconIds,
-                    wallpaperListener, coverCardLayoutListener));
-            addPage(new ThemePreviewPage(activity, R.string.preview_name_font, R.drawable.ic_font,
-                    R.layout.preview_card_font_content,
-                    previewInfo.resolveAccentColor(res)) {
-                @Override
-                protected void bindBody(boolean forceRebind) {
-                    TextView title = card.findViewById(R.id.font_card_title);
-                    title.setTypeface(previewInfo.headlineFontFamily);
-                    TextView body = card.findViewById(R.id.font_card_body);
-                    body.setTypeface(previewInfo.bodyFontFamily);
-                    card.findViewById(R.id.font_card_divider).setBackgroundColor(accentColor);
-                }
-            });
-            if (previewInfo.icons.size() >= mIconIds.length) {
-                addPage(new ThemePreviewPage(activity, R.string.preview_name_icon,
-                        R.drawable.ic_wifi_24px, R.layout.preview_card_icon_content,
-                        previewInfo.resolveAccentColor(res)) {
-                    @Override
-                    protected void bindBody(boolean forceRebind) {
-                        for (int i = 0; i < mIconIds.length && i < previewInfo.icons.size(); i++) {
-                            ((ImageView) card.findViewById(mIconIds[i]))
-                                    .setImageDrawable(previewInfo.icons.get(i)
-                                            .getConstantState().newDrawable().mutate());
-                        }
-                    }
-                });
-            }
-            if (previewInfo.colorAccentDark != -1 && previewInfo.colorAccentLight != -1) {
-                addPage(new ThemePreviewPage(activity, R.string.preview_name_color,
-                        R.drawable.ic_colorize_24px, R.layout.preview_card_color_content,
-                        previewInfo.resolveAccentColor(res)) {
-                    @Override
-                    protected void bindBody(boolean forceRebind) {
-                        int controlGreyColor = res.getColor(R.color.control_grey);
-                        ColorStateList tintList = new ColorStateList(
-                                new int[][]{
-                                    new int[]{android.R.attr.state_selected},
-                                    new int[]{android.R.attr.state_checked},
-                                    new int[]{-android.R.attr.state_enabled},
-                                },
-                                new int[] {
-                                    accentColor,
-                                    accentColor,
-                                    controlGreyColor
-                                }
-                            );
-
-                        for (int i = 0; i < mColorButtonIds.length; i++) {
-                            CompoundButton button = card.findViewById(mColorButtonIds[i]);
-                            button.setButtonTintList(tintList);
-                        }
-
-                        Switch enabledSwitch = card.findViewById(R.id.preview_toggle_selected);
-                        enabledSwitch.setThumbTintList(tintList);
-                        enabledSwitch.setTrackTintList(tintList);
-
-                        ColorStateList seekbarTintList = ColorStateList.valueOf(accentColor);
-                        SeekBar seekbar = card.findViewById(R.id.preview_seekbar);
-                        seekbar.setThumbTintList(seekbarTintList);
-                        seekbar.setProgressTintList(seekbarTintList);
-                        seekbar.setProgressBackgroundTintList(seekbarTintList);
-                        // Disable seekbar
-                        seekbar.setOnTouchListener((view, motionEvent) -> true);
-
-                        int iconFgColor = res.getColor(R.color.tile_enabled_icon_color, null);
-                        for (int i = 0; i < mColorTileIds.length && i < previewInfo.icons.size();
-                                i++) {
-                            Drawable icon = previewInfo.icons.get(mColorTileIconIds[i][1])
-                                    .getConstantState().newDrawable().mutate();
-                            icon.setTint(iconFgColor);
-                            Drawable bgShape =
-                                    previewInfo.shapeDrawable.getConstantState().newDrawable();
-                            bgShape.setTint(accentColor);
-
-                            ImageView bg = card.findViewById(mColorTileIds[i]);
-                            bg.setImageDrawable(bgShape);
-                            ImageView fg = card.findViewById(mColorTileIconIds[i][0]);
-                            fg.setImageDrawable(icon);
-                        }
-                    }
-                });
-            }
-            if (!previewInfo.shapeAppIcons.isEmpty()) {
-                addPage(new ThemePreviewPage(activity, R.string.preview_name_shape,
-                        R.drawable.ic_shapes_24px, R.layout.preview_card_shape_content,
-                        previewInfo.resolveAccentColor(res)) {
-                    @Override
-                    protected void bindBody(boolean forceRebind) {
-                        for (int i = 0; i < mShapeIconIds.length
-                                && i < previewInfo.shapeAppIcons.size(); i++) {
-                            ImageView iconView = card.findViewById(mShapeIconIds[i]);
-                            iconView.setBackground(
-                                    previewInfo.shapeAppIcons.get(i));
-                        }
-                    }
-                });
-            }
-            if (previewInfo.wallpaperAsset != null) {
-                addPage(new ThemePreviewPage(activity, R.string.preview_name_wallpaper,
-                        R.drawable.ic_nav_wallpaper, R.layout.preview_card_wallpaper_content,
-                        previewInfo.resolveAccentColor(res)) {
-
-                    private final WallpaperPreviewLayoutListener mListener =
-                            new WallpaperPreviewLayoutListener(theme, previewInfo, null, false);
-
-                    @Override
-                    protected boolean containsWallpaper() {
-                        return true;
-                    }
-
-                    @Override
-                    protected void bindBody(boolean forceRebind) {
-                        if (card == null) {
-                            return;
-                        }
-                        card.addOnLayoutChangeListener(mListener);
-                        if (forceRebind) {
-                            card.requestLayout();
-                        }
-                    }
-                });
-            }
-        }
-
-        public void rebindWallpaperIfAvailable() {
-            for (ThemePreviewPage page : mPages) {
-                if (page.containsWallpaper()) {
-                    page.bindBody(true);
-                }
-            }
-        }
-
-        public void updateTime() {
-            for (ThemePreviewPage page : mPages) {
-                if (page instanceof TimeContainer) {
-                    ((TimeContainer)page).updateTime();
-                }
-            }
-        }
-
-        private static class WallpaperPreviewLayoutListener implements OnLayoutChangeListener {
-            private final ThemeBundle mTheme;
-            private final PreviewInfo mPreviewInfo;
-            private final Drawable mScrim;
-            private final boolean mIsTranslucent;
-
-            public WallpaperPreviewLayoutListener(ThemeBundle theme, PreviewInfo previewInfo,
-                    Drawable scrim, boolean translucent) {
-                mTheme = theme;
-                mPreviewInfo = previewInfo;
-                mScrim = scrim;
-                mIsTranslucent = translucent;
-            }
-
-            @Override
-            public void onLayoutChange(View view, int left, int top, int right,
-                    int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
-                int targetWidth = right - left;
-                int targetHeight = bottom - top;
-                if (targetWidth > 0 && targetHeight > 0) {
-                    Asset wallpaperPreviewAsset = mTheme.getWallpaperPreviewAsset(
-                            view.getContext());
-                    if (wallpaperPreviewAsset != null) {
-                        wallpaperPreviewAsset.decodeBitmap(
-                                targetWidth, targetHeight,
-                                bitmap -> new CenterCropBitmapTask(bitmap, view,
-                                        croppedBitmap -> setWallpaperBitmap(view, croppedBitmap))
-                                .execute());
-                    }
-                    view.removeOnLayoutChangeListener(this);
-                }
-            }
-
-            private void setWallpaperBitmap(View view, Bitmap bitmap) {
-                Resources res = view.getContext().getResources();
-                Drawable background = new BitmapDrawable(res, bitmap);
-                if (mIsTranslucent) {
-                    background.setAlpha(ThemeCoverPage.COVER_PAGE_WALLPAPER_ALPHA);
-                }
-                if (mScrim != null) {
-                    background = new LayerDrawable(new Drawable[]{background, mScrim});
-                }
-                view.findViewById(R.id.theme_preview_card_background).setBackground(background);
-                if (mScrim == null && !mIsTranslucent) {
-                    boolean shouldRecycle = false;
-                    if (bitmap.getConfig() == Config.HARDWARE) {
-                        bitmap = bitmap.copy(Config.ARGB_8888, false);
-                        shouldRecycle = true;
-                    }
-                    int colorsHint = WallpaperColors.fromBitmap(bitmap).getColorHints();
-                    if (shouldRecycle) {
-                        bitmap.recycle();
-                    }
-                    TextView header = view.findViewById(R.id.theme_preview_card_header);
-                    if ((colorsHint & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) == 0) {
-                        int colorLight = res.getColor(R.color.text_color_light, null);
-                        header.setTextColor(colorLight);
-                        header.setCompoundDrawableTintList(ColorStateList.valueOf(colorLight));
-                    } else {
-                        header.setTextColor(res.getColor(R.color.text_color_dark, null));
-                        header.setCompoundDrawableTintList(ColorStateList.valueOf(
-                                mPreviewInfo.colorAccentLight));
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Runs only once after the card size is known, and requests decoding wallpaper bitmaps
-     * for all the options, to warm-up the bitmap cache.
-     */
-    private static class PreloadWallpapersLayoutListener implements OnLayoutChangeListener {
-        private static boolean alreadyRunOnce;
-        private final List<ThemeBundle> mOptions;
-
-        public PreloadWallpapersLayoutListener(List<ThemeBundle> options) {
-            mOptions = options;
-        }
-
-        @Override
-        public void onLayoutChange(View view, int left, int top, int right,
-                int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
-            if (alreadyRunOnce) {
-                view.removeOnLayoutChangeListener(this);
-                return;
-            }
-            int targetWidth = right - left;
-            int targetHeight = bottom - top;
-            if (targetWidth > 0 && targetHeight > 0) {
-                for (ThemeBundle theme : mOptions) {
-                    if (theme instanceof CustomTheme && !((CustomTheme) theme).isDefined()) {
-                        continue;
-                    }
-                    Asset wallpaperAsset = theme.getWallpaperPreviewAsset(view.getContext());
-                    if (wallpaperAsset != null) {
-                        wallpaperAsset.decodeBitmap(targetWidth, targetHeight, bitmap -> {});
-                    }
-                }
-                view.removeOnLayoutChangeListener(this);
-                alreadyRunOnce = true;
-            }
-        }
+    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);
     }
 }
diff --git a/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java b/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
new file mode 100644
index 0000000..7cbeab9
--- /dev/null
+++ b/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
@@ -0,0 +1,148 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.picker.theme;
+
+import static android.app.Activity.RESULT_OK;
+
+import static com.android.wallpaper.widget.BottomActionBar.BottomAction.APPLY;
+import static com.android.wallpaper.widget.BottomActionBar.BottomAction.INFORMATION;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.customization.model.theme.DefaultThemeProvider;
+import com.android.customization.model.theme.ThemeBundle;
+import com.android.customization.model.theme.ThemeBundleProvider;
+import com.android.customization.module.CustomizationInjector;
+import com.android.customization.picker.WallpaperPreviewer;
+import com.android.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.bumptech.glide.Glide;
+
+import org.json.JSONException;
+
+/** A Fragment for theme full preview page. */
+public class ThemeFullPreviewFragment extends AppbarFragment {
+    private static final String TAG = "ThemeFullPreviewFragment";
+
+    public static final String EXTRA_THEME_OPTION_TITLE = "theme_option_title";
+    protected static final String EXTRA_THEME_OPTION = "theme_option";
+    protected static final String EXTRA_WALLPAPER_INFO = "wallpaper_info";
+    protected static final String EXTRA_CAN_APPLY_FROM_FULL_PREVIEW = "can_apply";
+
+    private WallpaperInfo mWallpaper;
+    private ThemeBundle mThemeBundle;
+    private boolean mCanApplyFromFullPreview;
+
+    /**
+     * Returns a new {@link ThemeFullPreviewFragment} with the provided title and bundle arguments
+     * set.
+     */
+    public static ThemeFullPreviewFragment newInstance(CharSequence title, Bundle intentBundle) {
+        ThemeFullPreviewFragment fragment = new ThemeFullPreviewFragment();
+        Bundle bundle = new Bundle();
+        bundle.putAll(AppbarFragment.createArguments(title));
+        bundle.putAll(intentBundle);
+        fragment.setArguments(bundle);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mWallpaper = getArguments().getParcelable(EXTRA_WALLPAPER_INFO);
+        mCanApplyFromFullPreview = getArguments().getBoolean(EXTRA_CAN_APPLY_FROM_FULL_PREVIEW);
+        CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
+        ThemeBundleProvider themeProvider = new DefaultThemeProvider(
+                getContext(), injector.getCustomizationPreferences(getContext()));
+        try {
+            ThemeBundle.Builder builder = themeProvider.parseThemeBundle(
+                    getArguments().getString(EXTRA_THEME_OPTION));
+            if (builder != null) {
+                builder.setTitle(getArguments().getString(EXTRA_THEME_OPTION_TITLE));
+                mThemeBundle = builder.build(getContext());
+            }
+        } catch (JSONException e) {
+            Log.w(TAG, "Couldn't parse provided custom theme, will override it");
+            // TODO(chihhangchuang): Handle the error case.
+        }
+    }
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
+                             @Nullable Bundle savedInstanceState) {
+        View view = inflater.inflate(
+                R.layout.fragment_theme_full_preview, container, /* attachToRoot */ false);
+        setUpToolbar(view);
+        Glide.get(getContext()).clearMemory();
+
+        // Set theme option.
+        final ThemeOptionPreviewer themeOptionPreviewer = new ThemeOptionPreviewer(
+                getLifecycle(),
+                getContext(),
+                view.findViewById(R.id.theme_preview_container));
+        themeOptionPreviewer.setPreviewInfo(mThemeBundle.getPreviewInfo());
+
+        // Set wallpaper background.
+        ImageView wallpaperImageView = view.findViewById(R.id.wallpaper_preview_image);
+        final WallpaperPreviewer wallpaperPreviewer = new WallpaperPreviewer(
+                getLifecycle(),
+                getActivity(),
+                wallpaperImageView,
+                view.findViewById(R.id.wallpaper_preview_surface));
+        wallpaperPreviewer.setWallpaper(mWallpaper,
+                themeOptionPreviewer::updateColorForLauncherWidgets);
+        return view;
+    }
+
+    @Override
+    protected void onBottomActionBarReady(BottomActionBar bottomActionBar) {
+        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.show();
+    }
+
+    private void finishActivityWithResultOk() {
+        Activity activity = requireActivity();
+        activity.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
+        Intent intent = new Intent();
+        activity.setResult(RESULT_OK, intent);
+        activity.finish();
+    }
+}
diff --git a/src/com/android/customization/picker/theme/ThemeOptionPreviewer.java b/src/com/android/customization/picker/theme/ThemeOptionPreviewer.java
new file mode 100644
index 0000000..5c775dd
--- /dev/null
+++ b/src/com/android/customization/picker/theme/ThemeOptionPreviewer.java
@@ -0,0 +1,403 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.customization.picker.theme;
+
+import static android.view.View.MeasureSpec.EXACTLY;
+import static android.view.View.MeasureSpec.makeMeasureSpec;
+
+import android.app.WallpaperColors;
+import android.content.Context;
+import android.content.res.ColorStateList;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.graphics.Typeface;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.GradientDrawable;
+import android.text.format.DateFormat;
+import android.util.DisplayMetrics;
+import android.util.TypedValue;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.animation.AnimationUtils;
+import android.widget.CompoundButton;
+import android.widget.ImageView;
+import android.widget.Switch;
+import android.widget.TextView;
+
+import androidx.annotation.MainThread;
+import androidx.annotation.Nullable;
+import androidx.cardview.widget.CardView;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+
+import com.android.customization.model.theme.ThemeBundle;
+import com.android.customization.model.theme.ThemeBundle.PreviewInfo;
+import com.android.customization.model.theme.ThemeBundle.PreviewInfo.ShapeAppIcon;
+import com.android.wallpaper.R;
+import com.android.wallpaper.util.ScreenSizeCalculator;
+import com.android.wallpaper.util.TimeUtils;
+import com.android.wallpaper.util.TimeUtils.TimeTicker;
+
+import java.util.Calendar;
+import java.util.List;
+import java.util.Locale;
+import java.util.TimeZone;
+
+/** A class to load the {@link ThemeBundle} preview to the view. */
+class ThemeOptionPreviewer implements LifecycleObserver {
+    private static final String DATE_FORMAT = "EEEE, MMM d";
+
+    // Maps which icon from ResourceConstants#ICONS_FOR_PREVIEW.
+    private static final int ICON_WIFI = 0;
+    private static final int ICON_BLUETOOTH = 1;
+    private static final int ICON_FLASHLIGHT = 3;
+    private static final int ICON_AUTO_ROTATE = 4;
+    private static final int ICON_CELLULAR_SIGNAL = 6;
+    private static final int ICON_BATTERY = 7;
+
+    // Icons in the top bar (fake "status bar") with the particular order.
+    private static final int [] sTopBarIconToPreviewIcon = new int [] {
+            ICON_WIFI, ICON_CELLULAR_SIGNAL, ICON_BATTERY };
+
+    // Ids of app icon shape preview.
+    private int[] mShapeAppIconIds = {
+            R.id.shape_preview_icon_0, R.id.shape_preview_icon_1,
+            R.id.shape_preview_icon_2, R.id.shape_preview_icon_3
+    };
+    private int[] mShapeIconAppNameIds = {
+            R.id.shape_preview_icon_app_name_0, R.id.shape_preview_icon_app_name_1,
+            R.id.shape_preview_icon_app_name_2, R.id.shape_preview_icon_app_name_3
+    };
+
+    // Ids of color/icons section.
+    private int[][] mColorTileIconIds = {
+            new int[] { R.id.preview_color_qs_0_icon, ICON_WIFI},
+            new int[] { R.id.preview_color_qs_1_icon, ICON_BLUETOOTH},
+            new int[] { R.id.preview_color_qs_2_icon, ICON_FLASHLIGHT},
+            new int[] { R.id.preview_color_qs_3_icon, ICON_AUTO_ROTATE},
+    };
+    private int[] mColorTileIds = {
+            R.id.preview_color_qs_0_bg, R.id.preview_color_qs_1_bg,
+            R.id.preview_color_qs_2_bg, R.id.preview_color_qs_3_bg
+    };
+    private int[] mColorButtonIds = {
+            R.id.preview_check_selected, R.id.preview_radio_selected, R.id.preview_toggle_selected
+    };
+
+    private final Context mContext;
+
+    private View mContentView;
+    private TextView mStatusBarClock;
+    private TextView mSmartSpaceDate;
+    private TimeTicker mTicker;
+
+    private boolean mHasPreviewInfoSet;
+    private boolean mHasWallpaperColorSet;
+
+    ThemeOptionPreviewer(Lifecycle lifecycle, Context context, ViewGroup previewContainer) {
+        lifecycle.addObserver(this);
+
+        mContext = context;
+        mContentView = LayoutInflater.from(context).inflate(
+                R.layout.theme_preview_content, /* root= */ null);
+        mContentView.setVisibility(View.INVISIBLE);
+        mStatusBarClock = mContentView.findViewById(R.id.theme_preview_clock);
+        mSmartSpaceDate = mContentView.findViewById(R.id.smart_space_date);
+        updateTime();
+        final float screenAspectRatio =
+                ScreenSizeCalculator.getInstance().getScreenAspectRatio(mContext);
+        Configuration config = mContext.getResources().getConfiguration();
+        final boolean directionLTR = config.getLayoutDirection() == View.LAYOUT_DIRECTION_LTR;
+        previewContainer.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
+            @Override
+            public void onLayoutChange(View view, int left, int top, int right, int bottom,
+                                       int oldLeft, int oldTop, int oldRight, int oldBottom) {
+                // Calculate the full preview card height and width.
+                final int fullPreviewCardHeight = getFullPreviewCardHeight();
+                final int fullPreviewCardWidth = (int) (fullPreviewCardHeight / screenAspectRatio);
+
+                // Relayout the content view to match full preview card size.
+                mContentView.measure(
+                        makeMeasureSpec(fullPreviewCardWidth, EXACTLY),
+                        makeMeasureSpec(fullPreviewCardHeight, EXACTLY));
+                mContentView.layout(0, 0, fullPreviewCardWidth, fullPreviewCardHeight);
+
+                // Scale the content view from full preview size to the container size. For full
+                // preview, the scale value is 1.
+                float scale = (float) previewContainer.getMeasuredHeight() / fullPreviewCardHeight;
+                mContentView.setScaleX(scale);
+                mContentView.setScaleY(scale);
+                // The pivot point is centered by default, set to (0, 0).
+                mContentView.setPivotX(directionLTR ? 0f : mContentView.getMeasuredWidth());
+                mContentView.setPivotY(0f);
+
+                // Ensure there will be only one content view in the container.
+                previewContainer.removeAllViews();
+                // Finally, add the content view to the container.
+                previewContainer.addView(
+                        mContentView,
+                        mContentView.getMeasuredWidth(),
+                        mContentView.getMeasuredHeight());
+
+                previewContainer.removeOnLayoutChangeListener(this);
+            }
+        });
+    }
+
+    /** Loads the Theme option preview into the container view. */
+    public void setPreviewInfo(PreviewInfo previewInfo) {
+        setHeadlineFont(previewInfo.headlineFontFamily);
+        setBodyFont(previewInfo.bodyFontFamily);
+        setTopBarIcons(previewInfo.icons);
+        setAppIconShape(previewInfo.shapeAppIcons);
+        setColorAndIconsSection(previewInfo.icons, previewInfo.shapeDrawable,
+                previewInfo.resolveAccentColor(mContext.getResources()));
+        setColorAndIconsBoxRadius(previewInfo.bottomSheeetCornerRadius);
+        setQsbRadius(previewInfo.bottomSheeetCornerRadius);
+        mHasPreviewInfoSet = true;
+        showPreviewIfHasAllConfigSet();
+    }
+
+    /**
+     * Updates the color of widgets in launcher (like top status bar, smart space, and app name
+     * text) which will change its content color according to different wallpapers.
+     *
+     * @param colors the {@link WallpaperColors} of the wallpaper, or {@code null} to use light
+     *               color as default
+     */
+    public void updateColorForLauncherWidgets(@Nullable WallpaperColors colors) {
+        boolean useLightTextColor = colors == null
+                || (colors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) == 0;
+        int textColor = mContext.getColor(useLightTextColor
+                ? R.color.text_color_light
+                : R.color.text_color_dark);
+        int textShadowColor = mContext.getColor(useLightTextColor
+                ? R.color.smartspace_preview_shadow_color_dark
+                : R.color.smartspace_preview_shadow_color_transparent);
+        // Update the top status bar clock text color.
+        mStatusBarClock.setTextColor(textColor);
+        // Update the top status bar icon color.
+        ViewGroup iconsContainer = mContentView.findViewById(R.id.theme_preview_top_bar_icons);
+        for (int i = 0; i < iconsContainer.getChildCount(); i++) {
+            ((ImageView) iconsContainer.getChildAt(i))
+                    .setImageTintList(ColorStateList.valueOf(textColor));
+        }
+        // Update smart space date color.
+        mSmartSpaceDate.setTextColor(textColor);
+        mSmartSpaceDate.setShadowLayer(
+                mContext.getResources().getDimension(
+                        R.dimen.smartspace_preview_key_ambient_shadow_blur),
+                /* dx = */ 0,
+                /* dy = */ 0,
+                textShadowColor);
+
+        // Update shape app icon name text color.
+        for (int id : mShapeIconAppNameIds) {
+            TextView appName = mContentView.findViewById(id);
+            appName.setTextColor(textColor);
+            appName.setShadowLayer(
+                    mContext.getResources().getDimension(
+                            R.dimen.preview_theme_app_name_key_ambient_shadow_blur),
+                    /* dx = */ 0,
+                    /* dy = */ 0,
+                    textShadowColor);
+        }
+
+        mHasWallpaperColorSet = true;
+        showPreviewIfHasAllConfigSet();
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
+    @MainThread
+    public void onResume() {
+        mTicker = TimeTicker.registerNewReceiver(mContext, this::updateTime);
+        updateTime();
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
+    @MainThread
+    public void onPause() {
+        if (mContext != null) {
+            mContext.unregisterReceiver(mTicker);
+        }
+    }
+
+    private void showPreviewIfHasAllConfigSet() {
+        if (mHasPreviewInfoSet && mHasWallpaperColorSet
+                && mContentView.getVisibility() != View.VISIBLE) {
+            mContentView.setAlpha(0f);
+            mContentView.setVisibility(View.VISIBLE);
+            mContentView.animate().alpha(1f)
+                    .setStartDelay(50)
+                    .setDuration(200)
+                    .setInterpolator(AnimationUtils.loadInterpolator(mContext,
+                            android.R.interpolator.fast_out_linear_in))
+                    .start();
+        }
+    }
+
+    private void setHeadlineFont(Typeface headlineFont) {
+        mStatusBarClock.setTypeface(headlineFont);
+        mSmartSpaceDate.setTypeface(headlineFont);
+
+        // Update font of color/icons section title.
+        TextView colorIconsSectionTitle = mContentView.findViewById(R.id.color_icons_section_title);
+        colorIconsSectionTitle.setTypeface(headlineFont);
+    }
+
+    private void setBodyFont(Typeface bodyFont) {
+        // Update font of app names.
+        for (int id : mShapeIconAppNameIds) {
+            TextView appName = mContentView.findViewById(id);
+            appName.setTypeface(bodyFont);
+        }
+    }
+
+    private void setTopBarIcons(List<Drawable> icons) {
+        ViewGroup iconsContainer = mContentView.findViewById(R.id.theme_preview_top_bar_icons);
+        for (int i = 0; i < iconsContainer.getChildCount(); i++) {
+            int iconIndex = sTopBarIconToPreviewIcon[i];
+            if (iconIndex < icons.size()) {
+                ((ImageView) iconsContainer.getChildAt(i))
+                        .setImageDrawable(icons.get(iconIndex).getConstantState()
+                                .newDrawable().mutate());
+            } else {
+                iconsContainer.getChildAt(i).setVisibility(View.GONE);
+            }
+        }
+    }
+
+    private void setAppIconShape(List<ShapeAppIcon> appIcons) {
+        for (int i = 0; i < mShapeAppIconIds.length && i < mShapeIconAppNameIds.length
+                && i < appIcons.size(); i++) {
+            ShapeAppIcon icon = appIcons.get(i);
+            // Set app icon.
+            ImageView iconView = mContentView.findViewById(mShapeAppIconIds[i]);
+            iconView.setBackground(icon.getDrawableCopy());
+            // Set app name.
+            TextView appName = mContentView.findViewById(mShapeIconAppNameIds[i]);
+            appName.setText(icon.getAppName());
+        }
+    }
+
+    private void setColorAndIconsSection(List<Drawable> icons, Drawable shapeDrawable,
+                                         int accentColor) {
+        // Set QS icons and background.
+        for (int i = 0; i < mColorTileIconIds.length && i < icons.size(); i++) {
+            Drawable icon = icons.get(mColorTileIconIds[i][1]).getConstantState()
+                    .newDrawable().mutate();
+            Drawable bgShape = shapeDrawable.getConstantState().newDrawable();
+            bgShape.setTint(accentColor);
+
+            ImageView bg = mContentView.findViewById(mColorTileIds[i]);
+            bg.setImageDrawable(bgShape);
+            ImageView fg = mContentView.findViewById(mColorTileIconIds[i][0]);
+            fg.setImageDrawable(icon);
+        }
+
+        // Set color for Buttons (CheckBox, RadioButton, and Switch).
+        ColorStateList tintList = getColorStateList(accentColor);
+        for (int mColorButtonId : mColorButtonIds) {
+            CompoundButton button = mContentView.findViewById(mColorButtonId);
+            button.setButtonTintList(tintList);
+            if (button instanceof Switch) {
+                ((Switch) button).setThumbTintList(tintList);
+                ((Switch) button).setTrackTintList(tintList);
+            }
+        }
+    }
+
+    private void setColorAndIconsBoxRadius(int cornerRadius) {
+        ((CardView) mContentView.findViewById(R.id.color_icons_section)).setRadius(cornerRadius);
+    }
+
+    private void setQsbRadius(int cornerRadius) {
+        View qsb = mContentView.findViewById(R.id.theme_qsb);
+        if (qsb != null && qsb.getVisibility() == View.VISIBLE) {
+            if (qsb.getBackground() instanceof GradientDrawable) {
+                GradientDrawable bg = (GradientDrawable) qsb.getBackground();
+                float radius = useRoundedQSB(cornerRadius)
+                        ? (float) qsb.getLayoutParams().height / 2 : cornerRadius;
+                bg.setCornerRadii(new float[]{
+                        radius, radius, radius, radius,
+                        radius, radius, radius, radius});
+            }
+        }
+    }
+
+    private void updateTime() {
+        Calendar calendar = Calendar.getInstance(TimeZone.getDefault());
+        if (mStatusBarClock != null) {
+            mStatusBarClock.setText(TimeUtils.getFormattedTime(mContext, calendar));
+        }
+        if (mSmartSpaceDate != null) {
+            String datePattern =
+                    DateFormat.getBestDateTimePattern(Locale.getDefault(), DATE_FORMAT);
+            mSmartSpaceDate.setText(DateFormat.format(datePattern, calendar));
+        }
+    }
+
+    private boolean useRoundedQSB(int cornerRadius) {
+        return cornerRadius >= mContext.getResources().getDimensionPixelSize(
+                R.dimen.roundCornerThreshold);
+    }
+
+    private ColorStateList getColorStateList(int accentColor) {
+        int controlGreyColor = mContext.getColor(R.color.control_grey);
+        return new ColorStateList(
+                new int[][]{
+                        new int[]{android.R.attr.state_selected},
+                        new int[]{android.R.attr.state_checked},
+                        new int[]{-android.R.attr.state_enabled},
+                },
+                new int[] {
+                        accentColor,
+                        accentColor,
+                        controlGreyColor
+                }
+        );
+    }
+
+    /**
+     * Gets the screen height which does not include the system status bar and bottom navigation
+     * bar.
+     */
+    private int getDisplayHeight() {
+        final DisplayMetrics dm = mContext.getResources().getDisplayMetrics();
+        return dm.heightPixels;
+    }
+
+    // The height of top tool bar (R.layout.section_header).
+    private int getTopToolBarHeight() {
+        final TypedValue typedValue = new TypedValue();
+        return mContext.getTheme().resolveAttribute(
+                android.R.attr.actionBarSize, typedValue, true)
+                ? TypedValue.complexToDimensionPixelSize(
+                        typedValue.data, mContext.getResources().getDisplayMetrics())
+                : 0;
+    }
+
+    private int getFullPreviewCardHeight() {
+        final Resources res = mContext.getResources();
+        return getDisplayHeight()
+                - getTopToolBarHeight()
+                - res.getDimensionPixelSize(R.dimen.bottom_navbar_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/theme/ThemePreviewPage.java b/src/com/android/customization/picker/theme/ThemePreviewPage.java
deleted file mode 100644
index c3af91c..0000000
--- a/src/com/android/customization/picker/theme/ThemePreviewPage.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package com.android.customization.picker.theme;
-
-import android.content.Context;
-import android.content.res.ColorStateList;
-import android.content.res.Resources;
-import android.graphics.Typeface;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.GradientDrawable;
-import android.icu.text.DateFormat;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.View.OnLayoutChangeListener;
-import android.view.ViewGroup;
-import android.widget.CompoundButton;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.DrawableRes;
-import androidx.annotation.LayoutRes;
-import androidx.annotation.StringRes;
-import androidx.constraintlayout.widget.Guideline;
-
-import com.android.customization.picker.BasePreviewAdapter.PreviewPage;
-import com.android.wallpaper.R;
-
-import java.text.FieldPosition;
-import java.util.Calendar;
-import java.util.List;
-import java.util.TimeZone;
-
-abstract class ThemePreviewPage extends PreviewPage {
-
-    public interface TimeContainer {
-        void updateTime();
-    }
-
-    @StringRes
-    final int nameResId;
-    final Drawable icon;
-    @LayoutRes
-    final int contentLayoutRes;
-    @ColorInt
-    final int accentColor;
-    protected final LayoutInflater inflater;
-
-    public ThemePreviewPage(Context context, @StringRes int titleResId,
-            @DrawableRes int iconSrc, @LayoutRes int contentLayoutRes,
-            @ColorInt int accentColor) {
-        super(null);
-        this.nameResId = titleResId;
-        if (iconSrc != Resources.ID_NULL) {
-            this.icon = context.getResources().getDrawable(iconSrc, context.getTheme());
-            int size = context.getResources().getDimensionPixelSize(R.dimen.card_header_icon_size);
-            icon.setBounds(0, 0, size, size);
-        } else {
-            this.icon = null;
-        }
-        this.contentLayoutRes = contentLayoutRes;
-        this.accentColor = accentColor;
-        this.inflater = LayoutInflater.from(context);
-    }
-
-    @Override
-    public void bindPreviewContent() {
-        TextView header = card.findViewById(R.id.theme_preview_card_header);
-        header.setText(nameResId);
-        header.setCompoundDrawables(null, icon, null, null);
-        header.setCompoundDrawableTintList(ColorStateList.valueOf(accentColor));
-        card.findViewById(R.id.theme_preview_top_bar).setVisibility(View.GONE);
-        card.findViewById(R.id.edit_label).setVisibility(View.GONE);
-
-        ViewGroup body = card.findViewById(R.id.theme_preview_card_body_container);
-        inflater.inflate(contentLayoutRes, body, true);
-        bindBody(false);
-    }
-
-    protected boolean containsWallpaper() {
-        return false;
-    }
-
-    protected abstract void bindBody(boolean forceRebind);
-
-    static class ThemeCoverPage extends ThemePreviewPage implements TimeContainer {
-
-        public static final int COVER_PAGE_WALLPAPER_ALPHA = 0x66;
-        /**
-         * Maps which icon from ResourceConstants#ICONS_FOR_PREVIEW to use for each icon in the
-         * top bar (fake "status bar") of the cover page.
-         */
-        private static final int [] sTopBarIconToPreviewIcon = new int [] { 0, 6, 7 };
-
-        private final Typeface mHeadlineFont;
-        private final List<Drawable> mIcons;
-        private final List<Drawable> mShapeAppIcons;
-        private Drawable mShapeDrawable;
-        private final int[] mColorButtonIds;
-        private final int[] mColorTileIds;
-        private final int[][] mColorTileIconIds;
-        private final int[] mShapeIconIds;
-        private final Resources mRes;
-        private String mTitle;
-        private OnClickListener mEditClickListener;
-        private final OnLayoutChangeListener[] mListeners;
-        private final int mCornerRadius;
-        private final ColorStateList mTintList;
-
-        public ThemeCoverPage(Context context, String title, int accentColor, List<Drawable> icons,
-                Typeface headlineFont, int cornerRadius,
-                Drawable shapeDrawable,
-                List<Drawable> shapeAppIcons,
-                OnClickListener editClickListener,
-                int[] colorButtonIds, int[] colorTileIds, int[][] colorTileIconIds,
-                int[] shapeIconIds, OnLayoutChangeListener... wallpaperListeners) {
-            super(context, 0, 0, R.layout.preview_card_cover_content, accentColor);
-            mRes = context.getResources();
-            mTitle = title;
-            mHeadlineFont = headlineFont;
-            mIcons = icons;
-            mCornerRadius = cornerRadius;
-            mShapeDrawable = shapeDrawable;
-            mShapeAppIcons = shapeAppIcons;
-            mEditClickListener = editClickListener;
-            mColorButtonIds = colorButtonIds;
-            mColorTileIds = colorTileIds;
-            mColorTileIconIds = colorTileIconIds;
-            mShapeIconIds = shapeIconIds;
-            mListeners = wallpaperListeners;
-            // Color QS icons:
-            int controlGreyColor = mRes.getColor(R.color.control_grey, null);
-            mTintList = new ColorStateList(
-                    new int[][]{
-                            new int[]{android.R.attr.state_selected},
-                            new int[]{android.R.attr.state_checked},
-                            new int[]{-android.R.attr.state_enabled},
-                    },
-                    new int[] {
-                            accentColor,
-                            accentColor,
-                            controlGreyColor
-                    }
-            );
-        }
-
-        @Override
-        protected void bindBody(boolean forceRebind) {
-            if (card == null) {
-                return;
-            }
-            if (mListeners != null) {
-                for (OnLayoutChangeListener listener : mListeners) {
-                    if (listener != null) {
-                        card.addOnLayoutChangeListener(listener);
-                    }
-                }
-            }
-
-            if (forceRebind) {
-                card.requestLayout();
-            }
-
-            for (int i = 0; i < mColorButtonIds.length; i++) {
-                CompoundButton button = card.findViewById(mColorButtonIds[i]);
-                if (button != null) {
-                    button.setButtonTintList(mTintList);
-                }
-            }
-            for (int i = 0; i < 3 && i < mIcons.size(); i++) {
-                Drawable icon = mIcons.get(mColorTileIconIds[i][1]).getConstantState()
-                        .newDrawable().mutate();
-                Drawable bgShape = mShapeDrawable.getConstantState().newDrawable();
-                bgShape.setTint(accentColor);
-
-                ImageView bg = card.findViewById(mColorTileIds[i]);
-                bg.setImageDrawable(bgShape);
-                ImageView fg = card.findViewById(mColorTileIconIds[i][0]);
-                fg.setImageDrawable(icon);
-            }
-
-            // Shape preview icons:
-
-            for (int i = 0; i < 3 && i < mShapeAppIcons.size(); i++) {
-                ImageView iconView = card.findViewById(mShapeIconIds[i]);
-                iconView.setBackground(mShapeAppIcons.get(i));
-            }
-        }
-
-        @Override
-        public void bindPreviewContent() {
-            TextView header = card.findViewById(R.id.theme_preview_card_header);
-            header.setText(mTitle);
-            header.setTextAppearance(R.style.CoverTitleTextAppearance);
-            header.setTypeface(mHeadlineFont);
-
-            card.findViewById(R.id.theme_preview_top_bar).setVisibility(View.VISIBLE);
-            TextView clock = card.findViewById(R.id.theme_preview_clock);
-            clock.setText(getFormattedTime());
-            clock.setTypeface(mHeadlineFont);
-
-            ViewGroup iconsContainer = card.findViewById(R.id.theme_preview_top_bar_icons);
-
-            for (int i = 0; i < iconsContainer.getChildCount(); i++) {
-                int iconIndex = sTopBarIconToPreviewIcon[i];
-                if (iconIndex < mIcons.size()) {
-                    ((ImageView) iconsContainer.getChildAt(i))
-                            .setImageDrawable(mIcons.get(iconIndex).getConstantState()
-                                    .newDrawable().mutate());
-                } else {
-                    iconsContainer.getChildAt(i).setVisibility(View.GONE);
-                }
-            }
-
-            ViewGroup body = card.findViewById(R.id.theme_preview_card_body_container);
-
-            inflater.inflate(contentLayoutRes, body, true);
-
-            bindBody(false);
-
-            TextView editLabel = card.findViewById(R.id.edit_label);
-            editLabel.setOnClickListener(mEditClickListener);
-            card.setOnClickListener(mEditClickListener);
-            card.setClickable(mEditClickListener != null);
-
-            editLabel.setVisibility(mEditClickListener != null
-                    ? View.VISIBLE : View.INVISIBLE);
-
-            View qsb = card.findViewById(R.id.theme_qsb);
-            if (qsb != null && qsb.getVisibility() == View.VISIBLE) {
-                if (qsb.getBackground() instanceof GradientDrawable) {
-                    GradientDrawable bg = (GradientDrawable) qsb.getBackground();
-                    float cornerRadius = useRoundedQSB(mCornerRadius)
-                            ? (float)qsb.getLayoutParams().height / 2 : mCornerRadius;
-                    bg.setCornerRadii(new float[]{
-                            cornerRadius, cornerRadius, cornerRadius, cornerRadius,
-                            cornerRadius, cornerRadius, cornerRadius, cornerRadius});
-                }
-            }
-
-            Guideline guideline = card.findViewById(R.id.guideline);
-            if (guideline != null) {
-                guideline.setGuidelineEnd(card.getResources().getDimensionPixelOffset(
-                        R.dimen.preview_theme_cover_content_bottom));
-            }
-        }
-
-        @Override
-        public void updateTime() {
-            if (card != null) {
-                ((TextView) card.findViewById(R.id.theme_preview_clock)).setText(
-                        getFormattedTime());
-            }
-        }
-
-        private boolean useRoundedQSB(int cornerRadius) {
-            return cornerRadius >=
-                    card.getResources().getDimensionPixelSize(R.dimen.roundCornerThreshold);
-        }
-
-        private String getFormattedTime() {
-            DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT);
-            StringBuffer time = new StringBuffer();
-            FieldPosition amPmPosition = new FieldPosition(DateFormat.Field.AM_PM);
-            df.format(Calendar.getInstance(TimeZone.getDefault()).getTime(), time, amPmPosition);
-            if (amPmPosition.getBeginIndex() > 0) {
-                time.delete(amPmPosition.getBeginIndex(), amPmPosition.getEndIndex());
-            }
-            return time.toString();
-        }
-
-        @Override
-        protected boolean containsWallpaper() {
-            return true;
-        }
-    }
-}
diff --git a/src/com/android/customization/widget/DynamicAdaptiveIconDrawable.java b/src/com/android/customization/widget/DynamicAdaptiveIconDrawable.java
index 06d8392..afcb27c 100644
--- a/src/com/android/customization/widget/DynamicAdaptiveIconDrawable.java
+++ b/src/com/android/customization/widget/DynamicAdaptiveIconDrawable.java
@@ -3,7 +3,6 @@
 import android.content.res.ColorStateList;
 import android.content.res.Resources;
 import android.content.res.Resources.Theme;
-import android.content.res.TypedArray;
 import android.graphics.Bitmap;
 import android.graphics.BitmapShader;
 import android.graphics.Canvas;
@@ -27,8 +26,6 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
-import com.android.wallpaper.R;
-
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 
@@ -765,6 +762,8 @@
     }
 
     static class LayerState extends ConstantState {
+        private final DynamicAdaptiveIconDrawable mOwner;
+
         private int[] mThemeAttrs;
 
         final static int N_CHILDREN = 2;
@@ -791,6 +790,7 @@
 
         LayerState(@Nullable LayerState orig, @NonNull DynamicAdaptiveIconDrawable owner,
                 @Nullable Resources res) {
+            mOwner = owner;
             mChildren = new ChildDrawable[N_CHILDREN];
             if (orig != null) {
                 final ChildDrawable[] origChildDrawable = orig.mChildren;
@@ -800,7 +800,7 @@
 
                 for (int i = 0; i < N_CHILDREN; i++) {
                     final ChildDrawable or = origChildDrawable[i];
-                    mChildren[i] = new ChildDrawable(or, owner, res);
+                    mChildren[i] = new ChildDrawable(or, mOwner, res);
                 }
 
                 mCheckedOpacity = orig.mCheckedOpacity;
@@ -842,12 +842,13 @@
 
         @Override
         public Drawable newDrawable() {
-            return new DynamicAdaptiveIconDrawable(this, null, null);
+            return new DynamicAdaptiveIconDrawable(mOwner.getBackground(), mOwner.getForeground(),
+                    mOwner.mOriginalMask);
         }
 
         @Override
         public Drawable newDrawable(@Nullable Resources res) {
-            return new DynamicAdaptiveIconDrawable(this, res, null);
+            return newDrawable();
         }
 
         @Override
diff --git a/src/com/android/customization/widget/OptionSelectorController.java b/src/com/android/customization/widget/OptionSelectorController.java
index 9c92079..db09aa6 100644
--- a/src/com/android/customization/widget/OptionSelectorController.java
+++ b/src/com/android/customization/widget/OptionSelectorController.java
@@ -26,12 +26,14 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.WindowManager;
+import android.view.accessibility.AccessibilityEvent;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.GridLayoutManager;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate;
 
 import com.android.customization.model.CustomizationManager;
 import com.android.customization.model.CustomizationOption;
@@ -72,14 +74,14 @@
     private CustomizationOption mAppliedOption;
 
     public OptionSelectorController(RecyclerView container, List<T> options) {
-        this(container, options, false, true);
+        this(container, options, true, true);
     }
 
     public OptionSelectorController(RecyclerView container, List<T> options,
             boolean useGrid, boolean showCheckmark) {
         mContainer = container;
         mOptions = options;
-        mUseGrid = container.getResources().getBoolean(R.bool.use_grid_for_options) || useGrid;
+        mUseGrid = useGrid;
         mShowCheckmark = showCheckmark;
     }
 
@@ -154,6 +156,9 @@
      * Initializes the UI for the options passed in the constructor of this class.
      */
     public void initOptions(final CustomizationManager<T> manager) {
+        mContainer.setAccessibilityDelegateCompat(
+                new OptionSelectorAccessibilityDelegate(mContainer));
+
         mAdapter = new RecyclerView.Adapter<TileViewHolder>() {
             @Override
             public int getItemViewType(int position) {
@@ -185,7 +190,8 @@
 
                 if (mShowCheckmark && option.equals(mAppliedOption)) {
                     Resources res = mContainer.getContext().getResources();
-                    Drawable checkmark = res.getDrawable(R.drawable.ic_check_circle_filled_24px);
+                    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) {
@@ -222,9 +228,15 @@
             }
         };
 
-        mContainer.setLayoutManager(new LinearLayoutManager(mContainer.getContext(),
-                LinearLayoutManager.HORIZONTAL, false));
         Resources res = mContainer.getContext().getResources();
+        if (mUseGrid) {
+            mContainer.setLayoutManager(new GridLayoutManager(mContainer.getContext(),
+                    res.getInteger(R.integer.options_grid_num_columns)));
+        } else {
+            mContainer.setLayoutManager(new LinearLayoutManager(mContainer.getContext(),
+                    LinearLayoutManager.HORIZONTAL, false));
+        }
+
         mContainer.setAdapter(mAdapter);
 
         // Measure RecyclerView to get to the total amount of space used by all options.
@@ -243,10 +255,18 @@
 
         if (mUseGrid) {
             int numColumns = res.getInteger(R.integer.options_grid_num_columns);
-            int widthPerItem = totalWidth / mAdapter.getItemCount();
+            int widthPerItem = res.getDimensionPixelOffset(R.dimen.option_tile_width);
             int extraSpace = availableWidth - widthPerItem * numColumns;
-            int containerSidePadding = extraSpace / (numColumns + 1);
-            mContainer.setLayoutManager(new GridLayoutManager(mContainer.getContext(), numColumns));
+            while (extraSpace < 0) {
+                numColumns -= 1;
+                extraSpace = availableWidth - widthPerItem * numColumns;
+            }
+
+            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;
@@ -309,6 +329,7 @@
 
             CharSequence cd = context.getString(id, title);
             if (labelView != null && !TextUtils.isEmpty(labelView.getText())) {
+                labelView.setAccessibilityPaneTitle(cd);
                 labelView.setContentDescription(cd);
             } else if (tileView != null) {
                 tileView.setAccessibilityPaneTitle(cd);
@@ -318,6 +339,7 @@
 
         public void resetContentDescription() {
             if (labelView != null && !TextUtils.isEmpty(labelView.getText())) {
+                labelView.setAccessibilityPaneTitle(title);
                 labelView.setContentDescription(title);
             } else if (tileView != null) {
                 tileView.setAccessibilityPaneTitle(title);
@@ -325,4 +347,40 @@
             }
         }
     }
+
+    private class OptionSelectorAccessibilityDelegate extends RecyclerViewAccessibilityDelegate {
+
+        OptionSelectorAccessibilityDelegate(RecyclerView recyclerView) {
+            super(recyclerView);
+        }
+
+        @Override
+        public boolean onRequestSendAccessibilityEvent(
+                ViewGroup host, View child, AccessibilityEvent event) {
+
+            // Apply this workaround to horizontal recyclerview only,
+            // since the symptom is TalkBack will lose focus when navigating horizontal list items.
+            if (mContainer.getLayoutManager() != null
+                    && mContainer.getLayoutManager().canScrollHorizontally()
+                    && event.getEventType() == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED) {
+                int itemPos = mContainer.getChildLayoutPosition(child);
+                int itemWidth = mContainer.getContext().getResources()
+                        .getDimensionPixelOffset(R.dimen.option_tile_width);
+                int itemMarginHorizontal = mContainer.getContext().getResources()
+                        .getDimensionPixelOffset(R.dimen.option_tile_margin_horizontal) * 2;
+                int scrollOffset = itemWidth + itemMarginHorizontal;
+
+                // Make focusing item's previous/next item totally visible when changing focus,
+                // ensure TalkBack won't lose focus when recyclerview scrolling.
+                if (itemPos >= ((LinearLayoutManager) mContainer.getLayoutManager())
+                        .findLastCompletelyVisibleItemPosition()) {
+                    mContainer.scrollBy(scrollOffset, 0);
+                } else if (itemPos <= ((LinearLayoutManager) mContainer.getLayoutManager())
+                        .findFirstCompletelyVisibleItemPosition() && itemPos != 0) {
+                    mContainer.scrollBy(-scrollOffset, 0);
+                }
+            }
+            return super.onRequestSendAccessibilityEvent(host, child, event);
+        }
+    }
 }
diff --git a/src/com/android/customization/widget/ThemeInfoView.java b/src/com/android/customization/widget/ThemeInfoView.java
new file mode 100644
index 0000000..9eb0320
--- /dev/null
+++ b/src/com/android/customization/widget/ThemeInfoView.java
@@ -0,0 +1,84 @@
+/*
+ * 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.widget;
+
+import android.content.Context;
+import android.content.res.ColorStateList;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.customization.model.theme.ThemeBundle;
+import com.android.wallpaper.R;
+
+/** A view for displaying style info. */
+public class ThemeInfoView extends LinearLayout {
+    private static final int WIFI_ICON_PREVIEW_INDEX = 0;
+    private static final int SHAPE_PREVIEW_INDEX = 0;
+
+    private TextView mTitle;
+    private TextView mFontPreviewTextView;
+    private ImageView mIconPreviewImageView;
+    private ImageView mAppPreviewImageView;
+    private ImageView mShapePreviewImageView;
+
+    public ThemeInfoView(Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+        mTitle = findViewById(R.id.style_info_title);
+        mFontPreviewTextView = findViewById(R.id.font_preview);
+        mIconPreviewImageView = findViewById(R.id.qs_preview_icon);
+        mAppPreviewImageView = findViewById(R.id.app_preview_icon);
+        mShapePreviewImageView = findViewById(R.id.shape_preview_icon);
+    }
+
+    /** Populates theme info. */
+    public void populateThemeInfo(@NonNull ThemeBundle selectedTheme) {
+        ThemeBundle.PreviewInfo previewInfo = selectedTheme.getPreviewInfo();
+
+        if (previewInfo != null) {
+            mTitle.setText(getContext().getString(R.string.style_info_description));
+            if (previewInfo.headlineFontFamily != null) {
+                mTitle.setTypeface(previewInfo.headlineFontFamily);
+                mFontPreviewTextView.setTypeface(previewInfo.headlineFontFamily);
+            }
+
+            if (previewInfo.icons.get(WIFI_ICON_PREVIEW_INDEX) != null) {
+                mIconPreviewImageView.setImageDrawable(
+                        previewInfo.icons.get(WIFI_ICON_PREVIEW_INDEX));
+            }
+
+            if (previewInfo.shapeAppIcons.get(SHAPE_PREVIEW_INDEX) != null) {
+                mAppPreviewImageView.setBackground(
+                        previewInfo.shapeAppIcons.get(SHAPE_PREVIEW_INDEX).getDrawableCopy());
+            }
+
+            if (previewInfo.shapeDrawable != null) {
+                mShapePreviewImageView.setImageDrawable(previewInfo.shapeDrawable);
+                mShapePreviewImageView.setImageTintList(
+                        ColorStateList.valueOf(previewInfo.resolveAccentColor(getResources())));
+            }
+        }
+    }
+}
diff --git a/src_override/com/android/wallpaper/module/WallpapersInjector.java b/src_override/com/android/wallpaper/module/WallpapersInjector.java
index a2bcd4d..b9a6952 100755
--- a/src_override/com/android/wallpaper/module/WallpapersInjector.java
+++ b/src_override/com/android/wallpaper/module/WallpapersInjector.java
@@ -65,11 +65,13 @@
 
     @Override
     public Fragment getPreviewFragment(
-        Context context,
-        WallpaperInfo wallpaperInfo,
-        int mode,
-        boolean testingModeEnabled) {
-        return ImagePreviewFragment.newInstance(wallpaperInfo, mode, testingModeEnabled);
+            Context context,
+            WallpaperInfo wallpaperInfo,
+            int mode,
+            boolean viewAsHome,
+            boolean testingModeEnabled) {
+        return ImagePreviewFragment.newInstance(wallpaperInfo, mode, viewAsHome,
+                testingModeEnabled);
     }
 
     @Override
diff --git a/tests/src/com/android/customization/testing/TestCustomizationInjector.java b/tests/src/com/android/customization/testing/TestCustomizationInjector.java
index 10b5934..dbbdb74 100644
--- a/tests/src/com/android/customization/testing/TestCustomizationInjector.java
+++ b/tests/src/com/android/customization/testing/TestCustomizationInjector.java
@@ -13,7 +13,6 @@
 import com.android.wallpaper.module.DrawableLayerResolver;
 import com.android.wallpaper.module.PackageStatusNotifier;
 import com.android.wallpaper.module.UserEventLogger;
-import com.android.wallpaper.module.WallpaperSetter;
 import com.android.wallpaper.testing.TestInjector;
 
 /**
@@ -38,12 +37,10 @@
     public ThemeManager getThemeManager(
             ThemeBundleProvider provider,
             FragmentActivity activity,
-            WallpaperSetter wallpaperSetter,
             OverlayManagerCompat overlayManagerCompat,
             ThemesUserEventLogger logger) {
         if (mThemeManager == null) {
-            mThemeManager = new TestThemeManager(provider, activity, wallpaperSetter,
-                    overlayManagerCompat, logger);
+            mThemeManager = new TestThemeManager(provider, activity, overlayManagerCompat, logger);
         }
         return mThemeManager;
     }
diff --git a/tests/src/com/android/customization/testing/TestThemeManager.java b/tests/src/com/android/customization/testing/TestThemeManager.java
index cc8567f..c4d25fb 100644
--- a/tests/src/com/android/customization/testing/TestThemeManager.java
+++ b/tests/src/com/android/customization/testing/TestThemeManager.java
@@ -6,7 +6,6 @@
 import com.android.customization.model.theme.ThemeBundleProvider;
 import com.android.customization.model.theme.ThemeManager;
 import com.android.customization.module.ThemesUserEventLogger;
-import com.android.wallpaper.module.WallpaperSetter;
 
 /**
  * Test implementation of {@link ThemeManager}.
@@ -18,10 +17,9 @@
     public TestThemeManager(
             ThemeBundleProvider provider,
             FragmentActivity activity,
-            WallpaperSetter wallpaperSetter,
             OverlayManagerCompat overlayManagerCompat,
             ThemesUserEventLogger logger) {
-        super(provider, activity, wallpaperSetter, overlayManagerCompat, logger);
+        super(provider, activity, overlayManagerCompat, logger);
     }
 
     @Override
