Merge "Load and process the battery reattribute data in the periodic job (3/5)" into main
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 90b42f4..ca96328 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -140,7 +140,7 @@
<uses-permission android:name="android.permission.REMAP_MODIFIER_KEYS" />
<uses-permission android:name="android.permission.ACCESS_GPU_SERVICE" />
<uses-permission android:name="android.permission.MANAGE_GAME_MODE" />
- <uses-permission android:name="android.permission.RESTART_PHONE_PROCESS" />
+ <uses-permission android:name="android.permission.RESTART_TELEPHONY_PROCESS" />
<uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" />
<uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />
<uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
diff --git a/aconfig/settings_wifi_flag_declarations.aconfig b/aconfig/settings_wifi_flag_declarations.aconfig
new file mode 100644
index 0000000..cb8007f
--- /dev/null
+++ b/aconfig/settings_wifi_flag_declarations.aconfig
@@ -0,0 +1,12 @@
+package: "com.android.settings.flags"
+container: "system_ext"
+
+# NOTE: Keep alphabetized to help limit merge conflicts from multiple simultaneous editors.
+
+flag {
+ name: "enable_wifi_sharing_runtime_fragment"
+ namespace: "prism_qr"
+ description: "Use WifiFeatureProvider to get the instance of WifiDppQrCodeGeneratorFragment."
+ bug: "329012096"
+}
+
diff --git a/res/drawable/ic_password_adb_wireless.xml b/res/drawable/ic_password_adb_wireless.xml
new file mode 100644
index 0000000..b9c32d7
--- /dev/null
+++ b/res/drawable/ic_password_adb_wireless.xml
@@ -0,0 +1,35 @@
+<!--
+ Copyright (C) 2024 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:viewportHeight="24.0"
+ android:viewportWidth="24.0"
+ android:tint="?android:attr/colorAccent">
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M21.5,9.39l-1.63,0l0.81,-1.42l-0.86,-0.5l-0.82,1.42l-0.82,-1.42l-0.86,0.5l0.81,1.42l-1.63,0l0,1l1.63,0l-0.81,1.41l0.86,0.5l0.82,-1.41l0.82,1.41l0.86,-0.5l-0.81,-1.41l1.63,0z" />
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M13.68,7.97l-0.86,-0.5l-0.82,1.42l-0.82,-1.42l-0.86,0.5l0.81,1.42l-1.63,0l0,1l1.63,0l-0.81,1.41l0.86,0.5l0.82,-1.41l0.82,1.41l0.86,-0.5l-0.81,-1.41l1.63,0l0,-1l-1.63,0z" />
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M6.68,7.97l-0.86,-0.5l-0.82,1.42l-0.82,-1.42l-0.86,0.5l0.81,1.42l-1.63,0l0,1l1.63,0l-0.81,1.41l0.86,0.5l0.82,-1.41l0.82,1.41l0.86,-0.5l-0.81,-1.41l1.63,0l0,-1l-1.63,0z" />
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M21,17.89H3c-0.28,0 -0.5,-0.22 -0.5,-0.5v-1c0,-0.28 0.22,-0.5 0.5,-0.5h18c0.28,0 0.5,0.22 0.5,0.5v1C21.5,17.66 21.28,17.89 21,17.89z" />
+</vector>
\ No newline at end of file
diff --git a/res/layout-land/request_manage_credentials.xml b/res/layout-land/request_manage_credentials.xml
index fbe0bd0..f6bfa0e 100644
--- a/res/layout-land/request_manage_credentials.xml
+++ b/res/layout-land/request_manage_credentials.xml
@@ -16,6 +16,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
diff --git a/res/layout-sw600dp/request_manage_credentials.xml b/res/layout-sw600dp/request_manage_credentials.xml
index 42facd3..529edf1 100644
--- a/res/layout-sw600dp/request_manage_credentials.xml
+++ b/res/layout-sw600dp/request_manage_credentials.xml
@@ -17,6 +17,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
diff --git a/res/layout/request_manage_credentials.xml b/res/layout/request_manage_credentials.xml
index ee697f7..4f6a5c4 100644
--- a/res/layout/request_manage_credentials.xml
+++ b/res/layout/request_manage_credentials.xml
@@ -19,6 +19,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:fitsSystemWindows="true"
android:clipChildren="true">
<RelativeLayout
diff --git a/res/layout/zen_mode_type_item.xml b/res/layout/zen_mode_type_item.xml
new file mode 100644
index 0000000..841ca00
--- /dev/null
+++ b/res/layout/zen_mode_type_item.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 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="wrap_content"
+ android:background="?android:attr/selectableItemBackground"
+ android:gravity="center_vertical"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+ <ImageView
+ android:id="@+id/icon"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:layout_gravity="center" />
+
+ <RelativeLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:paddingStart="16dp"
+ android:layout_weight="1">
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ellipsize="marquee"
+ android:fadingEdge="horizontal"
+ android:singleLine="true"
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
+ android:textSize="16sp" />
+
+ <TextView
+ android:id="@+id/subtitle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignStart="@id/title"
+ android:layout_below="@id/title"
+ android:maxLines="2"
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead"
+ android:textColor="?android:attr/textColorSecondary"
+ android:textSize="14sp" />
+
+ </RelativeLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/values-af/arrays.xml b/res/values-af/arrays.xml
index 882b5e0..ddfc5af 100644
--- a/res/values-af/arrays.xml
+++ b/res/values-af/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 1d9a295..1f0a0ac 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Geen}=1{1 skedule gestel}other{# skedules gestel}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Moenie Steur Nie"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriteitmodusse"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Word net deur belangrike mense en apps in kennis gestel"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Beperk onderbrekings"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Skakel Moenie steur nie aan"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Geselekteerde apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Geen"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alles"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Laat programme toe om te ignoreer"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Programme wat kan onderbreek"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Kies meer apps"</string>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index 0380e61..733ae90 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 5ba79e6..63c3a55 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ምንም}=1{1 መርሐግብር ተቀናብሯል}one{# መርሐግብሮች ተቀናብረዋል}other{# መርሐግብሮች ተቀናብረዋል}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"አይረብሹ"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"ቅድሚያ ሁነታዎች"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"በአስፈላጊ ሰዎች እና መተግበሪያዎች ብቻ ማሳወቂያን ያግኙ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"መቆራረጦችን ይገድቡ"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"አትረብሽን አብራ"</string>
@@ -3771,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"የተመረጡ መተግበሪያዎች"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ምንም"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ሁሉም"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"መተግበሪያዎች እንዲሽሩ ይፍቀዱ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"አቋርጠው መግባት የሚችሉ መተግበሪያዎች"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ተጨማሪ መተግበሪያዎችን ይምረጡ"</string>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index 31c9970..3855825 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 9c40d2e..62f57be 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ما من جداول زمنية}=1{تم ضبط جدول زمني واحد}two{تم ضبط جدولين زمنيين}few{تم ضبط # جداول زمنية}many{تم ضبط # جدولاً زمنيًا}other{تم ضبط # جدول زمني}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"وضع \"عدم الإزعاج\""</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"الأوضاع ذات الأولوية"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ستصلك الإشعارات من الأشخاص المهمّين والتطبيقات المهمّة فقط"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"الحد من المقاطعات"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"تفعيل ميزة \"عدم الإزعاج\""</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"إضافة تقويم"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"استخدام التقويم"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"وفقًا للجدول الزمني"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ضبط جدول زمني"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"الجدول الزمني"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ساعة و<xliff:g id="MINUTES">%2$d</xliff:g> دقيقة"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"الجدول الزمني"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"كتم صوت الهاتف في أوقات معيّنة"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"تعيين قواعد عدم الإزعاج"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"التطبيقات المحدَّدة"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ما مِن تطبيقات"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"كل التطبيقات"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"السماح للتطبيقات بإلغاء وضع \"عدم الإزعاج\""</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"التطبيقات التي يمكنها مقاطعة عمل الميزة"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"اختيار مزيد من التطبيقات"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{التغيير إلى التنبيهات لمدة ساعة واحدة فقط حتى {time}}zero{التغيير إلى التنبيهات لمدة # ساعة فقط حتى {time}}two{التغيير إلى التنبيهات لمدة ساعتَين فقط حتى {time}}few{التغيير إلى التنبيهات لمدة # ساعات فقط حتى {time}}many{التغيير إلى التنبيهات لمدة # ساعة فقط حتى {time}}other{التغيير إلى التنبيهات لمدة # ساعة فقط حتى {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"التغيير إلى التنبيهات فقط حتى <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"تغيير إلى المقاطعة دائمًا"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"إعادة التسمية"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"تغيير الرمز"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"تغيير الرمز"</string>
<string name="warning_button_text" msgid="1274234338874005639">"تحذير"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"إغلاق"</string>
<string name="device_feedback" msgid="5351614458411688608">"إرسال ملاحظات حول هذا الجهاز"</string>
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
index c414563..950ac71 100644
--- a/res/values-as/arrays.xml
+++ b/res/values-as/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 79321fc..e9a8648 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{এটাও নাই}=1{1 খন সময়সূচী ছেট কৰা হৈছে}one{# খন সময়সূচী ছেট কৰা হৈছে}other{# খন সময়সূচী ছেট কৰা হৈছে}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"অসুবিধা নিদিব"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"অগ্ৰাধিকাৰপ্ৰাপ্ত ম’ড"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"কেৱল গুৰুত্বপূর্ণ লোক আৰু এপ্সমূহৰ পৰা জাননী পাওক"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"বাধাবোৰ সীমিত কৰক"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"অসুবিধা নিদিব অন কৰক"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"এখন কেলেণ্ডাৰ যোগ দিয়ক"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"আপোনাৰ কেলেণ্ডাৰ ব্যৱহাৰ কৰক"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"সময়সূচী"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"সময়সূচী ছেট কৰক"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"সময়সূচী"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ঘণ্টা, <xliff:g id="MINUTES">%2$d</xliff:g> মিনিট"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"সময়সূচী"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"নিৰ্দ্দিষ্ট সময়ৰ মূৰত ফ\'ন নিৰৱ কৰক"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"অসুবিধা নিদিবৰ নিয়ম ছেট কৰক"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"বাছনি কৰা এপ্"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"এটাও নহয়"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"আটাইবোৰ"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"এপক অ\'ভাৰৰাইডৰ অনুমতি দিয়ক"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ব্যাঘাত জন্মাব পৰা এপ্সমূহ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"অধিক এপ্ বাছনি কৰক"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} পৰ্যন্ত কেৱল এঘণ্টাৰ বাবে এলাৰ্মলৈ সলনি কৰক}one{{time} পৰ্যন্ত কেৱল # ঘণ্টাৰ বাবে এলাৰ্মলৈ সলনি কৰক}other{{time} পৰ্যন্ত কেৱল # ঘণ্টাৰ বাবে এলাৰ্মলৈ সলনি কৰক}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"কেৱল <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> পৰ্যন্ত এলাৰ্ম সলনি কৰক"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"সদায় ব্যাঘাত জন্মোৱা ছেটিঙলৈ সলনি কৰক"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"নতুন নাম দিয়ক"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"চিহ্ন সলনি কৰক"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"চিহ্ন সলনি কৰক"</string>
<string name="warning_button_text" msgid="1274234338874005639">"সকীয়নি"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"বন্ধ কৰক"</string>
<string name="device_feedback" msgid="5351614458411688608">"ডিভাইচটো ব্যৱহাৰ কৰি কেনে লাগিছে জনাওক"</string>
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index 93d30f7..5e1b4e6 100644
--- a/res/values-az/arrays.xml
+++ b/res/values-az/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 9d63c289..9b0de63 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Heç biri}=1{1 cədvəl ayarlanıb}other{# cədvəl ayarlanıb}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Narahat etməyin"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritet rejimləri"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Yalnız vacib şəxs və tətbiqlərdən bildiriş alın."</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kəsintiləri məhdudlaşdırın"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"Narahat Etməyin\" rejimini aktiv edin"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Seçilmiş tətbiqlər"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Heç biri"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Hamısı"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tətbiqlərin rejimdən imtina etməsinə icazə verin"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Narahat etmiş sayılmayan tətbiqlər"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Daha çox tətbiq seçin"</string>
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
index 6dea39e..69b2c2a 100644
--- a/res/values-b+sr+Latn/arrays.xml
+++ b/res/values-b+sr+Latn/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 000c565..968995e 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nijedan}=1{1 raspored je podešen}one{# raspored je podešen}few{# rasporeda su podešena}other{# rasporeda je podešeno}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ne uznemiravaj"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritetni režimi"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Dobijajte obaveštenja samo od važnih osoba i aplikacija"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničite prekide"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključite režim Ne uznemiravaj"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Dodajte kalendar"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Koristite svoj kalendar"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Raspored"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Podesite raspored"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Raspored"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> s, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Raspored"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Utišajte telefon u određeno vreme"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Podesite pravila za režim „Ne uznemiravaj“"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Izabrane aplikacije"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nijedna"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Sve"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dozvoli da aplikacije zanemaruju"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije koje mogu da prekidaju"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Izaberite još aplikacija"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Pređite samo na alarme na jedan sat sve do {time}}one{Pređite samo na alarme na # sat sve do {time}}few{Pređite samo na alarme na # sata sve do {time}}other{Pređite samo na alarme na # sati sve do {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Prebacuje u režim samo sa alarmima do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Prebacuje u režim uvek prekidaj"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Preimenuj"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Promeni ikonu"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Promeni ikonu"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Upozorenje"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Zatvori"</string>
<string name="device_feedback" msgid="5351614458411688608">"Šalji povratne informacije o uređaju"</string>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index 2a7b529..d5c5b10 100644
--- a/res/values-be/arrays.xml
+++ b/res/values-be/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 62776ab..40f7119 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ніводнага}=1{Зададзены 1 расклад}one{Зададзены # расклад}few{Зададзена # расклады}many{Зададзена # раскладаў}other{Зададзена # раскладу}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Не турбаваць"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Прыярытэтныя рэжымы"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Атрымліваць апавяшчэнні толькі ад важных людзей і праграм"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Абмежаванне колькасці непатрэбных апавяшчэнняў"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Уключэнне рэжыму \"Не турбаваць\""</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Дадайце каляндар"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Перайсці да календара"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Па раскладзе"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Задаць расклад"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Расклад"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> гадз <xliff:g id="MINUTES">%2$d</xliff:g> хв"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Расклад"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Выключаць гук тэлефона ў пэўны час"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Правілы рэжыму \"Не турбаваць\""</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Выбраныя праграмы"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ніякія"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Усе"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дазволіць праграмам перавызначаць"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Гэты рэжым не распаўсюджваецца на наступныя праграмы"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Выбраць іншыя праграмы"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Пераключэнне на рэжым \"Толькі будзільнікі\" на адну гадзіну да {time}}one{Пераключэнне на рэжым \"Толькі будзільнікі\" на # гадзіну да {time}}few{Пераключэнне на рэжым \"Толькі будзільнікі\" на # гадзіны да {time}}many{Пераключэнне на рэжым \"Толькі будзільнікі\" на # гадзін да {time}}other{Пераключэнне на рэжым \"Толькі будзільнікі\" на # гадзіны да {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Пераключыцца на рэжым «толькі будзільнікі» да <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Уключыць усе апавяшчэнні"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Перайменаваць"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Змяніць значок"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Змяніць значок"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Заўвага"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Закрыць"</string>
<string name="device_feedback" msgid="5351614458411688608">"Адправіць водгук пра гэту прыладу"</string>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index 7726731..712ecab 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 6a545a5..0f53175 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Нито един}=1{Зададен е 1 график}other{Зададени са # графика}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Не безпокойте"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Приоритетни режими"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Получаване на известия само от важни хора и приложения"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничаване на прекъсванията"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Включване на режима „Не безпокойте“"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Избрани приложения"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Никои"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Всички"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Разрешаване на приложения да отменят режима"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Приложения, които могат да прекъсват режима"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Избиране на още приложения"</string>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index c88de1c..73619bf 100644
--- a/res/values-bn/arrays.xml
+++ b/res/values-bn/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 1571aaf..7462d06 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -558,7 +558,7 @@
<string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"প্রাইভেট স্পেসের জন্য \'ফিঙ্গারপ্রিন্ট আনলক\'"</string>
<string name="private_space_face_unlock_title" msgid="462248384776453613">"প্রাইভেট স্পেসের জন্য \'ফেস আনলক\'"</string>
<string name="private_space_biometric_unlock_title" msgid="1978145237698659673">"প্রাইভেট স্পেসের জন্য ফেস ও ফিঙ্গারপ্রিন্ট আনলক করার সুবিধা"</string>
- <string name="private_space_fingerprint_enroll_introduction_title" msgid="5187730641333680942">"প্রাইভেট স্পেসের জন্য ফিঙ্গারপ্রিন্ট আনলক সেট আপ করুন"</string>
+ <string name="private_space_fingerprint_enroll_introduction_title" msgid="5187730641333680942">"প্রাইভেট স্পেসের জন্য ফিঙ্গারপ্রিন্ট আনলক সেটআপ করুন"</string>
<string name="private_space_fingerprint_enroll_introduction_message" msgid="9092068873421435300">"অ্যাপে সাইন-ইন বা কেনাকাটায় অনুমোদন করার মতোই ফিঙ্গারপ্রিন্ট ব্যবহার করে প্রাইভেট স্পেস আনলক বা নিজের পরিচয় যাচাই করুন"</string>
<string name="private_space_fingerprint_enroll_introduction_footer_message" msgid="7125255484447984854">"আপনি না চাইলেও, প্রাইভেট স্পেস আপনার আঙুলে ফোন ছুঁইয়ে অন্য কেউ আনলক করতে পারবেন।"</string>
<string name="private_space_fingerprint_enroll_finish_message" msgid="4754797926493316965">"আপনার প্রাইভেট স্পেস আনলক করতে বা কেনাকাটা অনুমোদন করতে ফিঙ্গারপ্রিন্ট ব্যবহার করুন"</string>
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{একটিও নেই}=1{১টি শিডিউল সেট করা হয়েছে}one{#টি শিডিউল সেট করা হয়েছে}other{#টি শিডিউল সেট করা হয়েছে}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"বিরক্ত করবে না"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"অগ্রাধিকার মোড"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"শুধু গুরুত্বপূর্ণ লোকজন এবং অ্যাপ থেকে বিজ্ঞপ্তি পান"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"বিরক্তিকর কন্টেন্ট বন্ধ করা"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'বিরক্ত করবে না\' মোড চালু করুন"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"বেছে নেওয়া অ্যাপ"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"কোনওটিই নয়"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"সব"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"অ্যাপ ওভাররাইডের অনুমতি দিন"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"যে অ্যাপগুলি \'বিরক্ত করবে না\' মোড এড়িয়ে নিজের কাজ করতে পারে"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"আরও অ্যাপ বেছে নিন"</string>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index 93ee2fe..2b34f3d 100644
--- a/res/values-bs/arrays.xml
+++ b/res/values-bs/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 84d8358..133c096 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nema}=1{Postavljen je 1 raspored}one{Postavljen je # raspored}few{Postavljena su # rasporeda}other{Postavljeno je # rasporeda}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ne ometaj"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritetni načini rada"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primajte obavještenja samo od važnih osoba i aplikacija"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničite ometanja"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključi način rada Ne ometaj"</string>
@@ -3771,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Odabrane aplikacije"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nijedna"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Sve"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dozvolite aplikacijama da zanemaruju"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije koje vas mogu prekinuti"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Odaberite još aplikacija"</string>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index 9b23023..730ab35 100644
--- a/res/values-ca/arrays.xml
+++ b/res/values-ca/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 538bb08..aacebe0 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Cap}=1{S\'ha definit 1 programació}other{S\'han definit # programacions}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"No molestis"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modes prioritaris"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Rep notificacions només de persones i aplicacions importants"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Restringeix les interrupcions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activa el mode No molestis"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Afegeix un calendari"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Utilitza el calendari"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programació"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Defineix una programació"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programa"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programació"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silencia en hores concretes"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Defineix les regles de No molestis"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplicacions seleccionades"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Cap"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tot"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permet que les aplicacions ignorin el mode No molestis"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplicacions que poden interrompre"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecciona més aplicacions"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Canvia al mode Només alarmes durant 1 hora fins a les {time}}other{Canvia al mode Només alarmes durant # hores fins a les {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Canvia al mode Només alarmes fins a les <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Canvia al mode Interromp sempre"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Canvia el nom"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Canvia la icona"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Canvia la icona"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Advertiment"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Tanca"</string>
<string name="device_feedback" msgid="5351614458411688608">"Envia suggeriments sobre el dispositiu"</string>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index 5296677..212c705 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 0de1058..16069b4 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Žádný}=1{Nastaven 1 plán}few{Nastaveny # plány}many{Nastaveno # plánu}other{Nastaveno # plánů}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Nerušit"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Režim priority"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Přijímat pouze oznámení od důležitých lidí a z důležitých aplikací"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Omezení vyrušení"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zapněte funkci Nerušit"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Vybrané aplikace"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nic"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Vše"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Povolit přepisování aplikací"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikace, které smí vyrušovat"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Vybrat další aplikace"</string>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index 0664775..6583dbe 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 53f6dd2..38f753d 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ingen}=1{1 tidsplan er angivet}one{# tidsplan er angivet}other{# tidsplaner er angivet}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Forstyr ikke"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Tilstande med prioritet"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Få kun notifikationer fra vigtige personer og apps"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begræns antallet af afbrydelser"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivér Forstyr ikke"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Tilføj en kalender"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Brug din kalender"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Tidsplan"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Angiv en tidsplan"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Tidsplan"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> t. <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Planlæg"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Gør telefonen lydløs på bestemte tidspunkter"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Angiv regler for Forstyr ikke"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Valgte apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ingen"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alle"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillad, at apps tilsidesætter"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps, der kan afbryde"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Vælg flere apps"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Skift til kun alarmer i én time (indtil {time})}one{Skift til kun alarmer i # time (indtil {time})}other{Skift til kun alarmer i # timer (indtil {time})}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Skift til Kun alarmer frem til <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Skift til Afbryd altid"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Omdøb"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Skift ikon"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Skift ikon"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Advarsel"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Luk"</string>
<string name="device_feedback" msgid="5351614458411688608">"Send feedback om denne enhed"</string>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index f5245a3..a02baae 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index bc76709..729faf1 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Keine}=1{1 Zeitplan festgelegt}other{# Zeitpläne festgelegt}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Bitte nicht stören"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritätsmodi"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Benachrichtigungen nur von wichtigen Personen und Apps"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Unterbrechungen einschränken"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"„Bitte nicht stören“ aktivieren"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Kalender hinzufügen"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Kalender verwenden"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Zeitplan"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Zeitplan festlegen"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Zeitplan"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> Std. <xliff:g id="MINUTES">%2$d</xliff:g> Min."</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Zeitplan"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Smartphone zu bestimmten Zeiten stummschalten"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"„Bitte nicht stören“-Regeln einrichten"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Ausgewählte Apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Keine"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alle"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Überschreiben durch Apps zulassen"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps, die unterbrechen dürfen"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Weitere Apps auswählen"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Eine Stunde lang bis {time} zur Option „nur Weckrufe“ wechseln}other{# Stunden lang bis {time} zur Option „nur Weckrufe“ wechseln}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Bis <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> zur Option \"Nur Weckrufe\" wechseln"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Zur Option \"Immer unterbrechen\" wechseln"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Umbenennen"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Symbol ändern"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Symbol ändern"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Warnung"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Schließen"</string>
<string name="device_feedback" msgid="5351614458411688608">"Feedback zu diesem Gerät senden"</string>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 23d07bd..6e63159 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index e4d2923..d0ddc9d 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -562,7 +562,7 @@
<string name="private_space_fingerprint_enroll_introduction_message" msgid="9092068873421435300">"Χρησιμοποιήστε το δακτυλικό σας αποτύπωμα για να ξεκλειδώσετε τον ιδιωτικό χώρο σας ή να επαληθεύετε την ταυτότητά σας, για παράδειγμα, όταν συνδέεστε σε εφαρμογές ή εγκρίνετε κάποια αγορά"</string>
<string name="private_space_fingerprint_enroll_introduction_footer_message" msgid="7125255484447984854">"Ο ιδιωτικός χώρος σας μπορεί να ξεκλειδωθεί άθελά σας, για παράδειγμα, εάν κάποιος τοποθετήσει το δάχτυλό σας στη συσκευή."</string>
<string name="private_space_fingerprint_enroll_finish_message" msgid="4754797926493316965">"Χρησιμοποιήστε το δακτυλικό σας αποτύπωμα για να ξεκλειδώσετε τον ιδιωτικό χώρο σας ή για να εγκρίνετε αγορές"</string>
- <string name="private_space_face_enroll_introduction_title" msgid="3717541082520006032">"Ρύθμιση της λειτουργίας Ξεκλείδωμα με το πρόσωπο για ιδιωτικό χώρο"</string>
+ <string name="private_space_face_enroll_introduction_title" msgid="3717541082520006032">"Ρύθμιση λειτ. Ξεκλείδωμα με το πρόσωπο για ιδιωτικό χώρο"</string>
<string name="private_space_face_enroll_introduction_message" msgid="250239418499081821">"Χρησιμοποιήστε το πρόσωπό σας για να ξεκλειδώσετε τον ιδιωτικό χώρο σας ή για να επαληθεύσετε την ταυτότητά σας, για παράδειγμα κατά τη σύνδεση σε εφαρμογές ή την έγκριση μιας αγοράς"</string>
<string name="private_space_face_enroll_introduction_info_looking" msgid="5694757845303924042">"Ο ιδιωτικός χώρος μπορεί να ξεκλειδωθεί εάν κοιτάξετε το τηλέφωνό σας, ακόμη και άθελά σας. Ο ιδιωτικός χώρος σας μπορεί επίσης να ξεκλειδωθεί από κάποιο άτομο που σας μοιάζει πολύ, όπως για παράδειγμα, τον δίδυμο αδελφό σας, ή σε περίπτωση που κάποιος πλησιάσει τη συσκευή στο πρόσωπό σας."</string>
<string name="private_space_face_enroll_introduction_info_less_secure" msgid="8460719783943533172">"Το ξεκλείδωμα του ιδιωτικού χώρου σας με τη χρήση του προσώπου σας ενδέχεται να είναι λιγότερο ασφαλές από τη χρήση ενός ισχυρού μοτίβου, ενός PIN ή ενός κωδικού πρόσβασης"</string>
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Κανένα}=1{Ορίστηκε ένα πρόγραμμα.}other{Ορίστηκαν # προγράμματα.}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Μην ενοχλείτε"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Λειτουργίες προτεραιότητας"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Λήψη ειδοποιήσεων μόνο από σημαντικά άτομα και εφαρμογές"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Περιορισμός διακοπών"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ενεργοποίηση λειτουργίας \"Μην ενοχλείτε\""</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Επιλεγμένες εφαρμογές"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Καμία"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Όλες"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Να επιτρέπεται στις εφαρμογές η παράκαμψη"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Εφαρμογές που μπορούν να διακόπτουν"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Επιλέξτε περισσότερες εφαρμογές"</string>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
index ab87841..839e9a8 100644
--- a/res/values-en-rAU/arrays.xml
+++ b/res/values-en-rAU/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 87ce261..164486d 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Priority modes"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Add a calendar"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use your calendar"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schedule"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>hr, <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silence phone at certain times"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Set do not disturb rules"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Change to alarms only for one hour until {time}}other{Change to alarms only for # hours until {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Change to alarms only until <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Change to always interrupt"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Rename"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Change icon"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Change icon"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Warning"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
<string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index 61ce5d2..c6a61b4 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -498,4 +498,15 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Bedtime"</item>
+ <item msgid="4152450357280759894">"Driving"</item>
+ <item msgid="7096549258219399423">"Immersive"</item>
+ <item msgid="2760716776980432977">"Managed"</item>
+ <item msgid="601734478369121764">"Star"</item>
+ <item msgid="6243809315432780521">"Calendar"</item>
+ <item msgid="4913577903148415331">"Time"</item>
+ <item msgid="3653377604690057780">"Theater"</item>
+ <item msgid="3843711267408385410">"Flower"</item>
+ </string-array>
</resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 960344f..4ede5cb 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -65,8 +65,7 @@
<string name="bluetooth_disconnect_title" msgid="4581951246357823044">"Disconnect device?"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Pair new device"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
- <!-- no translation found for bluetooth_screen_auto_on_title (2203993262483477532) -->
- <skip />
+ <string name="bluetooth_screen_auto_on_title" msgid="2203993262483477532">"Automatically turn on tomorrow"</string>
<string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Pair right ear"</string>
<string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Pair left ear"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Pair your other ear"</string>
@@ -614,10 +613,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Install apps"</b>\n"Install apps that you want to keep private in your space"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Keep in mind"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Apps stop when you lock your space"</b>\n"When you lock your space, apps in your space are stopped and you won’t receive notifications from them"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Private spaces are not suitable for apps that need to run in the background or send critical notifications, such as medical apps. This is because notifications and background activity are stopped when your space is locked.\n\nApps in your private space won\'t appear in permission manager, privacy dashboard, and other settings when your private space is locked.\n\nYour private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Private spaces are not suitable for apps that need to run in the background or send critical notifications, such as medical apps. This is because notifications and background activity are stopped when your space is locked.\n\nApps in your private space won\'t appear in permission manager, privacy dashboard, and other settings when private space is locked.\n\nYour private space can\'t be restored to a new device. You’ll need to set up another space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs malicious apps on your device may be able to access your private space."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Learn more about private space"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"This will take a few moments"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
@@ -3323,6 +3320,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Priority Modes"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
@@ -3768,6 +3767,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index ab87841..839e9a8 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 482e870..2c16ef3 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Priority modes"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Add a calendar"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use your calendar"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schedule"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>hr, <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silence phone at certain times"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Set do not disturb rules"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Change to alarms only for one hour until {time}}other{Change to alarms only for # hours until {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Change to alarms only until <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Change to always interrupt"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Rename"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Change icon"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Change icon"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Warning"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
<string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
index ab87841..839e9a8 100644
--- a/res/values-en-rIN/arrays.xml
+++ b/res/values-en-rIN/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index c45d3e7..a62d9ee 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Priority modes"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Add a calendar"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use your calendar"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schedule"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>hr, <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silence phone at certain times"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Set do not disturb rules"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Change to alarms only for one hour until {time}}other{Change to alarms only for # hours until {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Change to alarms only until <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Change to always interrupt"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Rename"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Change icon"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Change icon"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Warning"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
<string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
diff --git a/res/values-en-rXC/arrays.xml b/res/values-en-rXC/arrays.xml
index 2fed1f9..a7d044c 100644
--- a/res/values-en-rXC/arrays.xml
+++ b/res/values-en-rXC/arrays.xml
@@ -498,4 +498,15 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Bedtime"</item>
+ <item msgid="4152450357280759894">"Driving"</item>
+ <item msgid="7096549258219399423">"Immersive"</item>
+ <item msgid="2760716776980432977">"Managed"</item>
+ <item msgid="601734478369121764">"Star"</item>
+ <item msgid="6243809315432780521">"Calendar"</item>
+ <item msgid="4913577903148415331">"Time"</item>
+ <item msgid="3653377604690057780">"Theater"</item>
+ <item msgid="3843711267408385410">"Flower"</item>
+ </string-array>
</resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 2df22db..6ac6867 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -65,8 +65,7 @@
<string name="bluetooth_disconnect_title" msgid="4581951246357823044">"Disconnect device?"</string>
<string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Pair new device"</string>
<string name="keywords_add_bt_device" msgid="4533191164203174011">"bluetooth"</string>
- <!-- no translation found for bluetooth_screen_auto_on_title (2203993262483477532) -->
- <skip />
+ <string name="bluetooth_screen_auto_on_title" msgid="2203993262483477532">"Automatically turn on tomorrow"</string>
<string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Pair right ear"</string>
<string name="bluetooth_pair_left_ear_button" msgid="1019938875726073791">"Pair left ear"</string>
<string name="bluetooth_pair_other_ear_dialog_title" msgid="3814943511999984012">"Pair your other ear"</string>
@@ -614,10 +613,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830">""<b>"Install apps"</b>"\nInstall apps that you want to keep private in your space"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Keep in mind"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169">""<b>"Apps stop when you lock your space"</b>"\nWhen you lock your space, apps in your space are stopped and you won’t receive notifications from them"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Private spaces are not suitable for apps that need to run in the background or send critical notifications, such as medical apps. This is because notifications and background activity are stopped when your space is locked.\n\nApps in your private space won\'t appear in permission manager, privacy dashboard, and other settings when your private space is locked.\n\nYour private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Private spaces are not suitable for apps that need to run in the background or send critical notifications, such as medical apps. This is because notifications and background activity are stopped when your space is locked.\n\nApps in your private space won\'t appear in permission manager, privacy dashboard, and other settings when private space is locked.\n\nYour private space can\'t be restored to a new device. You’ll need to set up another space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs malicious apps on your device may be able to access your private space."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Learn more about private space"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"This will take a few moments"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
@@ -3323,6 +3320,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Priority Modes"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
@@ -3768,6 +3767,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index d22996d..538ba6a 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index a7eda34..cde49e5 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ninguno}=1{Se estableció 1 programa}other{Se establecieron # programas}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"No interrumpir"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modos de prioridad"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Solo recibe notificaciones de las personas y apps que más te interesan"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar las interrupciones"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar No interrumpir"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Apps seleccionadas"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ninguna"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todo"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que las apps anulen No interrumpir"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que pueden interrumpir"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Seleccionar más apps"</string>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index d236131..e5ae5f6 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 3fc067a..e5bb72a 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ninguna}=1{1 programación creada}other{# programaciones creadas}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"No molestar"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modos prioritarios"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recibe notificaciones solo de personas y aplicaciones importantes"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupciones"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar No molestar"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Añade un calendario"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Usa el calendario"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programación"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Crea una programación"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programar"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programación"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silenciar teléfono en ciertos momentos"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Definir reglas de No molestar"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplicaciones seleccionadas"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ninguna"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todas"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que las aplicaciones anulen el modo No molestar"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplicaciones que pueden interrumpirte"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Seleccionar más aplicaciones"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Cambiar a Solo alarmas durante una hora hasta las {time}}other{Cambiar a Solo alarmas durante # horas hasta las {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Cambiar a Solo alarmas hasta las <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Cambiar a interrumpir siempre"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Cambiar nombre"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Cambiar icono"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Cambiar icono"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Advertencia"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Cerrar"</string>
<string name="device_feedback" msgid="5351614458411688608">"Enviar comentarios sobre el dispositivo"</string>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index 687895d..6c73791 100644
--- a/res/values-et/arrays.xml
+++ b/res/values-et/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 081893c..38eb534 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Puudub}=1{1 ajakava on määratud}other{# ajakava on määratud}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Mitte segada"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriteetsed režiimid"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ainult oluliste inimeste ja rakendustega seotud märguanded"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Katkestuste piiramine"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Valiku Mitte segada sisselülitamine"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Valitud rakendused"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Puudub"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Kõik"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Luba rakendustel alistada"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Rakendused, mis saavad katkestada"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Valige rohkem rakendusi"</string>
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
index 221e2cd..e95d175 100644
--- a/res/values-eu/arrays.xml
+++ b/res/values-eu/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 0d06e99..f752ed6 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Bat ere ez}=1{1 programazio ezarri da}other{# programazio ezarri dira}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ez molestatzeko modua"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Lehentasunezko moduak"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Jaso jende eta aplikazio garrantzitsuen jakinarazpenak soilik"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Mugatu etenaldiak"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktibatu ez molestatzeko modua"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Gehitu egutegi bat"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Erabili zure egutegia"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programazioa"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ezarri programazio bat"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programazioa"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h eta <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programazioa"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Isilarazi telefonoa ordu jakinetan"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Ezarri ez molestatzeko moduaren arauak"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Hautatutako aplikazioak"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Bat ere ez"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Guztiak"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Eman \"Ez molestatu\" ez aplikatzeko baimena aplikazioei"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Eten zaitzaketen aplikazioak"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Hautatu aplikazio gehiago"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Aldatu alarmak soilik modura ordubetez {time} arte}other{Aldatu alarmak soilik modura # orduz {time} arte}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Aldatu \"Alarmak soilik\" modura <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> arte"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Aldatu \"Eten beti\" modura"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Aldatu izena"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Aldatu ikonoa"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Aldatu ikonoa"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Abisua"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Itxi"</string>
<string name="device_feedback" msgid="5351614458411688608">"Bidali gailu honi buruzko oharrak"</string>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index cea3bff..901e930 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index a7b2b66..a4f60d4 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{هیچکدام}=1{۱ زمانبندی تنظیم شد}one{# زمانبندی تنظیم شده است}other{# زمانبندی تنظیم شده است}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"مزاحم نشوید"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"حالتهای اولویتدار"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"فقط از افراد و برنامههای مهم اعلان دریافت کنید"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"محدود کردن وقفهها"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"روشن کردن «مزاحم نشوید»"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"افزودن تقویم"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"استفاده از تقویم"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"زمانبندی"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"تنظیم زمانبندی"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"زمانبندی"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ساعت، <xliff:g id="MINUTES">%2$d</xliff:g> دقیقه"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"زمانبندی"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"بیصدا کردن تلفن در زمانهای خاصی"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"تنظیم قانونهای «مزاحم نشوید»"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"برنامههای انتخابشده"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"هیچکدام"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"همه"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"مجاز کردن برنامهها برای لغو"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"برنامههایی که میتوانند وقفه ایجاد کنند"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"انتخاب برنامههای بیشتر"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{تغییر به «فقط زنگ هشدار» بهمدت یک ساعت تا {time}}one{تغییر به «فقط زنگ هشدار» بهمدت # ساعت تا {time}}other{تغییر به «فقط زنگ هشدار» بهمدت # ساعت تا {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"تغییر به «فقط هشدارها» تا <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"تغییر در «همیشه وقفه»"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"تغییر نام"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"تغییر نماد"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"تغییر نماد"</string>
<string name="warning_button_text" msgid="1274234338874005639">"هشدار"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"بستن"</string>
<string name="device_feedback" msgid="5351614458411688608">"ارسال بازخورد درباره این دستگاه"</string>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index 3e9acde..9a526e8 100644
--- a/res/values-fi/arrays.xml
+++ b/res/values-fi/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 0f00deb..4649a71 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ei yhtään}=1{1 aikataulu luotu}other{# aikataulua luotu}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Älä häiritse"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriteettitilat"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Salli ilmoitukset vain tärkeiltä ihmisiltä ja sovelluksilta"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Keskeytysten rajoittaminen"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Laita Älä häiritse ‑tila päälle"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Valitut sovellukset"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ei mitään"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Kaikki"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Salli ohittaminen sovelluksille"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Sovellukset, jotka saavat keskeyttää"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Valitse lisää sovelluksia"</string>
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
index e34b5fb..2b431d8 100644
--- a/res/values-fr-rCA/arrays.xml
+++ b/res/values-fr-rCA/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index f4c65ad..761bf7a 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Aucun}=1{1 horaire programmé}one{# horaire programmé}other{# horaires programmés}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ne pas déranger"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modes prioritaires"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recevez uniquement les notifications des personnes et des applications importantes"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limiter les interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activer le mode Ne pas déranger"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Applis sélectionnées"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Aucune"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tout"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Autoriser les applications à ignorer le mode Ne pas déranger"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Applications qui peuvent provoquer des interruptions"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Sélectionner plus d\'applications"</string>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 3f2dabb..cbf5b40 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 7d43b53..3082c1b 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -558,7 +558,7 @@
<string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Déverrouillage de l\'espace privé par empreinte digitale"</string>
<string name="private_space_face_unlock_title" msgid="462248384776453613">"Déverrouillage de l\'espace privé par reconnaissance faciale"</string>
<string name="private_space_biometric_unlock_title" msgid="1978145237698659673">"Déverrouillage de l\'espace privé par reco. faciale/digitale"</string>
- <string name="private_space_fingerprint_enroll_introduction_title" msgid="5187730641333680942">"Configurer le déverrouillage de l\'espace privé par empreinte digitale"</string>
+ <string name="private_space_fingerprint_enroll_introduction_title" msgid="5187730641333680942">"Configurer le déverr. de l\'espace privé par empreinte digitale"</string>
<string name="private_space_fingerprint_enroll_introduction_message" msgid="9092068873421435300">"Utilisez votre empreinte digitale pour déverrouiller votre espace privé ou confirmer votre identité, par exemple pour vous connecter à des applis ou approuver un achat"</string>
<string name="private_space_fingerprint_enroll_introduction_footer_message" msgid="7125255484447984854">"Vous pouvez déverrouiller votre espace privé sans le vouloir, par exemple si quelqu\'un approche votre téléphone de votre doigt."</string>
<string name="private_space_fingerprint_enroll_finish_message" msgid="4754797926493316965">"Utilisez votre empreinte digitale pour déverrouiller votre espace privé ou approuver des achats"</string>
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Aucun}=1{1 programme défini}one{# programme défini}other{# programmes définis}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ne pas déranger"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modes Prioritaires"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recevez uniquement les notifications des personnes et applications importantes"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limiter les interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activer le mode Ne pas déranger"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Applis sélectionnées"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Aucune"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Toutes"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Autoriser des applications à ignorer ce mode"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Applis qui peuvent interrompre"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Sélectionnez plus d\'applications"</string>
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
index 1f4fe3f..aeb4b7a 100644
--- a/res/values-gl/arrays.xml
+++ b/res/values-gl/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 5e001f7..458f678 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ningunha planificación}=1{Definiuse 1 planificación}other{Definíronse # planificacións}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Non molestar"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modos de prioridade"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Só se reciben notificacións de aplicacións e persoas importantes"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar as interrupcións"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar modo Non molestar"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplicacións seleccionadas"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ningunha"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todas"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que as aplicacións ignoren o modo Non molestar"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplicacións que poden interromper"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecciona máis aplicacións"</string>
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
index 33420db..578a40e 100644
--- a/res/values-gu/arrays.xml
+++ b/res/values-gu/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 3453adb..6b58962 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{એકપણ નહીં}=1{એક શેડ્યૂલ સેટ કરવામાં આવ્યું}one{# શેડ્યૂલ સેટ કરવામાં આવ્યું}other{# શેડ્યૂલ સેટ કરવામાં આવ્યા}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"ખલેલ પાડશો નહીં"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"પ્રાધાન્યતાના મોડ"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ફક્ત મહત્ત્વપૂર્ણ લોકો અને ઍપ દ્વારા નોટિફિકેશન મેળવો"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"વિક્ષેપો મર્યાદિત કરો"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ખલેલ પાડશો નહીં ચાલુ કરો"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"કૅલેન્ડર ઉમેરો"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"તમારા કૅલેન્ડરનો ઉપયોગ કરો"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"શેડ્યૂલ"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"શેડ્યૂલ સેટ કરો"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"શેડ્યૂલ"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> કલાક, <xliff:g id="MINUTES">%2$d</xliff:g> મિનિટ"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"શેડ્યૂલ"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ચોક્કસ સમયે ફોનના અવાજને મ્યૂટ કરો"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"ખલેલ પાડશો નહીંના નિયમો સેટ કરો"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"પસંદગીની ઍપ"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"એકપણ નહીં"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"બધી"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"અૅપને ઓવરરાઇડ કરવાની મંજૂરી આપો"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"વિક્ષેપ ઊભો કરી શકે તેવી ઍપ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"વધુ ઍપ પસંદ કરો"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} સુધી ફક્ત એક કલાક માટે અલાર્મમાં બદલો}one{{time} સુધી ફક્ત # કલાક માટે અલાર્મમાં બદલો}other{{time} સુધી ફક્ત # કલાક માટે અલાર્મમાં બદલો}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"એલાર્મ્સ પર ફક્ત <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> સુધી બદલો"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"હંમેશાં ખલેલ પાડો પર બદલો"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"નામ બદલો"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"આઇકન બદલો"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"આઇકન બદલો"</string>
<string name="warning_button_text" msgid="1274234338874005639">"ચેતવણી"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"બંધ કરો"</string>
<string name="device_feedback" msgid="5351614458411688608">"આ ડિવાઇસ વિશે પ્રતિસાદ મોકલો"</string>
@@ -4022,8 +4020,8 @@
<string name="ignore_optimizations_off_desc" msgid="3324571675983286177">"બહેતર બૅટરી આવરદા માટે ભલામણ કરેલ"</string>
<string name="app_list_preference_none" msgid="1635406344616653756">"કોઈ નહીં"</string>
<string name="work_profile_usage_access_warning" msgid="3477719910927319122">"આ ઍપ્લિકેશન માટે વપરાશ ઍક્સેસ બંધ કરવી તે તમારા વ્યવસ્થાપકને તમારી કાર્ય પ્રોફાઇલમાં ઍપ્લિકેશનો માટે ડેટા વપરાશને ટ્રૅક કરવાથી અટકાવતું નથી"</string>
- <string name="draw_overlay" msgid="7902083260500573027">"અન્ય ઍપથી ઉપર બતાવો"</string>
- <string name="system_alert_window_settings" msgid="6458633954424862521">"અન્ય ઍપથી ઉપર બતાવો"</string>
+ <string name="draw_overlay" msgid="7902083260500573027">"અન્ય ઍપની ઉપર ડિસ્પ્લે કરો"</string>
+ <string name="system_alert_window_settings" msgid="6458633954424862521">"અન્ય ઍપની ઉપર ડિસ્પ્લે કરો"</string>
<string name="permit_draw_overlay" msgid="4468994037192804075">"અન્ય ઍપની ઉપર ડિસ્પ્લે કરવાની મંજૂરી આપો"</string>
<string name="allow_overlay_description" msgid="1607235723669496298">"તમે ઉપયોગમાં લઈ રહ્યાં હો તેવી અન્ય ઍપની ટોચ ઉપર આ ઍપને ડિસ્પ્લે થવા દો. આ ઍપ તમે ક્યાં ટૅપ કરો છો અથવા તો સ્ક્રીનના ડિસ્પ્લે પર શું ફેરફાર કરો છો તે જોઈ શકશે."</string>
<string name="media_routing_control_title" msgid="6402800638960066807">"મીડિયા આઉટપુટ બદલો"</string>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index f05608a..efd3e64 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f10c11c..79969c8 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{कोई शेड्यूल सेट नहीं है}=1{1 शेड्यूल सेट है}one{# शेड्यूल सेट है}other{# शेड्यूल सेट हैं}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"परेशान न करें"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"अहम मोड"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"सिर्फ़ ज़रूरी लोगों और ऐप्लिकेशन की सूचनाएं पाएं"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"रुकावटों को कम करें"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'परेशान न करें\' चालू करें"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"चुने गए ऐप्लिकेशन"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"कोई नहीं"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"सभी"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ऐप्लिकेशन को ओवरराइड करने की मंज़ूरी दें"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ऐप्लिकेशन जो \'परेशान न करें\' मोड को बायपास कर सकते हैं"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"और ऐप्लिकेशन चुनें"</string>
@@ -4861,23 +4865,23 @@
<string name="enable_16k_pages" msgid="8001470927566110689">"16 केबी पेज साइज़ चालू करें"</string>
<string name="enable_16k_pages_summary" msgid="1964363364670306912">"16 केबी पेज साइज़ वाले कर्नेल के ज़रिए चालू करें"</string>
<string name="confirm_enable_16k_pages_title" msgid="611010487387251491">"4 केबी मोड से 16 केबी मोड पर स्विच करें"</string>
- <string name="confirm_enable_16k_pages_text" msgid="6129208614283750541">"आप 4 केबी कर्नेल पर चल रहे पेज-ऐग्नोस्टिक मोड में हैं. आपको 16 केबी मोड पर स्विच किया जा रहा है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. स्विच करने पर डिवाइस फिर से चालू होगा. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. डिवाइस को वापस प्रोडक्शन मोड पर सेट करने के लिए, आपको फिर से 4 केबी मोड पर स्विच करना होगा और बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फ़ैक्ट्री रीसेट हो जाता है. जब डिवाइस, अपग्रेड किए गए वर्शन में चालू हो जाए, तब \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें."</string>
+ <string name="confirm_enable_16k_pages_text" msgid="6129208614283750541">"आप 4 केबी कर्नेल पर चल रहे पेज-ऐग्नोस्टिक मोड में हैं. आपको 16 केबी मोड पर स्विच किया जा रहा है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. स्विच करने पर डिवाइस फिर से चालू होगा. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. डिवाइस को प्रोडक्शन मोड में वापस लाने के लिए, आपको फिर से 4 केबी मोड पर स्विच करना होगा और बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फ़ैक्ट्री रीसेट हो जाता है. डिवाइस का Android ऑपरेटिंग सिस्टम चालू हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें."</string>
<string name="confirm_enable_4k_pages_title" msgid="3210360137887034659">"16 केबी मोड से 4 केबी मोड पर स्विच करें"</string>
<string name="confirm_enable_4k_pages_text" msgid="155070605667160083">"आप 16 केबी कर्नेल पर चल रहे पेज-ऐग्नोस्टिक मोड में हैं. आपको 4 केबी मोड पर स्विच किया जा रहा है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक होने के दौरान आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में हो सकती है. इससे डिवाइस फिर से चालू होगा. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, ऐसा हो सकता है कि कुछ ऐप्लिकेशन काम न करें. डिवाइस को प्रोडक्शन मोड में वापस लाने के लिए, आपको बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फ़ैक्ट्री रीसेट हो जाता है. डिवाइस के Android में चालू हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें."</string>
<string name="toast_16k_update_failed_text" msgid="8888858987184345567">"कर्नेल को 16 केबी पेज साइज़ के साथ काम करने वाले कर्नेल में अपडेट नहीं किया जा सका."</string>
<string name="progress_16k_ota_title" msgid="2117218313875523741">"बदलाव लागू किया जा रहा है"</string>
<string name="confirm_format_ext4_title" msgid="6696191800594435577">"क्या आपको अपना डिवाइस फिर से ext4 में फ़ॉर्मैट करना है? (16 केबी मोड के लिए ज़रूरी है)"</string>
- <string name="confirm_format_ext4_text" msgid="7940372488624630214">"16 केबी मोड का इस्तेमाल करने से पहले, इस डिवाइस के डेटा पार्टिशन को ext4 में बदलना होगा. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. अगर आपने 16 केबी मोड चालू किया है, तो इसके बाद डिवाइस को एक और बार फिर से चालू करना होगा. इस मोड में आ जाने के बाद, डिवाइस को फिर से चालू करके 4 केबी और 16 केबी मोड के बीच स्विच किया जा सकता है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. डिवाइस को प्रोडक्शन मोड में वापस लाने के लिए, आपको फिर से 4 केबी मोड पर स्विच करना होगा और बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फ़ैक्ट्री रीसेट हो जाता है. डिवाइस के Android में चालू हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें. इससे डिवाइस का डेटा वाइप हो जाएगा और पुष्टि करने के बाद, फ़ाइलसिस्टम ext4 में बदल दिया जाएगा. इस प्रक्रिया के बाद, कृपया फिर से 16 केबी मोड को चालू करें."</string>
+ <string name="confirm_format_ext4_text" msgid="7940372488624630214">"16 केबी मोड का इस्तेमाल करने से पहले, इस डिवाइस के डेटा पार्टिशन को ext4 में बदलना होगा. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. अगर आपने 16 केबी मोड चालू किया है, तो इसके बाद डिवाइस को एक और बार चालू करना होगा. इस मोड में आ जाने के बाद, डिवाइस को फिर से चालू करके 4 केबी और 16 केबी मोड के बीच स्विच किया जा सकता है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. डिवाइस को प्रोडक्शन मोड में वापस लाने के लिए, आपको फिर से 4 केबी मोड पर स्विच करना होगा और बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फ़ैक्ट्री रीसेट हो जाता है. डिवाइस का Android ऑपरेटिंग सिस्टम चालू हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें. इससे डिवाइस का डेटा वाइप हो जाएगा और पुष्टि करने के बाद, फ़ाइलसिस्टम ext4 में बदल दिया जाएगा. इस प्रक्रिया के बाद, कृपया फिर से 16 केबी मोड को चालू करें."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"डिवाइस का सारा डेटा हमेशा के लिए मिटाएं"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"डेटा के हिस्से को ext4 में फिर से फ़ॉर्मैट नहीं किया जा सका, न ही इसे वाइप किया जा सका."</string>
<string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16 केबी मोड के लिए, बूटलोडर अनलॉक करना ज़रूरी है"</string>
- <string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16 केबी मोड इस्तेमाल करने के लिए, इस डिवाइस के बूटलोडर को अनलॉक करना ज़रूरी है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. अगर 16 केबी मोड चालू किया जाता है, तो उपयोगकर्ता का पूरा डेटा और सभी सेटिंग वाइप हो जाती हैं. बूटलोडर अनलॉक करने के बाद, 16 केबी मोड चालू करने के लिए डिवाइस को दो बार फिर से चालू करने की ज़रूरत होती है. इस मोड के चालू हो जाने के बाद, डिवाइस को फिर से चालू करके 4 केबी और 16 केबी मोड के बीच स्विच किया जा सकता है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. डिवाइस को वापस प्रोडक्शन मोड पर सेट करने के लिए, आपको 4 केबी मोड पर स्विच करना होगा. इसके बाद, ओईएम/बूटलोडर लॉक करना होगा. इससे डिवाइस फ़ैक्ट्री रीसेट हो जाएगा. कृपया बूटलोडर अनलॉक करें और फिर से कोशिश करें. बूटलोडर अनलॉक करने के निर्देश यहां देखे जा सकते हैं: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
+ <string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16 केबी मोड इस्तेमाल करने के लिए, इस डिवाइस के बूटलोडर को अनलॉक करना ज़रूरी है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. अगर 16 केबी मोड चालू किया जाता है, तो उपयोगकर्ता का पूरा डेटा और सभी सेटिंग वाइप हो जाती हैं. बूटलोडर अनलॉक करने के बाद, 16 केबी मोड चालू करने के लिए डिवाइस को दो बार फिर से चालू करने की ज़रूरत होती है. इस मोड के चालू हो जाने के बाद, डिवाइस को फिर से चालू करके 4 केबी और 16 केबी मोड के बीच स्विच किया जा सकता है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. डिवाइस को प्रोडक्शन मोड में वापस लाने के लिए, आपको 4 केबी मोड पर स्विच करना होगा. इसके बाद, ओईएम/बूटलोडर लॉक करना होगा. इससे डिवाइस फ़ैक्ट्री रीसेट हो जाएगा. कृपया बूटलोडर अनलॉक करें और फिर से कोशिश करें. बूटलोडर अनलॉक करने के निर्देश यहां देखे जा सकते हैं: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4 केबी पेज-एग्नोस्टिक मोड का इस्तेमाल किया जा रहा है"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"आप 4 केबी पेज साइज़ के साथ काम करने वाले मोड (पेज-ऐग्नोस्टिक मोड) में है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. इसे वापस प्रोडक्शन मोड पर सेट करने के लिए, आपको डिवाइस का बूटलोडर लॉक करना होगा. ज़्यादा पढ़ने के लिए टैप करें."</string>
- <string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"आप 4 केबी पेज साइज़ के साथ काम करने वाले मोड (पेज-ऐग्नोस्टिक मोड) में है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. प्रोडक्शन मोड में वापस जाने के लिए, आपको डिवाइस का बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फिर से फ़ैक्ट्री रीसेट हो जाएगा और इसकी प्रोडक्शन सेटिंग पहले जैसी हो जाएंगी. डिवाइस के Android में चालू हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें. अगर डिवाइस Android में चालू नहीं होता है या ठीक से काम नहीं करता है, तो <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> पर मौजूद नई फ़ैक्ट्री इमेज की मदद से डिवाइस को फिर से फ़्लैश करें या <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> का इस्तेमाल करें. इसके बाद, \'डिवाइस वाइप करें\', \'बूटलोडर को लॉक करें\', और \'सभी हिस्सों को ज़बरदस्ती फ़्लैश करें\' को चुनें."</string>
+ <string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"आप 4 केबी पेज साइज़ के साथ काम करने वाले मोड (पेज-ऐग्नोस्टिक मोड) में है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. प्रोडक्शन मोड में वापस जाने के लिए, आपको डिवाइस का बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फिर से फ़ैक्ट्री रीसेट हो जाएगा और इसकी प्रोडक्शन सेटिंग पहले जैसी हो जाएंगी. डिवाइस का Android ऑपरेटिंग सिस्टम चालू हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें. अगर Android ऑपरेटिंग सिस्टम चालू नहीं होता है या ठीक से काम नहीं करता है, तो <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> पर मौजूद नई फ़ैक्ट्री इमेज की मदद से डिवाइस को फिर से फ़्लैश करें या <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> का इस्तेमाल करें. इसके बाद, \'डिवाइस वाइप करें\', \'बूटलोडर को लॉक करें\', और \'सभी हिस्सों को ज़बरदस्ती फ़्लैश करें\' को चुनें."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16 केबी पेज-ऐग्नोस्टिक मोड का इस्तेमाल किया जा रहा है"</string>
<string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"आप 16 केबी पेज साइज़ के साथ काम करने वाले मोड (पेज-ऐग्नोस्टिक मोड) में है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. इसे वापस प्रोडक्शन मोड पर सेट करने के लिए, आपको 4 केबी मोड पर फिर से स्विच करना होगा. इसके बाद, डिवाइस का बूटलोडर लॉक करना होगा. ज़्यादा पढ़ने के लिए टैप करें."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"आप 16 केबी पेज साइज़ के साथ काम करने वाले मोड (पेज-ऐग्नोस्टिक मोड) में है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. इसे वापस प्रोडक्शन मोड पर सेट करने के लिए, आपको 4 केबी मोड पर फिर से स्विच करना होगा. इसके बाद, डिवाइस का बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फिर से फ़ैक्ट्री रीसेट हो जाएगा और इसकी प्रोडक्शन सेटिंग पहले जैसी हो जाएंगी. जब डिवाइस, अपग्रेड किए गए वर्शन में चालू हो जाए, तब \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें. अगर डिवाइस अपग्रेड किए गए वर्शन में चालू नहीं होता है या ठीक से काम नहीं करता है, तो <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> पर मौजूद नई फ़ैक्ट्री इमेज की मदद से डिवाइस को फिर से फ़्लैश करें या <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> का इस्तेमाल करें. इसके बाद, \'डिवाइस वाइप करें\', \'बूटलोडर को लॉक करें\', और \'सभी हिस्सों को ज़बरदस्ती फ़्लैश करें\' को चुनें."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"आप 16 केबी पेज साइज़ के साथ काम करने वाले मोड (पेज-ऐग्नोस्टिक मोड) में है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. इसे प्रोडक्शन मोड में वापस लाने के लिए, आपको 4 केबी मोड पर फिर से स्विच करना होगा. इसके बाद, डिवाइस का बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फिर से फ़ैक्ट्री रीसेट हो जाएगा और इसकी प्रोडक्शन सेटिंग पहले जैसी हो जाएंगी. डिवाइस का Android ऑपरेटिंग सिस्टम चालू हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें. अगर Android ऑपरेटिंग सिस्टम चालू नहीं होता या ठीक से काम नहीं करता है, तो <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> पर मौजूद नई फ़ैक्ट्री इमेज की मदद से डिवाइस को फिर से फ़्लैश करें या <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> का इस्तेमाल करें. इसके बाद, \'डिवाइस वाइप करें\', \'बूटलोडर को लॉक करें\', और \'सभी हिस्सों को ज़बरदस्ती फ़्लैश करें\' को चुनें."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 केबी पेज-एग्नोस्टिक मोड"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"ज़्यादा पढ़ें"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"गड़बड़ी की रिपोर्ट हैंडल करने वाला"</string>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index a5e61bc..c92a5e5 100644
--- a/res/values-hr/arrays.xml
+++ b/res/values-hr/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index c2db62b..d275f4f 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nijedan}=1{Postavljen je jedan raspored}one{Postavljen je # raspored}few{Postavljena su # rasporeda}other{Postavljeno je # rasporeda}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ne uznemiravaj"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritetni načini"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primajte obavijesti samo od važnih osoba i aplikacija"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničavanje prekida"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključite opciju Ne uznemiravaj."</string>
@@ -3771,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Odabrane aplikacije"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nijedna"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Sve"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dopusti aplikacijama da nadjačaju"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije koje mogu prekidati"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Odaberite više aplikacija"</string>
@@ -4971,8 +4975,8 @@
<string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
<string name="default_active_sim_mobile_data" msgid="6798083892814045301">"mobilne podatke"</string>
<string name="wifi_scan_notify_message" msgid="1331238142061476869">"Radi boljeg doživljaja na uređaju, aplikacije i usluge i dalje mogu tražiti Wi‑Fi mreže u bilo kojem trenutku, čak i kada je Wi‑Fi isključen. Time se primjerice mogu poboljšati značajke i usluge koje se temelje na lokaciji. To možete promijeniti u postavkama traženja Wi-Fija."</string>
- <string name="wifi_scan_change" msgid="8438320311511852918">"Promijeni"</string>
- <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
+ <string name="wifi_scan_change" msgid="8438320311511852918">"Promijenite"</string>
+ <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
<string name="mobile_data_connection_active" msgid="2422223108911581552">"Povezano"</string>
<string name="mobile_data_temp_connection_active" msgid="3430470299756236413">"Privremeno povezano"</string>
<string name="mobile_data_temp_using" msgid="5211002380149434155">"Privremeno koristite <xliff:g id="SUBNAME">%1$s</xliff:g>"</string>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index db7e4a4..b9c1b63 100644
--- a/res/values-hu/arrays.xml
+++ b/res/values-hu/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 73dff50..86aaae7 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nincs}=1{1 ütemezés beállítva}other{# ütemezés beállítva}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ne zavarjanak"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritási módok"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Értesítés fogadása csak fontos személyektől és alkalmazásoktól"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"A megszakítások korlátozása"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"A Ne zavarjanak mód bekapcsolása"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Kiválasztott alkalmazások"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nincs"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Összes"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Felülbírálás engedélyezése az alkalmazások számára"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Azok az alkalmazások, amelyeknél engedélyezve van a megszakítás"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"További alkalmazások kiválasztása"</string>
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
index 1a8b95d..65b04ed 100644
--- a/res/values-hy/arrays.xml
+++ b/res/values-hy/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 2845385..8266dbc 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ոչ մի ժամանակացույց}=1{Սահմանված է 1 ժամանակացույց}one{Սահմանված է # ժամանակացույց}other{Սահմանված է # ժամանակացույց}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Չանհանգստացնել"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Կարևոր ռեժիմներ"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ծանուցում ստանալ միայն կարևոր մարդկանցից և հավելվածներից"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ընդհատումների սահմանափակում"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Միացրեք «Չանհանգստացնել» ռեժիմը"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Ընտրված հավելվածները"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ոչ մեկը"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Բոլորը"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Թույլատրել հավելվածներին փոխել «Չանհանգստացնել» ռեժիմի կարգավորումները"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Հավելվածներ, որոնք կարող են ընդհատել"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Ընտրեք այլ հավելվածներ"</string>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index e878f49..3921f1f 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 0dda465..353d97e 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Tidak ada}=1{1 jadwal disetel}other{# jadwal disetel}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Jangan Ganggu"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Mode Prioritas"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Hanya dapatkan notifikasi dari aplikasi dan orang yang penting"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Batasi gangguan"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktifkan mode Jangan Ganggu"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Tambahkan kalender"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Gunakan kalender Anda"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Jadwal"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Setel jadwal"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Jadwal"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> jam, <xliff:g id="MINUTES">%2$d</xliff:g> mnt"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Jadwal"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Nonaktifkan notifikasi ponsel pada waktu tertentu"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Setel aturan Jangan Ganggu"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplikasi terpilih"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Tidak ada"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Semua"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Izinkan aplikasi mengganti"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikasi yang boleh menginterupsi"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pilih aplikasi lain"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ubah ke mode hanya alarm selama satu jam hingga {time}}other{Ubah ke mode hanya alarm selama # jam hingga {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ubah ke mode hanya alarm hingga <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Ubah ke mode selalu ganggu"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Ganti nama"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Ubah ikon"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Ubah ikon"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Peringatan"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Tutup"</string>
<string name="device_feedback" msgid="5351614458411688608">"Kirim masukan tentang perangkat ini"</string>
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
index f13f517..1360f8c 100644
--- a/res/values-is/arrays.xml
+++ b/res/values-is/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 55bbc5c..bb42719 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Engin}=1{1 áætlun stillt}one{# áætlun stillt}other{# áætlanir stilltar}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ónáðið ekki"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Forgangsstillingar"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Fáðu aðeins tilkynningar frá mikilvægum einstaklingum og forritum"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Takmarka truflanir"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Kveikja á „Ónáðið ekki“"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Bæta við dagatali"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Nota dagatalið þitt"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Áætlun"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Stilla áætlun"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Áætlun"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> klst. og <xliff:g id="MINUTES">%2$d</xliff:g> mín."</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Áætlun"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Þagga í símanum á vissum tíma"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Stilla reglur fyrir „Ónáðið ekki“"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Valin forrit"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Engin"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Öll"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Leyfa forritum að hnekkja"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Forrit sem mega trufla"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Veldu fleiri forrit"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Skipta yfir í vekjara í aðeins eina klukkustund til kl. {time}}one{Skipta yfir í vekjara í aðeins # klukkustund til kl. {time}}other{Skipta yfir í vekjara í aðeins # klukkustundir til kl. {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Breyta í vekjara eingöngu til <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Breyta í truflanir alltaf"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Gefa nýtt heiti"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Breyta tákni"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Breyta tákni"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Viðvörun"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Loka"</string>
<string name="device_feedback" msgid="5351614458411688608">"Senda ábendingar um þetta tæki"</string>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 6b7b9fd..8263d22 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index c4d883d..0e76def 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -1176,7 +1176,7 @@
<string name="display_settings" msgid="7197750639709493852">"Display"</string>
<string name="accelerometer_title" msgid="7745991950833748909">"Rotazione automatica dello schermo"</string>
<string name="auto_rotate_option_off" msgid="2788096269396290731">"Off"</string>
- <string name="auto_rotate_option_on" msgid="5776678230808498171">"On"</string>
+ <string name="auto_rotate_option_on" msgid="5776678230808498171">"Attiva"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"On - Rotazione basata sul viso"</string>
<string name="auto_rotate_switch_face_based" msgid="9116123744601564320">"Riconoscimento facciale"</string>
<string name="auto_rotate_link_a11y" msgid="5146188567212233286">"Scopri di più sulla rotazione automatica"</string>
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nessuna}=1{1 pianificazione impostata}other{# pianificazioni impostate}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Non disturbare"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modalità priorità"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ricevi soltanto le notifiche di app e persone importanti"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitare le interruzioni"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Attiva Non disturbare"</string>
@@ -3771,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"App selezionate"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nessuna"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tutti"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Consenti alle app di ignorarla"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"App che possono interrompere"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Seleziona altre app"</string>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 44c7e80..5054fd8 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 3e68933..8692cee 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -383,7 +383,7 @@
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_2" msgid="2580899232734177771">"איך זה עובד"</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_2" msgid="5909924864816776516">"הפיצ\'ר \'ביטול הנעילה בטביעת אצבע\' יוצר תבנית ייחודית של טביעת האצבע שלך כדי לאמת את זהותך. תהליך היצירה של תבנית לטביעת האצבע כולל צילום תמונות של טביעת האצבע שלך מזוויות שונות."</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2" msgid="3493356605815124807">"הפיצ\'ר \'ביטול הנעילה בטביעת אצבע\' יוצר תבנית ייחודית של טביעת האצבע של הילד או הילדה כדי לאמת את זהותם. כדי ליצור את התבנית הזו לטביעת האצבע במהלך ההגדרה, יהיה עליהם לצלם תמונות של טביעת האצבע מזוויות שונות."</string>
- <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_6" msgid="5314031490467481499">"לקבלת התוצאות הטובות ביותר, כדאי להשתמש במגן מסך בעל אישור Made for Google. טביעת האצבע שלך עלולה לא לעבוד עם מגיני מסך אחרים."</string>
+ <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_6" msgid="5314031490467481499">"לקבלת התוצאות הטובות ביותר, כדאי להשתמש במגן מסך שקיבל אישור Made for Google. יכול להיות שטביעת האצבע שלך לא תעבוד עם מגני מסך אחרים."</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"לקבלת התוצאות הטובות ביותר, כדאי להשתמש במגן מסך בעל אישור Made for Google. טביעת האצבע של הילד או הילדה עלולה לא לעבוד עם מגני מסך אחרים."</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
<string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ביטול נעילה עם השעון"</string>
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{אין}=1{הוגדר לוח זמנים אחד}one{הוגדרו # לוחות זמנים}two{הוגדרו # לוחות זמנים}other{הוגדרו # לוחות זמנים}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"נא לא להפריע"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"מצבי עדיפות"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"קבלת התראות רק מאפליקציות ומאנשים חשובים"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"הגבלת הפרעות"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"הפעלת מצב \'נא לא להפריע\'"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"אפליקציות שנבחרו"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"אף אחת מהאפשרויות"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"הכול"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ניתן לאפשר לאפליקציות לבטל הגדרה זו"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"אפליקציות שיכולות להפריע"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"בחירת אפליקציות נוספות"</string>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index ceafd68..685af9f 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index de14686..bff0a15 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{なし}=1{1 件のスケジュールが有効}other{# 件のスケジュールが有効}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"サイレント モード"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"優先モード"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"大切な人やアプリからの通知のみ受け取ります"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"割り込みを制限する"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"サイレント モードを ON にする"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"選択したアプリ"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"なし"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"すべて"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"アプリのオーバーライドを許可"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"割り込み可能なアプリ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"他のアプリを選択"</string>
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
index e70a3e3..0ac0960 100644
--- a/res/values-ka/arrays.xml
+++ b/res/values-ka/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index b378c8d..46eb7b7 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{არცერთი}=1{დაყენებულია 1 განრიგი}other{დაყენებულია # განრიგი}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"არ შემაწუხოთ"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"პრიორიტეტული რეჟიმები"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"შეტყობინებების მიღება მხოლოდ მნიშვნელოვანი ხალხისგან და აპებიდან"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"წყვეტების შეზღუდვა"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"„არ შემაწუხოთ“ რეჟიმის ჩართვა"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"არჩეული აპები"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"არცერთი"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ყველა"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"აპებისთვის უგულებელყოფის დაშვება"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"აპები, რომლებსაც შეწყვეტა შეუძლია"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"მეტი აპის არჩევა"</string>
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
index ba44902..bc70f23 100644
--- a/res/values-kk/arrays.xml
+++ b/res/values-kk/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 408368c..1fd98f7 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Жоқ}=1{1 кесте қойылған}other{# кесте қойылған}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Мазаламау"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Басымдылық режимдері"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Хабарландыруды маңызды адамдардан және қолданбалардан ғана алу"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Хабарландыруларды шектеу"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Мазаламау режимін қосу"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Таңдалған қолданбалар"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Жоқ"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Барлығы"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Қолданбаларға қайта анықтауға рұқсат беру"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Тоқтата алатын қолданбалар"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Басқа да қолданбаларды таңдаңыз"</string>
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
index 2500cdd..7e896af 100644
--- a/res/values-km/arrays.xml
+++ b/res/values-km/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index c45d27a..ce6fa44 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{គ្មាន}=1{បានកំណត់កាលវិភាគ 1}other{បានកំណត់កាលវិភាគ #}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"កុំរំខាន"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"ម៉ូដអាទិភាព"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ទទួលការជូនដំណឹងពីកម្មវិធី និងមនុស្សសំខាន់ៗតែប៉ុណ្ណោះ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"កាត់បន្ថយការរំខាន"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"បើកមុខងារកុំរំខាន"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"កម្មវិធីដែលបានជ្រើសរើស"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"គ្មាន"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ទាំងអស់"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"អនុញ្ញាតឱ្យកម្មវិធីលុបពីលើ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"កម្មវិធីដែលអាចផ្អាកបាន"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ជ្រើសរើសកម្មវិធីច្រើនទៀត"</string>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index f8f2930..2cfc81f 100644
--- a/res/values-kn/arrays.xml
+++ b/res/values-kn/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index ad2353c..274428f 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ಯಾವುದೂ ಇಲ್ಲ}=1{1 ವೇಳಾಪಟ್ಟಿಯನ್ನು ಸೆಟ್ ಮಾಡಲಾಗಿದೆ}one{# ವೇಳಾಪಟ್ಟಿಗಳನ್ನು ಸೆಟ್ ಮಾಡಲಾಗಿದೆ}other{# ವೇಳಾಪಟ್ಟಿಗಳನ್ನು ಸೆಟ್ ಮಾಡಲಾಗಿದೆ}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"ಆದ್ಯತೆಯ ಮೋಡ್ಗಳು"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ಪ್ರಮುಖ ಜನರು ಮತ್ತು ಆ್ಯಪ್ಗಳಿಂದ ಮಾತ್ರ ನೋಟಿಫಿಕೇಶನ್ ಪಡೆಯಿರಿ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ಅಡಚಣೆಗಳನ್ನು ಮಿತಿಗೊಳಿಸಿ"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಅನ್ನು ಆನ್ ಮಾಡಿ"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ಕ್ಯಾಲೆಂಡರ್ ಅನ್ನು ಸೇರಿಸಿ"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ನಿಮ್ಮ ಕ್ಯಾಲೆಂಡರ್ ಅನ್ನು ಬಳಸಿ"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"ವೇಳಾಪಟ್ಟಿ"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ವೇಳಾಪಟ್ಟಿಯನ್ನು ಸೆಟ್ ಮಾಡಿ"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ವೇಳಾಪಟ್ಟಿ"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ಗಂ, <xliff:g id="MINUTES">%2$d</xliff:g> ನಿಮಿ"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ಅವಧಿ"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ಕೆಲವು ಸಮಯ ಫೋನ್ ನಿಶ್ಯಬ್ಧವಾಗಿಸಿ"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ನಿಯಮ ಹೊಂದಿಸಿ"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ಆಯ್ಕೆ ಮಾಡಿದ ಆ್ಯಪ್ಗಳು"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ಯಾವುದೂ ಅಲ್ಲ"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ಎಲ್ಲಾ"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ಅತಿಕ್ರಮಿಸಲು ಆ್ಯಪ್ಗಳಿಗೆ ಅನುಮತಿಸಿ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ಅಡಚಣೆ ಉಂಟುಮಾಡಬಹುದಾದ ಆ್ಯಪ್ಗಳು"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ಇನ್ನಷ್ಟು ಆ್ಯಪ್ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} ವರೆಗೆ, ಒಂದು ಗಂಟೆಯವರೆಗೆ ಮಾತ್ರ ಅಲಾರಾಂಗಳನ್ನು ಬದಲಾಯಿಸಿ}one{{time} ವರೆಗೆ, # ಗಂಟೆಗಳವರೆಗೆ ಮಾತ್ರ ಅಲಾರಾಂಗಳನ್ನು ಬದಲಾಯಿಸಿ}other{{time} ವರೆಗೆ, # ಗಂಟೆಗಳವರೆಗೆ ಮಾತ್ರ ಅಲಾರಾಂಗಳನ್ನು ಬದಲಾಯಿಸಿ}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> ವರೆಗೆ ಮಾತ್ರ ಅಲಾರಮ್ಗಳಲ್ಲಿ ಬದಲಾವಣೆ"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"ಯಾವಾಗಲೂ ಅಡಚಣೆಗೆ ಬದಲಾಯಿಸಿ"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"ಮರುಹೆಸರಿಸಿ"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ಐಕಾನ್ ಬದಲಾಯಿಸಿ"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ಐಕಾನ್ ಬದಲಾಯಿಸಿ"</string>
<string name="warning_button_text" msgid="1274234338874005639">"ಎಚ್ಚರಿಕೆ"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"ಮುಚ್ಚಿರಿ"</string>
<string name="device_feedback" msgid="5351614458411688608">"ಈ ಸಾಧನದ ಕುರಿತು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಕಳುಹಿಸಿ"</string>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index 9edb91b..2cd3175 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index dd0e236..e9add84 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{없음}=1{예약 1개 설정됨}other{예약 #개 설정됨}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"방해 금지 모드"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"우선순위 모드"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"중요한 사람과 앱의 알림만 받기"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"방해 요소 제한"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"방해 금지 모드 사용 설정"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"선택한 앱"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"없음"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"모두"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"앱에서 무시하도록 허용"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"예외 앱"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"앱 추가 선택"</string>
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
index d63a292..5a18ce1 100644
--- a/res/values-ky/arrays.xml
+++ b/res/values-ky/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 15001ec..1c87d17 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Жок}=1{1 график коюлду}other{# график коюлду}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Тынчымды алба"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Маанилүүлүк режимдери"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Маанилүү байланыштар менен колдонмолордон гана билдирмелерди алып турасыз"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Билдирмелерди чектөө"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"Тынчымды алба\" режимин күйгүзүү"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Тандалган колдонмолор"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Жок"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Баары"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Колдонмолорго өзгөртүп коюуга уруксат берүү"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"\"Тынчымды алба\" режими таасир этпеген колдонмолор"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Дагы колдонмолорду тандаңыз"</string>
diff --git a/res/values-lo/arrays.xml b/res/values-lo/arrays.xml
index 225ac31..e9cf0b9 100644
--- a/res/values-lo/arrays.xml
+++ b/res/values-lo/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index eabf159..6bfe1c0 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ບໍ່ມີ}=1{ຕັ້ງກຳນົດເວລາ 1 ລາຍການແລ້ວ}other{ຕັ້ງກຳນົດເວລາ # ລາຍການແລ້ວ}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"ຫ້າມລົບກວນ"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"ໂໝດຄວາມສຳຄັນ"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ຮັບການແຈ້ງເຕືອນສະເພາະຄົນ ແລະ ແອັບສຳຄັນເທົ່ານັ້ນ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ຈຳກັດການລົບກວນ"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ເປີດໂໝດຫ້າມລົບກວນ"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ແອັບທີ່ເລືອກແລ້ວ"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ບໍ່ມີ"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ທັງໝົດ"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ອະນຸຍາດໃຫ້ແອັບຍົກເລີກໄດ້"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ແອັບທີ່ສາມາດລົບກວນໄດ້"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ເລືອກແອັບເພີ່ມເຕີມ"</string>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index 4560705..c0d7b1f 100644
--- a/res/values-lt/arrays.xml
+++ b/res/values-lt/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index bd1bdaf..a0c2a6f 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nė vieno}=1{Nustatytas 1 tvarkaraštis}one{Nustatytas # tvarkaraštis}few{Nustatyti # tvarkaraščiai}many{Nustatyta # tvarkaraščio}other{Nustatyta # tvarkaraščių}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Netrukdymo režimas"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriteto režimai"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Gauti pranešimus tik iš svarbių žmonių ar programų"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Pertraukčių apribojimas"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Netrukdymo režimo įjungimas"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Pridėti kalendorių"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Naudoti kalendorių"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Tvarkaraštis"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Nustatykite tvarkaraštį"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Tvarkaraštis"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> val. <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Tvarkaraštis"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Nutildykite telefoną tam tikru metu"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Nustatykite netrukdymo režimo taisykles"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Pasirinktos programos"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Netaikoma"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Viskas"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Leisti programoms nepaisyti"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Programos, kurios gali trikdyti"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pasirinkti daugiau programų"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Pakeisti į signalus tik vienai valandai iki {time}}one{Pakeisti į signalus tik # valandai iki {time}}few{Pakeisti į signalus tik # valandoms iki {time}}many{Pakeisti į signalus tik # valandos iki {time}}other{Pakeisti į signalus tik # valandų iki {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Pakeisti tik į signalus iki <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Pakeisti į pertraukimo nustatymą visam laikui"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Pervardyti"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Keisti piktogramą"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Piktogramos keitimas"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Perspėjimas"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Uždaryti"</string>
<string name="device_feedback" msgid="5351614458411688608">"Siųsti atsiliepimą apie šį įrenginį"</string>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index 43d21e9..0740d38 100644
--- a/res/values-lv/arrays.xml
+++ b/res/values-lv/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 84ae9db..59aa4dd 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nav}=1{Iestatīts viens grafiks}zero{Iestatīti # grafiki}one{Iestatīts # grafiks}other{Iestatīti # grafiki}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Netraucēt"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritātes režīmi"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Saņemiet paziņojumus tikai no svarīgām personām un lietotnēm."</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Traucējumu ierobežošana"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Režīma “Netraucēt” ieslēgšana"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Atlasītās lietotnes"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Neviena"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Visas"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Atļaut lietotnēm ignorēt režīmu “Netraucēt”"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Lietotnes, kas var pārtraukt"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Citu lietotņu atlase"</string>
diff --git a/res/values-mk/arrays.xml b/res/values-mk/arrays.xml
index b7e7e75..7587cfa 100644
--- a/res/values-mk/arrays.xml
+++ b/res/values-mk/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index e35733e..0977a51 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -828,8 +828,8 @@
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Спари и поврзи"</string>
<string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Кога е вклучен Bluetooth, уредот може да комуницира со други уреди со Bluetooth во близина"</string>
<string name="bluetooth_empty_list_bluetooth_off_auto_on_available" msgid="3430864468105204282">"Кога е вклучен Bluetooth, уредот може да комуницира со други уреди со Bluetooth во близина. Функциите како „Брзо споделување“ и „Најди го мојот уред“ користат Bluetooth."</string>
- <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Кога Bluetooth е вклучен, вашиот уред може да комуницира со другите уреди со Bluetooth во близина.\n\nЗа да се подобри доживувањето со уредот, апликациите и услугите сепак може да скенираат уреди во близина во секое време, дури и кога Bluetooth е исклучен. Ова може да се користи, на пример, за да се подобрат функциите и услугите според локација. Може да го промените во поставките за „Скенирање за Bluetooth“."</string>
- <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Кога е вклучен Bluetooth, уредот може да комуницира со други уреди со Bluetooth во близина. Функциите како „Брзо споделување“ и „Најди го мојот уред“ користат Bluetooth.\n\nАпликациите и услугите може да скенираат за уреди во близина во секое време, дури и кога е исклучен Bluetooth. Ова може да се користи, на пример, за да се подобрат функциите и услугите според локација. Ова може да го промените во поставките за скенирање за Bluetooth."</string>
+ <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Кога Bluetooth е вклучен, вашиот уред може да комуницира со другите уреди со Bluetooth во близина.\n\nЗа да се подобри доживувањето со уредот, апликациите и услугите сепак може да скенираат уреди во близина во секое време, дури и кога Bluetooth е исклучен. Ова може да се користи, на пример, за да се подобрат функциите и локациските услуги. Може да го промените во поставките за „Скенирање за Bluetooth“."</string>
+ <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Кога е вклучен Bluetooth, уредот може да комуницира со други уреди со Bluetooth во близина. Функциите како „Брзо споделување“ и „Најди го мојот уред“ користат Bluetooth.\n\nАпликациите и услугите може да скенираат за уреди во близина во секое време, дури и кога е исклучен Bluetooth. Ова може да се користи, на пример, за да се подобрат функциите и локациските услуги. Ова може да го промените во поставките за скенирање за Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Промени"</string>
<string name="device_details_title" msgid="1155622417516195481">"Детали за уредот"</string>
<string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Поставки за тастатурата"</string>
@@ -920,7 +920,7 @@
<string name="wifi_empty_list_user_restricted" msgid="454861411536708709">"Немате дозвола за промена на Wi-Fi мрежата."</string>
<string name="wifi_settings_scanning_required_title" msgid="1088663325396007484">"Да се вклучи скенирање за Wi-Fi?"</string>
<string name="wifi_settings_scanning_required_summary" msgid="4770243653675416569">"За да може автоматски да се вклучува Wi-Fi, прво треба да вклучите скенирање за Wi-Fi."</string>
- <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Скенирањето за Wi-Fi дозволува апликациите и услугите да скенираат за Wi-Fi мрежи во секое време, дури и кога Wi-Fi е исклучено. Ова може да се користи, на пример, за да се подобрат функциите и услугите според локација."</string>
+ <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Скенирањето за Wi-Fi дозволува апликациите и услугите да скенираат за Wi-Fi мрежи во секое време, дури и кога Wi-Fi е исклучено. Ова може да се користи, на пример, за да се подобрат функциите и локациските услуги."</string>
<string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Вклучи"</string>
<string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Скенирањето за Wi‑Fi е вклучено"</string>
<string name="wifi_settings_warning_wep_network" msgid="7032462362300663466">"Мрежава користи постар безбедносен протокол наречен WEP, којшто не е толку безбеден"</string>
@@ -1577,15 +1577,15 @@
<string name="location_high_battery_use" msgid="4277318891200626524">"Голема искористеност на бат."</string>
<string name="location_low_battery_use" msgid="5218950289737996431">"Мала искористеност на бат."</string>
<string name="location_scanning_wifi_always_scanning_title" msgid="5004781272733434794">"Скенирање за Wi‑Fi"</string>
- <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Дозволете апликациите и услугите да скенираат за Wi-Fi мрежи во секое време, дури и кога Wi-Fi е исклучено. Ова може да се користи, на пример, за да се подобрат функциите и услугите според локација."</string>
+ <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Дозволете апликациите и услугите да скенираат за Wi-Fi мрежи во секое време, дури и кога Wi-Fi е исклучено. Ова може да се користи, на пример, за да се подобрат функциите и локациските услуги."</string>
<string name="location_scanning_bluetooth_always_scanning_title" msgid="1809309545730215891">"Скенирање за Bluetooth"</string>
- <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Дозволете апликациите и услугите да скенираат за уреди во близина во секое време, дури и кога Bluetooth е исклучен. Ова може да се користи, на пример, за да се подобрат функциите и услугите според локација."</string>
- <string name="location_services_preference_title" msgid="604317859531782159">"Услуги според локација"</string>
- <string name="location_services_screen_title" msgid="5640002489976602476">"Услуги според локација"</string>
+ <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Дозволете апликациите и услугите да скенираат за уреди во близина во секое време, дури и кога Bluetooth е исклучен. Ова може да се користи, на пример, за да се подобрат функциите и локациските услуги."</string>
+ <string name="location_services_preference_title" msgid="604317859531782159">"Локациски услуги"</string>
+ <string name="location_services_screen_title" msgid="5640002489976602476">"Локациски услуги"</string>
<string name="location_time_zone_detection_toggle_title" msgid="6478751613645015287">"Користи ја локацијата"</string>
<string name="location_time_zone_detection_status_title" msgid="8903495354385600423">"Часовната зона не може да се постави автоматски"</string>
<string name="location_time_zone_detection_status_summary_degraded_by_settings" msgid="6198939835335841106"></string>
- <string name="location_time_zone_detection_status_summary_blocked_by_settings" msgid="5276280770344278768">"„Локацијата“ или „Услугите според локација“ се исклучени"</string>
+ <string name="location_time_zone_detection_status_summary_blocked_by_settings" msgid="5276280770344278768">"„Локацијата“ или „Локациските услуги“ се исклучени"</string>
<string name="location_time_zone_detection_status_summary_blocked_by_environment" msgid="2279833212923765802"></string>
<string name="location_time_zone_detection_status_summary_temporarily_unavailable" msgid="6586801403644278967"></string>
<string name="location_time_zone_detection_location_is_off_dialog_title" msgid="231698690198001146">"Потребна е локацијата на уредот"</string>
@@ -2882,8 +2882,8 @@
<string name="data_usage_warning_editor_title" msgid="5252748452973120016">"Поставете предупредување за потрошен интернет"</string>
<string name="data_usage_limit_editor_title" msgid="8826855902435008518">"Поставете ограничување за потрошен интернет"</string>
<string name="data_usage_limit_dialog_title" msgid="2053134451707801439">"Ограничување за потрошен интернет"</string>
- <string name="data_usage_sweep_warning" msgid="2072854703184614828"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font><font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"предупредување"</font></string>
- <string name="data_usage_sweep_limit" msgid="6947019190890086284"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font><font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"граница"</font></string>
+ <string name="data_usage_sweep_warning" msgid="2072854703184614828"><font size="12">"Предупр."</font>\n<font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font></string>
+ <string name="data_usage_sweep_limit" msgid="6947019190890086284"><font size="12">"Oгранич."</font>\n<font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font></string>
<string name="data_usage_uninstalled_apps" msgid="9065885396147675694">"Отстранети апликации"</string>
<string name="data_usage_uninstalled_apps_users" msgid="1262228664057122983">"Отстранети апликации и корисници"</string>
<string name="wifi_metered_title" msgid="6623732965268033931">"Користење на мрежата"</string>
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ниеден}=1{Поставен е 1 распоред}one{Поставен е # распоред}other{Поставени се # распореди}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Не вознемирувај"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Приоритетни режими"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Добивајте известувања само од важни луѓе и апликации"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничете ги прекините"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Исклучување на „Не вознемирувај“"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Избрани апликации"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Нема"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Сите"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволете апликациите да занемаруваат"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Апликации што може да го прекинуваат режимот"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Изберете уште апликации"</string>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index 2f1d67b..f0c66cd 100644
--- a/res/values-ml/arrays.xml
+++ b/res/values-ml/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index dd82a9d..92dd19b 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ഒന്നുമില്ല}=1{ഒരു ഷെഡ്യൂൾ സജ്ജീകരിച്ചു}other{# ഷെഡ്യൂളുകൾ സജ്ജീകരിച്ചു}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"ശല്യപ്പെടുത്തരുത്"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"മുൻഗണനാ മോഡുകൾ"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"പ്രധാനപ്പെട്ട ആളുകളിൽ നിന്നും ആപ്പുകളിൽ നിന്നുമുള്ള അറിയിപ്പ് മാത്രം നേടുക"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"തടസ്സങ്ങൾ പരിമിതപ്പെടുത്തുക"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ശല്യപ്പെടുത്തരുത്\' ഓണാക്കുക"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"തിരഞ്ഞെടുത്ത ആപ്പുകൾ"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ഒന്നുമില്ല"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"എല്ലാം"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"അസാധുവാക്കാൻ ആപ്പുകളെ അനുവദിക്കുക"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"തടസ്സപ്പെടുത്താൻ കഴിയുന്ന ആപ്പുകൾ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"കൂടുതൽ ആപ്പുകൾ തിരഞ്ഞെടുക്കുക"</string>
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
index c9e210c..7ef1af7 100644
--- a/res/values-mn/arrays.xml
+++ b/res/values-mn/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 1ff8750..28be904 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Байхгүй}=1{1 хуваарийг тохируулсан}other{# хуваарийг тохируулсан}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Бүү саад бол"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Чухал байдлаар нь ангилах горим"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Зөвхөн чухал хүмүүс болон аппуудаас мэдэгдэл авах"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Саад болох зүйлсийг хязгаарлах"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Бүү саад бол горимыг асаах"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Календарь нэмээрэй"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Календариа ашиглаарай"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Хуваарь"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Хуваарь тохируулах"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Хуваарь"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> цаг, <xliff:g id="MINUTES">%2$d</xliff:g> мин"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Хуваарь"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Утасны дууг тодорхой цагт хаах"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Бүү саад бол горимын дүрмийг тохируулах"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Сонгосон аппууд"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Байхгүй"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Бүгд"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Аппуудад дарахыг нь зөвшөөрөх"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Тасалдуулах боломжтой аппууд"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Бусад аппыг сонгох"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} хүртэл зөвхөн нэг цагийн турш сэрүүлэг болгож өөрчилнө}other{{time} хүртэл зөвхөн # цагийн турш сэрүүлэг болгож өөрчилнө}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> хүртэл анхааруулах горимд шилжих"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Үргэлж саад бол горимд шилжих"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Нэр өөрчлөх"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Дүрс тэмдэг өөрчлөх"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Дүрс тэмдэг өөрчлөх"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Сануулга"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Хаах"</string>
<string name="device_feedback" msgid="5351614458411688608">"Энэ төхөөрөмжийн талаар санал илгээх"</string>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index 29f7ccc..d7ce4b4 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index b08bf0c..d2e79a5 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{एक शेड्युल सेट केले}other{# शेड्युल सेट केली}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"व्यत्यय आणू नका"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"प्राधान्य मोड"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"फक्त महत्त्वाच्या लोकांच्या आणि अॅप्सच्या सूचना मिळवा"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"व्यत्यय मर्यादित करा"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"व्यत्यय आणू नका सुरू करा"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"कॅलेंडर जोडा"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"तुमचे कॅलेंडर वापरा"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"शेड्यूल"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"शेड्यूल सेट करा"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"शेड्यूल"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> तास <xliff:g id="MINUTES">%2$d</xliff:g> मिनिटे"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"शेड्युल"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"काही वेळेला फोन शांत करा"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"व्यत्यय आणू नका नियम सेट करा"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"निवडलेली अॅप्स"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"कोणतेही नाही"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"सर्व"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ॲप्सना ओव्हरराइड करण्याची अनुमती द्या"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"व्यत्यय आणू शकणारी ॲप्स"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"आणखी ॲप्स निवडा"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} पर्यंत फक्त एका तासासाठी अलार्मवर बदला}other{{time} पर्यंत फक्त # तासांसाठी अलार्मवर बदला}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"केवळ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> पर्यंत अलार्मवर बदला"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"नेहमी व्यत्यय आणा वर बदला"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"नाव बदला"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"आयकन बदला"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"आयकन बदला"</string>
<string name="warning_button_text" msgid="1274234338874005639">"चेतावणी"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"बंद करा"</string>
<string name="device_feedback" msgid="5351614458411688608">"या डिव्हाइसबद्दल फीडबॅक पाठवा"</string>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index 62c7449..4032302 100644
--- a/res/values-ms/arrays.xml
+++ b/res/values-ms/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index ee111aa..c12fa64 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Tiada}=1{1 jadual ditetapkan}other{# jadual ditetapkan}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Jangan Ganggu"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Mod Keutamaan"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Dapatkan pemberitahuan daripada orang dan apl penting sahaja"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Hadkan gangguan"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Hidupkan Jangan Ganggu"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Tambahkan kalendar"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Gunakan kalendar anda"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Jadual"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Tetapkan jadual"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Jadual"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> jam, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Jadual"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Senyapkan telefon pd masa tertentu"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Tetapkan peraturan Jangan Ganggu"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Apl yang dipilih"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Tiada"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Semua"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Benarkan apl membatalkan Jangan Ganggu"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apl yang boleh ganggu"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pilih lagi apl"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Tukar kepada penggera sahaja selama satu jam hingga {time}}other{Tukar kepada penggera sahaja selama # jam hingga {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Tukar kepada penggera sahaja hingga <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Tukar kepada sentiasa ganggu"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Namakan semula"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Tukar ikon"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Tukar ikon"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Amaran"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Tutup"</string>
<string name="device_feedback" msgid="5351614458411688608">"Hantar maklum balas peranti ini"</string>
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
index 939b5ae..2382bc9 100644
--- a/res/values-my/arrays.xml
+++ b/res/values-my/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 15bc447..c359dc8 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{မရှိ}=1{အချိန်ဇယား ၁ ခု သတ်မှတ်ထားသည်}other{အချိန်ဇယား # ခု သတ်မှတ်ထားသည်}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"မနှောင့်ယှက်ရ"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"ဦးစားပေးမုဒ်"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"အရေးကြီးပုဂ္ဂိုလ်များနှင့် အက်ပ်များထံမှသာ အကြောင်းကြားချက် ရယူပါ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"အနှောင့်အယှက်များကို တားဆီးသည်"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'မနှောင့်ယှက်ရ\' ဖွင့်ခြင်း"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ပြက္ခဒိန်ထည့်ရန်"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"သင့်ပြက္ခဒိန်သုံးရန်"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"စီစဉ်ရန်"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"အချိန်ဇယား သတ်မှတ်ပါ"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"အချိန်ဇယားဆွဲရန်"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> နာရီ၊ <xliff:g id="MINUTES">%2$d</xliff:g> မိနစ်"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"အချိန်ဇယား"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"အချို့အချိန်၌ ဖုန်းအသံတိတ်ခြင်း"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\'မနှောင့်ယှက်ရ\' စည်းမျဉ်းများထည့်ရန်"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ရွေးချယ်ထားသော အက်ပ်များ"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"မရှိ"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"အားလုံး"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"အက်ပ်များကို အစားထိုးခွင့်ပြုပါ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ကြားဖြတ်နိုင်သည့် အက်ပ်များ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"နောက်ထပ်အက်ပ်များကို ရွေးပါ"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} အထိ တစ်နာရီအတွက်သာ နှိုးစက်များတွင် ပြောင်းမည်}other{{time} အထိ # နာရီအတွက်သာ နှိုးစက်များတွင် ပြောင်းမည်}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> အထိနိုးစက်သာလျှင် သို့ပြောင်းမည်"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"အမြဲတမ်း ကြားဖြတ်ရန်သို့ ပြောင်းမည်"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"အမည်ပြောင်းရန်"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"သင်္ကေတပြောင်းရန်"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"သင်္ကေတပြောင်းရန်"</string>
<string name="warning_button_text" msgid="1274234338874005639">"သတိပေးချက်"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"ပိတ်ရန်"</string>
<string name="device_feedback" msgid="5351614458411688608">"ဤကိရိယာအတွက် အကြံပြုချက် ပို့ရန်"</string>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 65d7ecc..324fac9 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 9266e57..58879ce 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ingen}=1{1 tidsplan er angitt}other{# tidsplaner er angitt}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ikke forstyrr"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioritetsmoduser"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Bli bare varslet av viktige personer og apper"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begrens forstyrrelser"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Slå på Ikke forstyrr"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Legg til en kalender"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Bruk kalenderen"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Tidsplan"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Angi en tidsplan"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Tidsplan"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> t, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Tidsplan"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Demp telefonen til bestemte tider"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Angi Ikke forstyrr-regler"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"De valgte appene"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ingen"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alle"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillat at apper overstyrer"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apper som kan forstyrre"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Velg flere apper"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Endre til bare alarmer i én time frem til {time}}other{Endre til bare alarmer i # timer frem til {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Endre til Bare alarmer frem til <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Bytt til Alltid forstyrr"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Gi nytt navn"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Endre ikonet"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Endre ikonet"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Varsel"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Lukk"</string>
<string name="device_feedback" msgid="5351614458411688608">"Send tilbakemelding om enheten"</string>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index 49344ca..1f36872 100644
--- a/res/values-ne/arrays.xml
+++ b/res/values-ne/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 402ea50..3b77ab1 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{कुनै पनि समयतालिका बनाइएको छैन}=1{एउटा समयतालिका बनाइएको छ}other{# वटा समयतालिका बनाइएको छ}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"बाधा नपुऱ्याउनुहोस्"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"महत्त्वपूर्ण मोडहरू"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"महत्त्वपूर्ण मान्छे र एपका सूचना मात्र प्राप्त गर्नुहोस्"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"अवरोधहरू सीमित पार्नुहोस्"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"बाधा नपुऱ्याउनुहोस् नामक मोडलाई अन गर्नुहोस्"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"चयन गरिएका एपहरू"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"कुनै पनि होइन"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"सबै"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"एपहरूलाई ओभरराइड गर्ने अनुमति दिनुहोस्"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"अफ गर्न सक्ने एपहरू"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"थप एपहरू चयन गर्नुहोस्"</string>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index dd2b800..66d5384 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 753adb1c..b2f2248 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Geen}=1{1 planning ingesteld}other{# planningen ingesteld}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Niet storen"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriteitsmodi"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Krijg alleen meldingen van belangrijke mensen en apps"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Onderbrekingen beperken"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zet Niet storen aan."</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Geselecteerde apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Geen"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alles"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Apps toestaan dit te negeren"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps die je mogen storen"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Meer apps selecteren"</string>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index 65f977e..4900fcc 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 3c0d2d3..f641842 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{କିଛି ନାହିଁ}=1{1ଟି ସିଡୁଲ୍ ସେଟ୍ ହୋଇଛି}other{#ଟି ସିଡୁଲ୍ ସେଟ୍ ହୋଇଛି}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"ପ୍ରାଥମିକତା ମୋଡ"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"କେବଳ ଗୁରୁତ୍ଵପୂର୍ଣ୍ଣ ଲୋକ ଏବଂ ଆପ୍ସ ଦ୍ୱାରା ସୂଚନା ପାଆନ୍ତୁ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ବ୍ୟାଘାତଗୁଡ଼ିକୁ ସୀମିତ କରନ୍ତୁ"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\" ଅନ୍ କରନ୍ତୁ"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ଚୟନିତ ଆପ୍ସ"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"କିଛି ନାହିଁ"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ସମସ୍ତ"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ନିଷ୍କ୍ରିୟ କରିବାକୁ ଆପ୍ସକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ବାଧା ସୃଷ୍ଟି କରିପାରୁଥିବା ଆପଗୁଡ଼ିକ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ଅଧିକ ଆପ୍ ଚୟନ କରନ୍ତୁ"</string>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index 679294d..d0fad2b 100644
--- a/res/values-pa/arrays.xml
+++ b/res/values-pa/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 61a3dbe..34fc579 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ਕੋਈ ਨਹੀਂ}=1{1 ਸਮਾਂ-ਸੂਚੀ ਸੈੱਟ ਹੈ}other{# ਸਮਾਂ-ਸੂਚੀਆਂ ਸੈੱਟ ਹਨ}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"ਤਰਜੀਹ ਮੋਡ"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ਸਿਰਫ਼ ਮਹੱਤਵਪੂਰਨ ਲੋਕਾਂ ਅਤੇ ਐਪਾਂ ਵੱਲੋਂ ਸੂਚਨਾ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ਰੁਕਾਵਟਾਂ ਸੀਮਤ ਕਰੋ"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ਕੋਈ ਕੈਲੰਡਰ ਸ਼ਾਮਲ ਕਰੋ"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ਆਪਣਾ ਕੈਲੰਡਰ ਵਰਤੋ"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"ਸਮਾਂ-ਸੂਚੀ"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ਕੋਈ ਸਮਾਂ-ਸੂਚੀ ਸੈੱਟ ਕਰੋ"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ਸਮਾਂ-ਸੂਚੀ"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ਘੰ., <xliff:g id="MINUTES">%2$d</xliff:g> ਮਿੰ."</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ਸਮਾਂ-ਸੂਚੀ"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ਕੁਝ ਖਾਸ ਸਮਿਆਂ \'ਤੇ ਫ਼ੋਨ ਸ਼ਾਂਤ ਰੱਖੋ"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਦੇ ਨਿਯਮ ਸੈੱਟ ਕਰੋ"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ਚੁਣੀਆਂ ਗਈਆਂ ਐਪਾਂ"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ਕੋਈ ਨਹੀਂ"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ਸਭ"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ਐਪਾਂ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਨ ਦਿਓ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ਐਪਾਂ ਜੋ ਵਿਘਨ ਪਾ ਸਕਦੀਆਂ ਹਨ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ਹੋਰ ਐਪਾਂ ਚੁਣੋ"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} ਤੱਕ ਸਿਰਫ਼ ਇੱਕ ਘੰਟੇ ਲਈ ਅਲਾਰਮਾਂ ਵਿੱਚ ਬਦਲੋ}one{{time} ਤੱਕ ਸਿਰਫ਼ # ਘੰਟੇ ਲਈ ਅਲਾਰਮਾਂ ਵਿੱਚ ਬਦਲੋ}other{{time} ਤੱਕ ਸਿਰਫ਼ # ਘੰਟਿਆਂ ਲਈ ਅਲਾਰਮਾਂ ਵਿੱਚ ਬਦਲੋ}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"ਅਲਾਰਮ ਨੂੰ ਸਿਰਫ਼ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> ਤੱਕ ਬਦਲੋ"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"ਹਮੇਸ਼ਾਂ ਵਿਘਨ ਪਾਓ ਵਿੱਚ ਬਦਲੋ"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"ਨਾਮ ਬਦਲੋ"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ਪ੍ਰਤੀਕ ਬਦਲੋ"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ਪ੍ਰਤੀਕ ਬਦਲੋ"</string>
<string name="warning_button_text" msgid="1274234338874005639">"ਚਿਤਾਵਨੀ"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"ਬੰਦ ਕਰੋ"</string>
<string name="device_feedback" msgid="5351614458411688608">"ਇਸ ਡੀਵਾਈਸ ਬਾਰੇ ਵਿਚਾਰ ਭੇਜੋ"</string>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index 48e7178..320e906 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 4ff356e..72b5c88 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Brak}=1{Ustawiono 1 harmonogram}few{Ustawiono # harmonogramy}many{Ustawiono # harmonogramów}other{Ustawiono # harmonogramu}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Nie przeszkadzać"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Tryby priorytetowe"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Otrzymuj powiadomienia tylko od ważnych osób i z kluczowych aplikacji"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograniczanie powiadomień"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Włącz tryb Nie przeszkadzać"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Dodaj kalendarz"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Korzystaj z kalendarza"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Zaplanuj"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ustaw harmonogram"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Zaplanuj"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> godz. <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Harmonogram"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Wycisz telefon o pewnych porach"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Ustaw reguły trybu Nie przeszkadzać"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Wybrane aplikacje"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Brak"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Wszystkie"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Zezwól na zastępowanie przez aplikacje"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacje, które mogą ignorować tryb Nie przeszkadzać"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Wybierz więcej aplikacji"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Zmień na alarmy tylko na 1 godzinę do {time}}few{Zmień na alarmy tylko na # godziny do {time}}many{Zmień na alarmy tylko na # godzin do {time}}other{Zmień na alarmy tylko na # godziny do {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Zmień na same alarmy do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Zmień na ciągle powiadamianie"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Zmień nazwę"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Zmień ikonę"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Zmień ikonę"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Ostrzeżenie"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Zamknij"</string>
<string name="device_feedback" msgid="5351614458411688608">"Prześlij opinię o tym urządzeniu"</string>
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
index b3bfd99..d3b2406 100644
--- a/res/values-pt-rBR/arrays.xml
+++ b/res/values-pt-rBR/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index e34936d..82bab61 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nenhuma}=1{1 programação definida}one{# programação definida}other{# programações definidas}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Não perturbe"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modos prioritários"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receber notificações apenas de pessoas e apps importantes"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupções"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o Não perturbe"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Apps selecionados"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nenhum"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todos"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que apps modifiquem o \"Não perturbe\""</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que podem fazer interrupções"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecionar mais apps"</string>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index c08f8c8..a99b4a4 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 90592ef..0835f90 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nenhum}=1{1 horário definido}other{# horários definidos}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Não incomodar"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modos de prioridade"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receba notificações só de pessoas e apps importantes"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limite as interrupções"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o modo Não incomodar"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Apps selecionadas"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nenhuma"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todas"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que as apps substituam"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que podem interromper"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecione mais apps"</string>
@@ -4043,7 +4047,7 @@
<string name="keywords_vr_listener" msgid="902737490270081131">"rv realidade virtual serviço de escuta estéreo serviço assistente"</string>
<string name="overlay_settings" msgid="2030836934139139469">"Sobrepor a outras apps"</string>
<string name="filter_overlay_apps" msgid="2483998217116789206">"Apps com autorização"</string>
- <string name="app_permission_summary_allowed" msgid="1155115629167757278">"Permitida"</string>
+ <string name="app_permission_summary_allowed" msgid="1155115629167757278">"Permitido"</string>
<string name="app_permission_summary_not_allowed" msgid="2673793662439097900">"Não permitida"</string>
<string name="keywords_install_other_apps" msgid="563895867658775580">"instalar apps de fontes desconhecidas"</string>
<string name="write_settings" msgid="6864794401614425894">"Modificar definições do sistema"</string>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index b3bfd99..d3b2406 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index e34936d..82bab61 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Nenhuma}=1{1 programação definida}one{# programação definida}other{# programações definidas}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Não perturbe"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modos prioritários"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receber notificações apenas de pessoas e apps importantes"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupções"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o Não perturbe"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Apps selecionados"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nenhum"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todos"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que apps modifiquem o \"Não perturbe\""</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que podem fazer interrupções"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecionar mais apps"</string>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index ba9b1d2..1ecad11 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index f5f2c2e..1d9fe0e 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Niciunul}=1{Un program setat}few{# programe setate}other{# de programe setate}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Nu deranja"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Moduri cu prioritate"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primește notificări doar de la persoane și aplicații importante"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitează întreruperile"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activează Nu deranja"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplicațiile selectate"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Niciuna"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Toate"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permite aplicațiilor să ignore"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplicații care pot întrerupe"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selectează mai multe aplicații"</string>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index 9f7d302..14b0477 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index f1e32b5..d489e35 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Нет настроенных расписаний}=1{Настроено 1 расписание}one{Настроено # расписание}few{Настроено # расписания}many{Настроено # расписаний}other{Настроено # расписания}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Не беспокоить"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Режимы приоритета"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Получать уведомления только от важных людей и приложений."</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Отключение уведомлений"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Включите режим \"Не беспокоить\""</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Выбранные приложения"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Нет"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Все"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Разрешить приложениям переопределять \"Не беспокоить\""</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Приложения, для которых не действует режим \"Не беспокоить\""</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Другие приложения"</string>
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
index d51a1c0..8c9e286 100644
--- a/res/values-si/arrays.xml
+++ b/res/values-si/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index a30c2f3..8aabde8 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{කිසිත් නැත}=1{කාලසටහන් 1ක් සකසන ලදී}one{කාලසටහන් #ක් සකසන ලදී}other{කාලසටහන් #ක් සකසන ලදී}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"බාධා නොකරන්න"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"ප්රමුඛතා ප්රකාර"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"වැදගත් පුද්ගලයන් සහ යෙදුම් විසින් පමණක් දැනුම් දෙනු ලැබේ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"බාධා සීමා කරන්න"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"බාධා නොකරන්න ක්රියාත්මක කරන්න"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"තෝරාගත් යෙදුම"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"කිසිවක් නැත"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"සියලු"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ප්රතික්ෂේප කිරිමට යෙදුම්වලට ඉඩ දෙන්න"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"බාධා කළ හැකි යෙදුම්"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"තවත් යෙදුම් තෝරන්න"</string>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index f314f3f..1683b37 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 841e761..aad6e64 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Žiadne}=1{Bol nastavený 1 plán}few{Boli nastavené # plány}many{# schedules set}other{Bolo nastavených # plánov}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Režim bez vyrušení"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Režimy priority"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Prijímajte upozornenia iba od dôležitých ľudí a z dôležitých aplikácií"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Obmedzenie vyrušení"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zapnite režim bez vyrušení"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Pridajte kalendár"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Použiť kalendár"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Rozpis"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Nastavte si plán"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Naplánovať"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Plán"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Stlmiť telefón v určitý čas"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Nastavenie pravidiel režimu bez vyrušení"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Vybrané aplikácie"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Žiadne"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Všetky"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Povoľte aplikáciám prekonávať nastavenia"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikácie, ktoré môžu vyrušiť"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Vyberte ďalšie aplikácie"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Zmena v budíkoch iba na hodinu do {time}}few{Zmena v budíkoch iba na # hodiny do {time}}many{Change to alarms only for # hours until {time}}other{Zmena v budíkoch iba na # hodín do {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Zmena na možnosť Iba budíky platná do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Zmena na možnosť Vždy prerušiť"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Premenovať"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Zmeniť ikonu"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Zmeniť ikonu"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Upozornenie"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Zavrieť"</string>
<string name="device_feedback" msgid="5351614458411688608">"Odoslať spätnú väzbu o zariadení"</string>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index 7257ead..905e2ae 100644
--- a/res/values-sl/arrays.xml
+++ b/res/values-sl/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 9c64e81..fccd144d 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Noben}=1{Nastavljen je 1 razpored}one{Nastavljen je # razpored}two{Nastavljena sta # razporeda}few{Nastavljeni so # razporedi}other{Nastavljenih je # razporedov}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ne moti"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prednostni načini"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Prejemajte samo obvestila pomembnih oseb in aplikacij."</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Omejitev prekinitev"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Vklop načina »Ne moti«"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Izbrane aplikacije"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Nobena"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Vse"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Aplikacijam dovoli preglasitev"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije, ki lahko preglasijo"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Izberite več aplikacij"</string>
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
index c1adaba..b1eb632 100644
--- a/res/values-sq/arrays.xml
+++ b/res/values-sq/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 4667216..df5543f 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Asnjë}=1{1 orar i caktuar}other{# orare të caktuara}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Mos shqetëso"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modalitetet e përparësisë"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Merr njoftime vetëm nga aplikacionet dhe personat e rëndësishëm"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kufizo ndërprerjet"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivizo \"Mos shqetëso\""</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Shto një kalendar"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Përdor kalendarin tënd"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Orari"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Cakto një orar"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Orari"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> orë e <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Orari"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Vendose telefonin në heshtje në kohë të caktuara"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Cakto rregullat për \"Mos shqetëso\""</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Aplikacionet e zgjedhura"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Asnjë"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Të gjitha"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Lejo aplikacionet ta anulojnë"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacionet që mund ta ndërpresin"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Zgjidh më shumë aplikacione"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ndrysho vetëm tek alarmet për një orë deri në {time}}other{Ndrysho vetëm tek alarmet për # orë deri në {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ndrysho në gjendjen \"vetëm alarmet\" deri në <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Ndrysho te \"ndërprit gjithmonë\""</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Riemërto"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Ndrysho ikonën"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Ndrysho ikonën"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Paralajmërim"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Mbyll"</string>
<string name="device_feedback" msgid="5351614458411688608">"Dërgo komente për këtë pajisje"</string>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index ad421a1..3b5400e 100644
--- a/res/values-sr/arrays.xml
+++ b/res/values-sr/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 146d148..0f15aa8 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Ниједан}=1{1 распоред је подешен}one{# распоред је подешен}few{# распореда су подешена}other{# распореда је подешено}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Не узнемиравај"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Приоритетни режими"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Добијајте обавештења само од важних особа и апликација"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничите прекиде"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Укључите режим Не узнемиравај"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Додајте календар"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Користите свој календар"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Распоред"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Подесите распоред"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Распоред"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> с, <xliff:g id="MINUTES">%2$d</xliff:g> мин"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Распоред"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Утишајте телефон у одређено време"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Подесите правила за режим „Не узнемиравај“"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Изабране апликације"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ниједна"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Све"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволи да апликације занемарују"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Апликације које могу да прекидају"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Изаберите још апликација"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Пређите само на аларме на један сат све до {time}}one{Пређите само на аларме на # сат све до {time}}few{Пређите само на аларме на # сата све до {time}}other{Пређите само на аларме на # сати све до {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Пребацује у режим само са алармима до <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Пребацује у режим увек прекидај"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Преименуј"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Промени икону"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Промени икону"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Упозорење"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Затвори"</string>
<string name="device_feedback" msgid="5351614458411688608">"Шаљи повратне информације о уређају"</string>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index c7693ec..fcb9b8c 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index d7dc9ce..e1186f7 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Inga}=1{1 schema har ställts in}other{# scheman har ställts in}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Stör ej"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Prioriterade lägen"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Få bara aviseringar från viktiga personer och appar"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begränsa antalet avbrott"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivera Stör ej."</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Valda appar"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Ingen"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alla"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillåt att appar åsidosätter funktionen"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Appar som får störa dig"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Välj fler appar"</string>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index 2bfad67..9b5084f 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index ffb704e..34b3e07 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Hamna}=1{Pana ratiba moja}other{Pana ratiba #}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Usinisumbue"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Hali za Kipaumbele"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Pata arifa za watu na programu muhimu pekee"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Punguza usumbufu"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Washa kipengele cha Usinisumbue"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Programu zilizochaguliwa"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Hamna"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Zote"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Ruhusu programu zibatilishe hali"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Programu zinazoweza kukatiza"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Chagua programu zaidi"</string>
diff --git a/res/values-ta/arrays.xml b/res/values-ta/arrays.xml
index 7d00713..7f3b62c 100644
--- a/res/values-ta/arrays.xml
+++ b/res/values-ta/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 4bb9743..5a01a88 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{எதுவுமில்லை}=1{1 திட்டமிடல் அமைக்கப்பட்டுள்ளது}other{# திட்டமிடல்கள் அமைக்கப்பட்டுள்ளன}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"தொந்தரவு செய்யாதே"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"முன்னுரிமைப் பயன்முறைகள்"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"முக்கியமான நபர்கள் மற்றும் ஆப்ஸிலிருந்து மட்டும் அறிவிப்புகளைப் பெறுங்கள்"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"குறுக்கீடுகளைக் குறைத்தல்"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"தொந்தரவு செய்ய வேண்டாம் என்பதை ஆன் செய்யும்"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"தேர்ந்தெடுக்கப்பட்ட ஆப்ஸ்"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"எதுவுமில்லை"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"அனைத்தும்"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ஆப்ஸை மீறிச் செயல்பட அனுமதிக்கின்றன"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"குறுக்கிட முடிகின்ற ஆப்ஸ்"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"கூடுதல் ஆப்ஸைத் தேர்ந்தெடுங்கள்"</string>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index 81b0df0..9af40e9 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index a15b48e..65feefa 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ఏవీ లేవు}=1{1 షెడ్యూల్ సెట్ చేయబడింది}other{# షెడ్యూళ్లు సెట్ చేయబడ్డాయి}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"అంతరాయం కలిగించవద్దు"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"ముఖ్యమైన ఫైల్స్ మోడ్స్"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ముఖ్యమైన వ్యక్తులు, యాప్ల నుంచి వచ్చే నోటిఫికేషన్లను మాత్రమే అందించు"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"అంతరాయాలను పరిమితం చేయండి"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"అంతరాయం కలిగించవద్దును ఆన్ చేయండి"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"క్యాలెండర్ను జోడించండి"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"మీ క్యాలెండర్ను ఉపయోగించండి"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"షెడ్యూల్"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"షెడ్యూల్ను సెట్ చేయండి"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"షెడ్యూల్ చేయండి"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> గం., <xliff:g id="MINUTES">%2$d</xliff:g> నిమి."</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"షెడ్యూల్"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"కొన్ని సమయాల్లో ఫోన్ని నిశ్శబ్దంగా ఉంచు"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"అంతరాయం కలిగించవద్దు నియమాలు సెట్ చేయండి"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"ఎంచుకున్న యాప్లు"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ఏదీ లేదు"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"అన్నీ"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"భర్తీ చేయడానికి యాప్లను అనుమతించండి"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"అంతరాయం కలిగించగల యాప్లు"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"మరిన్ని యాప్లను ఎంచుకోండి"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} వరకు ఒక గంట పాటు మాత్రమే అలారాలకు మార్చండి}other{{time} వరకు # గంటల పాటు మాత్రమే అలారాలకు మార్చండి}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> వరకు అలారాలు మాత్రమే ఎంపికకు మార్చుతుంది"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"ఎల్లప్పుడూ అంతరాయం కలిగించు ఎంపికకు మార్చుతుంది"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"పేరు మార్చండి"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"చిహ్నాన్ని మార్చండి"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"చిహ్నాన్ని మార్చండి"</string>
<string name="warning_button_text" msgid="1274234338874005639">"హెచ్చరిక"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"మూసివేయండి"</string>
<string name="device_feedback" msgid="5351614458411688608">"ఈ పరికరంపై ఫీడ్బ్యాక్ ఇవ్వండి"</string>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index e5367c1..ecd5bec 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -498,4 +498,15 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"เวลาเข้านอน"</item>
+ <item msgid="4152450357280759894">"การขับขี่"</item>
+ <item msgid="7096549258219399423">"สมจริง"</item>
+ <item msgid="2760716776980432977">"ที่มีการจัดการ"</item>
+ <item msgid="601734478369121764">"ดาว"</item>
+ <item msgid="6243809315432780521">"ปฏิทิน"</item>
+ <item msgid="4913577903148415331">"เวลา"</item>
+ <item msgid="3653377604690057780">"ละครเวที"</item>
+ <item msgid="3843711267408385410">"ดอกไม้"</item>
+ </string-array>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 15950b1..4127e69 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{ไม่มี}=1{ตั้งกำหนดการแล้ว 1 รายการ}other{ตั้งกำหนดการแล้ว # รายการ}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"ห้ามรบกวน"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"โหมดสำคัญ"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"รับเฉพาะการแจ้งเตือนจากผู้คนและแอปที่สำคัญ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"จำกัดการรบกวน"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"เปิด \"ห้ามรบกวน\""</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"แอปที่เลือก"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"ไม่มี"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ทั้งหมด"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"อนุญาตให้แอปลบล้าง"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"แอปที่รบกวนคุณได้"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"เลือกแอปเพิ่มเติม"</string>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index 13711b4..71c8b9f 100644
--- a/res/values-tl/arrays.xml
+++ b/res/values-tl/arrays.xml
@@ -498,4 +498,15 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Oras ng pagtulog"</item>
+ <item msgid="4152450357280759894">"Pagmamaneho"</item>
+ <item msgid="7096549258219399423">"Immersive"</item>
+ <item msgid="2760716776980432977">"Pinamamahalaan"</item>
+ <item msgid="601734478369121764">"Bituin"</item>
+ <item msgid="6243809315432780521">"Kalendaryo"</item>
+ <item msgid="4913577903148415331">"Oras"</item>
+ <item msgid="3653377604690057780">"Teatro"</item>
+ <item msgid="3843711267408385410">"Bulaklak"</item>
+ </string-array>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index cbd8785..7e53550 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Wala}=1{Naitakda ang 1 iskedyul}one{Naitakda ang # iskedyul}other{Naitakda ang # na iskedyul}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Huwag Istorbohin"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Mga Priyoridad na Mode"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Makakuha lang ng notification mula sa mahahalagang tao at app"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitahan ang mga pagkaantala"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"I-on ang Huwag Istorbohin"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Mga napiling app"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Wala"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Lahat"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Payagan ang mga app na mag-override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Mga app na puwedeng umabala"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pumili pa ng mga app"</string>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index 0f41472..1253374 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index f27da7e..106f217 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Yok}=1{1 program ayarlandı}other{# program ayarlandı}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Rahatsız Etmeyin"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Öncelik Modları"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Yalnızca önemli kişiler ve uygulamalardan gelen bildirimleri alın"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kesintileri sınırlayın"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Rahatsız Etmeyin\'i açın"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Seçili uygulamalar"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Yok"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tümü"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Uygulamaların geçersiz kılmasına izin ver"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Kesintiye neden olabilecek uygulamalar"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Daha fazla uygulama seçin"</string>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index cf72bb8..3ac8a82 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 170f0dc..7d1be2e 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Немає}=1{Налаштовано 1 розклад}one{Налаштовано # розклад}few{Налаштовано # розклади}many{Налаштовано # розкладів}other{Налаштовано # розкладу}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Не турбувати"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Режими пріоритету"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Отримуйте сповіщення лише від важливих людей і додатків"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Обмеження сповіщень"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Увімкнути режим \"Не турбувати\""</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Вибрані додатки"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Жодний"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Усі"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволити додаткам замінювати режим \"Не турбувати\""</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Додатки, які можуть переривати"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Виберіть інші додатки"</string>
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
index bf3531d..751e5ff 100644
--- a/res/values-ur/arrays.xml
+++ b/res/values-ur/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 6cdb093..c52e398 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{کوئی نہیں}=1{1 شیڈول سیٹ ہے}other{# شیڈول سیٹ ہیں}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"ڈسٹرب نہ کریں"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"ترجیحی وضع"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"صرف اہم لوگوں اور ایپس کی جانب سے اطلاعات حاصل کریں"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"مداخلتوں کی حد مقرر کریں"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ڈسٹرب نہ کریں\' کو آن کریں"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"کیلنڈر شامل کریں"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"اپنا کیلنڈر استعمال کریں"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"شیڈول کریں"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"شیڈول سیٹ کریں"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"شیڈول کریں"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> گھنٹہ، <xliff:g id="MINUTES">%2$d</xliff:g> منٹ"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"شیڈول"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"مخصوص اوقات میں فون خاموش کر دیں"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\'ڈسٹرب نہ کریں\' اصول سیٹ کریں"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"منتخب کردہ ایپس"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"کوئی نہیں"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"سبھی"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ایپس کو اوور رائیڈ کرنے کی اجازت دیں"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ایپس جو مداخلت کر سکتی ہیں"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"مزید ایپس منتخب کریں"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} تک صرف ایک گھنٹے کیلئے الارمز میں تبدیل کریں}other{{time} تک صرف # گھنٹوں کیلئے الارمز میں تبدیل کریں}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> تک کیلئے صرف الارمز میں تبدیل کریں"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"ہمیشہ مداخلت کریں میں تبدیل کریں"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"نام تبدیل کریں"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"آئیکن تبدیل کریں"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"آئیکن تبدیل کریں"</string>
<string name="warning_button_text" msgid="1274234338874005639">"وارننگ"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"بند کریں"</string>
<string name="device_feedback" msgid="5351614458411688608">"اس آلہ کے بارے میں تاثرات بھیجیں"</string>
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
index 37e6546..39246f6 100644
--- a/res/values-uz/arrays.xml
+++ b/res/values-uz/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 6b57ba0..f179e9a 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Hech qanday}=1{1 ta reja sozlangan}other{# ta reja sozlangan}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Bezovta qilinmasin"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Muhim rejimlar"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Faqat muhim odamlar va ilovalardan bildirishnomalarni olish"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Bildirishnomalarni kamaytirish"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Bezovta qilinmasin rejimini yoqing"</string>
@@ -3774,6 +3776,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Tanlangan ilovalar"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Hech biri"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Hammasi"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Ilovalarga Bezovta qilinmasin rejimiga amal qilmasligiga ruxsat berish"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Bezovta qilinmasin rejimi ishlamaydigan ilovalar"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Boshqa ilovalarni tanlang"</string>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index 3f83b3d..ae3def9 100644
--- a/res/values-vi/arrays.xml
+++ b/res/values-vi/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 9efb9c4..911fb9c 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Không có}=1{Đã đặt 1 lịch biểu}other{Đã đặt # lịch biểu}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Không làm phiền"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Chế độ ưu tiên"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Chỉ nhận thông báo của những người và ứng dụng quan trọng"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Hạn chế bị gián đoạn"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Bật chế độ Không làm phiền"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Thêm lịch"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Dùng lịch của bạn"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Lịch biểu"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Đặt lịch biểu"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Lịch biểu"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> tiếng <xliff:g id="MINUTES">%2$d</xliff:g> phút"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Lên lịch"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Tắt tiếng điện thoại vào thời gian nhất định"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Đặt quy tắc Không làm phiền"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Các ứng dụng được chọn"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Không có"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tất cả"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Cho phép ứng dụng ghi đè"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Những ứng dụng có thể làm gián đoạn chế độ Không làm phiền"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Chọn ứng dụng khác"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Đổi sang chế độ chỉ báo thức trong 1 giờ cho đến {time}}other{Đổi sang chế độ chỉ báo thức trong # giờ cho đến {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Đổi sang báo thức chỉ đến khi <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Đổi sang luôn làm gián đoạn"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Đổi tên"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Thay đổi biểu tượng"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Thay đổi biểu tượng"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Cảnh báo"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Đóng"</string>
<string name="device_feedback" msgid="5351614458411688608">"Gửi ý kiến phản hồi về thiết bị này"</string>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index 486d9f7..0d02501 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 8920759..cd85112 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{无}=1{已设置 1 个时间表}other{已设置 # 个时间表}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"勿扰模式"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"优先模式"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"仅接收来自重要联系人和重要应用的通知"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"限制打扰"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"开启勿扰模式"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"添加日程表"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"使用您的日程表"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"日程"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"设置时间表"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"时间表"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 小时 <xliff:g id="MINUTES">%2$d</xliff:g> 分钟"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"时间表"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"在特定的时间将手机设为静音"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"设置“勿扰”规则"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"所选应用"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"无"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"全部"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允许应用覆盖"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"例外的应用"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"选择更多应用"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{更改为仅限闹钟并持续 1 小时,直到 {time}}other{更改为仅限闹钟并持续 # 小时,直到 {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"更改为仅限闹钟(到<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>)"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"更改为一律允许打扰"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"重命名"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"更改图标"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"更改图标"</string>
<string name="warning_button_text" msgid="1274234338874005639">"警告"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"关闭"</string>
<string name="device_feedback" msgid="5351614458411688608">"发送有关此设备的反馈"</string>
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
index 221f39a..d1f74d6 100644
--- a/res/values-zh-rHK/arrays.xml
+++ b/res/values-zh-rHK/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index e9ada5e..9bfa92e 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -575,7 +575,7 @@
<string name="private_space_new_lock_message" msgid="3117703578905489206">"你需要在下一個畫面輸入裝置 PIN、圖案或密碼"</string>
<string name="private_space_auto_lock_title" msgid="8663409382910601261">"自動鎖定私人空間"</string>
<string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"裝置可在閒置一段時間後自動鎖定私人空間"</string>
- <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"每當裝置鎖定"</string>
+ <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"每當裝置鎖定時"</string>
<string name="private_space_auto_lock_after_inactivity" msgid="7107814517866649733">"螢幕逾時 5 分鐘後"</string>
<string name="private_space_auto_lock_after_device_restart" msgid="288755768725895029">"只在裝置重新啟動後"</string>
<string name="private_space_hide_page_title" msgid="3364639176511877414">"隱藏私人空間"</string>
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{無}=1{已設定 1 個時間表}other{已設定 # 個時間表}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"請勿騷擾"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"優先模式"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"只接收重要聯絡人和應用程式的通知"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"減少干擾"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"開啟「請勿騷擾」模式"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"新增日曆"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"使用日曆"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"時間表"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"設定時間表"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"時間表"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 小時 <xliff:g id="MINUTES">%2$d</xliff:g> 分鐘"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"預定時間"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"在特定時間將手機設為靜音"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"設定「請勿騷擾」規則"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"選取的應用程式"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"無"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"全部"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允許應用程式取代「請勿騷擾」"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"例外可打擾的應用程式"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"選擇更多應用程式"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{改為只限鬧鐘模式同埋持續 1 個鐘,直至 {time} 為止}other{改為只限鬧鐘模式同埋持續 # 個鐘,直至 {time} 為止}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"響 <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>前改為只允許鬧鐘"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"變更為永遠允許干擾"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"重新命名"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"變更圖示"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"變更圖示"</string>
<string name="warning_button_text" msgid="1274234338874005639">"警告"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"關閉"</string>
<string name="device_feedback" msgid="5351614458411688608">"傳送你對這部裝置的意見"</string>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index 7eccb5c..f6df39d 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 8e597a5..ff33d36 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -3323,6 +3323,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{無}=1{已設定 1 個時間表}other{已設定 # 個時間表}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"零打擾"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"優先模式"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"僅接收重要聯絡人和應用程式的通知"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"降低干擾"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"開啟「零打擾」模式"</string>
@@ -3337,12 +3339,9 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"新增日曆"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"使用日曆"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"安排時間"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"設定時間表"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"安排時間"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 小時 <xliff:g id="MINUTES">%2$d</xliff:g> 分鐘"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"排程"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"在特定時間將手機設為靜音"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"設定「零打擾」規則"</string>
@@ -3774,6 +3773,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"所選應用程式"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"無"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"全部"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允許應用程式覆寫"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"例外的應用程式"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"選取更多應用程式"</string>
@@ -3810,12 +3811,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{變更為僅限鬧鐘模式並持續 1 小時,結束時間為 {time}}other{變更為僅限鬧鐘模式並持續 # 小時,結束時間為 {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"變更為僅允許鬧鐘模式,結束時間為 <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"變更為一律允許干擾模式"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"重新命名"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"變更圖示"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"變更圖示"</string>
<string name="warning_button_text" msgid="1274234338874005639">"警告"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"關閉"</string>
<string name="device_feedback" msgid="5351614458411688608">"傳送你對這個裝置的意見"</string>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index 353c8ef..f5b168f 100644
--- a/res/values-zu/arrays.xml
+++ b/res/values-zu/arrays.xml
@@ -498,4 +498,13 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
+ <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 88c23d2..1ff9fb0 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -3324,6 +3324,8 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Lutho}=1{ishejuli esethiwe e-1}one{amashejuli asethiwe angu-#}other{amashejuli asethiwe angu-#}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Ungaphazamisi"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Amamodi Abalulekile"</string>
+ <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
+ <skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Yaziswa kuphela abantu ababalulekile nezinhlelo zokusebenza"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Khawulela ukuphazamisa"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Vula ukungaphazamisi"</string>
@@ -3775,6 +3777,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Ama-app akhethiwe"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"Lutho"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Konke"</string>
+ <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Vumela izinhlelo zokusebenza ukubhala ngaphezulu"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Ama-app angaphazamisa"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Khetha ama-app amaningi"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f92fd2a..6560e54 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -7927,6 +7927,19 @@
<!-- Zen Modes: Summary for the Do not Disturb option and associated settings page. [CHAR LIMIT=240]-->
<string name="zen_mode_settings_summary">Only get notified by important people and apps</string>
+ <!-- Zen Modes: Option to add an automatic schedule for a mode. [CHAR_LIMIT=40] -->
+ <string name="zen_mode_select_schedule">Select activation type</string>
+
+ <!-- Zen Modes: Option to choose a time-based schedule for a mode. [CHAR_LIMIT=40] -->
+ <string name="zen_mode_select_schedule_time">Time</string>
+ <!-- Zen Modes: Example text for the option to choose a time-based schedule for a mode. [CHAR_LIMIT=60] -->
+ <string name="zen_mode_select_schedule_time_example">Ex. \"9:30 – 5:00 PM\"</string>
+
+ <!-- Zen Modes: Option to choose a calendar-events-based schedule for a mode. [CHAR_LIMIT=40] -->
+ <string name="zen_mode_select_schedule_calendar">Calendar</string>
+ <!-- Zen Modes: Example text for the option to choose a calendar-events-based schedule for a mode. [CHAR_LIMIT=60] -->
+ <string name="zen_mode_select_schedule_calendar_example">Ex. \"Personal calendar\"</string>
+
<!-- Subtitle for the Do not Disturb slice. [CHAR LIMIT=50]-->
<string name="zen_mode_slice_subtitle">Limit interruptions</string>
@@ -8003,7 +8016,7 @@
<string name="zen_mode_visual_signals_settings_subtitle">Allow visual signals</string>
<!-- Do not disturb: mode page section title [CHAR LIMIT=80] -->
- <string name="mode_interruption_filter_title">Notifications that can reach you</string>
+ <string name="mode_interruption_filter_title">Stay focused</string>
<!-- Do not disturb: mode page section title [CHAR LIMIT=80] -->
<string name="mode_device_effects_title">Additional actions</string>
@@ -8047,7 +8060,10 @@
other {{effect_1}, {effect_2}, and # more}
}
</string>
-
+ <!-- Modes: setting for whether the mode should filter (silence/hide) notifications/volume streams -->
+ <string name="mode_notification_filter_title">Filter interruptions</string>
+ <!-- Modes: subtext when a mode is not filtering (silence/hide) notifications/volume streams -->
+ <string name="mode_no_notification_filter">No interruptions are filtered</string>
<!-- Do not disturb: restrict notifications settings title [CHAR LIMIT=80] -->
<string name="zen_mode_restrict_notifications_title">Display options for filtered
diff --git a/res/xml/adb_wireless_settings.xml b/res/xml/adb_wireless_settings.xml
index 7d37207..4bf5544 100644
--- a/res/xml/adb_wireless_settings.xml
+++ b/res/xml/adb_wireless_settings.xml
@@ -53,7 +53,7 @@
settings:controller="com.android.settings.development.AdbQrCodePreferenceController"/>
<Preference
android:key="adb_pair_method_code_pref"
- android:icon="@drawable/ic_password"
+ android:icon="@drawable/ic_password_adb_wireless"
android:title="@string/adb_pair_method_code_title"
android:summary="@string/adb_pair_method_code_summary"/>
</PreferenceCategory>
diff --git a/res/xml/modes_rule_settings.xml b/res/xml/modes_rule_settings.xml
index cf090be..0df9f80 100644
--- a/res/xml/modes_rule_settings.xml
+++ b/res/xml/modes_rule_settings.xml
@@ -35,13 +35,18 @@
<PreferenceCategory
android:title="@string/mode_interruption_filter_title"
android:key="modes_filters">
+
+ <SwitchPreferenceCompat
+ android:key="allow_filtering"
+ android:title="@string/mode_notification_filter_title"/>
+
<Preference
android:key="zen_mode_people"
android:title="@string/zen_category_people"/>
<Preference
android:key="zen_mode_apps"
- android:title="@string/zen_category_apps" />
+ android:title="@string/zen_category_apps"/>
<Preference
android:key="zen_other_settings"
diff --git a/src/com/android/settings/ResetNetworkRequest.java b/src/com/android/settings/ResetNetworkRequest.java
index 7632ea0..8df67e7 100644
--- a/src/com/android/settings/ResetNetworkRequest.java
+++ b/src/com/android/settings/ResetNetworkRequest.java
@@ -271,12 +271,12 @@
builder.resetIms(mSubscriptionIdToResetIms);
}
// Reset phone process and RILD may impact above components, keep them at the end
- if ((mResetOptions & RESET_PHONE_PROCESS) != 0) {
- builder.restartPhoneProcess();
- }
if ((mResetOptions & RESET_RILD) != 0) {
builder.restartRild();
}
+ if ((mResetOptions & RESET_PHONE_PROCESS) != 0) {
+ builder.restartPhoneProcess();
+ }
return builder;
}
}
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java b/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
index 30e86fe..4ff7136 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
@@ -19,13 +19,16 @@
import static android.media.Spatializer.SPATIALIZER_IMMERSIVE_LEVEL_NONE;
import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothProfile;
import android.content.Context;
import android.media.AudioDeviceAttributes;
import android.media.AudioDeviceInfo;
+import android.media.AudioManager;
import android.media.Spatializer;
import android.text.TextUtils;
import android.util.Log;
+import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
@@ -37,9 +40,14 @@
import com.android.settings.R;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothProfile;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.flags.Flags;
import com.android.settingslib.utils.ThreadUtils;
+import com.google.common.collect.ImmutableSet;
+
+import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
/**
@@ -53,22 +61,27 @@
private static final String KEY_SPATIAL_AUDIO = "spatial_audio";
private static final String KEY_HEAD_TRACKING = "head_tracking";
+ private final AudioManager mAudioManager;
private final Spatializer mSpatializer;
@VisibleForTesting
PreferenceCategory mProfilesContainer;
- @VisibleForTesting
- AudioDeviceAttributes mAudioDevice = null;
+ @VisibleForTesting @Nullable AudioDeviceAttributes mAudioDevice = null;
AtomicBoolean mHasHeadTracker = new AtomicBoolean(false);
AtomicBoolean mInitialRefresh = new AtomicBoolean(true);
+ public static final Set<Integer> SA_PROFILES =
+ ImmutableSet.of(
+ BluetoothProfile.A2DP, BluetoothProfile.LE_AUDIO, BluetoothProfile.HEARING_AID);
+
public BluetoothDetailsSpatialAudioController(
Context context,
PreferenceFragmentCompat fragment,
CachedBluetoothDevice device,
Lifecycle lifecycle) {
super(context, fragment, device, lifecycle);
+ mAudioManager = context.getSystemService(AudioManager.class);
mSpatializer = FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider()
.getSpatializer(context);
}
@@ -142,8 +155,12 @@
@Override
protected void refresh() {
- if (mAudioDevice == null) {
- getAvailableDevice();
+ if (Flags.enableDeterminingSpatialAudioAttributesByProfile()) {
+ getAvailableDeviceByProfileState();
+ } else {
+ if (mAudioDevice == null) {
+ getAvailableDevice();
+ }
}
ThreadUtils.postOnBackgroundThread(
() -> {
@@ -274,6 +291,77 @@
+ ", type : " + (mAudioDevice == null ? "no type" : mAudioDevice.getType()));
}
+ private void getAvailableDeviceByProfileState() {
+ Log.i(
+ TAG,
+ "getAvailableDevice() mCachedDevice: "
+ + mCachedDevice
+ + " profiles: "
+ + mCachedDevice.getProfiles());
+
+ AudioDeviceAttributes saDevice = null;
+ for (LocalBluetoothProfile profile : mCachedDevice.getProfiles()) {
+ // pick first enabled profile that is compatible with spatial audio
+ if (SA_PROFILES.contains(profile.getProfileId())
+ && profile.isEnabled(mCachedDevice.getDevice())) {
+ switch (profile.getProfileId()) {
+ case BluetoothProfile.A2DP:
+ saDevice =
+ new AudioDeviceAttributes(
+ AudioDeviceAttributes.ROLE_OUTPUT,
+ AudioDeviceInfo.TYPE_BLUETOOTH_A2DP,
+ mCachedDevice.getAddress());
+ break;
+ case BluetoothProfile.LE_AUDIO:
+ if (mAudioManager.getBluetoothAudioDeviceCategory(
+ mCachedDevice.getAddress())
+ == AudioManager.AUDIO_DEVICE_CATEGORY_SPEAKER) {
+ saDevice =
+ new AudioDeviceAttributes(
+ AudioDeviceAttributes.ROLE_OUTPUT,
+ AudioDeviceInfo.TYPE_BLE_SPEAKER,
+ mCachedDevice.getAddress());
+ } else {
+ saDevice =
+ new AudioDeviceAttributes(
+ AudioDeviceAttributes.ROLE_OUTPUT,
+ AudioDeviceInfo.TYPE_BLE_HEADSET,
+ mCachedDevice.getAddress());
+ }
+
+ break;
+ case BluetoothProfile.HEARING_AID:
+ saDevice =
+ new AudioDeviceAttributes(
+ AudioDeviceAttributes.ROLE_OUTPUT,
+ AudioDeviceInfo.TYPE_HEARING_AID,
+ mCachedDevice.getAddress());
+ break;
+ default:
+ Log.i(
+ TAG,
+ "unrecognized profile for spatial audio: "
+ + profile.getProfileId());
+ break;
+ }
+ break;
+ }
+ }
+ mAudioDevice = null;
+ if (saDevice != null && mSpatializer.isAvailableForDevice(saDevice)) {
+ mAudioDevice = saDevice;
+ }
+
+ Log.d(
+ TAG,
+ "getAvailableDevice() device : "
+ + mCachedDevice.getDevice().getAnonymizedAddress()
+ + ", is available : "
+ + (mAudioDevice != null)
+ + ", type : "
+ + (mAudioDevice == null ? "no type" : mAudioDevice.getType()));
+ }
+
@VisibleForTesting
void setAvailableDevice(AudioDeviceAttributes audioDevice) {
mAudioDevice = audioDevice;
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
index b932a7e..cc883fe 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
@@ -18,6 +18,7 @@
import static com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast.EXTRA_BLUETOOTH_DEVICE;
+import android.app.settings.SettingsEnums;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothLeBroadcastAssistant;
@@ -44,6 +45,7 @@
import com.android.settings.connecteddevice.DevicePreferenceCallback;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.bluetooth.A2dpProfile;
import com.android.settingslib.bluetooth.BluetoothCallback;
import com.android.settingslib.bluetooth.BluetoothEventManager;
@@ -56,6 +58,7 @@
import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import java.util.Locale;
import java.util.concurrent.Executor;
@@ -80,6 +83,7 @@
@Nullable private final LocalBluetoothProfileManager mProfileManager;
@Nullable private final LocalBluetoothLeBroadcastAssistant mAssistant;
private final Executor mExecutor;
+ private final MetricsFeatureProvider mMetricsFeatureProvider;
@Nullable private PreferenceGroup mPreferenceGroup;
@Nullable private Preference mAudioSharingSettingsPreference;
@Nullable private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
@@ -114,6 +118,10 @@
@NonNull BluetoothDevice sink,
@NonNull BluetoothLeBroadcastMetadata source,
int reason) {
+ mMetricsFeatureProvider.action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_JOIN_FAILED,
+ SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
AudioSharingUtils.toastMessage(
mContext,
String.format(
@@ -143,6 +151,10 @@
@Override
public void onSourceRemoveFailed(
@NonNull BluetoothDevice sink, int sourceId, int reason) {
+ mMetricsFeatureProvider.action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_LEAVE_FAILED,
+ SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
AudioSharingUtils.toastMessage(
mContext,
String.format(
@@ -183,6 +195,7 @@
? null
: mProfileManager.getLeAudioBroadcastAssistantProfile();
mExecutor = Executors.newSingleThreadExecutor();
+ mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
}
@Override
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java
index 8d69cf6..15e3de9 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java
@@ -60,7 +60,9 @@
@Nullable private final LocalBluetoothLeBroadcast mBroadcast;
@Nullable private final LocalBluetoothLeBroadcastAssistant mAssistant;
private final MetricsFeatureProvider mMetricsFeatureProvider;
- private List<BluetoothDevice> mTargetSinks = new ArrayList<>();
+ // The target sinks to join broadcast onPlaybackStarted
+ @Nullable private List<BluetoothDevice> mTargetSinks;
+ private boolean mIsStoppingBroadcast = false;
@VisibleForTesting
final BluetoothLeBroadcast.Callback mBroadcastCallback =
@@ -78,8 +80,15 @@
@Override
public void onBroadcastStartFailed(int reason) {
Log.d(TAG, "onBroadcastStartFailed(), reason = " + reason);
- AudioSharingUtils.toastMessage(
- mContext, "Fail to start broadcast, reason " + reason);
+ if (mTargetSinks != null) {
+ mMetricsFeatureProvider.action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_START_FAILED,
+ SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
+ AudioSharingUtils.toastMessage(
+ mContext, "Fail to start broadcast, reason " + reason);
+ mTargetSinks = null;
+ }
}
@Override
@@ -101,13 +110,21 @@
+ reason
+ ", broadcastId = "
+ broadcastId);
+ mIsStoppingBroadcast = false;
}
@Override
public void onBroadcastStopFailed(int reason) {
Log.d(TAG, "onBroadcastStopFailed(), reason = " + reason);
- AudioSharingUtils.toastMessage(
- mContext, "Fail to stop broadcast, reason " + reason);
+ if (mIsStoppingBroadcast) {
+ mMetricsFeatureProvider.action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_STOP_FAILED,
+ SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
+ AudioSharingUtils.toastMessage(
+ mContext, "Fail to stop broadcast, reason " + reason);
+ mIsStoppingBroadcast = false;
+ }
}
@Override
@@ -124,7 +141,7 @@
+ reason
+ ", broadcastId = "
+ broadcastId);
- if (!mTargetSinks.isEmpty()) {
+ if (mTargetSinks != null) {
AudioSharingUtils.addSourceToTargetSinks(mTargetSinks, mLocalBtManager);
new SubSettingLauncher(mContext)
.setDestination(AudioSharingDashboardFragment.class.getName())
@@ -134,7 +151,7 @@
.getMetricsCategory()
: SettingsEnums.PAGE_UNKNOWN)
.launch();
- mTargetSinks = new ArrayList<>();
+ mTargetSinks = null;
}
}
@@ -203,6 +220,7 @@
AudioSharingStopDialogFragment.DialogEventListener listener =
() -> {
cachedDevice.setActive();
+ mIsStoppingBroadcast = true;
AudioSharingUtils.stopBroadcasting(mLocalBtManager);
};
Pair<Integer, Object>[] eventData =
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
index 59593ba..b8da290 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
@@ -140,6 +140,13 @@
return sCachedDevice;
}
+ /** Test only: get the {@link DialogEventListener} passed to the dialog. */
+ @VisibleForTesting
+ @Nullable
+ DialogEventListener getListener() {
+ return sListener;
+ }
+
/** Test only: get the event data passed to the dialog. */
@VisibleForTesting
@NonNull
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
index 89d2c95..9705566 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
@@ -134,8 +134,11 @@
@Override
public void onBroadcastStartFailed(int reason) {
Log.d(TAG, "onBroadcastStartFailed(), reason = " + reason);
- // TODO: handle broadcast start fail
updateSwitch();
+ mMetricsFeatureProvider.action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_START_FAILED,
+ SettingsEnums.AUDIO_SHARING_SETTINGS);
}
@Override
@@ -164,8 +167,11 @@
@Override
public void onBroadcastStopFailed(int reason) {
Log.d(TAG, "onBroadcastStopFailed(), reason = " + reason);
- // TODO: handle broadcast stop fail
updateSwitch();
+ mMetricsFeatureProvider.action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_STOP_FAILED,
+ SettingsEnums.AUDIO_SHARING_SETTINGS);
}
@Override
@@ -189,7 +195,8 @@
public void onPlaybackStopped(int reason, int broadcastId) {}
};
- private final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+ @VisibleForTesting
+ final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
new BluetoothLeBroadcastAssistant.Callback() {
@Override
public void onSearchStarted(int reason) {}
@@ -207,16 +214,8 @@
public void onSourceFound(@NonNull BluetoothLeBroadcastMetadata source) {}
@Override
- public void onSourceAdded(@NonNull BluetoothDevice sink, int sourceId, int reason) {
- Log.d(
- TAG,
- "onSourceAdded(), sink = "
- + sink
- + ", sourceId = "
- + sourceId
- + ", reason = "
- + reason);
- }
+ public void onSourceAdded(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {}
@Override
public void onSourceAddFailed(
@@ -231,6 +230,10 @@
+ source
+ ", reason = "
+ reason);
+ mMetricsFeatureProvider.action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_JOIN_FAILED,
+ SettingsEnums.AUDIO_SHARING_SETTINGS);
AudioSharingUtils.toastMessage(
mContext,
String.format(
@@ -318,15 +321,17 @@
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// Filter out unnecessary callbacks when switch is disabled.
if (!buttonView.isEnabled()) return;
+ if (mBroadcast == null || mAssistant == null) {
+ mSwitchBar.setChecked(false);
+ Log.d(TAG, "Skip onCheckedChanged, profile not support.");
+ return;
+ }
+ mSwitchBar.setEnabled(false);
+ boolean isBroadcasting = AudioSharingUtils.isBroadcasting(mBtManager);
if (isChecked) {
- mSwitchBar.setEnabled(false);
- boolean isBroadcasting = AudioSharingUtils.isBroadcasting(mBtManager);
- if (mAssistant == null || mBroadcast == null || isBroadcasting) {
- Log.d(TAG, "Skip startAudioSharing, already broadcasting or not support.");
+ if (isBroadcasting) {
+ Log.d(TAG, "Skip startAudioSharing, already broadcasting.");
mSwitchBar.setEnabled(true);
- if (!isBroadcasting) {
- mSwitchBar.setChecked(false);
- }
return;
}
// FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST is always true in
@@ -352,6 +357,11 @@
}
startAudioSharing();
} else {
+ if (!isBroadcasting) {
+ Log.d(TAG, "Skip stopAudioSharing, already not broadcasting.");
+ mSwitchBar.setEnabled(true);
+ return;
+ }
stopAudioSharing();
}
}
@@ -454,18 +464,18 @@
}
if (mBroadcast != null) {
mBroadcast.startPrivateBroadcast();
+ mMetricsFeatureProvider.action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_MAIN_SWITCH_ON,
+ deviceItems.size());
}
}
private void stopAudioSharing() {
- mSwitchBar.setEnabled(false);
- if (!AudioSharingUtils.isBroadcasting(mBtManager)) {
- Log.d(TAG, "Skip stopAudioSharing, already not broadcasting or broadcast not support.");
- mSwitchBar.setEnabled(true);
- return;
- }
if (mBroadcast != null) {
mBroadcast.stopBroadcast(mBroadcast.getLatestBroadcastId());
+ mMetricsFeatureProvider.action(
+ mContext, SettingsEnums.ACTION_AUDIO_SHARING_MAIN_SWITCH_OFF);
}
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java
index 6d297f4..f812e06 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java
@@ -75,6 +75,10 @@
public void onSourceLost(int broadcastId) {
super.onSourceLost(broadcastId);
if (broadcastId == mBroadcastId) {
+ Log.d(TAG, "onSourceLost() : stopSelf");
+ if (mNotificationManager != null) {
+ mNotificationManager.cancel(NOTIFICATION_ID);
+ }
stopSelf();
}
}
@@ -86,6 +90,10 @@
&& mAudioStreamsHelper.getAllConnectedSources().stream()
.map(BluetoothLeBroadcastReceiveState::getBroadcastId)
.noneMatch(id -> id == mBroadcastId)) {
+ Log.d(TAG, "onSourceRemoved() : stopSelf");
+ if (mNotificationManager != null) {
+ mNotificationManager.cancel(NOTIFICATION_ID);
+ }
stopSelf();
}
}
@@ -96,6 +104,10 @@
@Override
public void onBluetoothStateChanged(int bluetoothState) {
if (BluetoothAdapter.STATE_OFF == bluetoothState) {
+ Log.d(TAG, "onBluetoothStateChanged() : stopSelf");
+ if (mNotificationManager != null) {
+ mNotificationManager.cancel(NOTIFICATION_ID);
+ }
stopSelf();
}
}
@@ -120,6 +132,10 @@
});
}
if (mDevices == null || mDevices.isEmpty()) {
+ Log.d(TAG, "onProfileConnectionStateChanged() : stopSelf");
+ if (mNotificationManager != null) {
+ mNotificationManager.cancel(NOTIFICATION_ID);
+ }
stopSelf();
}
}
@@ -246,21 +262,27 @@
@Override
public void onDestroy() {
+ Log.d(TAG, "onDestroy()");
super.onDestroy();
if (!AudioSharingUtils.isFeatureEnabled()) {
+ Log.d(TAG, "onDestroy() : skip due to feature not enabled");
return;
}
if (mLocalBtManager != null) {
+ Log.d(TAG, "onDestroy() : unregister mBluetoothCallback");
mLocalBtManager.getEventManager().unregisterCallback(mBluetoothCallback);
}
if (mLeBroadcastAssistant != null) {
+ Log.d(TAG, "onDestroy() : unregister mBroadcastAssistantCallback");
mLeBroadcastAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
}
if (mVolumeControl != null) {
+ Log.d(TAG, "onDestroy() : unregister mVolumeControlCallback");
mVolumeControl.unregisterCallback(mVolumeControlCallback);
}
if (mLocalSession != null) {
+ Log.d(TAG, "onDestroy() : release mLocalSession");
mLocalSession.release();
mLocalSession = null;
}
@@ -273,6 +295,9 @@
mBroadcastId = intent != null ? intent.getIntExtra(BROADCAST_ID, -1) : -1;
if (mBroadcastId == -1) {
Log.w(TAG, "Invalid broadcast ID. Service will not start.");
+ if (mNotificationManager != null) {
+ mNotificationManager.cancel(NOTIFICATION_ID);
+ }
stopSelf();
return START_NOT_STICKY;
}
@@ -282,6 +307,9 @@
}
if (mDevices == null || mDevices.isEmpty()) {
Log.w(TAG, "No device. Service will not start.");
+ if (mNotificationManager != null) {
+ mNotificationManager.cancel(NOTIFICATION_ID);
+ }
stopSelf();
return START_NOT_STICKY;
}
diff --git a/src/com/android/settings/datausage/lib/BillingCycleRepository.kt b/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
index d324c75..59c853d 100644
--- a/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
+++ b/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
@@ -21,7 +21,7 @@
import android.os.ServiceManager
import android.util.Log
import androidx.annotation.OpenForTesting
-import com.android.settings.network.telephony.TelephonyRepository
+import com.android.settings.network.telephony.MobileDataRepository
import com.android.settingslib.spaprivileged.framework.common.userManager
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
@@ -36,13 +36,13 @@
INetworkManagementService.Stub.asInterface(
ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE)
),
- private val telephonyRepository: TelephonyRepository = TelephonyRepository(context),
+ private val mobileDataRepository: MobileDataRepository = MobileDataRepository(context),
) {
private val userManager = context.userManager
fun isModifiableFlow(subId: Int): Flow<Boolean> =
- telephonyRepository.isDataEnabledFlow(subId).map { isDataEnabled ->
- isDataEnabled && isBandwidthControlEnabled() && userManager.isAdminUser
+ mobileDataRepository.isMobileDataEnabledFlow(subId).map { mobileDataEnabled ->
+ mobileDataEnabled && isBandwidthControlEnabled() && userManager.isAdminUser
}.conflate().flowOn(Dispatchers.Default)
open fun isBandwidthControlEnabled(): Boolean = try {
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeDao.kt b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeDao.kt
index 79c9d00..4151a5b 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeDao.kt
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeDao.kt
@@ -21,11 +21,9 @@
import androidx.room.OnConflictStrategy;
import androidx.room.Query;
-import java.util.List;
-
/** DAO for accessing {@link BatteryReattributeEntity} in the database. */
@Dao
-public interface BatteryReattributeDao {
+interface BatteryReattributeDao {
/** Inserts a {@link BatteryReattributeEntity} data into the database. */
@Insert(onConflict = OnConflictStrategy.REPLACE)
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java
index 1a0c087..0ee2260 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java
@@ -18,14 +18,14 @@
import static com.android.settings.fuelgauge.batteryusage.ConvertUtils.utcToLocalTimeForLogging;
-import com.android.settings.fuelgauge.batteryusage.BatteryReattribute;
-import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
-
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
+import com.android.settings.fuelgauge.batteryusage.BatteryReattribute;
+import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
+
/** A {@link Entity} for battery usage reattribution data in the database. */
@Entity
public class BatteryReattributeEntity {
@@ -38,7 +38,7 @@
public final long timestampEnd;
/** The battery usage reattribution data for corresponding uids. */
- public final String reattributeData;
+ @NonNull public final String reattributeData;
public BatteryReattributeEntity(@NonNull BatteryReattribute batteryReattribute) {
this(
diff --git a/src/com/android/settings/network/InternetPreferenceControllerV2.kt b/src/com/android/settings/network/InternetPreferenceControllerV2.kt
index a181abd..3c79342 100644
--- a/src/com/android/settings/network/InternetPreferenceControllerV2.kt
+++ b/src/com/android/settings/network/InternetPreferenceControllerV2.kt
@@ -28,7 +28,7 @@
class InternetPreferenceControllerV2(context: Context, preferenceKey: String) :
BasePreferenceController(context, preferenceKey) {
- private val repository = InternetPreferenceRepository(mContext)
+ private val repository by lazy { InternetPreferenceRepository(mContext) }
private var preference: Preference? = null
override fun getAvailabilityStatus() =
diff --git a/src/com/android/settings/network/MobileDataEnabledFlow.kt b/src/com/android/settings/network/MobileDataEnabledFlow.kt
deleted file mode 100644
index 1f995a9..0000000
--- a/src/com/android/settings/network/MobileDataEnabledFlow.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network
-
-import android.content.Context
-import android.provider.Settings
-import android.telephony.SubscriptionManager
-import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalChangeFlow
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.merge
-
-/**
- * Flow for mobile data enabled changed event.
- *
- * Note: This flow can only notify enabled status changes, cannot provide the latest status.
- */
-fun Context.mobileDataEnabledFlow(subId: Int, sendInitialValue: Boolean = true): Flow<Unit> {
- val flow = settingsGlobalChangeFlow(Settings.Global.MOBILE_DATA, sendInitialValue)
- return when (subId) {
- SubscriptionManager.INVALID_SUBSCRIPTION_ID -> flow
- else -> {
- val subIdFlow = settingsGlobalChangeFlow(
- name = Settings.Global.MOBILE_DATA + subId,
- sendInitialValue = false,
- )
- merge(flow, subIdFlow)
- }
- }
-}
diff --git a/src/com/android/settings/network/ResetNetworkOperationBuilder.java b/src/com/android/settings/network/ResetNetworkOperationBuilder.java
index 6f36074..47c06d4 100644
--- a/src/com/android/settings/network/ResetNetworkOperationBuilder.java
+++ b/src/com/android/settings/network/ResetNetworkOperationBuilder.java
@@ -18,6 +18,7 @@
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothManager;
+import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.Context;
import android.net.ConnectivityManager;
@@ -28,11 +29,14 @@
import android.net.wifi.p2p.WifiP2pManager;
import android.os.Looper;
import android.os.RecoverySystem;
+import android.os.RemoteException;
import android.os.SystemClock;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;
+import androidx.annotation.Nullable;
+
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.ResetNetworkRequest;
@@ -257,15 +261,15 @@
*/
public ResetNetworkOperationBuilder restartPhoneProcess() {
Runnable runnable = () -> {
- try {
- mContext.getContentResolver().call(
- getResetTelephonyContentProviderAuthority(),
- METHOD_RESTART_PHONE_PROCESS,
- /* arg= */ null,
- /* extras= */ null);
- Log.i(TAG, "Phone process was restarted.");
- } catch (IllegalArgumentException iae) {
- Log.w(TAG, "Fail to restart phone process: " + iae);
+ // Unstable content provider can avoid us getting killed together with phone process
+ try (ContentProviderClient client = getUnstableTelephonyContentProviderClient()) {
+ if (client != null) {
+ client.call(METHOD_RESTART_PHONE_PROCESS, /* arg= */ null, /* extra= */ null);
+ Log.i(TAG, "Phone process was restarted.");
+ }
+ } catch (RemoteException re) {
+ // It's normal to throw RE since phone process immediately dies
+ Log.i(TAG, "Phone process has been restarted: " + re);
}
};
mResetSequence.add(runnable);
@@ -279,15 +283,13 @@
*/
public ResetNetworkOperationBuilder restartRild() {
Runnable runnable = () -> {
- try {
- mContext.getContentResolver().call(
- getResetTelephonyContentProviderAuthority(),
- METHOD_RESTART_RILD,
- /* arg= */ null,
- /* extras= */ null);
- Log.i(TAG, "RILD was restarted.");
- } catch (IllegalArgumentException iae) {
- Log.w(TAG, "Fail to restart RILD: " + iae);
+ try (ContentProviderClient client = getUnstableTelephonyContentProviderClient()) {
+ if (client != null) {
+ client.call(METHOD_RESTART_RILD, /* arg= */ null, /* extra= */ null);
+ Log.i(TAG, "RILD was restarted.");
+ }
+ } catch (RemoteException re) {
+ Log.w(TAG, "Fail to restart RILD: " + re);
}
};
mResetSequence.add(runnable);
@@ -322,9 +324,18 @@
* @return the authority of the telephony content provider that support methods
* resetPhoneProcess and resetRild.
*/
- @VisibleForTesting
- String getResetTelephonyContentProviderAuthority() {
+ private String getResetTelephonyContentProviderAuthority() {
return mContext.getResources().getString(
R.string.reset_telephony_stack_content_provider_authority);
}
+
+ /**
+ * @return the unstable content provider to avoid us getting killed with phone process
+ */
+ @Nullable
+ @VisibleForTesting
+ public ContentProviderClient getUnstableTelephonyContentProviderClient() {
+ return mContext.getContentResolver().acquireUnstableContentProviderClient(
+ getResetTelephonyContentProviderAuthority());
+ }
}
diff --git a/src/com/android/settings/network/SimOnboardingService.kt b/src/com/android/settings/network/SimOnboardingService.kt
index f6c6065..ea0b5ac 100644
--- a/src/com/android/settings/network/SimOnboardingService.kt
+++ b/src/com/android/settings/network/SimOnboardingService.kt
@@ -27,9 +27,8 @@
import android.telephony.UiccSlotInfo
import android.util.Log
import com.android.settings.network.SimOnboardingActivity.Companion.CallbackType
-import com.android.settings.network.telephony.TelephonyRepository
+import com.android.settings.network.telephony.MobileDataRepository
import com.android.settings.sim.SimActivationNotifier
-import com.android.settings.spa.network.setAutomaticData
import com.android.settings.spa.network.setDefaultData
import com.android.settings.spa.network.setDefaultSms
import com.android.settings.spa.network.setDefaultVoice
@@ -366,7 +365,7 @@
wifiPickerTrackerHelper,
targetPrimarySimMobileData
)
- TelephonyRepository(context).setAutomaticData(
+ MobileDataRepository(context).setAutoDataSwitch(
targetNonDds,
targetPrimarySimAutoDataSwitch.value
)
diff --git a/src/com/android/settings/network/apn/ApnEditCarrierEnabled.kt b/src/com/android/settings/network/apn/ApnEditCarrierEnabled.kt
new file mode 100644
index 0000000..bd58da8
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnEditCarrierEnabled.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2024 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.settings.network.apn
+
+import android.provider.Telephony
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.res.booleanResource
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settingslib.spa.widget.preference.SwitchPreference
+import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
+
+@Composable
+fun ApnEditCarrierEnabled(apnData: ApnData, onCarrierEnabledChanged: (Boolean) -> Unit) {
+ SwitchPreference(
+ object : SwitchPreferenceModel {
+ override val title = stringResource(R.string.carrier_enabled)
+ val allowEdit = booleanResource(R.bool.config_allow_edit_carrier_enabled)
+ override val changeable = {
+ allowEdit && apnData.isFieldEnabled(Telephony.Carriers.CARRIER_ENABLED)
+ }
+ override val checked = { apnData.carrierEnabled }
+ override val onCheckedChange = onCarrierEnabledChanged
+ }
+ )
+}
diff --git a/src/com/android/settings/network/apn/ApnEditPageProvider.kt b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
index 099e2fa..5442082 100644
--- a/src/com/android/settings/network/apn/ApnEditPageProvider.kt
+++ b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
@@ -235,19 +235,7 @@
enabled = apnData.isFieldEnabled(Telephony.Carriers.ROAMING_PROTOCOL),
) { apnData = apnData.copy(apnRoaming = it) }
ApnNetworkTypeCheckBox(apnData) { apnData = apnData.copy(networkType = it) }
- SwitchPreference(
- object : SwitchPreferenceModel {
- override val title = stringResource(R.string.carrier_enabled)
- override val changeable = {
- apnData.apnEnableEnabled &&
- apnData.isFieldEnabled(Telephony.Carriers.CARRIER_ENABLED)
- }
- override val checked = { apnData.apnEnable }
- override val onCheckedChange = { newChecked: Boolean ->
- apnData = apnData.copy(apnEnable = newChecked)
- }
- }
- )
+ ApnEditCarrierEnabled(apnData) { apnData = apnData.copy(carrierEnabled = it) }
}
}
}
\ No newline at end of file
diff --git a/src/com/android/settings/network/apn/ApnRepository.kt b/src/com/android/settings/network/apn/ApnRepository.kt
index 2d41976..8433715 100644
--- a/src/com/android/settings/network/apn/ApnRepository.kt
+++ b/src/com/android/settings/network/apn/ApnRepository.kt
@@ -90,7 +90,7 @@
apnRoaming = context.convertProtocol2Options(
cursor.getString(Telephony.Carriers.ROAMING_PROTOCOL)
),
- apnEnable = cursor.getInt(Telephony.Carriers.CARRIER_ENABLED) == 1,
+ carrierEnabled = cursor.getInt(Telephony.Carriers.CARRIER_ENABLED) == 1,
networkType = cursor.getLong(Telephony.Carriers.NETWORK_TYPE_BITMASK),
edited = cursor.getInt(Telephony.Carriers.EDITED_STATUS),
userEditable = cursor.getInt(Telephony.Carriers.USER_EDITABLE),
diff --git a/src/com/android/settings/network/apn/ApnStatus.kt b/src/com/android/settings/network/apn/ApnStatus.kt
index dc50452..6492d39 100644
--- a/src/com/android/settings/network/apn/ApnStatus.kt
+++ b/src/com/android/settings/network/apn/ApnStatus.kt
@@ -44,11 +44,10 @@
val apnType: String = "",
val apnProtocol: Int = -1,
val apnRoaming: Int = -1,
- val apnEnable: Boolean = true,
+ val carrierEnabled: Boolean = true,
val networkType: Long = 0,
val edited: Int = Telephony.Carriers.USER_EDITED,
val userEditable: Int = 1,
- val apnEnableEnabled: Boolean = true,
val newApn: Boolean = false,
val subId: Int = -1,
val validEnabled: Boolean = false,
@@ -72,7 +71,7 @@
Telephony.Carriers.NETWORK_TYPE_BITMASK to networkType,
// Copy network type into lingering network type.
Telephony.Carriers.LINGERING_NETWORK_TYPE_BITMASK to networkType,
- Telephony.Carriers.CARRIER_ENABLED to apnEnable,
+ Telephony.Carriers.CARRIER_ENABLED to carrierEnabled,
Telephony.Carriers.EDITED_STATUS to Telephony.Carriers.USER_EDITED,
)
@@ -134,10 +133,6 @@
)
}
- apnDataInit = apnDataInit.copy(
- apnEnableEnabled =
- context.resources.getBoolean(R.bool.config_allow_edit_carrier_enabled)
- )
// TODO: mIsCarrierIdApn
return disableInit(apnDataInit)
}
diff --git a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
index e14d5f8..445597f 100644
--- a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
@@ -22,7 +22,6 @@
import android.telephony.data.ApnSetting
import androidx.lifecycle.LifecycleOwner
import androidx.preference.PreferenceScreen
-import com.android.settings.network.mobileDataEnabledFlow
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
import kotlinx.coroutines.flow.combine
@@ -71,7 +70,7 @@
override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
combine(
- mContext.mobileDataEnabledFlow(mSubId),
+ MobileDataRepository(mContext).mobileDataEnabledChangedFlow(mSubId),
mContext.subscriptionsChangedFlow(), // Capture isMobileDataPolicyEnabled() changes
) { _, _ -> }.collectLatestWithLifecycle(viewLifecycleOwner) {
preferenceScreen?.let { super.displayPreference(it) }
diff --git a/src/com/android/settings/network/telephony/MobileDataRepository.kt b/src/com/android/settings/network/telephony/MobileDataRepository.kt
new file mode 100644
index 0000000..46f814b
--- /dev/null
+++ b/src/com/android/settings/network/telephony/MobileDataRepository.kt
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2024 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.settings.network.telephony
+
+import android.content.Context
+import android.provider.Settings
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.telephony.TelephonyManager.MobileDataPolicy
+import android.util.Log
+import com.android.settings.wifi.WifiPickerTrackerHelper
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalChangeFlow
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.catch
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.merge
+import kotlinx.coroutines.flow.onEach
+
+class MobileDataRepository(
+ private val context: Context,
+ private val subscriptionsChangedFlow: Flow<Unit> = context.subscriptionsChangedFlow(),
+) {
+ fun isMobileDataPolicyEnabledFlow(subId: Int, @MobileDataPolicy policy: Int): Flow<Boolean> {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
+ val telephonyManager = context.telephonyManager(subId)
+ return subscriptionsChangedFlow
+ .map { telephonyManager.isMobileDataPolicyEnabled(policy) }
+ .distinctUntilChanged()
+ .conflate()
+ .onEach { Log.d(TAG, "[$subId] isMobileDataPolicyEnabled($policy): $it") }
+ .flowOn(Dispatchers.Default)
+ }
+
+ fun setMobileDataPolicyEnabled(subId: Int, @MobileDataPolicy policy: Int, enabled: Boolean) {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return
+ Log.d(TAG, "[$subId] setMobileDataPolicyEnabled($policy): $enabled")
+ context.telephonyManager(subId).setMobileDataPolicyEnabled(policy, enabled)
+ }
+
+ fun setAutoDataSwitch(subId: Int, newEnabled: Boolean) {
+ setMobileDataPolicyEnabled(
+ subId = subId,
+ policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+ enabled = newEnabled,
+ )
+ }
+
+ /**
+ * Flow for mobile data enabled changed event.
+ *
+ * Note: This flow can only notify enabled status changes, cannot provide the latest status.
+ */
+ fun mobileDataEnabledChangedFlow(subId: Int, sendInitialValue: Boolean = true): Flow<Unit> =
+ mobileSettingsGlobalChangedFlow(Settings.Global.MOBILE_DATA, subId, sendInitialValue)
+
+ private fun mobileSettingsGlobalChangedFlow(
+ name: String,
+ subId: Int,
+ sendInitialValue: Boolean = true,
+ ): Flow<Unit> {
+ val flow = context.settingsGlobalChangeFlow(name, sendInitialValue)
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return flow
+ val subIdFlow =
+ context.settingsGlobalChangeFlow(name = name + subId, sendInitialValue = false)
+ return merge(flow, subIdFlow)
+ }
+
+ fun isMobileDataEnabledFlow(subId: Int): Flow<Boolean> {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
+ val telephonyManager = context.telephonyManager(subId)
+ return mobileDataEnabledChangedFlow(subId)
+ .map {
+ telephonyManager.isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
+ }
+ .catch { e ->
+ Log.w(TAG, "[$subId] isMobileDataEnabledFlow: exception", e)
+ emit(false)
+ }
+ .distinctUntilChanged()
+ .conflate()
+ .onEach { Log.d(TAG, "[$subId] isMobileDataEnabledFlow: $it") }
+ .flowOn(Dispatchers.Default)
+ }
+
+ fun setMobileDataEnabled(
+ subId: Int,
+ enabled: Boolean,
+ wifiPickerTrackerHelper: WifiPickerTrackerHelper? = null,
+ ) {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return
+
+ Log.d(TAG, "setMobileDataEnabled: $enabled")
+ MobileNetworkUtils.setMobileDataEnabled(
+ context, subId, enabled, /* disableOtherSubscriptions= */ true)
+
+ if (wifiPickerTrackerHelper != null &&
+ !wifiPickerTrackerHelper.isCarrierNetworkProvisionEnabled(subId)) {
+ wifiPickerTrackerHelper.setCarrierNetworkEnabled(enabled)
+ }
+ }
+
+ private companion object {
+ private const val TAG = "MobileDataRepository"
+ }
+}
diff --git a/src/com/android/settings/network/telephony/SatelliteSetting.java b/src/com/android/settings/network/telephony/SatelliteSetting.java
index 314fb3a..7e9e61d 100644
--- a/src/com/android/settings/network/telephony/SatelliteSetting.java
+++ b/src/com/android/settings/network/telephony/SatelliteSetting.java
@@ -92,6 +92,14 @@
}
mActivity = getActivity();
+
+ mSatelliteManager = mActivity.getSystemService(SatelliteManager.class);
+ if (mSatelliteManager == null) {
+ Log.d(TAG, "SatelliteManager is null, do nothing.");
+ finish();
+ return;
+ }
+
mSubId = mActivity.getIntent().getIntExtra(SUB_ID,
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
@@ -104,7 +112,6 @@
}
mTelephonymanager = mActivity.getSystemService(TelephonyManager.class);
- mSatelliteManager = mActivity.getSystemService(SatelliteManager.class);
}
@Override
diff --git a/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java b/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java
index 153698c..9ca0294 100644
--- a/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java
@@ -64,6 +64,10 @@
return UNSUPPORTED_ON_DEVICE;
}
+ if (mSatelliteManager == null) {
+ return UNSUPPORTED_ON_DEVICE;
+ }
+
final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(subId);
final boolean isSatelliteAttachSupported = carrierConfig.getBoolean(
CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL);
diff --git a/src/com/android/settings/network/telephony/TelephonyRepository.kt b/src/com/android/settings/network/telephony/TelephonyRepository.kt
index 7c334ee..3317c71 100644
--- a/src/com/android/settings/network/telephony/TelephonyRepository.kt
+++ b/src/com/android/settings/network/telephony/TelephonyRepository.kt
@@ -17,98 +17,16 @@
package com.android.settings.network.telephony
import android.content.Context
-import android.telephony.SubscriptionManager
import android.telephony.TelephonyCallback
import android.telephony.TelephonyManager
-import android.util.Log
-import com.android.settings.network.mobileDataEnabledFlow
-import com.android.settings.wifi.WifiPickerTrackerHelper
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.asExecutor
import kotlinx.coroutines.channels.ProducerScope
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow
-import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.conflate
-import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.flowOn
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.flow.onEach
-
-class TelephonyRepository(
- private val context: Context,
- private val subscriptionsChangedFlow: Flow<Unit> = context.subscriptionsChangedFlow(),
-) {
- fun isMobileDataPolicyEnabledFlow(
- subId: Int,
- @TelephonyManager.MobileDataPolicy policy: Int,
- ): Flow<Boolean> {
- if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
-
- val telephonyManager = context.telephonyManager(subId)
-
- return subscriptionsChangedFlow.map {
- telephonyManager.isMobileDataPolicyEnabled(policy)
- .also { Log.d(TAG, "[$subId] isMobileDataPolicyEnabled($policy): $it") }
- }.conflate().flowOn(Dispatchers.Default)
- }
-
- fun setMobileDataPolicyEnabled(
- subId: Int,
- @TelephonyManager.MobileDataPolicy policy: Int,
- enabled: Boolean,
- ) {
- if (!SubscriptionManager.isValidSubscriptionId(subId)) return
-
- val telephonyManager = context.telephonyManager(subId)
- Log.d(TAG, "[$subId] setMobileDataPolicyEnabled($policy): $enabled")
- telephonyManager.setMobileDataPolicyEnabled(policy, enabled)
- }
-
- fun isDataEnabledFlow(subId: Int): Flow<Boolean> {
- if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
-
- return context.mobileDataEnabledFlow(subId)
- .map {
- val telephonyManager = context.telephonyManager(subId)
- telephonyManager.isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
- }
- .catch {
- Log.w(TAG, "[$subId] isDataEnabledFlow: exception", it)
- emit(false)
- }
- .onEach { Log.d(TAG, "[$subId] isDataEnabledFlow: isDataEnabled() = $it") }
- .conflate()
- .flowOn(Dispatchers.Default)
- }
-
- fun setMobileData(
- subId: Int,
- enabled: Boolean,
- wifiPickerTrackerHelper: WifiPickerTrackerHelper? = null
- ) {
- if (!SubscriptionManager.isValidSubscriptionId(subId)) return
-
- Log.d(TAG, "setMobileData: $enabled")
- MobileNetworkUtils.setMobileDataEnabled(
- context,
- subId,
- enabled /* enabled */,
- true /* disableOtherSubscriptions */
- )
-
- if (wifiPickerTrackerHelper != null
- && !wifiPickerTrackerHelper.isCarrierNetworkProvisionEnabled(subId)
- ) {
- wifiPickerTrackerHelper.setCarrierNetworkEnabled(enabled)
- }
- }
-
- private companion object {
- private const val TAG = "TelephonyRepository"
- }
-}
/** Creates an instance of a cold Flow for Telephony callback of given [subId]. */
fun <T> Context.telephonyCallbackFlow(
diff --git a/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt b/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt
index 5dcac1e..fb0bd82 100644
--- a/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt
+++ b/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt
@@ -24,7 +24,7 @@
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.viewModelScope
import com.android.settings.R
-import com.android.settings.network.mobileDataEnabledFlow
+import com.android.settings.network.telephony.MobileDataRepository
import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl
import com.android.settings.network.telephony.requireSubscriptionManager
import com.android.settings.network.telephony.safeGetConfig
@@ -54,6 +54,7 @@
private val scope = viewModelScope + Dispatchers.Default
private val metricsFeatureProvider = featureFactory.metricsFeatureProvider
private val updateChannel = Channel<Unit>()
+ private val mobileDataRepository = MobileDataRepository(application)
init {
val resources = application.resources
@@ -81,7 +82,7 @@
}
private fun List<Int>.anyMobileDataEnableChangedFlow() = map { subId ->
- application.mobileDataEnabledFlow(subId = subId, sendInitialValue = false)
+ mobileDataRepository.mobileDataEnabledChangedFlow(subId = subId, sendInitialValue = false)
}.merge()
private suspend fun updateCrossSimCalling(activeSubIds: List<Int>, newEnabled: Boolean) {
diff --git a/src/com/android/settings/notification/NotificationBackend.java b/src/com/android/settings/notification/NotificationBackend.java
index 0661de7..8e6019c 100644
--- a/src/com/android/settings/notification/NotificationBackend.java
+++ b/src/com/android/settings/notification/NotificationBackend.java
@@ -357,19 +357,6 @@
}
}
- /**
- * Returns all of a user's packages that have at least one channel that will bypass DND
- */
- public List<String> getPackagesBypassingDnd(int userId,
- boolean includeConversationChannels) {
- try {
- return sINM.getPackagesBypassingDnd(userId, includeConversationChannels);
- } catch (Exception e) {
- Log.w(TAG, "Error calling NoMan", e);
- return new ArrayList<>();
- }
- }
-
public void updateChannel(String pkg, int uid, NotificationChannel channel) {
try {
sINM.updateNotificationChannelForPackage(pkg, uid, channel);
diff --git a/src/com/android/settings/notification/modes/InterruptionFilterPreferenceController.java b/src/com/android/settings/notification/modes/InterruptionFilterPreferenceController.java
new file mode 100644
index 0000000..ee4c702
--- /dev/null
+++ b/src/com/android/settings/notification/modes/InterruptionFilterPreferenceController.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2024 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.settings.notification.modes;
+
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.R;
+
+class InterruptionFilterPreferenceController extends AbstractZenModePreferenceController
+ implements Preference.OnPreferenceChangeListener {
+
+ public InterruptionFilterPreferenceController(Context context, String key,
+ ZenModesBackend backend) {
+ super(context, key, backend);
+ }
+
+ @Override
+ public boolean isAvailable(ZenMode zenMode) {
+ return !zenMode.isManualDnd();
+ }
+
+ @Override
+ public void updateState(Preference preference, @NonNull ZenMode zenMode) {
+ boolean filteringNotifications = zenMode.getRule().getInterruptionFilter()
+ != INTERRUPTION_FILTER_ALL;
+ ((TwoStatePreference) preference).setChecked(filteringNotifications);
+ preference.setSummary(filteringNotifications ? "" :
+ mContext.getResources().getString(R.string.mode_no_notification_filter));
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ final boolean filterNotifications = ((Boolean) newValue);
+ return saveMode(zenMode -> {
+ zenMode.getRule().setInterruptionFilter(filterNotifications
+ ? INTERRUPTION_FILTER_PRIORITY
+ : INTERRUPTION_FILTER_ALL);
+ return zenMode;
+ });
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenHelperBackend.java b/src/com/android/settings/notification/modes/ZenHelperBackend.java
new file mode 100644
index 0000000..4136c22
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenHelperBackend.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright (C) 2024 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.settings.notification.modes;
+
+import android.annotation.Nullable;
+import android.app.INotificationManager;
+import android.content.Context;
+import android.content.pm.ParceledListSlice;
+import android.database.Cursor;
+import android.os.ServiceManager;
+import android.provider.ContactsContract;
+import android.service.notification.ConversationChannelWrapper;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Class used for Settings-system_server interactions that are not <em>directly</em> related to
+ * Mode management, but still used in the UI of its Settings pages (such as listing priority
+ * conversations, contacts, etc).
+ */
+class ZenHelperBackend {
+
+ private static final String TAG = "ZenHelperBackend";
+
+ @Nullable // Until first usage
+ private static ZenHelperBackend sInstance;
+
+ private final Context mContext;
+ private final INotificationManager mInm;
+
+ static ZenHelperBackend getInstance(Context context) {
+ if (sInstance == null) {
+ sInstance = new ZenHelperBackend(context.getApplicationContext());
+ }
+ return sInstance;
+ }
+
+ ZenHelperBackend(Context context) {
+ mContext = context;
+ mInm = INotificationManager.Stub.asInterface(
+ ServiceManager.getService(Context.NOTIFICATION_SERVICE));
+ }
+
+ /**
+ * Returns all of a user's packages that have at least one channel that will bypass DND
+ */
+ List<String> getPackagesBypassingDnd(int userId,
+ boolean includeConversationChannels) {
+ try {
+ return mInm.getPackagesBypassingDnd(userId, includeConversationChannels);
+ } catch (Exception e) {
+ Log.w(TAG, "Error calling NoMan", e);
+ return new ArrayList<>();
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ ParceledListSlice<ConversationChannelWrapper> getConversations(boolean onlyImportant) {
+ try {
+ return mInm.getConversations(onlyImportant);
+ } catch (Exception e) {
+ Log.w(TAG, "Error calling NoMan", e);
+ return ParceledListSlice.emptyList();
+ }
+ }
+
+ List<String> getStarredContacts() {
+ try (Cursor cursor = queryStarredContactsData()) {
+ return getStarredContacts(cursor);
+ }
+ }
+
+ @VisibleForTesting
+ List<String> getStarredContacts(Cursor cursor) {
+ List<String> starredContacts = new ArrayList<>();
+ if (cursor != null && cursor.moveToFirst()) {
+ do {
+ String contact = cursor.getString(0);
+ starredContacts.add(contact != null ? contact :
+ mContext.getString(R.string.zen_mode_starred_contacts_empty_name));
+
+ } while (cursor.moveToNext());
+ }
+ return starredContacts;
+ }
+
+ private Cursor queryStarredContactsData() {
+ return mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
+ new String[]{ContactsContract.Contacts.DISPLAY_NAME_PRIMARY},
+ ContactsContract.Data.STARRED + "=1", null,
+ ContactsContract.Data.TIMES_CONTACTED);
+ }
+
+ Cursor queryAllContactsData() {
+ return mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
+ new String[]{ContactsContract.Contacts.DISPLAY_NAME_PRIMARY},
+ null, null, null);
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenMode.java b/src/com/android/settings/notification/modes/ZenMode.java
index cbe915b..4ece2e3 100644
--- a/src/com/android/settings/notification/modes/ZenMode.java
+++ b/src/com/android/settings/notification/modes/ZenMode.java
@@ -18,6 +18,12 @@
import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+import static android.service.notification.SystemZenRules.getTriggerDescriptionForScheduleEvent;
+import static android.service.notification.SystemZenRules.getTriggerDescriptionForScheduleTime;
+import static android.service.notification.ZenModeConfig.tryParseEventConditionId;
+import static android.service.notification.ZenModeConfig.tryParseScheduleConditionId;
+
+import static com.google.common.base.Preconditions.checkState;
import static java.util.Objects.requireNonNull;
@@ -26,7 +32,10 @@
import android.app.NotificationManager;
import android.content.Context;
import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.service.notification.SystemZenRules;
import android.service.notification.ZenDeviceEffects;
+import android.service.notification.ZenModeConfig;
import android.service.notification.ZenPolicy;
import android.util.Log;
@@ -50,26 +59,8 @@
private static final String TAG = "ZenMode";
- /**
- * Additional value for the {@code @ZenPolicy.ChannelType} enumeration that indicates that all
- * channels can bypass DND when this policy is active.
- *
- * <p>This value shouldn't be used on "real" ZenPolicy objects sent to or returned from
- * {@link android.app.NotificationManager}; it's a way of representing rules with interruption
- * filter = {@link NotificationManager#INTERRUPTION_FILTER_ALL} in the UI.
- */
- public static final int CHANNEL_POLICY_ALL = -1;
-
static final String MANUAL_DND_MODE_ID = "manual_dnd";
- @SuppressLint("WrongConstant")
- private static final ZenPolicy POLICY_INTERRUPTION_FILTER_ALL =
- new ZenPolicy.Builder()
- .allowChannels(CHANNEL_POLICY_ALL)
- .allowAllSounds()
- .showAllVisualEffects()
- .build();
-
// Must match com.android.server.notification.ZenModeHelper#applyCustomPolicy.
private static final ZenPolicy POLICY_INTERRUPTION_FILTER_ALARMS =
new ZenPolicy.Builder()
@@ -132,10 +123,8 @@
public ZenPolicy getPolicy() {
switch (mRule.getInterruptionFilter()) {
case INTERRUPTION_FILTER_PRIORITY:
- return requireNonNull(mRule.getZenPolicy());
-
case NotificationManager.INTERRUPTION_FILTER_ALL:
- return POLICY_INTERRUPTION_FILTER_ALL;
+ return requireNonNull(mRule.getZenPolicy());
case NotificationManager.INTERRUPTION_FILTER_ALARMS:
return POLICY_INTERRUPTION_FILTER_ALARMS;
@@ -163,31 +152,8 @@
return;
}
- // A policy with CHANNEL_POLICY_ALL is only a UI representation of the
- // INTERRUPTION_FILTER_ALL filter. Thus, switching to or away to this value only updates
- // the filter, discarding the rest of the supplied policy.
- if (policy.getAllowedChannels() == CHANNEL_POLICY_ALL
- && currentPolicy.getAllowedChannels() != CHANNEL_POLICY_ALL) {
- if (mIsManualDnd) {
- throw new IllegalArgumentException("Manual DND cannot have CHANNEL_POLICY_ALL");
- }
- mRule.setInterruptionFilter(INTERRUPTION_FILTER_ALL);
- // Preserve the existing policy, e.g. if the user goes PRIORITY -> ALL -> PRIORITY that
- // shouldn't discard all other policy customizations. The existing policy will be a
- // synthetic one if the rule originally had filter NONE or ALARMS_ONLY and that's fine.
- if (mRule.getZenPolicy() == null) {
- mRule.setZenPolicy(currentPolicy);
- }
- return;
- } else if (policy.getAllowedChannels() != CHANNEL_POLICY_ALL
- && currentPolicy.getAllowedChannels() == CHANNEL_POLICY_ALL) {
- mRule.setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY);
- // Go back to whatever policy the rule had before, unless the rule never had one, in
- // which case we use the supplied policy (which we know has a valid allowedChannels).
- if (mRule.getZenPolicy() == null) {
- mRule.setZenPolicy(policy);
- }
- return;
+ if (mRule.getInterruptionFilter() == INTERRUPTION_FILTER_ALL) {
+ Log.wtf(TAG, "Able to change policy without filtering being enabled");
}
// If policy is customized from any of the "special" ones, make the rule PRIORITY.
@@ -204,6 +170,44 @@
: new ZenDeviceEffects.Builder().build();
}
+ public void setCustomModeConditionId(Context context, Uri conditionId) {
+ checkState(SystemZenRules.PACKAGE_ANDROID.equals(mRule.getPackageName()),
+ "Trying to change condition of non-system-owned rule %s (to %s)",
+ mRule, conditionId);
+
+ Uri oldCondition = mRule.getConditionId();
+ mRule.setConditionId(conditionId);
+
+ ZenModeConfig.ScheduleInfo scheduleInfo = tryParseScheduleConditionId(conditionId);
+ if (scheduleInfo != null) {
+ mRule.setType(AutomaticZenRule.TYPE_SCHEDULE_TIME);
+ mRule.setOwner(ZenModeConfig.getScheduleConditionProvider());
+ mRule.setTriggerDescription(
+ getTriggerDescriptionForScheduleTime(context, scheduleInfo));
+ return;
+ }
+
+ ZenModeConfig.EventInfo eventInfo = tryParseEventConditionId(conditionId);
+ if (eventInfo != null) {
+ mRule.setType(AutomaticZenRule.TYPE_SCHEDULE_CALENDAR);
+ mRule.setOwner(ZenModeConfig.getEventConditionProvider());
+ mRule.setTriggerDescription(getTriggerDescriptionForScheduleEvent(context, eventInfo));
+ return;
+ }
+
+ if (ZenModeConfig.isValidCustomManualConditionId(conditionId)) {
+ mRule.setType(AutomaticZenRule.TYPE_OTHER);
+ mRule.setOwner(ZenModeConfig.getCustomManualConditionProvider());
+ mRule.setTriggerDescription("");
+ return;
+ }
+
+ Log.wtf(TAG, String.format(
+ "Changed condition of rule %s (%s -> %s) but cannot recognize which kind of "
+ + "condition it was!",
+ mRule, oldCondition, conditionId));
+ }
+
public boolean canEditName() {
return !isManualDnd();
}
@@ -224,6 +228,15 @@
return mIsActive;
}
+ public boolean isSystemOwned() {
+ return SystemZenRules.PACKAGE_ANDROID.equals(mRule.getPackageName());
+ }
+
+ @AutomaticZenRule.Type
+ public int getType() {
+ return mRule.getType();
+ }
+
@Override
public boolean equals(@Nullable Object obj) {
return obj instanceof ZenMode other
diff --git a/src/com/android/settings/notification/modes/ZenModeAppsFragment.java b/src/com/android/settings/notification/modes/ZenModeAppsFragment.java
index 73329a2..19035dd 100644
--- a/src/com/android/settings/notification/modes/ZenModeAppsFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeAppsFragment.java
@@ -37,10 +37,6 @@
context, ZenModeAppsPreferenceController.KEY_PRIORITY, mBackend));
controllers.add(new ZenModeAppsPreferenceController(
context, ZenModeAppsPreferenceController.KEY_NONE, mBackend));
- // TODO: b/308819928 - The manual DND mode cannot have the ALL type;
- // unify the controllers into one and only create a preference if isManualDnd is false.
- controllers.add(new ZenModeAppsPreferenceController(
- context, ZenModeAppsPreferenceController.KEY_ALL, mBackend));
return controllers;
}
diff --git a/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java
index 581fff5..6835e6c 100644
--- a/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java
@@ -16,6 +16,8 @@
package com.android.settings.notification.modes;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+
import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
import android.content.Context;
@@ -29,7 +31,6 @@
import androidx.preference.Preference;
import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.notification.NotificationBackend;
import com.android.settingslib.applications.ApplicationsState;
import java.util.ArrayList;
@@ -46,18 +47,26 @@
private static final String TAG = "ZenModeAppsLinkPreferenceController";
private final ZenModeSummaryHelper mSummaryHelper;
+ private final ApplicationsState mApplicationsState;
private ApplicationsState.Session mAppSession;
- private NotificationBackend mNotificationBackend = new NotificationBackend();
+ private final ZenHelperBackend mHelperBackend;
private ZenMode mZenMode;
private Preference mPreference;
+ private final Fragment mHost;
ZenModeAppsLinkPreferenceController(Context context, String key, Fragment host,
- ApplicationsState applicationsState, ZenModesBackend backend) {
+ ApplicationsState applicationsState, ZenModesBackend backend,
+ ZenHelperBackend helperBackend) {
super(context, key, backend);
- mSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
- if (applicationsState != null && host != null) {
- mAppSession = applicationsState.newSession(mAppSessionCallbacks, host.getLifecycle());
- }
+ mSummaryHelper = new ZenModeSummaryHelper(mContext, helperBackend);
+ mHelperBackend = helperBackend;
+ mApplicationsState = applicationsState;
+ mHost = host;
+ }
+
+ @Override
+ public boolean isAvailable(ZenMode zenMode) {
+ return zenMode.getRule().getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
}
@Override
@@ -72,6 +81,9 @@
.toIntent());
mZenMode = zenMode;
mPreference = preference;
+ if (mApplicationsState != null && mHost != null) {
+ mAppSession = mApplicationsState.newSession(mAppSessionCallbacks, mHost.getLifecycle());
+ }
triggerUpdateAppsBypassingDndSummaryText();
}
@@ -105,7 +117,7 @@
pkgLabelMap.put(entry.info.packageName, entry.label);
}
}
- for (String pkg : mNotificationBackend.getPackagesBypassingDnd(mContext.getUserId(),
+ for (String pkg : mHelperBackend.getPackagesBypassingDnd(mContext.getUserId(),
/* includeConversationChannels= */ false)) {
// Settings may hide some packages from the user, so if they're not present here
// we skip displaying them, even if they bypass dnd.
diff --git a/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java
index 704bce0..d5ef044 100644
--- a/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java
@@ -38,11 +38,9 @@
static final String KEY_PRIORITY = "zen_mode_apps_priority";
static final String KEY_NONE = "zen_mode_apps_none";
- static final String KEY_ALL = "zen_mode_apps_all";
String mModeId;
-
public ZenModeAppsPreferenceController(@NonNull Context context,
@NonNull String key, @Nullable ZenModesBackend backend) {
super(context, key, backend);
@@ -79,13 +77,6 @@
== ZenPolicy.CHANNEL_POLICY_NONE;
pref.setChecked(policy_none);
break;
- case KEY_ALL:
- // A UI-only setting; the underlying policy never actually has this value,
- // but ZenMode acts as though it does for the sake of UI consistency.
- boolean policy_all = zenMode.getPolicy().getAllowedChannels()
- == ZenMode.CHANNEL_POLICY_ALL;
- pref.setChecked(policy_all);
- break;
}
}
@@ -96,8 +87,6 @@
return savePolicy(p -> p.allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY));
case KEY_NONE:
return savePolicy(p -> p.allowChannels(ZenPolicy.CHANNEL_POLICY_NONE));
- case KEY_ALL:
- return savePolicy(p -> p.allowChannels(ZenMode.CHANNEL_POLICY_ALL));
}
return true;
}
diff --git a/src/com/android/settings/notification/modes/ZenModeCallsFragment.java b/src/com/android/settings/notification/modes/ZenModeCallsFragment.java
index 4c85bf5..54072ac 100644
--- a/src/com/android/settings/notification/modes/ZenModeCallsFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeCallsFragment.java
@@ -18,6 +18,7 @@
import android.app.settings.SettingsEnums;
import android.content.Context;
+
import com.android.settings.R;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -34,7 +35,7 @@
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new ZenModePrioritySendersPreferenceController(context,
- "zen_mode_settings_category_calls", false, mBackend));
+ "zen_mode_settings_category_calls", false, mBackend, mHelperBackend));
controllers.add(new ZenModeRepeatCallersPreferenceController(context,
"zen_mode_repeat_callers", mBackend,
context.getResources().getInteger(com.android.internal.R.integer
diff --git a/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java
index 746af44..8d27d4c 100644
--- a/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java
@@ -31,9 +31,9 @@
private final ZenModeSummaryHelper mSummaryHelper;
public ZenModeCallsLinkPreferenceController(Context context, String key,
- ZenModesBackend backend) {
+ ZenModesBackend backend, ZenHelperBackend helperBackend) {
super(context, key, backend);
- mSummaryHelper = new ZenModeSummaryHelper(context, backend);
+ mSummaryHelper = new ZenModeSummaryHelper(context, helperBackend);
}
@Override
diff --git a/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java b/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java
index 0972049..8c3b826 100644
--- a/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java
@@ -18,6 +18,7 @@
import android.app.settings.SettingsEnums;
import android.content.Context;
+
import com.android.settings.R;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -34,7 +35,7 @@
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
List<AbstractPreferenceController> prefControllers = new ArrayList<>();
prefControllers.add(new ZenModeNotifVisLinkPreferenceController(
- context, "notification_visibility", mBackend));
+ context, "notification_visibility", mBackend, mHelperBackend));
prefControllers.add(new ZenModeDisplayEffectPreferenceController(
context, "effect_greyscale", mBackend));
prefControllers.add(new ZenModeDisplayEffectPreferenceController(
diff --git a/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java
index 8720a4b..712c78a 100644
--- a/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java
@@ -31,9 +31,9 @@
private final ZenModeSummaryHelper mSummaryHelper;
public ZenModeDisplayLinkPreferenceController(Context context, String key,
- ZenModesBackend backend) {
+ ZenModesBackend backend, ZenHelperBackend helperBackend) {
super(context, key, backend);
- mSummaryHelper = new ZenModeSummaryHelper(context, backend);
+ mSummaryHelper = new ZenModeSummaryHelper(context, helperBackend);
}
@Override
diff --git a/src/com/android/settings/notification/modes/ZenModeFragment.java b/src/com/android/settings/notification/modes/ZenModeFragment.java
index e4d81fe..f2f47b9 100644
--- a/src/com/android/settings/notification/modes/ZenModeFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeFragment.java
@@ -42,17 +42,19 @@
prefControllers.add(new ZenModeButtonPreferenceController(context, "activate", mBackend));
prefControllers.add(new ZenModeActionsPreferenceController(context, "actions", mBackend));
prefControllers.add(new ZenModePeopleLinkPreferenceController(
- context, "zen_mode_people", mBackend));
+ context, "zen_mode_people", mBackend, mHelperBackend));
prefControllers.add(new ZenModeAppsLinkPreferenceController(
context, "zen_mode_apps", this,
ApplicationsState.getInstance((Application) context.getApplicationContext()),
- mBackend));
+ mBackend, mHelperBackend));
prefControllers.add(new ZenModeOtherLinkPreferenceController(
- context, "zen_other_settings", mBackend));
+ context, "zen_other_settings", mBackend, mHelperBackend));
prefControllers.add(new ZenModeDisplayLinkPreferenceController(
- context, "mode_display_settings", mBackend));
+ context, "mode_display_settings", mBackend, mHelperBackend));
prefControllers.add(new ZenModeSetTriggerLinkPreferenceController(context,
- "zen_automatic_trigger_category", mBackend));
+ "zen_automatic_trigger_category", this, mBackend));
+ prefControllers.add(new InterruptionFilterPreferenceController(
+ context, "allow_filtering", mBackend));
return prefControllers;
}
diff --git a/src/com/android/settings/notification/modes/ZenModeFragmentBase.java b/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
index e086524..67cc13b 100644
--- a/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
+++ b/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
@@ -120,10 +120,6 @@
}
for (List<AbstractPreferenceController> list : getPreferenceControllers()) {
for (AbstractPreferenceController controller : list) {
- if (!controller.isAvailable()) {
- continue;
- }
-
try {
// Find preference associated with controller
final String key = controller.getPreferenceKey();
@@ -137,6 +133,7 @@
String.format("Cannot find preference with key %s in Controller %s",
key, controller.getClass().getSimpleName()));
}
+ controller.displayPreference(screen);
} catch (ClassCastException e) {
// Skip any controllers that aren't AbstractZenModePreferenceController.
Log.d(TAG, "Could not cast: " + controller.getClass().getSimpleName());
diff --git a/src/com/android/settings/notification/modes/ZenModeMessagesFragment.java b/src/com/android/settings/notification/modes/ZenModeMessagesFragment.java
index c86f8dd..8bf574f 100644
--- a/src/com/android/settings/notification/modes/ZenModeMessagesFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeMessagesFragment.java
@@ -18,6 +18,7 @@
import android.app.settings.SettingsEnums;
import android.content.Context;
+
import com.android.settings.R;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -34,7 +35,7 @@
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new ZenModePrioritySendersPreferenceController(context,
- "zen_mode_settings_category_messages", true, mBackend));
+ "zen_mode_settings_category_messages", true, mBackend, mHelperBackend));
return controllers;
}
diff --git a/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java
index 300ebbc..6e563c4 100644
--- a/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java
@@ -30,9 +30,9 @@
private final ZenModeSummaryHelper mSummaryHelper;
public ZenModeMessagesLinkPreferenceController(Context context, String key,
- ZenModesBackend backend) {
+ ZenModesBackend backend, ZenHelperBackend helperBackend) {
super(context, key, backend);
- mSummaryHelper = new ZenModeSummaryHelper(context, backend);
+ mSummaryHelper = new ZenModeSummaryHelper(context, helperBackend);
}
@Override
diff --git a/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java
index da3b3be..1b1fec4 100644
--- a/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java
@@ -16,6 +16,8 @@
package com.android.settings.notification.modes;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+
import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
import android.content.Context;
@@ -31,9 +33,14 @@
private final ZenModeSummaryHelper mSummaryBuilder;
public ZenModeNotifVisLinkPreferenceController(Context context, String key,
- ZenModesBackend backend) {
+ ZenModesBackend backend, ZenHelperBackend helperBackend) {
super(context, key, backend);
- mSummaryBuilder = new ZenModeSummaryHelper(context, backend);
+ mSummaryBuilder = new ZenModeSummaryHelper(context, helperBackend);
+ }
+
+ @Override
+ public boolean isAvailable(ZenMode zenMode) {
+ return zenMode.getRule().getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
}
@Override
diff --git a/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java
index 1a00207..f6df9e3 100644
--- a/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java
@@ -16,6 +16,8 @@
package com.android.settings.notification.modes;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+
import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
import android.content.Context;
@@ -34,9 +36,14 @@
private final ZenModeSummaryHelper mSummaryHelper;
public ZenModeOtherLinkPreferenceController(Context context, String key,
- ZenModesBackend backend) {
+ ZenModesBackend backend, ZenHelperBackend helperBackend) {
super(context, key, backend);
- mSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
+ mSummaryHelper = new ZenModeSummaryHelper(mContext, helperBackend);
+ }
+
+ @Override
+ public boolean isAvailable(ZenMode zenMode) {
+ return zenMode.getRule().getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
}
@Override
diff --git a/src/com/android/settings/notification/modes/ZenModePeopleFragment.java b/src/com/android/settings/notification/modes/ZenModePeopleFragment.java
index e1f753c..448712c 100644
--- a/src/com/android/settings/notification/modes/ZenModePeopleFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModePeopleFragment.java
@@ -18,6 +18,7 @@
import android.app.settings.SettingsEnums;
import android.content.Context;
+
import com.android.settings.R;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -34,9 +35,9 @@
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
List<AbstractPreferenceController> prefControllers = new ArrayList<>();
prefControllers.add(new ZenModeCallsLinkPreferenceController(
- context, "zen_mode_people_calls", mBackend));
+ context, "zen_mode_people_calls", mBackend, mHelperBackend));
prefControllers.add(new ZenModeMessagesLinkPreferenceController(
- context, "zen_mode_people_messages", mBackend));
+ context, "zen_mode_people_messages", mBackend, mHelperBackend));
return prefControllers;
}
diff --git a/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java
index 55a83d6..db8e135 100644
--- a/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java
@@ -16,6 +16,8 @@
package com.android.settings.notification.modes;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+
import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
import android.content.Context;
@@ -34,9 +36,14 @@
private final ZenModeSummaryHelper mSummaryHelper;
public ZenModePeopleLinkPreferenceController(Context context, String key,
- ZenModesBackend backend) {
+ ZenModesBackend backend, ZenHelperBackend helperBackend) {
super(context, key, backend);
- mSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
+ mSummaryHelper = new ZenModeSummaryHelper(mContext, helperBackend);
+ }
+
+ @Override
+ public boolean isAvailable(ZenMode zenMode) {
+ return zenMode.getRule().getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
}
@Override
diff --git a/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java b/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java
index 43f4d7f..31a8a0d 100644
--- a/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java
@@ -83,6 +83,7 @@
private static final Intent FALLBACK_INTENT = new Intent(Intent.ACTION_MAIN)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ private final ZenHelperBackend mHelperBackend;
private final PackageManager mPackageManager;
private PreferenceCategory mPreferenceCategory;
private List<SelectorWithWidgetPreference> mSelectorPreferences = new ArrayList<>();
@@ -90,9 +91,10 @@
private final ZenModeSummaryHelper mZenModeSummaryHelper;
public ZenModePrioritySendersPreferenceController(Context context, String key,
- boolean isMessages, ZenModesBackend backend) {
+ boolean isMessages, ZenModesBackend backend, ZenHelperBackend helperBackend) {
super(context, key, backend);
mIsMessages = isMessages;
+ mHelperBackend = helperBackend;
String contactsPackage = context.getString(R.string.config_contacts_package_name);
ALL_CONTACTS_INTENT.setPackage(contactsPackage);
@@ -103,7 +105,7 @@
if (!FALLBACK_INTENT.hasCategory(Intent.CATEGORY_APP_CONTACTS)) {
FALLBACK_INTENT.addCategory(Intent.CATEGORY_APP_CONTACTS);
}
- mZenModeSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
+ mZenModeSummaryHelper = new ZenModeSummaryHelper(mContext, mHelperBackend);
}
@Override
@@ -164,7 +166,7 @@
private void updateChannelCounts() {
ParceledListSlice<ConversationChannelWrapper> impConversations =
- mBackend.getConversations(true);
+ mHelperBackend.getConversations(true);
int numImportantConversations = 0;
if (impConversations != null) {
for (ConversationChannelWrapper conversation : impConversations.getList()) {
diff --git a/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java b/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java
new file mode 100644
index 0000000..14264b7
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2024 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.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.service.notification.ZenModeConfig;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.DrawableRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.appcompat.app.AlertDialog;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.dashboard.DashboardFragment;
+
+import com.google.common.collect.ImmutableList;
+
+public class ZenModeScheduleChooserDialog extends InstrumentedDialogFragment {
+
+ private static final String TAG = "ZenModeScheduleChooserDialog";
+
+ static final int OPTION_TIME = 0;
+ static final int OPTION_CALENDAR = 1;
+
+ private record ScheduleOption(@StringRes int nameResId, @StringRes int exampleResId,
+ @DrawableRes int iconResId) {}
+
+ private static final ImmutableList<ScheduleOption> SCHEDULE_OPTIONS = ImmutableList.of(
+ new ScheduleOption(R.string.zen_mode_select_schedule_time,
+ R.string.zen_mode_select_schedule_time_example,
+ com.android.internal.R.drawable.ic_zen_mode_type_schedule_time),
+ new ScheduleOption(R.string.zen_mode_select_schedule_calendar,
+ R.string.zen_mode_select_schedule_calendar_example,
+ com.android.internal.R.drawable.ic_zen_mode_type_schedule_calendar));
+
+ private OnScheduleOptionListener mOptionListener;
+
+ interface OnScheduleOptionListener {
+ void onScheduleSelected(Uri conditionId);
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ // TODO: b/332937635 - Update metrics category
+ return 0;
+ }
+
+ static void show(DashboardFragment parent, OnScheduleOptionListener optionListener) {
+ ZenModeScheduleChooserDialog dialog = new ZenModeScheduleChooserDialog();
+ dialog.mOptionListener = optionListener;
+ dialog.setTargetFragment(parent, 0);
+ dialog.show(parent.getParentFragmentManager(), TAG);
+ }
+
+ @NonNull
+ @Override
+ public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+ checkState(getContext() != null);
+ return new AlertDialog.Builder(getContext())
+ .setTitle(R.string.zen_mode_choose_rule_type)
+ .setAdapter(new OptionsAdapter(getContext()),
+ (dialog, which) -> onScheduleTypeSelected(which))
+ .setNegativeButton(R.string.cancel, null)
+ .create();
+ }
+
+ private static class OptionsAdapter extends ArrayAdapter<ScheduleOption> {
+
+ private final LayoutInflater mInflater;
+
+ OptionsAdapter(@NonNull Context context) {
+ super(context, R.layout.zen_mode_type_item, SCHEDULE_OPTIONS);
+ mInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+ if (convertView == null) {
+ convertView = mInflater.inflate(R.layout.zen_mode_type_item, parent, false);
+ }
+ // No need for holder pattern since we have only 2 items.
+ ImageView imageView = checkNotNull(convertView.findViewById(R.id.icon));
+ TextView title = checkNotNull(convertView.findViewById(R.id.title));
+ TextView subtitle = checkNotNull(convertView.findViewById(R.id.subtitle));
+
+ ScheduleOption option = checkNotNull(getItem(position));
+ imageView.setImageResource(option.iconResId());
+ title.setText(option.nameResId());
+ subtitle.setText(option.exampleResId());
+
+ return convertView;
+ }
+ }
+
+ private void onScheduleTypeSelected(int whichOption) {
+ Uri conditionId = switch (whichOption) {
+ case OPTION_TIME -> getDefaultScheduleTimeCondition();
+ case OPTION_CALENDAR -> getDefaultScheduleCalendarCondition();
+ default -> ZenModeConfig.toCustomManualConditionId();
+ };
+
+ mOptionListener.onScheduleSelected(conditionId);
+ }
+
+ private static Uri getDefaultScheduleTimeCondition() {
+ ZenModeConfig.ScheduleInfo schedule = new ZenModeConfig.ScheduleInfo();
+ schedule.days = ZenModeConfig.ALL_DAYS;
+ schedule.startHour = 9;
+ schedule.startMinute = 30;
+ schedule.endHour = 17;
+ return ZenModeConfig.toScheduleConditionId(schedule);
+ }
+
+ private static Uri getDefaultScheduleCalendarCondition() {
+ ZenModeConfig.EventInfo eventInfo = new ZenModeConfig.EventInfo();
+ eventInfo.calendarId = null; // All calendars of the current user.
+ eventInfo.reply = ZenModeConfig.EventInfo.REPLY_ANY_EXCEPT_NO;
+ return ZenModeConfig.toEventConditionId(eventInfo);
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java
index 2841309..e879076 100644
--- a/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java
@@ -16,14 +16,12 @@
package com.android.settings.notification.modes;
-import android.app.Flags;
import android.content.Context;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.CalendarContract;
-import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
import androidx.annotation.NonNull;
@@ -42,7 +40,7 @@
import java.util.Objects;
import java.util.function.Function;
-public class ZenModeSetCalendarPreferenceController extends AbstractZenModePreferenceController {
+class ZenModeSetCalendarPreferenceController extends AbstractZenModePreferenceController {
@VisibleForTesting
protected static final String KEY_CALENDAR = "calendar";
@VisibleForTesting
@@ -122,11 +120,7 @@
@VisibleForTesting
protected Function<ZenMode, ZenMode> updateEventMode(ZenModeConfig.EventInfo event) {
return (zenMode) -> {
- zenMode.getRule().setConditionId(ZenModeConfig.toEventConditionId(event));
- if (Flags.modesApi() && Flags.modesUi()) {
- zenMode.getRule().setTriggerDescription(
- SystemZenRules.getTriggerDescriptionForScheduleEvent(mContext, event));
- }
+ zenMode.setCustomModeConditionId(mContext, ZenModeConfig.toEventConditionId(event));
return zenMode;
};
}
diff --git a/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java
index a6008cc..3432ed5 100644
--- a/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java
@@ -16,9 +16,7 @@
package com.android.settings.notification.modes;
-import android.app.Flags;
import android.content.Context;
-import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
import android.text.format.DateFormat;
import android.util.ArraySet;
@@ -116,16 +114,13 @@
@VisibleForTesting
protected Function<ZenMode, ZenMode> updateScheduleMode(ZenModeConfig.ScheduleInfo schedule) {
return (zenMode) -> {
- zenMode.getRule().setConditionId(ZenModeConfig.toScheduleConditionId(schedule));
- if (Flags.modesApi() && Flags.modesUi()) {
- zenMode.getRule().setTriggerDescription(
- SystemZenRules.getTriggerDescriptionForScheduleTime(mContext, schedule));
- }
+ zenMode.setCustomModeConditionId(mContext,
+ ZenModeConfig.toScheduleConditionId(schedule));
return zenMode;
};
}
- private ZenModeTimePickerFragment.TimeSetter mStartSetter = (hour, minute) -> {
+ private final ZenModeTimePickerFragment.TimeSetter mStartSetter = (hour, minute) -> {
if (!isValidTime(hour, minute)) {
return;
}
@@ -137,7 +132,7 @@
saveMode(updateScheduleMode(mSchedule));
};
- private ZenModeTimePickerFragment.TimeSetter mEndSetter = (hour, minute) -> {
+ private final ZenModeTimePickerFragment.TimeSetter mEndSetter = (hour, minute) -> {
if (!isValidTime(hour, minute)) {
return;
}
diff --git a/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java
index 14d5d59..fd27958 100644
--- a/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java
@@ -13,15 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.android.settings.notification.modes;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
-
import android.content.Context;
-import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
@@ -29,7 +27,7 @@
import androidx.preference.PreferenceCategory;
import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.PrimarySwitchPreference;
/**
@@ -39,9 +37,13 @@
@VisibleForTesting
protected static final String AUTOMATIC_TRIGGER_PREF_KEY = "zen_automatic_trigger_settings";
+ private final DashboardFragment mFragment;
+
ZenModeSetTriggerLinkPreferenceController(Context context, String key,
+ DashboardFragment fragment,
ZenModesBackend backend) {
super(context, key, backend);
+ mFragment = fragment;
}
@Override
@@ -54,47 +56,53 @@
// This controller is expected to govern a preference category so that it controls the
// availability of the entire preference category if the mode doesn't have a way to
// automatically trigger (such as manual DND).
- Preference switchPref = ((PreferenceCategory) preference).findPreference(
+ PrimarySwitchPreference switchPref = ((PreferenceCategory) preference).findPreference(
AUTOMATIC_TRIGGER_PREF_KEY);
if (switchPref == null) {
return;
}
- ((PrimarySwitchPreference) switchPref).setChecked(zenMode.getRule().isEnabled());
+ switchPref.setChecked(zenMode.getRule().isEnabled());
switchPref.setOnPreferenceChangeListener(mSwitchChangeListener);
- Bundle bundle = new Bundle();
- bundle.putString(MODE_ID, zenMode.getId());
+ switchPref.setSummary(zenMode.getRule().getTriggerDescription());
+ switchPref.setIcon(null);
+ switchPref.setOnPreferenceClickListener(null);
+ switchPref.setIntent(null);
- // TODO: b/341961712 - direct preference to app-owned intent if available
- switch (zenMode.getRule().getType()) {
- case TYPE_SCHEDULE_TIME:
- switchPref.setTitle(R.string.zen_mode_set_schedule_link);
- switchPref.setSummary(zenMode.getRule().getTriggerDescription());
- switchPref.setIntent(new SubSettingLauncher(mContext)
- .setDestination(ZenModeSetScheduleFragment.class.getName())
- // TODO: b/332937635 - set correct metrics category
- .setSourceMetricsCategory(0)
- .setArguments(bundle)
- .toIntent());
- break;
- case TYPE_SCHEDULE_CALENDAR:
- switchPref.setTitle(R.string.zen_mode_set_calendar_link);
- switchPref.setSummary(zenMode.getRule().getTriggerDescription());
- switchPref.setIntent(new SubSettingLauncher(mContext)
- .setDestination(ZenModeSetCalendarFragment.class.getName())
- // TODO: b/332937635 - set correct metrics category
- .setSourceMetricsCategory(0)
- .setArguments(bundle)
- .toIntent());
- break;
- default:
- // TODO: b/342156843 - change this to allow adding a trigger condition for system
- // rules that don't yet have a type selected
- switchPref.setTitle("not implemented");
+ if (zenMode.isSystemOwned() && zenMode.getType() == TYPE_SCHEDULE_TIME) {
+ switchPref.setTitle(R.string.zen_mode_set_schedule_link);
+ // TODO: b/332937635 - set correct metrics category
+ switchPref.setIntent(ZenSubSettingLauncher.forModeFragment(mContext,
+ ZenModeSetScheduleFragment.class, zenMode.getId(), 0).toIntent());
+ } else if (zenMode.isSystemOwned() && zenMode.getType() == TYPE_SCHEDULE_CALENDAR) {
+ switchPref.setTitle(R.string.zen_mode_set_calendar_link);
+ switchPref.setIcon(null);
+ // TODO: b/332937635 - set correct metrics category
+ switchPref.setIntent(ZenSubSettingLauncher.forModeFragment(mContext,
+ ZenModeSetCalendarFragment.class, zenMode.getId(), 0).toIntent());
+ } else if (zenMode.isSystemOwned()) {
+ switchPref.setTitle(R.string.zen_mode_select_schedule);
+ switchPref.setIcon(R.drawable.ic_add_24dp);
+ switchPref.setSummary("");
+ // TODO: b/342156843 - Hide the switch (needs support in SettingsLib).
+ switchPref.setOnPreferenceClickListener(clickedPreference -> {
+ ZenModeScheduleChooserDialog.show(mFragment, mOnScheduleOptionListener);
+ return true;
+ });
+ } else {
+ // TODO: b/341961712 - direct preference to app-owned intent if available
+ switchPref.setTitle("not implemented");
}
}
@VisibleForTesting
+ final ZenModeScheduleChooserDialog.OnScheduleOptionListener mOnScheduleOptionListener =
+ conditionId -> saveMode(mode -> {
+ mode.setCustomModeConditionId(mContext, conditionId);
+ return mode;
+ });
+
+ @VisibleForTesting
protected Preference.OnPreferenceChangeListener mSwitchChangeListener = (p, newValue) -> {
final boolean newEnabled = (Boolean) newValue;
return saveMode((zenMode) -> {
@@ -103,5 +111,6 @@
}
return zenMode;
});
+ // TODO: b/342156843 - Do we want to jump to the corresponding schedule editing screen?
};
}
diff --git a/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java b/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java
index 77f364c..bd0b798 100644
--- a/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java
+++ b/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java
@@ -15,6 +15,7 @@
*/
package com.android.settings.notification.modes;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_ANYONE;
import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_IMPORTANT;
import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_NONE;
@@ -60,9 +61,9 @@
class ZenModeSummaryHelper {
private final Context mContext;
- private final ZenModesBackend mBackend;
+ private final ZenHelperBackend mBackend;
- public ZenModeSummaryHelper(Context context, ZenModesBackend backend) {
+ ZenModeSummaryHelper(Context context, ZenHelperBackend backend) {
mContext = context;
mBackend = backend;
}
@@ -187,7 +188,8 @@
String getDisplayEffectsSummary(ZenMode zenMode) {
boolean isFirst = true;
List<String> enabledEffects = new ArrayList<>();
- if (!zenMode.getPolicy().shouldShowAllVisualEffects()) {
+ if (!zenMode.getPolicy().shouldShowAllVisualEffects()
+ && zenMode.getRule().getInterruptionFilter() != INTERRUPTION_FILTER_ALL) {
enabledEffects.add(getBlockedEffectsSummary(zenMode));
isFirst = false;
}
@@ -411,8 +413,6 @@
return formatAppsList(appsBypassing);
} else if (zenMode.getPolicy().getAllowedChannels() == ZenPolicy.CHANNEL_POLICY_NONE) {
return mContext.getResources().getString(R.string.zen_mode_apps_none_apps);
- } else if (zenMode.getPolicy().getAllowedChannels() == ZenMode.CHANNEL_POLICY_ALL) {
- return mContext.getResources().getString(R.string.zen_mode_apps_all_apps);
}
return "";
}
diff --git a/src/com/android/settings/notification/modes/ZenModesBackend.java b/src/com/android/settings/notification/modes/ZenModesBackend.java
index ad36fc1..4f86778 100644
--- a/src/com/android/settings/notification/modes/ZenModesBackend.java
+++ b/src/com/android/settings/notification/modes/ZenModesBackend.java
@@ -19,24 +19,14 @@
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.AutomaticZenRule;
-import android.app.INotificationManager;
import android.app.NotificationManager;
import android.content.Context;
-import android.content.pm.ParceledListSlice;
-import android.database.Cursor;
import android.net.Uri;
-import android.os.ServiceManager;
-import android.provider.ContactsContract;
import android.provider.Settings;
import android.service.notification.Condition;
-import android.service.notification.ConversationChannelWrapper;
-import android.service.notification.SystemZenRules;
-import android.service.notification.ZenAdapters;
import android.service.notification.ZenModeConfig;
import android.util.Log;
-import androidx.annotation.VisibleForTesting;
-
import com.android.settings.R;
import java.time.Duration;
@@ -58,8 +48,6 @@
private static ZenModesBackend sInstance;
private final NotificationManager mNotificationManager;
- static INotificationManager sINM = INotificationManager.Stub.asInterface(
- ServiceManager.getService(Context.NOTIFICATION_SERVICE));
private final Context mContext;
@@ -113,54 +101,6 @@
}
}
- public ParceledListSlice<ConversationChannelWrapper> getConversations(boolean onlyImportant) {
- try {
- return sINM.getConversations(onlyImportant);
- } catch (Exception e) {
- Log.w(TAG, "Error calling NoMan", e);
- return ParceledListSlice.emptyList();
- }
- }
-
- public List<String> getStarredContacts() {
- Cursor cursor = null;
- try {
- cursor = queryStarredContactsData();
- return getStarredContacts(cursor);
- } finally {
- if (cursor != null) {
- cursor.close();
- }
- }
- }
-
- @VisibleForTesting
- List<String> getStarredContacts(Cursor cursor) {
- List<String> starredContacts = new ArrayList<>();
- if (cursor != null && cursor.moveToFirst()) {
- do {
- String contact = cursor.getString(0);
- starredContacts.add(contact != null ? contact :
- mContext.getString(R.string.zen_mode_starred_contacts_empty_name));
-
- } while (cursor.moveToNext());
- }
- return starredContacts;
- }
-
- private Cursor queryStarredContactsData() {
- return mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
- new String[]{ContactsContract.Contacts.DISPLAY_NAME_PRIMARY},
- ContactsContract.Data.STARRED + "=1", null,
- ContactsContract.Data.TIMES_CONTACTED);
- }
-
- Cursor queryAllContactsData() {
- return mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
- new String[]{ContactsContract.Contacts.DISPLAY_NAME_PRIMARY},
- null, null, null);
- }
-
private ZenMode getManualDndMode(ZenModeConfig config) {
ZenModeConfig.ZenRule manualRule = config.manualRule;
// TODO: b/333682392 - Replace with final strings for name & trigger description
@@ -253,19 +193,11 @@
*/
@Nullable
ZenMode addCustomMode(String name) {
- ZenModeConfig.ScheduleInfo schedule = new ZenModeConfig.ScheduleInfo();
- schedule.days = ZenModeConfig.ALL_DAYS;
- schedule.startHour = 22;
- schedule.endHour = 7;
-
- // TODO: b/326442408 - Create as "manual" (i.e. no trigger) instead of schedule-time.
AutomaticZenRule rule = new AutomaticZenRule.Builder(name,
- ZenModeConfig.toScheduleConditionId(schedule))
- .setPackage(ZenModeConfig.getScheduleConditionProvider().getPackageName())
- .setType(AutomaticZenRule.TYPE_SCHEDULE_CALENDAR)
- .setOwner(ZenModeConfig.getScheduleConditionProvider())
- .setTriggerDescription(SystemZenRules.getTriggerDescriptionForScheduleTime(
- mContext, schedule))
+ ZenModeConfig.toCustomManualConditionId())
+ .setPackage(ZenModeConfig.getCustomManualConditionProvider().getPackageName())
+ .setType(AutomaticZenRule.TYPE_OTHER)
+ .setOwner(ZenModeConfig.getCustomManualConditionProvider())
.setManualInvocationAllowed(true)
.build();
diff --git a/src/com/android/settings/notification/modes/ZenModesFragmentBase.java b/src/com/android/settings/notification/modes/ZenModesFragmentBase.java
index 3f33b02..d99593a 100644
--- a/src/com/android/settings/notification/modes/ZenModesFragmentBase.java
+++ b/src/com/android/settings/notification/modes/ZenModesFragmentBase.java
@@ -41,6 +41,7 @@
protected Context mContext;
protected ZenModesBackend mBackend;
+ protected ZenHelperBackend mHelperBackend;
// Individual pages must implement this method based on what they should do when
// the device's zen mode state changes.
@@ -59,6 +60,7 @@
public void onAttach(@NonNull Context context) {
mContext = context;
mBackend = ZenModesBackend.getInstance(context);
+ mHelperBackend = ZenHelperBackend.getInstance(context);
super.onAttach(context);
mSettingsObserver.register();
}
diff --git a/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java b/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java
index 11f3492..aa66e6c 100644
--- a/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java
+++ b/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java
@@ -29,7 +29,7 @@
SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION);
}
- private static SubSettingLauncher forModeFragment(Context context,
+ static SubSettingLauncher forModeFragment(Context context,
Class<? extends ZenModeFragmentBase> fragmentClass, String modeId,
int sourceMetricsCategory) {
Bundle bundle = new Bundle();
diff --git a/src/com/android/settings/print/PrintSettingsPageProvider.kt b/src/com/android/settings/print/PrintSettingsPageProvider.kt
index aac0a5d..f28f0bc 100644
--- a/src/com/android/settings/print/PrintSettingsPageProvider.kt
+++ b/src/com/android/settings/print/PrintSettingsPageProvider.kt
@@ -17,16 +17,32 @@
package com.android.settings.print
import android.app.settings.SettingsEnums
+import android.content.Context
+import android.content.Intent
+import android.net.Uri
import android.os.Bundle
+import android.provider.Settings
import androidx.annotation.VisibleForTesting
import androidx.compose.foundation.Image
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.Add
+import androidx.compose.material.icons.outlined.Print
+import androidx.compose.material3.Icon
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
+import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.alpha
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
import androidx.core.os.bundleOf
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settings.R
@@ -36,13 +52,18 @@
import com.android.settings.print.PrintSettingsFragment.EXTRA_SERVICE_COMPONENT_NAME
import com.android.settings.print.PrintSettingsFragment.EXTRA_TITLE
import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.compose.rememberContext
import com.android.settingslib.spa.framework.compose.rememberDrawablePainter
import com.android.settingslib.spa.framework.theme.SettingsDimension
+import com.android.settingslib.spa.framework.theme.SettingsOpacity
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
import com.android.settingslib.spa.widget.ui.Category
+import com.android.settingslib.spa.widget.ui.SettingsIcon
+import com.android.settingslib.spaprivileged.settingsprovider.settingsSecureStringFlow
import com.android.settingslib.spaprivileged.template.common.UserProfilePager
+import kotlinx.coroutines.flow.Flow
object PrintSettingsPageProvider : SettingsPageProvider {
override val name = "PrintSettings"
@@ -52,51 +73,101 @@
RegularScaffold(title = stringResource(R.string.print_settings)) {
val context = LocalContext.current
val printRepository = remember(context) { PrintRepository(context) }
- UserProfilePager {
- PrintServices(printRepository)
- }
+ UserProfilePager { PrintServices(printRepository) }
}
}
@Composable
private fun PrintServices(printRepository: PrintRepository) {
- val printServiceDisplayInfos by remember {
- printRepository.printServiceDisplayInfosFlow()
- }.collectAsStateWithLifecycle(initialValue = emptyList())
- Category(title = stringResource(R.string.print_settings_title)) {
- for (printServiceDisplayInfo in printServiceDisplayInfos) {
- PrintService(printServiceDisplayInfo)
+ val printServiceDisplayInfos by
+ remember { printRepository.printServiceDisplayInfosFlow() }
+ .collectAsStateWithLifecycle(initialValue = emptyList())
+ if (printServiceDisplayInfos.isEmpty()) {
+ NoServicesInstalled()
+ } else {
+ Category(title = stringResource(R.string.print_settings_title)) {
+ for (printServiceDisplayInfo in printServiceDisplayInfos) {
+ PrintService(printServiceDisplayInfo)
+ }
}
}
+ AddPrintService()
+ }
+
+ @Composable
+ private fun NoServicesInstalled() {
+ Column(
+ modifier = Modifier.fillMaxSize().padding(SettingsDimension.itemPaddingAround),
+ horizontalAlignment = Alignment.CenterHorizontally,
+ ) {
+ Icon(
+ imageVector = Icons.Outlined.Print,
+ contentDescription = null,
+ modifier =
+ Modifier.size(110.dp)
+ .padding(SettingsDimension.itemPaddingAround)
+ .alpha(SettingsOpacity.SurfaceTone),
+ )
+ Text(
+ text = stringResource(R.string.print_no_services_installed),
+ style = MaterialTheme.typography.titleLarge,
+ )
+ }
}
@VisibleForTesting
@Composable
fun PrintService(displayInfo: PrintServiceDisplayInfo) {
val context = LocalContext.current
- Preference(model = object : PreferenceModel {
- override val title = displayInfo.title
- override val summary = { displayInfo.summary }
- override val icon: @Composable () -> Unit = {
- Image(
- painter = rememberDrawablePainter(displayInfo.icon),
- contentDescription = null,
- modifier = Modifier.size(SettingsDimension.appIconItemSize),
- )
- }
- override val onClick = {
- SubSettingLauncher(context).apply {
- setDestination(PrintServiceSettingsFragment::class.qualifiedName)
- setArguments(
- bundleOf(
- EXTRA_CHECKED to displayInfo.isEnabled,
- EXTRA_TITLE to displayInfo.title,
- EXTRA_SERVICE_COMPONENT_NAME to displayInfo.componentName
- )
+ Preference(
+ object : PreferenceModel {
+ override val title = displayInfo.title
+ override val summary = { displayInfo.summary }
+ override val icon: @Composable () -> Unit = {
+ Image(
+ painter = rememberDrawablePainter(displayInfo.icon),
+ contentDescription = null,
+ modifier = Modifier.size(SettingsDimension.appIconItemSize),
)
- setSourceMetricsCategory(SettingsEnums.PRINT_SETTINGS)
- }.launch()
+ }
+ override val onClick = { launchPrintServiceSettings(context, displayInfo) }
}
- })
+ )
+ }
+
+ private fun launchPrintServiceSettings(context: Context, displayInfo: PrintServiceDisplayInfo) {
+ SubSettingLauncher(context)
+ .apply {
+ setDestination(PrintServiceSettingsFragment::class.qualifiedName)
+ setArguments(
+ bundleOf(
+ EXTRA_CHECKED to displayInfo.isEnabled,
+ EXTRA_TITLE to displayInfo.title,
+ EXTRA_SERVICE_COMPONENT_NAME to displayInfo.componentName
+ )
+ )
+ setSourceMetricsCategory(SettingsEnums.PRINT_SETTINGS)
+ }
+ .launch()
+ }
+
+ @Composable
+ fun AddPrintService(
+ searchUriFlow: Flow<String> = rememberContext { context ->
+ context.settingsSecureStringFlow(Settings.Secure.PRINT_SERVICE_SEARCH_URI)
+ },
+ ) {
+ val context = LocalContext.current
+ val searchUri by searchUriFlow.collectAsStateWithLifecycle("")
+ if (searchUri.isEmpty()) return
+ Preference(
+ object : PreferenceModel {
+ override val title = stringResource(R.string.print_menu_item_add_service)
+ override val icon = @Composable { SettingsIcon(imageVector = Icons.Outlined.Add) }
+ override val onClick = {
+ context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(searchUri)))
+ }
+ }
+ )
}
}
diff --git a/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt b/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt
index e79be4a..e7cc18f 100644
--- a/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt
+++ b/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt
@@ -16,13 +16,11 @@
package com.android.settings.spa.network
-import android.telephony.TelephonyManager
import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.viewmodel.compose.viewModel
import com.android.settings.R
-import com.android.settings.network.telephony.TelephonyRepository
import com.android.settings.network.telephony.wificalling.CrossSimCallingViewModel
import com.android.settingslib.spa.widget.preference.SwitchPreference
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
@@ -51,11 +49,3 @@
}
)
}
-
-fun TelephonyRepository.setAutomaticData(subId: Int, newEnabled: Boolean) {
- setMobileDataPolicyEnabled(
- subId = subId,
- policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
- enabled = newEnabled,
- )
-}
diff --git a/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt b/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt
index 0d40bca..4b95d44 100644
--- a/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt
+++ b/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt
@@ -16,12 +16,10 @@
package com.android.settings.spa.network
-import android.telephony.TelephonyManager
import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.res.stringResource
import com.android.settings.R
-import com.android.settings.network.telephony.TelephonyRepository
import com.android.settingslib.spa.widget.preference.SwitchPreference
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
import kotlinx.coroutines.Dispatchers
diff --git a/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt b/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
index 4b9fcf4..05a8f6a 100644
--- a/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
+++ b/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
@@ -48,13 +48,14 @@
import com.android.settings.R
import com.android.settings.network.SubscriptionInfoListViewModel
import com.android.settings.network.telephony.DataSubscriptionRepository
-import com.android.settings.network.telephony.TelephonyRepository
+import com.android.settings.network.telephony.MobileDataRepository
import com.android.settings.spa.network.PrimarySimRepository.PrimarySimInfo
import com.android.settings.wifi.WifiPickerTrackerHelper
import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
import com.android.settingslib.spa.framework.common.SettingsPageProvider
import com.android.settingslib.spa.framework.common.createSettingsPage
import com.android.settingslib.spa.framework.compose.navigator
+import com.android.settingslib.spa.framework.compose.rememberContext
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
@@ -202,21 +203,18 @@
) {
val context = LocalContext.current
val localLifecycleOwner = LocalLifecycleOwner.current
- val wifiPickerTrackerHelper = getWifiPickerTrackerHelper(context, localLifecycleOwner)
-
- val subscriptionManager: SubscriptionManager? =
- context.getSystemService(SubscriptionManager::class.java)
+ val mobileDataRepository = rememberContext(::MobileDataRepository)
Category(title = stringResource(id = R.string.mobile_data_settings_title)) {
val isAutoDataEnabled by remember(nonDds.intValue) {
- TelephonyRepository(context).isMobileDataPolicyEnabledFlow(
+ mobileDataRepository.isMobileDataPolicyEnabledFlow(
subId = nonDds.intValue,
policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH
)
}.collectAsStateWithLifecycle(initialValue = null)
val mobileDataStateChanged by remember(mobileDataSelectedId.intValue) {
- TelephonyRepository(context).isDataEnabledFlow(mobileDataSelectedId.intValue)
+ mobileDataRepository.isMobileDataEnabledFlow(mobileDataSelectedId.intValue)
}.collectAsStateWithLifecycle(initialValue = false)
val coroutineScope = rememberCoroutineScope()
@@ -226,8 +224,8 @@
coroutineScope.launch {
setMobileData(
context,
- subscriptionManager,
- wifiPickerTrackerHelper,
+ context.getSystemService(SubscriptionManager::class.java),
+ getWifiPickerTrackerHelper(context, localLifecycleOwner),
mobileDataSelectedId.intValue,
newEnabled
)
@@ -238,7 +236,7 @@
AutomaticDataSwitchingPreference(
isAutoDataEnabled = { isAutoDataEnabled },
setAutoDataEnabled = { newEnabled ->
- TelephonyRepository(context).setAutomaticData(nonDds.intValue, newEnabled)
+ mobileDataRepository.setAutoDataSwitch(nonDds.intValue, newEnabled)
},
)
}
@@ -426,6 +424,6 @@
Log.d(NetworkCellularGroupProvider.fileName, "setDefaultData: [$targetSubId]")
subscriptionManager?.setDefaultDataSubId(targetSubId)
}
- TelephonyRepository(context)
- .setMobileData(targetSubId, enabled, wifiPickerTrackerHelper)
+ MobileDataRepository(context)
+ .setMobileDataEnabled(targetSubId, enabled, wifiPickerTrackerHelper)
}
\ No newline at end of file
diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java
index b48c717..71dd43f 100644
--- a/src/com/android/settings/users/UserDetailsSettings.java
+++ b/src/com/android/settings/users/UserDetailsSettings.java
@@ -363,13 +363,12 @@
}
if (mUserInfo.isMain() || mUserInfo.isGuest() || !UserManager.isMultipleAdminEnabled()
|| mUserManager.hasUserRestrictionForUser(UserManager.DISALLOW_GRANT_ADMIN,
- mUserInfo.getUserHandle())) {
+ mUserInfo.getUserHandle()) || !mUserManager.isAdminUser()) {
removePreference(KEY_GRANT_ADMIN);
}
if (!mUserManager.isAdminUser()) { // non admin users can't remove users and allow calls
removePreference(KEY_ENABLE_TELEPHONY);
removePreference(KEY_REMOVE_USER);
- removePreference(KEY_GRANT_ADMIN);
removePreference(KEY_APP_AND_CONTENT_ACCESS);
removePreference(KEY_APP_COPYING);
} else {
diff --git a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
index a7527d7..c7ad9ca 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
@@ -35,6 +35,8 @@
import androidx.fragment.app.FragmentTransaction;
import com.android.settings.R;
+import com.android.settings.flags.Flags;
+import com.android.settings.overlay.FeatureFactory;
import java.util.List;
@@ -236,7 +238,12 @@
WifiDppUtils.TAG_FRAGMENT_QR_CODE_GENERATOR);
if (fragment == null) {
- fragment = new WifiDppQrCodeGeneratorFragment();
+ if (Flags.enableWifiSharingRuntimeFragment()) {
+ fragment = FeatureFactory.getFeatureFactory().getWifiFeatureProvider()
+ .getWifiDppQrCodeGeneratorFragment();
+ } else {
+ fragment = new WifiDppQrCodeGeneratorFragment();
+ }
} else {
if (fragment.isVisible()) {
return;
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
index 3d437e2..1213b0d 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
@@ -56,7 +56,7 @@
private static final String TAG = "WifiDppQrCodeGeneratorFragment";
private ImageView mQrCodeView;
- private String mQrCode;
+ protected String mQrCode;
private static final String CHIP_LABEL_METADATA_KEY = "android.service.chooser.chip_label";
private static final String CHIP_ICON_METADATA_KEY = "android.service.chooser.chip_icon";
@@ -258,7 +258,7 @@
return button;
}
- private void setQrCode() {
+ protected void setQrCode() {
try {
final int qrcodeSize = getContext().getResources().getDimensionPixelSize(
R.dimen.qrcode_size);
diff --git a/src/com/android/settings/wifi/factory/WifiFeatureProvider.java b/src/com/android/settings/wifi/factory/WifiFeatureProvider.java
index 5ab899a..e5bf81a 100644
--- a/src/com/android/settings/wifi/factory/WifiFeatureProvider.java
+++ b/src/com/android/settings/wifi/factory/WifiFeatureProvider.java
@@ -27,6 +27,7 @@
import androidx.lifecycle.ViewModelStoreOwner;
import com.android.settings.wifi.details.WifiNetworkDetailsViewModel;
+import com.android.settings.wifi.dpp.WifiDppQrCodeGeneratorFragment;
import com.android.settings.wifi.repository.SharedConnectivityRepository;
import com.android.settings.wifi.repository.WifiHotspotRepository;
import com.android.settings.wifi.tether.WifiHotspotSecurityViewModel;
@@ -147,6 +148,15 @@
}
/**
+ * Gets an instance of WifiDppQrCodeGeneratorFragment
+ */
+ public WifiDppQrCodeGeneratorFragment getWifiDppQrCodeGeneratorFragment() {
+ WifiDppQrCodeGeneratorFragment fragment = new WifiDppQrCodeGeneratorFragment();
+ verboseLog(TAG, "getWifiDppQrCodeGeneratorFragment():" + fragment);
+ return fragment;
+ }
+
+ /**
* Send a {@link Log#VERBOSE} log message.
*
* @param tag Used to identify the source of a log message. It usually identifies
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java
index d9a917b..24528ae 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java
@@ -21,26 +21,35 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.settings.SettingsEnums;
import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothProfile;
import android.media.AudioDeviceAttributes;
import android.media.AudioDeviceInfo;
import android.media.AudioManager;
import android.media.Spatializer;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
import androidx.preference.PreferenceCategory;
import androidx.preference.TwoStatePreference;
import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.bluetooth.A2dpProfile;
+import com.android.settingslib.bluetooth.HearingAidProfile;
+import com.android.settingslib.bluetooth.LeAudioProfile;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.flags.Flags;
import com.google.common.collect.ImmutableList;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -54,7 +63,8 @@
@RunWith(RobolectricTestRunner.class)
public class BluetoothDetailsSpatialAudioControllerTest extends BluetoothDetailsControllerTestBase {
-
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C";
private static final String KEY_SPATIAL_AUDIO = "spatial_audio";
private static final String KEY_HEAD_TRACKING = "head_tracking";
@@ -64,6 +74,9 @@
@Mock private Lifecycle mSpatialAudioLifecycle;
@Mock private PreferenceCategory mProfilesContainer;
@Mock private BluetoothDevice mBluetoothDevice;
+ @Mock private A2dpProfile mA2dpProfile;
+ @Mock private LeAudioProfile mLeAudioProfile;
+ @Mock private HearingAidProfile mHearingAidProfile;
private AudioDeviceAttributes mAvailableDevice;
@@ -83,6 +96,12 @@
when(mAudioManager.getSpatializer()).thenReturn(mSpatializer);
when(mCachedDevice.getAddress()).thenReturn(MAC_ADDRESS);
when(mCachedDevice.getDevice()).thenReturn(mBluetoothDevice);
+ when(mCachedDevice.getProfiles())
+ .thenReturn(List.of(mA2dpProfile, mLeAudioProfile, mHearingAidProfile));
+ when(mA2dpProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
+ when(mA2dpProfile.getProfileId()).thenReturn(BluetoothProfile.A2DP);
+ when(mLeAudioProfile.getProfileId()).thenReturn(BluetoothProfile.LE_AUDIO);
+ when(mHearingAidProfile.getProfileId()).thenReturn(BluetoothProfile.HEARING_AID);
when(mBluetoothDevice.getAnonymizedAddress()).thenReturn(MAC_ADDRESS);
when(mFeatureFactory.getBluetoothFeatureProvider().getSpatializer(mContext))
.thenReturn(mSpatializer);
@@ -273,6 +292,52 @@
}
@Test
+ @EnableFlags(Flags.FLAG_ENABLE_DETERMINING_SPATIAL_AUDIO_ATTRIBUTES_BY_PROFILE)
+ public void refresh_leAudioProfileEnabledForHeadset_useLeAudioHeadsetAttributes() {
+ when(mLeAudioProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
+ when(mA2dpProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mHearingAidProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mAudioManager.getBluetoothAudioDeviceCategory(MAC_ADDRESS))
+ .thenReturn(AudioManager.AUDIO_DEVICE_CATEGORY_HEADPHONES);
+ when(mSpatializer.isAvailableForDevice(any())).thenReturn(true);
+
+ mController.refresh();
+ ShadowLooper.idleMainLooper();
+
+ assertThat(mController.mAudioDevice.getType()).isEqualTo(AudioDeviceInfo.TYPE_BLE_HEADSET);
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_ENABLE_DETERMINING_SPATIAL_AUDIO_ATTRIBUTES_BY_PROFILE)
+ public void refresh_leAudioProfileEnabledForSpeaker_useLeAudioSpeakerAttributes() {
+ when(mLeAudioProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
+ when(mA2dpProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mHearingAidProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mAudioManager.getBluetoothAudioDeviceCategory(MAC_ADDRESS))
+ .thenReturn(AudioManager.AUDIO_DEVICE_CATEGORY_SPEAKER);
+ when(mSpatializer.isAvailableForDevice(any())).thenReturn(true);
+
+ mController.refresh();
+ ShadowLooper.idleMainLooper();
+
+ assertThat(mController.mAudioDevice.getType()).isEqualTo(AudioDeviceInfo.TYPE_BLE_SPEAKER);
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_ENABLE_DETERMINING_SPATIAL_AUDIO_ATTRIBUTES_BY_PROFILE)
+ public void refresh_hearingAidProfileEnabled_useHearingAidAttributes() {
+ when(mLeAudioProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mA2dpProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mHearingAidProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
+ when(mSpatializer.isAvailableForDevice(any())).thenReturn(true);
+
+ mController.refresh();
+ ShadowLooper.idleMainLooper();
+
+ assertThat(mController.mAudioDevice.getType()).isEqualTo(AudioDeviceInfo.TYPE_HEARING_AID);
+ }
+
+ @Test
public void turnedOnSpatialAudio_invokesAddCompatibleAudioDevice() {
mController.setAvailableDevice(mAvailableDevice);
mSpatialAudioPref.setChecked(true);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceControllerTest.java
index 18f75ba..f3f32ae 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceControllerTest.java
@@ -30,9 +30,11 @@
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
+import android.app.settings.SettingsEnums;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothLeBroadcastAssistant;
@@ -57,6 +59,7 @@
import com.android.settings.SettingsActivity;
import com.android.settings.bluetooth.Utils;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
import com.android.settings.testutils.shadow.ShadowFragment;
@@ -136,6 +139,7 @@
private LifecycleOwner mLifecycleOwner;
private PreferenceCategory mPreferenceGroup;
private Preference mAudioSharingPreference;
+ private FakeFeatureFactory mFeatureFactory;
@Before
public void setUp() {
@@ -148,6 +152,7 @@
BluetoothStatusCodes.FEATURE_SUPPORTED);
mLifecycleOwner = () -> mLifecycle;
mLifecycle = new Lifecycle(mLifecycleOwner);
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
mLocalBtManager = Utils.getLocalBtManager(mContext);
when(mLocalBtManager.getEventManager()).thenReturn(mEventManager);
@@ -175,6 +180,7 @@
.thenReturn(mAudioSharingPreference);
when(mScreen.findPreference(KEY)).thenReturn(mPreferenceGroup);
mController = new AudioSharingDevicePreferenceController(mContext);
+ mController.init(mFragment);
mController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater);
mController.setDialogHandler(mDialogHandler);
doReturn(mActivity).when(mFragment).getActivity();
@@ -527,6 +533,25 @@
}
@Test
+ public void testBluetoothLeBroadcastAssistantCallbacks_logAction() {
+ mController.mBroadcastAssistantCallback.onSourceAddFailed(
+ mDevice, mSource, /* reason= */ 1);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_JOIN_FAILED,
+ SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
+
+ mController.mBroadcastAssistantCallback.onSourceRemoveFailed(
+ mDevice, /* sourceId= */ 1, /* reason= */ 1);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_LEAVE_FAILED,
+ SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
+ }
+
+ @Test
public void testBluetoothLeBroadcastAssistantCallbacks_doNothing() {
mController.mBroadcastAssistantCallback.onSearchStarted(/* reason= */ 1);
mController.mBroadcastAssistantCallback.onSearchStartFailed(/* reason= */ 1);
@@ -534,10 +559,6 @@
mController.mBroadcastAssistantCallback.onSearchStopFailed(/* reason= */ 1);
mController.mBroadcastAssistantCallback.onSourceAdded(
mDevice, /* sourceId= */ 1, /* reason= */ 1);
- mController.mBroadcastAssistantCallback.onSourceAddFailed(
- mDevice, mSource, /* reason= */ 1);
- mController.mBroadcastAssistantCallback.onSourceRemoveFailed(
- mDevice, /* sourceId= */ 1, /* reason= */ 1);
mController.mBroadcastAssistantCallback.onSourceModified(
mDevice, /* sourceId= */ 1, /* reason= */ 1);
mController.mBroadcastAssistantCallback.onSourceModifyFailed(
@@ -546,7 +567,8 @@
mController.mBroadcastAssistantCallback.onSourceLost(/* broadcastId= */ 1);
shadowOf(Looper.getMainLooper()).idle();
- // Above callbacks won't update group preference
+ // Above callbacks won't update group preference and log actions
verify(mBluetoothDeviceUpdater, never()).forceUpdate();
+ verifyNoMoreInteractions(mFeatureFactory.metricsFeatureProvider);
}
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java
index 4c060d4..a7e6f56 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java
@@ -25,6 +25,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
@@ -288,6 +289,8 @@
assertThat(listener).isNotNull();
listener.onShareClick();
verify(mBroadcast).startPrivateBroadcast();
+ listener.onCancelClick();
+ verify(mCachedDevice1).setActive();
}
@Test
@@ -330,6 +333,8 @@
1));
AudioSharingJoinDialogFragment.DialogEventListener listener = fragment.getListener();
assertThat(listener).isNotNull();
+ listener.onCancelClick();
+ verify(mAssistant, never()).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
listener.onShareClick();
verify(mAssistant).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
}
@@ -397,7 +402,7 @@
@Test
public void handleNonLeaDeviceConnected_sharing_showStopDialog() {
setUpBroadcast(true);
- ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice2);
+ ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1);
when(mAssistant.getDevicesMatchingConnectionStates(
new int[] {BluetoothProfile.STATE_CONNECTED}))
.thenReturn(deviceList);
@@ -487,6 +492,8 @@
assertThat(listener).isNotNull();
listener.onShareClick();
verify(mBroadcast).startPrivateBroadcast();
+ listener.onCancelClick();
+ verify(mCachedDevice1, never()).setActive();
}
@Test
@@ -529,6 +536,8 @@
1));
AudioSharingJoinDialogFragment.DialogEventListener listener = fragment.getListener();
assertThat(listener).isNotNull();
+ listener.onCancelClick();
+ verify(mAssistant, never()).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
listener.onShareClick();
verify(mAssistant).addSource(mDevice1, mMetadata, /* isGroupOp= */ false);
}
@@ -605,10 +614,37 @@
}
@Test
+ public void closeOpeningDialogsForLeaDevice_closeDisconnectDialog() {
+ // Show disconnect dialog
+ setUpBroadcast(true);
+ ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3, mDevice4);
+ when(mAssistant.getDevicesMatchingConnectionStates(
+ new int[] {BluetoothProfile.STATE_CONNECTED}))
+ .thenReturn(deviceList);
+ when(mAssistant.getAllSources(mDevice1)).thenReturn(ImmutableList.of());
+ when(mAssistant.getAllSources(mDevice3)).thenReturn(ImmutableList.of(mState));
+ when(mAssistant.getAllSources(mDevice4)).thenReturn(ImmutableList.of(mState));
+ mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ false);
+ shadowOf(Looper.getMainLooper()).idle();
+ assertThat(mParentFragment.getChildFragmentManager().getFragments())
+ .comparingElementsUsing(TAG_EQUALS)
+ .containsExactly(AudioSharingDisconnectDialogFragment.tag());
+ // Close opening dialogs
+ mHandler.closeOpeningDialogsForLeaDevice(mCachedDevice1);
+ shadowOf(Looper.getMainLooper()).idle();
+ assertThat(mParentFragment.getChildFragmentManager().getFragments()).isEmpty();
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_DIALOG_AUTO_DISMISS,
+ SettingsEnums.DIALOG_AUDIO_SHARING_SWITCH_DEVICE);
+ }
+
+ @Test
public void closeOpeningDialogsForNonLeaDevice_closeStopDialog() {
// Show stop dialog
setUpBroadcast(true);
- ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice2);
+ ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1);
when(mAssistant.getDevicesMatchingConnectionStates(
new int[] {BluetoothProfile.STATE_CONNECTED}))
.thenReturn(deviceList);
@@ -678,6 +714,34 @@
}
@Test
+ public void onBroadcastStartFailed_logAction() {
+ setUpBroadcast(false);
+ ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
+ when(mAssistant.getDevicesMatchingConnectionStates(
+ new int[] {BluetoothProfile.STATE_CONNECTED}))
+ .thenReturn(deviceList);
+ when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
+ mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ false);
+ shadowOf(Looper.getMainLooper()).idle();
+ List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+ assertThat(childFragments)
+ .comparingElementsUsing(TAG_EQUALS)
+ .containsExactly(AudioSharingJoinDialogFragment.tag());
+ AudioSharingJoinDialogFragment fragment =
+ (AudioSharingJoinDialogFragment) Iterables.getOnlyElement(childFragments);
+ AudioSharingJoinDialogFragment.DialogEventListener listener = fragment.getListener();
+ assertThat(listener).isNotNull();
+ listener.onShareClick();
+
+ mHandler.mBroadcastCallback.onBroadcastStartFailed(/* reason= */ 1);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_START_FAILED,
+ SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
+ }
+
+ @Test
public void onPlaybackStarted_addSource() {
setUpBroadcast(false);
ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
@@ -706,15 +770,41 @@
}
@Test
+ public void onBroadcastStopFailed_logAction() {
+ setUpBroadcast(true);
+ ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1);
+ when(mAssistant.getDevicesMatchingConnectionStates(
+ new int[] {BluetoothProfile.STATE_CONNECTED}))
+ .thenReturn(deviceList);
+ when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
+ mHandler.handleDeviceConnected(mCachedDevice2, /* userTriggered= */ false);
+ shadowOf(Looper.getMainLooper()).idle();
+ List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+ assertThat(childFragments)
+ .comparingElementsUsing(TAG_EQUALS)
+ .containsExactly(AudioSharingStopDialogFragment.tag());
+
+ AudioSharingStopDialogFragment fragment =
+ (AudioSharingStopDialogFragment) Iterables.getOnlyElement(childFragments);
+ AudioSharingStopDialogFragment.DialogEventListener listener = fragment.getListener();
+ assertThat(listener).isNotNull();
+ listener.onStopSharingClick();
+
+ mHandler.mBroadcastCallback.onBroadcastStopFailed(/* reason= */ 1);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_STOP_FAILED,
+ SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
+ }
+
+ @Test
public void testBluetoothLeBroadcastCallbacks_doNothing() {
mHandler.mBroadcastCallback.onBroadcastStarted(/* reason= */ 1, /* broadcastId= */ 1);
- mHandler.mBroadcastCallback.onBroadcastStopped(/* reason= */ 1, /* broadcastId= */ 1);
mHandler.mBroadcastCallback.onBroadcastMetadataChanged(/* reason= */ 1, mMetadata);
mHandler.mBroadcastCallback.onBroadcastUpdated(/* reason= */ 1, /* broadcastId= */ 1);
mHandler.mBroadcastCallback.onPlaybackStarted(/* reason= */ 1, /* broadcastId= */ 1);
mHandler.mBroadcastCallback.onPlaybackStopped(/* reason= */ 1, /* broadcastId= */ 1);
- mHandler.mBroadcastCallback.onBroadcastStartFailed(/* reason= */ 1);
- mHandler.mBroadcastCallback.onBroadcastStopFailed(/* reason= */ 1);
mHandler.mBroadcastCallback.onBroadcastUpdateFailed(/* reason= */ 1, /* broadcastId= */ 1);
verify(mAssistant, never())
@@ -723,6 +813,7 @@
any(BluetoothLeBroadcastMetadata.class),
anyBoolean());
verify(mAssistant, never()).removeSource(any(BluetoothDevice.class), anyInt());
+ verifyNoMoreInteractions(mFeatureFactory.metricsFeatureProvider);
}
private void setUpBroadcast(boolean isBroadcasting) {
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java
index 45d99c7..d68b68b 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java
@@ -30,6 +30,7 @@
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
@@ -39,6 +40,7 @@
import android.bluetooth.BluetoothLeBroadcast;
import android.bluetooth.BluetoothLeBroadcastAssistant;
import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
import android.bluetooth.BluetoothProfile;
import android.bluetooth.BluetoothStatusCodes;
import android.content.BroadcastReceiver;
@@ -431,6 +433,38 @@
}
@Test
+ public void onPlaybackStarted_notInit_noDialog() {
+ FeatureFlagUtils.setEnabled(
+ mContext, FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST, true);
+ when(mBtnView.isEnabled()).thenReturn(true);
+ when(mAssistant.getDevicesMatchingConnectionStates(
+ new int[] {BluetoothProfile.STATE_CONNECTED}))
+ .thenReturn(ImmutableList.of(mDevice2, mDevice1));
+ doNothing().when(mBroadcast).startPrivateBroadcast();
+ mController =
+ new AudioSharingSwitchBarController(
+ mContext,
+ mSwitchBar,
+ new AudioSharingSwitchBarController.OnAudioSharingStateChangedListener() {
+ @Override
+ public void onAudioSharingStateChanged() {}
+
+ @Override
+ public void onAudioSharingProfilesConnected() {}
+ });
+ mController.onCheckedChanged(mBtnView, /* isChecked= */ true);
+ verify(mBroadcast).startPrivateBroadcast();
+ mController.mBroadcastCallback.onPlaybackStarted(0, 0);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(any(Context.class), eq(SettingsEnums.ACTION_AUTO_JOIN_AUDIO_SHARING));
+
+ List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+ assertThat(childFragments).isEmpty();
+ }
+
+ @Test
public void onPlaybackStarted_showJoinAudioSharingDialog() {
FeatureFlagUtils.setEnabled(
mContext, FeatureFlagUtils.SETTINGS_NEED_CONNECTED_BLE_DEVICE_FOR_BROADCAST, true);
@@ -485,6 +519,11 @@
shadowOf(Looper.getMainLooper()).idle();
assertThat(mSwitchBar.isChecked()).isFalse();
assertThat(mOnAudioSharingStateChanged).isFalse();
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_START_FAILED,
+ SettingsEnums.AUDIO_SHARING_SETTINGS);
when(mBroadcast.isEnabled(any())).thenReturn(true);
mController.mBroadcastCallback.onBroadcastStarted(/* reason= */ 1, /* broadcastId= */ 1);
@@ -497,6 +536,11 @@
shadowOf(Looper.getMainLooper()).idle();
assertThat(mSwitchBar.isChecked()).isTrue();
assertThat(mOnAudioSharingStateChanged).isFalse();
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_STOP_FAILED,
+ SettingsEnums.AUDIO_SHARING_SETTINGS);
when(mBroadcast.isEnabled(any())).thenReturn(false);
mController.mBroadcastCallback.onBroadcastStopped(/* reason= */ 1, /* broadcastId= */ 1);
@@ -517,4 +561,43 @@
verify(mSwitchBar, never()).setChecked(anyBoolean());
assertThat(mOnAudioSharingStateChanged).isFalse();
}
+
+ @Test
+ public void testBluetoothLeBroadcastAssistantCallbacks_logAction() {
+ BluetoothLeBroadcastMetadata metadata = mock(BluetoothLeBroadcastMetadata.class);
+ mController.mBroadcastAssistantCallback.onSourceAddFailed(
+ mDevice1, metadata, /* reason= */ 1);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_AUDIO_SHARING_JOIN_FAILED,
+ SettingsEnums.AUDIO_SHARING_SETTINGS);
+ }
+
+ @Test
+ public void testBluetoothLeBroadcastAssistantCallbacks_doNothing() {
+ BluetoothLeBroadcastReceiveState state = mock(BluetoothLeBroadcastReceiveState.class);
+ BluetoothLeBroadcastMetadata metadata = mock(BluetoothLeBroadcastMetadata.class);
+
+ // Do nothing
+ mController.mBroadcastAssistantCallback.onReceiveStateChanged(
+ mDevice1, /* sourceId= */ 1, state);
+ mController.mBroadcastAssistantCallback.onSearchStarted(/* reason= */ 1);
+ mController.mBroadcastAssistantCallback.onSearchStartFailed(/* reason= */ 1);
+ mController.mBroadcastAssistantCallback.onSearchStopped(/* reason= */ 1);
+ mController.mBroadcastAssistantCallback.onSearchStopFailed(/* reason= */ 1);
+ mController.mBroadcastAssistantCallback.onSourceAdded(
+ mDevice1, /* sourceId= */ 1, /* reason= */ 1);
+ mController.mBroadcastAssistantCallback.onSourceRemoved(
+ mDevice1, /* sourceId= */ 1, /* reason= */ 1);
+ mController.mBroadcastAssistantCallback.onSourceRemoveFailed(
+ mDevice1, /* sourceId= */ 1, /* reason= */ 1);
+ mController.mBroadcastAssistantCallback.onSourceModified(
+ mDevice1, /* sourceId= */ 1, /* reason= */ 1);
+ mController.mBroadcastAssistantCallback.onSourceModifyFailed(
+ mDevice1, /* sourceId= */ 1, /* reason= */ 1);
+ mController.mBroadcastAssistantCallback.onSourceFound(metadata);
+ mController.mBroadcastAssistantCallback.onSourceLost(/* broadcastId= */ 1);
+ verifyNoMoreInteractions(mFeatureFactory.metricsFeatureProvider);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/InterruptionFilterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/InterruptionFilterPreferenceControllerTest.java
new file mode 100644
index 0000000..aeb1b8e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/InterruptionFilterPreferenceControllerTest.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2024 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.settings.notification.modes;
+
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+import static android.service.notification.ZenPolicy.STATE_ALLOW;
+import static android.service.notification.ZenPolicy.STATE_DISALLOW;
+import static android.service.notification.ZenPolicy.STATE_UNSET;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.app.AutomaticZenRule;
+import android.app.Flags;
+import android.content.Context;
+import android.net.Uri;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public final class InterruptionFilterPreferenceControllerTest {
+
+ private InterruptionFilterPreferenceController mController;
+
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+ private Context mContext;
+ @Mock private ZenModesBackend mBackend;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+
+ mContext = RuntimeEnvironment.application;
+ mController = new InterruptionFilterPreferenceController(mContext, "something", mBackend);
+ }
+
+ @Test
+ public void testUpdateState_all() {
+ TwoStatePreference preference = mock(TwoStatePreference.class);
+ ZenMode zenMode = new ZenMode("id",
+ new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
+ .setType(AutomaticZenRule.TYPE_DRIVING)
+ .setInterruptionFilter(INTERRUPTION_FILTER_ALL)
+ .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
+ .build(), true);
+ mController.updateZenMode(preference, zenMode);
+
+ verify(preference).setChecked(false);
+ }
+
+ @Test
+ public void testOnPreferenceChange_fromAll() {
+ TwoStatePreference preference = mock(TwoStatePreference.class);
+ ZenMode zenMode = new ZenMode("id",
+ new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
+ .setType(AutomaticZenRule.TYPE_DRIVING)
+ .setInterruptionFilter(INTERRUPTION_FILTER_ALL)
+ .setZenPolicy(new ZenPolicy.Builder().allowAlarms(false).build())
+ .build(), true);
+
+ mController.updateZenMode(preference, zenMode);
+
+ mController.onPreferenceChange(preference, true);
+
+ ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+ verify(mBackend).updateMode(captor.capture());
+ assertThat(captor.getValue().getPolicy().getPriorityCategoryAlarms())
+ .isEqualTo(STATE_DISALLOW);
+ assertThat(captor.getValue().getRule().getInterruptionFilter())
+ .isEqualTo(INTERRUPTION_FILTER_PRIORITY);
+ }
+
+ @Test
+ public void testUpdateState_priority() {
+ TwoStatePreference preference = mock(TwoStatePreference.class);
+ ZenMode zenMode = new ZenMode("id",
+ new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
+ .setType(AutomaticZenRule.TYPE_DRIVING)
+ .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
+ .build(), true);
+ mController.updateZenMode(preference, zenMode);
+
+ verify(preference).setChecked(true);
+ }
+
+ @Test
+ public void testOnPreferenceChange_fromPriority() {
+ TwoStatePreference preference = mock(TwoStatePreference.class);
+ ZenMode zenMode = new ZenMode("id",
+ new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
+ .setType(AutomaticZenRule.TYPE_DRIVING)
+ .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ .setZenPolicy(new ZenPolicy.Builder().allowAlarms(false).build())
+ .build(), true);
+
+ mController.updateZenMode(preference, zenMode);
+
+ mController.onPreferenceChange(preference, false);
+
+ ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+ verify(mBackend).updateMode(captor.capture());
+ assertThat(captor.getValue().getPolicy().getPriorityCategoryAlarms())
+ .isEqualTo(STATE_DISALLOW);
+ assertThat(captor.getValue().getRule().getInterruptionFilter())
+ .isEqualTo(INTERRUPTION_FILTER_ALL);
+ }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java
index c8b1185..b199a2b 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java
@@ -25,6 +25,7 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -43,7 +44,6 @@
import androidx.preference.Preference;
import com.android.settings.SettingsActivity;
-import com.android.settings.notification.NotificationBackend;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.widget.SelectorWithWidgetPreference;
@@ -57,7 +57,6 @@
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
-import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
import java.util.List;
@@ -73,7 +72,7 @@
private ZenModesBackend mZenModesBackend;
@Mock
- private NotificationBackend mNotificationBackend;
+ private ZenHelperBackend mHelperBackend;
@Mock
private ApplicationsState mApplicationsState;
@@ -90,8 +89,7 @@
when(mApplicationsState.newSession(any(), any())).thenReturn(mSession);
mController = new ZenModeAppsLinkPreferenceController(
mContext, "controller_key", mock(Fragment.class), mApplicationsState,
- mZenModesBackend);
- ReflectionHelpers.setField(mController, "mNotificationBackend", mNotificationBackend);
+ mZenModesBackend, mHelperBackend);
}
private ApplicationsState.AppEntry createAppEntry(String packageName, String label) {
@@ -149,7 +147,7 @@
ApplicationsState.AppEntry entryConv = createAppEntry("test_conv", "test_convLabel");
List<ApplicationsState.AppEntry> appEntries = List.of(entry, entryConv);
- when(mNotificationBackend.getPackagesBypassingDnd(mContext.getUserId(),
+ when(mHelperBackend.getPackagesBypassingDnd(mContext.getUserId(),
false)).thenReturn(List.of("test"));
assertThat(mController.getAppsBypassingDnd(appEntries)).containsExactly("testLabel");
@@ -167,7 +165,7 @@
new ArrayList<ApplicationsState.AppEntry>();
appEntries.add(createAppEntry("test", "pkgLabel"));
- when(mNotificationBackend.getPackagesBypassingDnd(
+ when(mHelperBackend.getPackagesBypassingDnd(
mContext.getUserId(), false))
.thenReturn(List.of("test"));
@@ -183,13 +181,30 @@
@Test
public void testOnPackageListChangedTriggersRebuild() {
- mController.mAppSessionCallbacks.onPackageListChanged();
+ SelectorWithWidgetPreference preference = mock(SelectorWithWidgetPreference.class);
+ // Create a zen mode that allows priority channels to breakthrough.
+ ZenMode zenMode = createPriorityChannelsZenMode();
+ mController.updateState(preference, zenMode);
verify(mSession).rebuild(any(), any(), eq(false));
+
+ mController.mAppSessionCallbacks.onPackageListChanged();
+ verify(mSession, times(2)).rebuild(any(), any(), eq(false));
}
@Test
public void testOnLoadEntriesCompletedTriggersRebuild() {
- mController.mAppSessionCallbacks.onLoadEntriesCompleted();
+ SelectorWithWidgetPreference preference = mock(SelectorWithWidgetPreference.class);
+ // Create a zen mode that allows priority channels to breakthrough.
+ ZenMode zenMode = createPriorityChannelsZenMode();
+ mController.updateState(preference, zenMode);
verify(mSession).rebuild(any(), any(), eq(false));
+
+ mController.mAppSessionCallbacks.onLoadEntriesCompleted();
+ verify(mSession, times(2)).rebuild(any(), any(), eq(false));
+ }
+
+ @Test
+ public void testNoCrashIfAppsReadyBeforeRuleAvailable() {
+ mController.mAppSessionCallbacks.onLoadEntriesCompleted();
}
}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java
index 750453d..b67d332 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java
@@ -20,7 +20,6 @@
import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static com.android.settings.notification.modes.ZenModeAppsPreferenceController.KEY_ALL;
import static com.android.settings.notification.modes.ZenModeAppsPreferenceController.KEY_NONE;
import static com.android.settings.notification.modes.ZenModeAppsPreferenceController.KEY_PRIORITY;
@@ -62,11 +61,9 @@
@Mock
private ZenModesBackend mBackend;
private ZenModeAppsPreferenceController mPriorityController;
- private ZenModeAppsPreferenceController mAllController;
private ZenModeAppsPreferenceController mNoneController;
private SelectorWithWidgetPreference mPriorityPref;
- private SelectorWithWidgetPreference mAllPref;
private SelectorWithWidgetPreference mNonePref;
private PreferenceCategory mPrefCategory;
private PreferenceScreen mPreferenceScreen;
@@ -81,10 +78,8 @@
mPriorityController = new ZenModeAppsPreferenceController(mContext, KEY_PRIORITY, mBackend);
mNoneController = new ZenModeAppsPreferenceController(mContext, KEY_NONE, mBackend);
- mAllController = new ZenModeAppsPreferenceController(mContext, KEY_ALL, mBackend);
mPriorityPref = makePreference(KEY_PRIORITY, mPriorityController);
- mAllPref = makePreference(KEY_ALL, mAllController);
mNonePref = makePreference(KEY_NONE, mNoneController);
mPrefCategory = new PreferenceCategory(mContext);
@@ -95,10 +90,8 @@
mPreferenceScreen.addPreference(mPrefCategory);
mPrefCategory.addPreference(mPriorityPref);
- mPrefCategory.addPreference(mAllPref);
mPrefCategory.addPreference(mNonePref);
- mAllController.displayPreference(mPreferenceScreen);
mPriorityController.displayPreference(mPreferenceScreen);
mNoneController.displayPreference(mPreferenceScreen);
}
@@ -112,36 +105,6 @@
}
@Test
- public void testUpdateState_All() {
- TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .build())
- .build(), true);
- mAllController.updateZenMode(preference, zenMode);
-
- verify(preference).setChecked(true);
- }
-
- @Test
- public void testUpdateState_All_Unchecked() {
- TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
- .build())
- .build(), true);
- mAllController.updateZenMode(preference, zenMode);
-
- verify(preference).setChecked(false);
- }
-
- @Test
public void testUpdateState_None() {
TwoStatePreference preference = mock(TwoStatePreference.class);
ZenMode zenMode = new ZenMode("id",
@@ -163,7 +126,7 @@
new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
.setType(AutomaticZenRule.TYPE_DRIVING)
.setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
+ .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
.build())
.build(), true);
mNoneController.updateZenMode(preference, zenMode);
@@ -202,67 +165,6 @@
}
@Test
- public void testOnPreferenceChange_All() {
- TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_NONE)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .build())
- .build(), true);
-
- mAllController.updateZenMode(preference, zenMode);
- mAllController.onPreferenceChange(preference, true);
- ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
- verify(mBackend).updateMode(captor.capture());
-
- assertThat(captor.getValue().getPolicy().getAllowedChannels())
- .isEqualTo(ZenMode.CHANNEL_POLICY_ALL);
- }
-
- @Test
- public void testPreferenceClick_passesCorrectCheckedState_All() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
- .build())
- .build(), true);
-
-
- mAllController.updateZenMode(mAllPref, zenMode);
- mNoneController.updateZenMode(mNonePref, zenMode);
- mPriorityController.updateZenMode(mPriorityPref, zenMode);
-
- // MPME is checked; ALL and PRIORITY are unchecked.
- assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
- .isChecked());
-
- mPrefCategory.findPreference(KEY_ALL).performClick();
-
- ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
- verify(mBackend).updateMode(captor.capture());
- // Checks the policy value for ALL is set.
- // The important part is that the interruption filter is propagated to the backend.
- assertThat(captor.getValue().getRule().getInterruptionFilter())
- .isEqualTo(INTERRUPTION_FILTER_ALL);
- // ALL is now checked; others are unchecked.
- assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
- .isChecked());
- }
-
- @Test
public void testPreferenceClick_passesCorrectCheckedState_None() {
ZenMode zenMode = new ZenMode("id",
new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
@@ -272,12 +174,9 @@
.build())
.build(), true);
- mAllController.updateZenMode(mAllPref, zenMode);
mNoneController.updateZenMode(mNonePref, zenMode);
mPriorityController.updateZenMode(mPriorityPref, zenMode);
- assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
.isChecked());
assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
@@ -296,8 +195,6 @@
// NONE is now checked; others are unchecked.
assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
.isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
.isChecked());
}
@@ -312,14 +209,11 @@
.build())
.build(), true);
- mAllController.updateZenMode(mAllPref, zenMode);
mNoneController.updateZenMode(mNonePref, zenMode);
mPriorityController.updateZenMode(mPriorityPref, zenMode);
assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
.isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
.isChecked());
@@ -334,8 +228,6 @@
// PRIORITY is now checked; others are unchecked.
assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
.isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
.isChecked());
}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java
index 04d625a..94c2d8a 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java
@@ -17,7 +17,7 @@
package com.android.settings.notification.modes;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static org.junit.Assert.assertTrue;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -29,7 +29,9 @@
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
+
import androidx.preference.Preference;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -38,8 +40,6 @@
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
public final class ZenModeCallsLinkPreferenceControllerTest {
@@ -49,10 +49,9 @@
@Rule
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
-
private Context mContext;
- @Mock
- private ZenModesBackend mBackend;
+ @Mock private ZenModesBackend mBackend;
+ @Mock private ZenHelperBackend mHelperBackend;
@Before
public void setup() {
@@ -61,7 +60,7 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModeCallsLinkPreferenceController(
- mContext, "something", mBackend);
+ mContext, "something", mBackend, mHelperBackend);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java
index 9d33b0b..62aa046 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java
@@ -17,6 +17,7 @@
package com.android.settings.notification.modes;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -28,7 +29,9 @@
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
+
import androidx.preference.Preference;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -47,8 +50,8 @@
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext;
- @Mock
- private ZenModesBackend mBackend;
+ @Mock private ZenModesBackend mBackend;
+ @Mock private ZenHelperBackend mHelperBackend;
@Before
public void setup() {
@@ -57,7 +60,7 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModeDisplayLinkPreferenceController(
- mContext, "something", mBackend);
+ mContext, "something", mBackend, mHelperBackend);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java
index cfeefb4..9400f83 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java
@@ -17,7 +17,7 @@
package com.android.settings.notification.modes;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static org.junit.Assert.assertTrue;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -29,7 +29,9 @@
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
+
import androidx.preference.Preference;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -48,8 +50,8 @@
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext;
- @Mock
- private ZenModesBackend mBackend;
+ @Mock private ZenModesBackend mBackend;
+ @Mock private ZenHelperBackend mHelperBackend;
@Before
public void setup() {
@@ -58,7 +60,7 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModeMessagesLinkPreferenceController(
- mContext, "something", mBackend);
+ mContext, "something", mBackend, mHelperBackend);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java
index 646c7aa..00a9fbe 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java
@@ -17,6 +17,7 @@
package com.android.settings.notification.modes;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -28,7 +29,9 @@
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
+
import androidx.preference.Preference;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -47,8 +50,8 @@
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext;
- @Mock
- private ZenModesBackend mBackend;
+ @Mock private ZenModesBackend mBackend;
+ @Mock private ZenHelperBackend mHelperBackend;
@Before
public void setup() {
@@ -57,7 +60,7 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModeNotifVisLinkPreferenceController(
- mContext, "something", mBackend);
+ mContext, "something", mBackend, mHelperBackend);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java
index 26da6ab..699762e 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java
@@ -17,6 +17,7 @@
package com.android.settings.notification.modes;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -28,7 +29,9 @@
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
+
import androidx.preference.Preference;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -48,8 +51,8 @@
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext;
- @Mock
- private ZenModesBackend mBackend;
+ @Mock private ZenModesBackend mBackend;
+ @Mock private ZenHelperBackend mHelperBackend;
@Before
public void setup() {
@@ -58,7 +61,7 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModeOtherLinkPreferenceController(
- mContext, "something", mBackend);
+ mContext, "something", mBackend, mHelperBackend);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java
index 6dd918a..4a4a6e4 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java
@@ -19,7 +19,9 @@
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
import static android.service.notification.ZenPolicy.STATE_ALLOW;
import static android.service.notification.ZenPolicy.STATE_UNSET;
+
import static com.google.common.truth.Truth.assertThat;
+
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -30,7 +32,9 @@
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
+
import androidx.preference.TwoStatePreference;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java
index 81e6464..a331318 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java
@@ -17,7 +17,7 @@
package com.android.settings.notification.modes;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static org.junit.Assert.assertTrue;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -29,7 +29,9 @@
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
+
import androidx.preference.Preference;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -50,6 +52,8 @@
private Context mContext;
@Mock
private ZenModesBackend mBackend;
+ @Mock
+ private ZenHelperBackend mHelperBackend;
@Before
public void setup() {
@@ -58,7 +62,7 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModePeopleLinkPreferenceController(
- mContext, "something", mBackend);
+ mContext, "something", mBackend, mHelperBackend);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java
index c915974..709af43 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java
@@ -77,8 +77,8 @@
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext;
- @Mock
- private ZenModesBackend mBackend;
+ @Mock private ZenModesBackend mBackend;
+ @Mock private ZenHelperBackend mHelperBackend;
private PreferenceCategory mMessagesPrefCategory, mCallsPrefCategory;
@@ -90,10 +90,11 @@
mContext = RuntimeEnvironment.application;
- mMessagesController = new ZenModePrioritySendersPreferenceController(
- mContext, "messages", true, mBackend);
- mCallsController = new ZenModePrioritySendersPreferenceController(
- mContext, "calls", false, mBackend);
+ mMessagesController = new ZenModePrioritySendersPreferenceController(mContext, "messages",
+ true, mBackend, mHelperBackend);
+ mCallsController = new ZenModePrioritySendersPreferenceController(mContext, "calls", false,
+ mBackend, mHelperBackend);
+
mMessagesPrefCategory = new PreferenceCategory(mContext);
mMessagesPrefCategory.setKey(mMessagesController.getPreferenceKey());
mCallsPrefCategory = new PreferenceCategory(mContext);
@@ -106,7 +107,7 @@
Cursor cursor = mock(Cursor.class);
when(cursor.getCount()).thenReturn(1);
- when(mBackend.queryAllContactsData()).thenReturn(cursor);
+ when(mHelperBackend.queryAllContactsData()).thenReturn(cursor);
}
// Makes a preference with the provided key and whether it's a checkbox with
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java
index 6b24fa2..0ede058 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java
@@ -34,6 +34,7 @@
import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
import androidx.preference.DropDownPreference;
@@ -85,7 +86,9 @@
@EnableFlags({Flags.FLAG_MODES_API, Flags.FLAG_MODES_UI})
public void updateEventMode_updatesConditionAndTriggerDescription() {
ZenMode mode = new ZenMode("id",
- new AutomaticZenRule.Builder("name", Uri.parse("condition")).build(),
+ new AutomaticZenRule.Builder("name", Uri.parse("condition"))
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
+ .build(),
true); // is active
// Explicitly update preference controller with mode info first, which will also call
@@ -99,6 +102,7 @@
// apply event mode updater to existing mode
ZenMode out = mPrefController.updateEventMode(eventInfo).apply(mode);
+ assertThat(out.getRule().getOwner()).isEqualTo(ZenModeConfig.getEventConditionProvider());
assertThat(out.getRule().getConditionId()).isEqualTo(
ZenModeConfig.toEventConditionId(eventInfo));
assertThat(out.getRule().getTriggerDescription()).isEqualTo("My events");
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java
index 7cf327c..5f492b9 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java
@@ -29,6 +29,7 @@
import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
import android.view.ViewGroup;
import android.widget.ToggleButton;
@@ -81,7 +82,9 @@
@EnableFlags({Flags.FLAG_MODES_API, Flags.FLAG_MODES_UI})
public void updateScheduleRule_updatesConditionAndTriggerDescription() {
ZenMode mode = new ZenMode("id",
- new AutomaticZenRule.Builder("name", Uri.parse("condition")).build(),
+ new AutomaticZenRule.Builder("name", Uri.parse("condition"))
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
+ .build(),
true); // is active
ZenModeConfig.ScheduleInfo scheduleInfo = new ZenModeConfig.ScheduleInfo();
@@ -93,6 +96,8 @@
assertThat(out.getRule().getConditionId())
.isEqualTo(ZenModeConfig.toScheduleConditionId(scheduleInfo));
assertThat(out.getRule().getTriggerDescription()).isNotEmpty();
+ assertThat(out.getRule().getOwner()).isEqualTo(
+ ZenModeConfig.getScheduleConditionProvider());
}
@Test
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java
index 91de4ea..ff4d4a3 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java
@@ -16,6 +16,7 @@
package com.android.settings.notification.modes;
+import static android.app.AutomaticZenRule.TYPE_OTHER;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
@@ -31,10 +32,10 @@
import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.content.Intent;
import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
import android.service.notification.ZenPolicy;
@@ -43,6 +44,7 @@
import com.android.settings.R;
import com.android.settings.SettingsActivity;
+import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.PrimarySwitchPreference;
import org.junit.Before;
@@ -57,6 +59,7 @@
import java.util.Calendar;
@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
public class ZenModeSetTriggerLinkPreferenceControllerTest {
@Rule
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT);
@@ -65,10 +68,13 @@
private ZenModesBackend mBackend;
private Context mContext;
+ private PrimarySwitchPreference mPreference;
+
@Mock
private PreferenceCategory mPrefCategory;
@Mock
- private PrimarySwitchPreference mPreference;
+ private DashboardFragment mFragment;
+
private ZenModeSetTriggerLinkPreferenceController mPrefController;
@Before
@@ -77,12 +83,12 @@
mContext = ApplicationProvider.getApplicationContext();
mPrefController = new ZenModeSetTriggerLinkPreferenceController(mContext,
- "zen_automatic_trigger_category", mBackend);
+ "zen_automatic_trigger_category", mFragment, mBackend);
+ mPreference = new PrimarySwitchPreference(mContext);
when(mPrefCategory.findPreference(AUTOMATIC_TRIGGER_PREF_KEY)).thenReturn(mPreference);
}
@Test
- @EnableFlags(Flags.FLAG_MODES_UI)
public void testIsAvailable() {
// should not be available for manual DND
ZenMode manualMode = ZenMode.manualDndMode(new AutomaticZenRule.Builder("Do Not Disturb",
@@ -117,12 +123,12 @@
// Update preference controller with a zen mode that is not enabled
mPrefController.updateZenMode(mPrefCategory, zenMode);
- verify(mPreference).setChecked(false);
+ assertThat(mPreference.getCheckedState()).isFalse();
// Now with the rule enabled
zenMode.getRule().setEnabled(true);
mPrefController.updateZenMode(mPrefCategory, zenMode);
- verify(mPreference).setChecked(true);
+ assertThat(mPreference.getCheckedState()).isTrue();
}
@Test
@@ -154,21 +160,24 @@
eventInfo.calName = "My events";
ZenMode mode = new ZenMode("id", new AutomaticZenRule.Builder("name",
ZenModeConfig.toEventConditionId(eventInfo))
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
.setType(TYPE_SCHEDULE_CALENDAR)
.setTriggerDescription("My events")
.build(),
true); // is active
mPrefController.updateZenMode(mPrefCategory, mode);
- verify(mPreference).setTitle(R.string.zen_mode_set_calendar_link);
- verify(mPreference).setSummary(mode.getRule().getTriggerDescription());
+ assertThat(mPreference.getTitle()).isNotNull();
+ assertThat(mPreference.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.zen_mode_set_calendar_link));
+ assertThat(mPreference.getSummary()).isNotNull();
+ assertThat(mPreference.getSummary().toString()).isEqualTo(
+ mode.getRule().getTriggerDescription());
+ assertThat(mPreference.getIcon()).isNull();
- ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
- verify(mPreference).setIntent(captor.capture());
// Destination as written into the intent by SubSettingLauncher
- assertThat(
- captor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
- ZenModeSetCalendarFragment.class.getName());
+ assertThat(mPreference.getIntent().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(ZenModeSetCalendarFragment.class.getName());
}
@Test
@@ -179,20 +188,75 @@
scheduleInfo.endHour = 15;
ZenMode mode = new ZenMode("id", new AutomaticZenRule.Builder("name",
ZenModeConfig.toScheduleConditionId(scheduleInfo))
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
.setType(TYPE_SCHEDULE_TIME)
.setTriggerDescription("some schedule")
.build(),
true); // is active
mPrefController.updateZenMode(mPrefCategory, mode);
- verify(mPreference).setTitle(R.string.zen_mode_set_schedule_link);
- verify(mPreference).setSummary(mode.getRule().getTriggerDescription());
+ assertThat(mPreference.getTitle()).isNotNull();
+ assertThat(mPreference.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.zen_mode_set_schedule_link));
+ assertThat(mPreference.getSummary()).isNotNull();
+ assertThat(mPreference.getSummary().toString()).isEqualTo(
+ mode.getRule().getTriggerDescription());
+ assertThat(mPreference.getIcon()).isNull();
- ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
- verify(mPreference).setIntent(captor.capture());
// Destination as written into the intent by SubSettingLauncher
- assertThat(
- captor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
- ZenModeSetScheduleFragment.class.getName());
+ assertThat(mPreference.getIntent().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(ZenModeSetScheduleFragment.class.getName());
+ }
+
+ @Test
+ public void testRuleLink_manual() {
+ ZenMode mode = new ZenMode("id", new AutomaticZenRule.Builder("name",
+ ZenModeConfig.toCustomManualConditionId())
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
+ .setType(TYPE_OTHER)
+ .setTriggerDescription("Will not be shown")
+ .build(),
+ true); // is active
+ mPrefController.updateZenMode(mPrefCategory, mode);
+
+ assertThat(mPreference.getTitle()).isNotNull();
+ assertThat(mPreference.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.zen_mode_select_schedule));
+ assertThat(mPreference.getIcon()).isNotNull();
+ assertThat(mPreference.getSummary()).isNotNull();
+ assertThat(mPreference.getSummary().toString()).isEqualTo("");
+
+ // Set up a click listener to open the dialog.
+ assertThat(mPreference.getOnPreferenceClickListener()).isNotNull();
+ }
+
+ @Test
+ public void onScheduleChosen_updatesMode() {
+ ZenMode originalMode = new ZenMode("id",
+ new AutomaticZenRule.Builder("name", ZenModeConfig.toCustomManualConditionId())
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
+ .setType(TYPE_OTHER)
+ .setTriggerDescription("")
+ .build(),
+ false);
+ mPrefController.updateZenMode(mPrefCategory, originalMode);
+
+ ZenModeConfig.ScheduleInfo scheduleInfo = new ZenModeConfig.ScheduleInfo();
+ scheduleInfo.days = new int[] { Calendar.MONDAY };
+ scheduleInfo.startHour = 12;
+ scheduleInfo.endHour = 15;
+ Uri scheduleUri = ZenModeConfig.toScheduleConditionId(scheduleInfo);
+
+ mPrefController.mOnScheduleOptionListener.onScheduleSelected(scheduleUri);
+
+ // verify the backend got asked to update the mode to be schedule-based.
+ ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+ verify(mBackend).updateMode(captor.capture());
+ ZenMode updatedMode = captor.getValue();
+ assertThat(updatedMode.getType()).isEqualTo(TYPE_SCHEDULE_TIME);
+ assertThat(updatedMode.getRule().getConditionId()).isEqualTo(scheduleUri);
+ assertThat(updatedMode.getRule().getTriggerDescription()).isNotEmpty();
+ assertThat(updatedMode.getRule().getOwner()).isEqualTo(
+ ZenModeConfig.getScheduleConditionProvider());
}
}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTest.java
index 0528621..37b71a5 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTest.java
@@ -71,18 +71,6 @@
}
@Test
- public void getPolicy_interruptionFilterAll_returnsPolicyAllowingAll() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_ALL)
- .setZenPolicy(ZEN_POLICY) // should be ignored
- .build(), false);
-
- assertThat(zenMode.getPolicy()).isEqualTo(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .allowAllSounds().showAllVisualEffects().build());
- }
-
- @Test
public void getPolicy_interruptionFilterAlarms_returnsPolicyAllowingAlarms() {
ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
.setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
@@ -126,69 +114,4 @@
assertThat(zenMode.getPolicy()).isEqualTo(ZEN_POLICY);
assertThat(zenMode.getRule().getZenPolicy()).isEqualTo(ZEN_POLICY);
}
-
- @Test
- public void setPolicy_withAllChannelsAllowed_setsInterruptionFilterAll() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
- .setZenPolicy(ZEN_POLICY)
- .build(), false);
-
- zenMode.setPolicy(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL).build());
-
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(INTERRUPTION_FILTER_ALL);
- assertThat(zenMode.getPolicy()).isEqualTo(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .allowAllSounds().showAllVisualEffects().build());
- }
-
- @Test
- public void setPolicy_priorityToAllChannelsAndBack_restoresOldPolicy() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(ZEN_POLICY)
- .build(), false);
-
- zenMode.setPolicy(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL).build());
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(INTERRUPTION_FILTER_ALL);
- assertThat(zenMode.getPolicy()).isEqualTo(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .allowAllSounds().showAllVisualEffects().build());
-
- zenMode.setPolicy(
- new ZenPolicy.Builder().allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY).build());
-
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(
- INTERRUPTION_FILTER_PRIORITY);
- assertThat(zenMode.getPolicy()).isEqualTo(ZEN_POLICY);
- assertThat(zenMode.getRule().getZenPolicy()).isEqualTo(ZEN_POLICY);
- }
-
- @Test
- public void setPolicy_alarmsOnlyToAllChannelsAndBack_restoresPolicySimilarToAlarmsOnly() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
- .build(), false);
-
- zenMode.setPolicy(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL).build());
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(INTERRUPTION_FILTER_ALL);
- assertThat(zenMode.getPolicy()).isEqualTo(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .allowAllSounds().showAllVisualEffects().build());
-
- zenMode.setPolicy(
- new ZenPolicy.Builder().allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY).build());
-
- // We don't go back to ALARMS, but the policy must be the one the user was seeing before.
- ZenPolicy alarmsOnlyLikePolicy = new ZenPolicy.Builder().disallowAllSounds()
- .allowAlarms(true).allowMedia(true).allowPriorityChannels(false)
- .build();
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(
- INTERRUPTION_FILTER_PRIORITY);
- assertThat(zenMode.getPolicy()).isEqualTo(alarmsOnlyLikePolicy);
- assertThat(zenMode.getRule().getZenPolicy()).isEqualTo(alarmsOnlyLikePolicy);
- }
}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java
index ef8290a..51368c5 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java
@@ -44,7 +44,7 @@
@RunWith(RobolectricTestRunner.class)
public class ZenModesSummaryHelperTest {
private Context mContext;
- private ZenModesBackend mBackend;
+ private ZenHelperBackend mBackend;
private ZenModeSummaryHelper mSummaryHelper;
@@ -52,7 +52,7 @@
public void setup() {
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application;
- mBackend = new ZenModesBackend(mContext);
+ mBackend = new ZenHelperBackend(mContext);
mSummaryHelper = new ZenModeSummaryHelper(mContext, mBackend);
}
@@ -332,20 +332,6 @@
}
@Test
- public void getAppsSummary_all() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .build())
- .build();
- ZenMode zenMode = new ZenMode("id", rule, true);
-
- assertThat(mSummaryHelper.getAppsSummary(zenMode, new LinkedHashSet<>())).isEqualTo("All");
- }
-
- @Test
public void getAppsSummary_none() {
AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
.setType(AutomaticZenRule.TYPE_BEDTIME)
diff --git a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
index 7bc66c8..fe88148 100644
--- a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
@@ -39,7 +39,6 @@
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -126,7 +125,6 @@
BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
}
- @Ignore("b/313530297")
@Test
public void getAvailabilityStatus_isCurrentlyMainUser_returnDisabledForUser() {
when(mUserManager.getMainUser()).thenReturn(UserHandle.CURRENT);
@@ -136,7 +134,6 @@
BasePreferenceController.DISABLED_FOR_USER);
}
- @Ignore("b/313530297")
@Test
public void getAvailabilityStatus_featureAndMultiUserEnabledAndNonMainUser_returnAvailable() {
when(mUserManager.isUserForeground()).thenReturn(true);
diff --git a/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
index 7f27324..44e1cc6 100644
--- a/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
@@ -22,7 +22,7 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
@@ -63,7 +63,6 @@
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -222,8 +221,8 @@
}
@Test
- @Ignore("b/313530297")
public void onResume_canSwitch_shouldEnableSwitchPref() {
+ setupSelectedUser();
mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_OK);
mFragment.mSwitchUserPref = mSwitchUserPref;
mFragment.onAttach(mContext);
@@ -234,8 +233,8 @@
}
@Test
- @Ignore("b/313530297")
public void onResume_userInCall_shouldDisableSwitchPref() {
+ setupSelectedUser();
mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_USER_IN_CALL);
mFragment.mSwitchUserPref = mSwitchUserPref;
mFragment.onAttach(mContext);
@@ -246,8 +245,8 @@
}
@Test
- @Ignore("b/313530297")
public void onResume_switchDisallowed_shouldDisableSwitchPref() {
+ setupSelectedUser();
mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED);
mFragment.mSwitchUserPref = mSwitchUserPref;
mFragment.onAttach(mContext);
@@ -258,8 +257,8 @@
}
@Test
- @Ignore("b/313530297")
public void onResume_systemUserLocked_shouldDisableSwitchPref() {
+ setupSelectedUser();
mUserManager.setSwitchabilityStatus(UserManager.SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED);
mFragment.mSwitchUserPref = mSwitchUserPref;
mFragment.onAttach(mContext);
@@ -269,7 +268,6 @@
verify(mSwitchUserPref).setEnabled(false);
}
- @Ignore("b/313530297")
@Test
public void initialize_adminWithTelephony_shouldShowPhonePreference() {
setupSelectedUser();
@@ -315,7 +313,6 @@
verify(mFragment).removePreference(KEY_APP_AND_CONTENT_ACCESS);
}
- @Ignore("b/313530297")
@Test
public void initialize_adminSelectsSecondaryUser_shouldShowRemovePreference() {
setupSelectedUser();
@@ -328,7 +325,6 @@
verify(mFragment, never()).removePreference(KEY_REMOVE_USER);
}
- @Ignore("b/313530297")
@Test
public void initialize_adminSelectsNewRestrictedUser_shouldOpenAppContentScreen() {
setupSelectedRestrictedUser();
@@ -351,7 +347,6 @@
.isEqualTo(true);
}
- @Ignore("b/313530297")
@Test
public void initialize_adminSelectsRestrictedUser_shouldSetupPreferences() {
setupSelectedRestrictedUser();
@@ -381,7 +376,6 @@
verify(mActivity, never()).startActivity(any(Intent.class));
}
- @Ignore("b/313530297")
@Test
public void initialize_adminSelectsGuest_shouldShowRemovePreference() {
setupSelectedGuest();
@@ -425,7 +419,6 @@
verify(mFragment).removePreference(KEY_REMOVE_USER);
}
- @Ignore("b/313530297")
@Test
public void initialize_userHasCallRestriction_shouldSetPhoneSwitchUnChecked() {
setupSelectedUser();
@@ -438,7 +431,6 @@
verify(mPhonePref).setChecked(false);
}
- @Ignore("b/313530297")
@Test
public void initialize_noCallRestriction_shouldSetPhoneSwitchChecked() {
setupSelectedUser();
@@ -537,7 +529,6 @@
verify(mFragment, never()).switchUser();
}
- @Ignore("b/313530297")
@Test
public void onPreferenceClick_removeGuestClicked_canDelete_shouldShowDialog() {
setupSelectedGuest();
@@ -555,7 +546,6 @@
verify(mFragment).showDialog(DIALOG_CONFIRM_RESET_GUEST);
}
- @Ignore("b/313530297")
@Test
public void onPreferenceClick_removeRestrictedClicked_canDelete_shouldShowDialog() {
setupSelectedRestrictedUser();
@@ -574,7 +564,6 @@
verify(mFragment).showDialog(DIALOG_CONFIRM_REMOVE);
}
- @Ignore("b/313530297")
@Test
public void onPreferenceClick_removeClicked_canDelete_shouldShowDialog() {
setupSelectedUser();
@@ -666,7 +655,6 @@
assertThat(result).isFalse();
}
- @Ignore("b/313530297")
@Test
public void canDeleteUser_adminSelectsUser_noRestrictions_shouldReturnTrue() {
setupSelectedUser();
@@ -700,17 +688,16 @@
assertThat(result).isFalse();
}
- @Ignore("b/313530297")
@Test
public void initialize_userSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
+ assumeTrue(UserManager.isHeadlessSystemUserMode());
setupSelectedUser();
+ mUserManager.setIsAdminUser(true);
ShadowUserManager.setIsMultipleAdminEnabled(true);
mFragment.initialize(mActivity, mArguments);
- assertTrue(UserManager.isMultipleAdminEnabled());
verify(mFragment, never()).removePreference(KEY_GRANT_ADMIN);
}
- @Ignore("b/313530297")
@Test
public void initialize_userSelected_shouldNotShowGrantAdminPref() {
setupSelectedUser();
@@ -718,7 +705,6 @@
verify(mFragment).removePreference(KEY_GRANT_ADMIN);
}
- @Ignore("b/313530297")
@Test
public void initialize_restrictUserSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
setupSelectedUser();
@@ -729,7 +715,6 @@
verify(mFragment).removePreference(KEY_GRANT_ADMIN);
}
- @Ignore("b/313530297")
@Test
public void initialize_mainUserSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
setupSelectedMainUser();
@@ -738,7 +723,6 @@
verify(mFragment).removePreference(KEY_GRANT_ADMIN);
}
- @Ignore("b/313530297")
@Test
public void initialize_guestSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
setupSelectedGuest();
@@ -778,7 +762,7 @@
mUserInfo = new UserInfo(1, "Tom", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED,
UserManager.USER_TYPE_FULL_SECONDARY);
-
+ mFragment.mUserInfo = mUserInfo;
mUserManager.addProfile(mUserInfo);
}
@@ -787,7 +771,7 @@
mUserInfo = new UserInfo(11, "Jerry", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_MAIN,
UserManager.USER_TYPE_FULL_SECONDARY);
-
+ mFragment.mUserInfo = mUserInfo;
mUserManager.addProfile(mUserInfo);
}
@@ -796,7 +780,7 @@
mUserInfo = new UserInfo(12, "Andy", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_ADMIN,
UserManager.USER_TYPE_FULL_SECONDARY);
-
+ mFragment.mUserInfo = mUserInfo;
mUserManager.addProfile(mUserInfo);
}
@@ -805,7 +789,7 @@
mUserInfo = new UserInfo(23, "Guest", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_GUEST,
UserManager.USER_TYPE_FULL_GUEST);
-
+ mFragment.mUserInfo = mUserInfo;
mUserManager.addProfile(mUserInfo);
}
@@ -814,7 +798,7 @@
mUserInfo = new UserInfo(21, "Bob", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_RESTRICTED,
UserManager.USER_TYPE_FULL_RESTRICTED);
-
+ mFragment.mUserInfo = mUserInfo;
mUserManager.addProfile(mUserInfo);
}
}
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
index 417b102..02ed03c 100644
--- a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
@@ -363,6 +363,10 @@
}
@Implementation
+ protected boolean isAdminUser() {
+ return getUserInfo(UserHandle.myUserId()).isAdmin();
+ }
+ @Implementation
protected boolean isGuestUser() {
return mIsGuestUser;
}
diff --git a/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt b/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt
deleted file mode 100644
index c4611ac..0000000
--- a/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network
-
-import android.content.Context
-import android.provider.Settings
-import android.telephony.SubscriptionManager
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
-import com.android.settingslib.spa.testutils.toListWithTimeout
-import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.async
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.runBlocking
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@RunWith(AndroidJUnit4::class)
-class MobileDataEnabledFlowTest {
- private val context: Context = ApplicationProvider.getApplicationContext()
-
- @Test
- fun mobileDataEnabledFlow_notified(): Unit = runBlocking {
- val flow = context.mobileDataEnabledFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
-
- assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
- }
-
- @Test
- fun mobileDataEnabledFlow_changed_notified(): Unit = runBlocking {
- var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
- mobileDataEnabled = false
-
- val flow = context.mobileDataEnabledFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
- mobileDataEnabled = true
-
- assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
- }
-
- @Test
- fun mobileDataEnabledFlow_forSubIdNotChanged(): Unit = runBlocking {
- var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
- mobileDataEnabled = false
- var mobileDataEnabledForSubId
- by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
- mobileDataEnabledForSubId = false
-
- val listDeferred = async {
- context.mobileDataEnabledFlow(SUB_ID).toListWithTimeout()
- }
-
- assertThat(listDeferred.await()).hasSize(1)
- }
-
- @Test
- fun mobileDataEnabledFlow_forSubIdChanged(): Unit = runBlocking {
- var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
- mobileDataEnabled = false
- var mobileDataEnabledForSubId
- by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
- mobileDataEnabledForSubId = false
-
- val listDeferred = async {
- context.mobileDataEnabledFlow(SUB_ID).toListWithTimeout()
- }
- delay(100)
- mobileDataEnabledForSubId = true
-
- assertThat(listDeferred.await().size).isAtLeast(2)
- }
-
- private companion object {
- const val SUB_ID = 123
- }
-}
diff --git a/tests/spa_unit/src/com/android/settings/network/apn/ApnEditCarrierEnabledTest.kt b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditCarrierEnabledTest.kt
new file mode 100644
index 0000000..bd97482
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditCarrierEnabledTest.kt
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2024 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.settings.network.apn
+
+import android.content.Context
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.assertIsEnabled
+import androidx.compose.ui.test.assertIsNotEnabled
+import androidx.compose.ui.test.assertIsOff
+import androidx.compose.ui.test.assertIsOn
+import androidx.compose.ui.test.junit4.ComposeTestRule
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.compose.ui.test.performClick
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class ApnEditCarrierEnabledTest {
+
+ @get:Rule val composeTestRule = createComposeRule()
+
+ private val context: Context = spy(ApplicationProvider.getApplicationContext()) {}
+
+ private val resources = spy(context.resources) {}
+
+ @Before
+ fun setUp() {
+ context.stub { on { resources } doReturn resources }
+ }
+
+ @Test
+ fun carrierEnabled_displayed() {
+ composeTestRule.setContent { ApnEditCarrierEnabled(ApnData()) {} }
+
+ composeTestRule.onCarrierEnabled().assertIsDisplayed()
+ }
+
+ @Test
+ fun carrierEnabled_isChecked() {
+ val apnData = ApnData(carrierEnabled = true)
+
+ composeTestRule.setContent { ApnEditCarrierEnabled(apnData) {} }
+
+ composeTestRule.onCarrierEnabled().assertIsOn()
+ }
+
+ @Test
+ fun carrierEnabled_allowEdit_checkChanged() {
+ resources.stub { on { getBoolean(R.bool.config_allow_edit_carrier_enabled) } doReturn true }
+ var apnData by mutableStateOf(ApnData(carrierEnabled = true))
+ composeTestRule.setContent {
+ CompositionLocalProvider(LocalContext provides context) {
+ ApnEditCarrierEnabled(apnData) { apnData = apnData.copy(carrierEnabled = it) }
+ }
+ }
+
+ composeTestRule.onCarrierEnabled().performClick()
+
+ composeTestRule.onCarrierEnabled().assertIsEnabled().assertIsOff()
+ }
+
+ @Test
+ fun carrierEnabled_notAllowEdit_checkNotChanged() {
+ resources.stub {
+ on { getBoolean(R.bool.config_allow_edit_carrier_enabled) } doReturn false
+ }
+ var apnData by mutableStateOf(ApnData(carrierEnabled = true))
+ composeTestRule.setContent {
+ CompositionLocalProvider(LocalContext provides context) {
+ ApnEditCarrierEnabled(apnData) { apnData = apnData.copy(carrierEnabled = it) }
+ }
+ }
+
+ composeTestRule.onCarrierEnabled().performClick()
+
+ composeTestRule.onCarrierEnabled().assertIsNotEnabled().assertIsOn()
+ }
+
+ private fun ComposeTestRule.onCarrierEnabled() =
+ onNodeWithText(context.getString(R.string.carrier_enabled))
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
index 3621948..d310604 100644
--- a/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
@@ -21,24 +21,17 @@
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.test.assertIsDisplayed
-import androidx.compose.ui.test.assertIsOff
-import androidx.compose.ui.test.assertIsOn
import androidx.compose.ui.test.hasText
-import androidx.compose.ui.test.isFocused
import androidx.compose.ui.test.junit4.createComposeRule
-import androidx.compose.ui.test.onAllNodesWithText
import androidx.compose.ui.test.onChild
import androidx.compose.ui.test.onChildAt
-import androidx.compose.ui.test.onLast
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.onRoot
-import androidx.compose.ui.test.performClick
import androidx.compose.ui.test.performScrollToNode
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.R
import com.google.common.truth.Truth
-import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -55,7 +48,6 @@
private val port = "port"
private val apnType = context.resources.getString(R.string.apn_type)
private val apnRoaming = "IPv4"
- private val apnEnable = context.resources.getString(R.string.carrier_enabled)
private val apnProtocolOptions =
context.resources.getStringArray(R.array.apn_protocol_entries).toList()
private val passwordTitle = context.resources.getString(R.string.apn_password)
@@ -65,7 +57,6 @@
port = port,
apnType = apnType,
apnRoaming = apnProtocolOptions.indexOf(apnRoaming),
- apnEnable = true
)
private val apnData = mutableStateOf(
apnInit
@@ -133,39 +124,6 @@
composeTestRule.onNodeWithText(apnRoaming, true).assertIsDisplayed()
}
- @Ignore("b/342374681")
- @Test
- fun carrier_enabled_displayed() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(apnEnable, true))
- composeTestRule.onNodeWithText(apnEnable, true).assertIsDisplayed()
- }
-
- @Test
- fun carrier_enabled_isChecked() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(apnEnable, true))
- composeTestRule.onNodeWithText(apnEnable, true).assertIsOn()
- }
-
- @Ignore("b/342374681")
- @Test
- fun carrier_enabled_checkChanged() {
- composeTestRule.setContent {
- ApnPage(apnInit, remember { apnData }, uri)
- }
- composeTestRule.onRoot().onChild().onChildAt(0)
- .performScrollToNode(hasText(apnEnable, true))
- composeTestRule.onNodeWithText(apnEnable, true).performClick()
- composeTestRule.onNodeWithText(apnEnable, true).assertIsOff()
- }
-
@Test
fun password_displayed() {
composeTestRule.setContent {
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MobileDataRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MobileDataRepositoryTest.kt
new file mode 100644
index 0000000..268be57
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MobileDataRepositoryTest.kt
@@ -0,0 +1,168 @@
+/*
+ * Copyright (C) 2024 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.settings.network.telephony
+
+import android.content.Context
+import android.provider.Settings
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
+import com.android.settingslib.spa.testutils.toListWithTimeout
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.async
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class MobileDataRepositoryTest {
+ private val mockTelephonyManager =
+ mock<TelephonyManager> { on { createForSubscriptionId(SUB_ID) } doReturn mock }
+
+ private val context: Context =
+ spy(ApplicationProvider.getApplicationContext()) {
+ on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+ }
+
+ private val repository = MobileDataRepository(context, flowOf(Unit))
+
+ @Test
+ fun isMobileDataPolicyEnabledFlow_invalidSub_returnFalse() = runBlocking {
+ val flow =
+ repository.isMobileDataPolicyEnabledFlow(
+ subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+ )
+
+ assertThat(flow.firstWithTimeoutOrNull()).isFalse()
+ }
+
+ @Test
+ fun isMobileDataPolicyEnabledFlow_validSub_returnPolicyState() = runBlocking {
+ mockTelephonyManager.stub {
+ on {
+ isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+ } doReturn true
+ }
+
+ val flow =
+ repository.isMobileDataPolicyEnabledFlow(
+ subId = SUB_ID,
+ policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+ )
+
+ assertThat(flow.firstWithTimeoutOrNull()).isTrue()
+ }
+
+ @Test
+ fun setMobileDataPolicyEnabled() = runBlocking {
+ repository.setMobileDataPolicyEnabled(
+ subId = SUB_ID,
+ policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+ enabled = true)
+
+ verify(mockTelephonyManager)
+ .setMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH, true)
+ }
+
+ @Test
+ fun mobileDataEnabledChangedFlow_notified(): Unit = runBlocking {
+ val flow =
+ repository.mobileDataEnabledChangedFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+
+ assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
+ }
+
+ @Test
+ fun mobileDataEnabledChangedFlow_changed_notified(): Unit = runBlocking {
+ var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
+ mobileDataEnabled = false
+
+ val flow =
+ repository.mobileDataEnabledChangedFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+ mobileDataEnabled = true
+
+ assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
+ }
+
+ @Test
+ fun mobileDataEnabledChangedFlow_forSubIdNotChanged(): Unit = runBlocking {
+ var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
+ mobileDataEnabled = false
+ var mobileDataEnabledForSubId by
+ context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
+ mobileDataEnabledForSubId = false
+
+ val listDeferred = async {
+ repository.mobileDataEnabledChangedFlow(SUB_ID).toListWithTimeout()
+ }
+
+ assertThat(listDeferred.await()).hasSize(1)
+ }
+
+ @Test
+ fun mobileDataEnabledChangedFlow_forSubIdChanged(): Unit = runBlocking {
+ var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
+ mobileDataEnabled = false
+ var mobileDataEnabledForSubId by
+ context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
+ mobileDataEnabledForSubId = false
+
+ val listDeferred = async {
+ repository.mobileDataEnabledChangedFlow(SUB_ID).toListWithTimeout()
+ }
+ delay(100)
+ mobileDataEnabledForSubId = true
+
+ assertThat(listDeferred.await().size).isAtLeast(2)
+ }
+
+ @Test
+ fun isMobileDataEnabledFlow_invalidSub_returnFalse() = runBlocking {
+ val state =
+ repository.isMobileDataEnabledFlow(
+ subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ )
+
+ assertThat(state.firstWithTimeoutOrNull()).isFalse()
+ }
+
+ @Test
+ fun isMobileDataEnabledFlow_validSub_returnPolicyState() = runBlocking {
+ mockTelephonyManager.stub {
+ on { isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER) } doReturn true
+ }
+
+ val state = repository.isMobileDataEnabledFlow(subId = SUB_ID)
+
+ assertThat(state.firstWithTimeoutOrNull()).isTrue()
+ }
+
+ private companion object {
+ const val SUB_ID = 123
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt
index 65e8c47..12791b8 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt
@@ -17,14 +17,12 @@
package com.android.settings.network.telephony
import android.content.Context
-import android.telephony.SubscriptionManager
import android.telephony.TelephonyCallback
import android.telephony.TelephonyManager
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.runBlocking
import org.junit.Test
import org.junit.runner.RunWith
@@ -33,91 +31,29 @@
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
import org.mockito.kotlin.spy
-import org.mockito.kotlin.stub
import org.mockito.kotlin.verify
@RunWith(AndroidJUnit4::class)
class TelephonyRepositoryTest {
private var telephonyCallback: TelephonyCallback? = null
- private val mockTelephonyManager = mock<TelephonyManager> {
- on { createForSubscriptionId(SUB_ID) } doReturn mock
- on { registerTelephonyCallback(any(), any()) } doAnswer {
- telephonyCallback = it.arguments[1] as TelephonyCallback
- }
- }
-
- private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
- on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
- }
-
- private val repository = TelephonyRepository(context, flowOf(Unit))
-
- @Test
- fun isMobileDataPolicyEnabledFlow_invalidSub_returnFalse() = runBlocking {
- val flow = repository.isMobileDataPolicyEnabledFlow(
- subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
- policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
- )
-
- assertThat(flow.firstWithTimeoutOrNull()).isFalse()
- }
-
- @Test
- fun isMobileDataPolicyEnabledFlow_validSub_returnPolicyState() = runBlocking {
- mockTelephonyManager.stub {
- on {
- isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
- } doReturn true
+ private val mockTelephonyManager =
+ mock<TelephonyManager> {
+ on { createForSubscriptionId(SUB_ID) } doReturn mock
+ on { registerTelephonyCallback(any(), any()) } doAnswer
+ {
+ telephonyCallback = it.arguments[1] as TelephonyCallback
+ }
}
- val flow = repository.isMobileDataPolicyEnabledFlow(
- subId = SUB_ID,
- policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
- )
-
- assertThat(flow.firstWithTimeoutOrNull()).isTrue()
- }
-
- @Test
- fun setMobileDataPolicyEnabled() = runBlocking {
- repository.setMobileDataPolicyEnabled(
- subId = SUB_ID,
- policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
- enabled = true
- )
-
- verify(mockTelephonyManager)
- .setMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH, true)
- }
-
- @Test
- fun isDataEnabled_invalidSub_returnFalse() = runBlocking {
- val state = repository.isDataEnabledFlow(
- subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
- )
-
- assertThat(state.firstWithTimeoutOrNull()).isFalse()
- }
-
- @Test
- fun isDataEnabled_validSub_returnPolicyState() = runBlocking {
- mockTelephonyManager.stub {
- on {
- isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
- } doReturn true
+ private val context: Context =
+ spy(ApplicationProvider.getApplicationContext()) {
+ on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
}
- val state = repository.isDataEnabledFlow(subId = SUB_ID)
-
- assertThat(state.firstWithTimeoutOrNull()).isTrue()
- }
-
@Test
fun telephonyCallbackFlow_callbackRegistered() = runBlocking {
- val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) {
- object : TelephonyCallback() {}
- }
+ val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) { object : TelephonyCallback() {} }
flow.firstWithTimeoutOrNull()
@@ -126,9 +62,7 @@
@Test
fun telephonyCallbackFlow_callbackUnregistered() = runBlocking {
- val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) {
- object : TelephonyCallback() {}
- }
+ val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) { object : TelephonyCallback() {} }
flow.firstWithTimeoutOrNull()
diff --git a/tests/spa_unit/src/com/android/settings/print/PrintSettingsPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/print/PrintSettingsPageProviderTest.kt
index 746816b..2571406 100644
--- a/tests/spa_unit/src/com/android/settings/print/PrintSettingsPageProviderTest.kt
+++ b/tests/spa_unit/src/com/android/settings/print/PrintSettingsPageProviderTest.kt
@@ -17,6 +17,7 @@
package com.android.settings.print
import android.content.Context
+import android.net.Uri
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.test.isDisplayed
@@ -31,7 +32,9 @@
import com.android.settings.print.PrintSettingsFragment.EXTRA_CHECKED
import com.android.settings.print.PrintSettingsFragment.EXTRA_SERVICE_COMPONENT_NAME
import com.android.settings.print.PrintSettingsFragment.EXTRA_TITLE
+import com.android.settings.print.PrintSettingsPageProvider.AddPrintService
import com.android.settings.print.PrintSettingsPageProvider.PrintService
+import kotlinx.coroutines.flow.flowOf
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -44,35 +47,32 @@
@RunWith(AndroidJUnit4::class)
class PrintSettingsPageProviderTest {
- @get:Rule
- val composeTestRule = createComposeRule()
+ @get:Rule val composeTestRule = createComposeRule()
- private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
- doNothing().whenever(mock).startActivity(any())
- }
+ private val context: Context =
+ spy(ApplicationProvider.getApplicationContext()) {
+ doNothing().whenever(mock).startActivity(any())
+ }
- private val displayInfo = PrintServiceDisplayInfo(
- title = TITLE,
- isEnabled = true,
- summary = SUMMARY,
- icon = context.getDrawable(R.drawable.ic_settings_print)!!,
- componentName = "ComponentName",
- )
+ private val displayInfo =
+ PrintServiceDisplayInfo(
+ title = TITLE,
+ isEnabled = true,
+ summary = SUMMARY,
+ icon = context.getDrawable(R.drawable.ic_settings_print)!!,
+ componentName = "ComponentName",
+ )
@Test
fun printService_titleDisplayed() {
- composeTestRule.setContent {
- PrintService(displayInfo)
- }
+ composeTestRule.setContent { PrintService(displayInfo) }
composeTestRule.onNodeWithText(TITLE).isDisplayed()
}
@Test
fun printService_summaryDisplayed() {
- composeTestRule.setContent {
- PrintService(displayInfo)
- }
+ composeTestRule.setContent { PrintService(displayInfo) }
composeTestRule.onNodeWithText(SUMMARY).isDisplayed()
}
@@ -80,25 +80,43 @@
@Test
fun printService_onClick() {
composeTestRule.setContent {
- CompositionLocalProvider(LocalContext provides context) {
- PrintService(displayInfo)
- }
+ CompositionLocalProvider(LocalContext provides context) { PrintService(displayInfo) }
}
composeTestRule.onNodeWithText(TITLE).performClick()
- verify(context).startActivity(argThat {
- val fragment = getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)
- val arguments = getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)!!
- fragment == PrintServiceSettingsFragment::class.qualifiedName &&
- arguments.getBoolean(EXTRA_CHECKED) == displayInfo.isEnabled &&
- arguments.getString(EXTRA_TITLE) == displayInfo.title &&
- arguments.getString(EXTRA_SERVICE_COMPONENT_NAME) == displayInfo.componentName
- })
+ verify(context)
+ .startActivity(
+ argThat {
+ val fragment = getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)
+ val arguments = getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)!!
+ fragment == PrintServiceSettingsFragment::class.qualifiedName &&
+ arguments.getBoolean(EXTRA_CHECKED) == displayInfo.isEnabled &&
+ arguments.getString(EXTRA_TITLE) == displayInfo.title &&
+ arguments.getString(EXTRA_SERVICE_COMPONENT_NAME) ==
+ displayInfo.componentName
+ }
+ )
+ }
+
+ @Test
+ fun addPrintService_onClick() {
+ composeTestRule.setContent {
+ CompositionLocalProvider(LocalContext provides context) {
+ AddPrintService(flowOf(SEARCH_URI))
+ }
+ }
+
+ composeTestRule
+ .onNodeWithText(context.getString(R.string.print_menu_item_add_service))
+ .performClick()
+
+ verify(context).startActivity(argThat { data == Uri.parse(SEARCH_URI) })
}
private companion object {
const val TITLE = "Title"
const val SUMMARY = "Summary"
+ const val SEARCH_URI = "search.uri"
}
}
diff --git a/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java b/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java
index 5f54406..7f1c475 100644
--- a/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java
+++ b/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java
@@ -16,20 +16,16 @@
package com.android.settings.network;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
-import android.content.ContentProvider;
-import android.content.ContentResolver;
+import android.content.ContentProviderClient;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkPolicyManager;
@@ -67,7 +63,7 @@
@Mock
private NetworkPolicyManager mNetworkPolicyManager;
@Mock
- private ContentProvider mContentProvider;;
+ private ContentProviderClient mContentProviderClient;
private Context mContext;
@@ -77,9 +73,8 @@
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(ApplicationProvider.getApplicationContext());
- doReturn(ContentResolver.wrap(mContentProvider)).when(mContext).getContentResolver();
-
mBuilder = spy(new ResetNetworkOperationBuilder(mContext));
+ doReturn(mContentProviderClient).when(mBuilder).getUnstableTelephonyContentProviderClient();
}
@Test
@@ -184,38 +179,38 @@
}
@Test
- public void restartPhoneProcess_withoutTelephonyContentProvider_shouldNotCrash() {
- doThrow(new IllegalArgumentException()).when(mContentProvider).call(
- anyString(), anyString(), anyString(), any());
+ public void restartPhoneProcess_withoutTelephonyContentProvider_shouldNotCrash()
+ throws Exception {
+ doReturn(null).when(mBuilder).getUnstableTelephonyContentProviderClient();
mBuilder.restartPhoneProcess().build().run();
}
@Test
- public void restartRild_withoutTelephonyContentProvider_shouldNotCrash() {
- doThrow(new IllegalArgumentException()).when(mContentProvider).call(
- anyString(), anyString(), anyString(), any());
+ public void restartRild_withoutTelephonyContentProvider_shouldNotCrash()
+ throws Exception {
+ doReturn(null).when(mBuilder).getUnstableTelephonyContentProviderClient();
mBuilder.restartRild().build().run();
}
@Test
- public void restartPhoneProcess_withTelephonyContentProvider_shouldCallRestartPhoneProcess() {
+ public void restartPhoneProcess_withTelephonyContentProvider_shouldCallRestartPhoneProcess()
+ throws Exception {
mBuilder.restartPhoneProcess().build().run();
- verify(mContentProvider).call(
- eq(mBuilder.getResetTelephonyContentProviderAuthority()),
+ verify(mContentProviderClient).call(
eq(ResetNetworkOperationBuilder.METHOD_RESTART_PHONE_PROCESS),
isNull(),
isNull());
}
@Test
- public void restartRild_withTelephonyContentProvider_shouldCallRestartRild() {
+ public void restartRild_withTelephonyContentProvider_shouldCallRestartRild()
+ throws Exception {
mBuilder.restartRild().build().run();
- verify(mContentProvider).call(
- eq(mBuilder.getResetTelephonyContentProviderAuthority()),
+ verify(mContentProviderClient).call(
eq(ResetNetworkOperationBuilder.METHOD_RESTART_RILD),
isNull(),
isNull());