[automerger skipped] Merge mainline-release 6664920 to master - DO NOT MERGE am: d9893cc541 am: b23d8dc514 -s ours am: a1dab60746 -s ours
am skip reason: Change-Id I30a00b2166b014e09dbbe380ac92e94d76438075 with SHA-1 90ef95dcfa is in history
Original change: https://android-review.googlesource.com/c/platform/packages/apps/ThemePicker/+/1431525
Change-Id: I1819034226002ac9787f6cebd1db653b1fc1f342
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 & 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 & 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