Merge "Fixed unicorn multi-enrollment flow." into tm-d1-dev am: 431542dddc am: 70a6062446
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19093051
Change-Id: Iab2bb36460d7ba8b284fb0050a62e0918954e368
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/Android.bp b/Android.bp
index 619a390..5bf5514 100644
--- a/Android.bp
+++ b/Android.bp
@@ -35,6 +35,15 @@
],
}
+java_library {
+ name: "Settings-change-ids",
+ srcs: ["src/com/android/settings/ChangeIds.java"],
+ libs: [
+ "app-compat-annotations",
+ ],
+}
+
+
// Build the Settings APK
android_library {
name: "Settings-core",
@@ -77,18 +86,18 @@
"lottie",
"WifiTrackerLib",
"SettingsLibActivityEmbedding",
+ "Settings-change-ids",
],
libs: [
"telephony-common",
"ims-common",
- "app-compat-annotations",
],
}
platform_compat_config {
name: "settings-platform-compat-config",
- src: ":Settings-core",
+ src: ":Settings-change-ids",
system_ext_specific: true,
}
@@ -126,7 +135,7 @@
// over all the sources together.
filegroup {
name: "Settings_srcs",
- srcs: ["src/**/*.java"],
+ srcs: ["src/**/*.java", "src/**/*.kt"],
}
filegroup {
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a8e0390..c8c33a8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2848,7 +2848,7 @@
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.fuelgauge.PowerUsageSummary" />
+ android:value="com.android.settings.fuelgauge.batteryusage.PowerUsageSummary" />
<meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
android:value="@string/menu_key_battery"/>
</activity>
diff --git a/res/drawable/ic_guest_exit.xml b/res/drawable/ic_guest_exit.xml
new file mode 100644
index 0000000..2f7ca09
--- /dev/null
+++ b/res/drawable/ic_guest_exit.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2022 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?android:attr/colorControlNormal">
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M3,13v-2h8.65L9.1,8.45 10.5,7l5,5 -5,5 -1.4,-1.45L11.65,13zM5,15v4h14L19,5L5,5v4L3,9L3,5q0,-0.825 0.587,-1.413Q4.175,3 5,3h14q0.825,0 1.413,0.587Q21,4.175 21,5v14q0,0.825 -0.587,1.413Q19.825,21 19,21L5,21q-0.825,0 -1.413,-0.587Q3,19.825 3,19v-4z"/>
+</vector>
diff --git a/res/drawable/ic_guest_reset.xml b/res/drawable/ic_guest_reset.xml
new file mode 100644
index 0000000..243a322
--- /dev/null
+++ b/res/drawable/ic_guest_reset.xml
@@ -0,0 +1,25 @@
+<!--
+Copyright (C) 2022 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?android:attr/colorControlNormal">
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M11,20.95q-3.025,-0.375 -5.013,-2.637Q4,16.05 4,13q0,-1.65 0.65,-3.163Q5.3,8.325 6.5,7.2l1.425,1.425q-0.95,0.85 -1.438,1.975Q6,11.725 6,13q0,2.2 1.4,3.887 1.4,1.688 3.6,2.063zM13,20.95v-2q2.175,-0.4 3.587,-2.075Q18,15.2 18,13q0,-2.5 -1.75,-4.25T12,7h-0.075l1.1,1.1 -1.4,1.4 -3.5,-3.5 3.5,-3.5 1.4,1.4 -1.1,1.1L12,5q3.35,0 5.675,2.325Q20,9.65 20,13q0,3.025 -1.988,5.288Q16.026,20.55 13,20.95z"/>
+</vector>
diff --git a/res/layout/battery_chart_graph.xml b/res/layout/battery_chart_graph.xml
index e89c912..df48144 100644
--- a/res/layout/battery_chart_graph.xml
+++ b/res/layout/battery_chart_graph.xml
@@ -31,7 +31,7 @@
android:textColor="?android:attr/textColorSecondary"
android:text="@string/battery_usage_chart_graph_hint" />
- <com.android.settings.fuelgauge.BatteryChartView
+ <com.android.settings.fuelgauge.batteryusage.BatteryChartView
android:id="@+id/battery_chart"
android:layout_width="match_parent"
android:layout_height="170dp"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 9f1bd68..afa1b57 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Stelseltaal"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Stelselverstek"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Taalkeuse vir hierdie program is nie in Instellings beskikbaar nie."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Taal kan verskil van tale wat in die program beskikbaar is. Sommige programme steun dalk nie hierdie instelling nie."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">Verwyder gekose tale?</item>
<item quantity="one">Verwyder gekose taal?</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Sluimerskerm"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Gebruik sluimerskerm"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Terwyl dit laai of gedok is"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Enige een"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Terwyl dit laai"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Terwyl dit gedok is"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nooit"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Af"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Skakel sluimerskerm aan om te beheer wat gebeur wanneer die foon gedok is en/of slaap."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Wanneer om te begin"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Huidige sluimerskerm"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Instellings"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Outomatiese helderheid"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Lig op om wakker te maak"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Stemmingvertoning"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Vee uit"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Alle programme en data in hierdie sessie sal uitgevee word."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Verwyder"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gas (Jy)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Gebruikers"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Ander gebruikers"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Vee gasaktiwiteit uit"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Vee alle gasprogramme en -data uit wanneer jy gasmodus verlaat"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vee gasaktiwiteit uit?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Programme en data van hierdie gastesessie sal nou uitgevee word, en alle toekomstige gasaktiwiteit sal uitgevee word elke keer wanneer jy gasmodus verlaat"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Skakel foonoproepe aan"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Skakel foonoproepe en SMS aan"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Vee gebruiker uit"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index b855bdb..3dac217 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"የስርዓት ቋንቋ"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"የሥርዓት ነባሪ"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ለዚህ መተግበሪያ የቋንቋ መረጣ ከቅንብሮች አይገኝም።"</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ቋንቋ በመተግበሪያው ውስጥ ካሉ ቋንቋዎች ሊለያይ ይችላል። አንዳንድ መተግበሪያዎች ይህን ቅንብር ላይደግፉ ይችላሉ።"</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">የተመረጡት ቋንቋዎች ይወገዱ?</item>
<item quantity="other">የተመረጡት ቋንቋዎች ይወገዱ?</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"የማያ ገጽ ማቆያ"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"የማያ ገጽ አዳኝን ይጠቀሙ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ኃይል እየሞላ ወይም ተተክሎ ሳለ"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"ማናቸውም"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ባትሪ በመሙላት ላይ ሳለ"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ተተክሎ ሳለ"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"በጭራሽ"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"ጠፍቷል"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ስልኩ ሲተከል እና/ወይም ሲተኛ ምን እንደሚከሰት ለመቆጣጠር የገጽ ማያ ማቆያን ያብሩ።"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"መቼ እንደሚጀመር"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"የአሁኑ ማያ ገጽ ማሳረፊያ"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"ቅንብሮች"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"ራስ ሰርብሩህነት"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"ለማንቃት ያንሱ"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"ከባቢያዊ ማሳያ"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"ሰርዝ"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"በዚህ ክፍለ-ጊዜ ውስጥ ያሉ ሁሉም መተግበሪያዎች እና ውሂብ ይሰረዛሉ።"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"አስወግድ"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"እንግዳ (እርስዎ)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"ተጠቃሚዎች"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"ሌሎች ተጠቃሚዎች"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"የእንግዳ እንቅስቃሴን ይሰርዙ"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"ከእንግዳ ሁነታ ሲወጡ ሁሉንም የእንግዳ መተግበሪያዎችን እና ውሂብን ይሰርዙ"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"የእንግዳ እንቅስቃሴ ይሰረዝ?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"የዚህ የእንግዳ ክፍለ-ጊዜ መተግበሪያዎች እና ውሂብ አሁን ይሰረዛሉ እና ከእንግዳ ሁነታ በወጡ ቁጥር ሁሉም የወደፊት የእንግዳ እንቅስቃሴዎች ይሰረዛሉ።"</string>
<string name="user_enable_calling" msgid="264875360626905535">"የስልክ ጥሪዎችን አብራ"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ስልክ ጥሪዎችን እና ኤስኤምኤስን አብራ"</string>
<string name="user_remove_user" msgid="8468203789739693845">"ተጠቃሚን ሰርዝ"</string>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index 34765cd..75cf024 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -579,7 +579,7 @@
<!-- no translation found for rtt_setting_mode:2 (8525285145696236811) -->
<!-- no translation found for rtt_setting_mode:3 (7725394146877517088) -->
<string-array name="nfc_payment_favor">
- <item msgid="9104058551372383947">"دومًا"</item>
+ <item msgid="9104058551372383947">"دائمًا"</item>
<item msgid="5283665583617307336">"إلا إذا كان هناك تطبيق دفع آخر مفتوحًا"</item>
</string-array>
<string-array name="nfc_payment_favor_values">
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 6ed7e9c..58ce512 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -988,17 +988,17 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"تمكين ART من التحقُّق من رمز البايت للتطبيقات القابلة للتصحيح"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"إظهار معدّل إعادة التحميل"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"إظهار معدّل إعادة التحميل الحالي للشاشة"</string>
- <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"الاتصالات القريبة المدى (NFC)"</string>
+ <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"الاتصال القصير المدى (NFC)"</string>
<string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"السماح بتبادل البيانات عند لمس الجهاز اللوحي لجهاز من خلال تقنية \"الاتصال قصير المدى\" (NFC)"</string>
<string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"السماح بتبادل البيانات عند لمس الهاتف لجهاز من خلال تقنية \"الاتصالات القريبة المدى\" (NFC)"</string>
<string name="nfc_disclaimer_title" msgid="3696580694485048039">"تفعيل NFC"</string>
<string name="nfc_disclaimer_content" msgid="8256675597551036207">"يتم من خلال تقنية الاتصال بالحقل القريب (NFC) تبادل البيانات بين هذا الجهاز والأجهزة أو الأهداف المجاورة الأخرى، مثل محطات الدفع وبرامج قراءة الوصول والعلامات أو الإعلانات التفاعلية."</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"يجب فتح قفل الجهاز لاستخدام تقنية الاتصال القصير المدى (NFC)"</string>
- <string name="nfc_secure_toggle_summary" product="default" msgid="407654335737959071">"السماح باستخدام الاتصال القصير المدى (NFC) عندما تكون الشاشة مفتوحة فقط."</string>
+ <string name="nfc_secure_toggle_summary" product="default" msgid="407654335737959071">"السماح باستخدام الاتصال القصير المدى (NFC) عندما تكون الشاشة مفتوحة فقط"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"شعاع Android"</string>
<string name="android_beam_on_summary" msgid="6067720758437490896">"جاهز لنقل محتوى التطبيق عبر الاتصالات القريبة المدى (NFC)"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"إيقاف"</string>
- <string name="nfc_disabled_summary" msgid="8737797364522502351">"غير متوفر بسبب إيقاف الاتصال بالحقل القريب (NFC)"</string>
+ <string name="nfc_disabled_summary" msgid="8737797364522502351">"الإعداد غير متاح بسبب إيقاف تقنية الاتصال القصير المدى (NFC)."</string>
<string name="android_beam_label" msgid="7168565080321110094">"شعاع Android"</string>
<string name="android_beam_explained" msgid="5684416131846701256">"عند تفعيل هذه الميزة، يمكنك إرسال محتوى التطبيق إلى جهاز به اتصال NFC عن طريق الإمساك بالجهازين بالقرب من بعضهما. ويمكنك على سبيل المثال إرسال صفحات ويب وفيديوهات YouTube وجهات اتصال وغيرها.\n\nما عليك سوى تقريب الجهازين لبعضهما بعضًا (من الخلف عادةً) والنقر على الشاشة وسيحدّد التطبيق ما يتم إرساله."</string>
<string name="wifi_quick_toggle_title" msgid="2737097538432862807">"Wi‑Fi"</string>
@@ -1073,7 +1073,7 @@
<string name="wifi_ssid_hint" msgid="1940577553241083524">"يُرجى إدخال SSID"</string>
<string name="wifi_security" msgid="9095934643631406913">"الأمان"</string>
<string name="wifi_hidden_network" msgid="6466834025375485596">"شبكة مخفية"</string>
- <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"إذا لم يكن جهاز التوجيه يبث معرّف شبكة وتريد الاتصال به في المستقبل، يمكنك ضبط الشبكة كشبكة مخفية.\n\nربما يُنشئ هذا الإجراء خطرًا أمنيًا لأن هاتفك سيبث إشارته بانتظام للعثور على الشبكة.\n\nلن يؤدي ضبط الشبكة كشبكة مخفية إلى تغيير إعدادات جهاز التوجيه."</string>
+ <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"إذا لم يكن جهاز التوجيه يبث معرّف شبكة وتريد الاتصال به في المستقبل، يمكنك ضبط الشبكة كشبكة مخفية.\n\nقد يشكّل هذا الإجراء خطرًا أمنيًا لأن هاتفك سيبث إشارته بانتظام للعثور على الشبكة.\n\nلن يؤدي ضبط الشبكة كشبكة مخفية إلى تغيير إعدادات جهاز التوجيه."</string>
<string name="wifi_signal" msgid="4442182285304271424">"قوة الإشارة"</string>
<string name="wifi_status" msgid="5349199188871002778">"الحالة"</string>
<string name="tx_wifi_speed" msgid="2368986629172050673">"سرعة نقل الرابط"</string>
@@ -1509,15 +1509,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"شاشة الاستراحة"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"استخدام شاشة التوقف"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"أثناء الشحن أو الإرساء"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"أيهما"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"أثناء الشحن"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"أثناء الإرساء"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"عدم التشغيل أبدًا"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"إيقاف"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"للتحكم في ما يحدث عند إرساء الهاتف و/أو دخوله حالة السكون، عليك تشغيل شاشة التوقف."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"وقت البدء"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"شاشة الاستراحة الحالية"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"إعدادات"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"سطوع تلقائي"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"الرفع لتنبيه الجهاز"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"العرض على الشاشة"</string>
@@ -3576,6 +3573,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"حذف"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"سيتم حذف كل التطبيقات والبيانات في هذه الجلسة."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"إزالة"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"الضيف (أنت)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"المستخدمون"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"مستخدمون آخرون"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"حذف نشاط الضيف"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"حذف جميع تطبيقات وبيانات وضع الضيف عند الخروج منه"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"هل تريد حذف نشاط وضع الضيف؟"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"ستُحذف الآن التطبيقات والبيانات من جلسة الضيف هذه. بالإضافة إلى ذلك، ستُحذف جميع أنشطة الضيف المستقبلية في كل مرّة تخرج فيها من وضع الضيف."</string>
<string name="user_enable_calling" msgid="264875360626905535">"تفعيل المكالمات الهاتفية"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"تفعيل المكالمات الهاتفية والرسائل القصيرة"</string>
<string name="user_remove_user" msgid="8468203789739693845">"حذف حساب المستخدم"</string>
@@ -3751,7 +3755,7 @@
<string name="connected_devices_dashboard_android_auto_no_nfc_summary" msgid="2532811870469405527">"بلوتوث وAndroid Auto ووضع القيادة"</string>
<string name="connected_devices_dashboard_android_auto_no_driving_mode_summary" msgid="6426996842202276640">"البلوتوث وAndroid Auto وNFC"</string>
<string name="connected_devices_dashboard_android_auto_no_nfc_no_driving_mode" msgid="1672426693308438634">"بلوتوث وAndroid Auto"</string>
- <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"الإعدادات غير متاحة بسبب إيقاف تقنية الاتصال القصير المدى (NFC)."</string>
+ <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"الإعداد غير متاح بسبب إيقاف تقنية الاتصال القصير المدى (NFC)."</string>
<string name="nfc_and_payment_settings_no_payment_installed_summary" msgid="4879818114908207465">"لاستخدام هذه الميزة، يجب تثبيت تطبيق دفع أولاً."</string>
<string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"التطبيقات والإشعارات"</string>
<string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"التطبيقات المُستخدِمة مؤخرًا، التطبيقات التلقائية"</string>
@@ -4793,7 +4797,7 @@
<string name="usb_power_title" msgid="5602112548385798646">"خيارات التشغيل"</string>
<string name="usb_file_transfer_title" msgid="2261577861371481478">"خيارات نقل الملفات"</string>
<string name="usb_pref" msgid="8521832005703261700">"USB"</string>
- <string name="usb_preference" msgid="5084550082591493765">"إعدادات USB"</string>
+ <string name="usb_preference" msgid="5084550082591493765">"إعدادات USB المفضّلة"</string>
<string name="usb_control_title" msgid="1946791559052157693">"يتم التحكم في USB بواسطة"</string>
<string name="usb_control_host" msgid="7404215921555021871">"جهاز متّصل"</string>
<string name="usb_control_device" msgid="527916783743021577">"هذا الجهاز"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 4868bfe..6f6db37 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"ছিষ্টেমৰ ভাষা"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"ছিষ্টেম ডিফ’ল্ট"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"এই এপ্টোৰ বাবে ছেটিঙৰ পৰা ভাষা বাছনি কৰাৰ সুবিধা উপলব্ধ নহয়।"</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ভাষাটো এপ্টোত উপলব্ধ ভাষাসমূহতকৈ পৃথক হ’ব পাৰে। কিছুমান এপে এই ছেটিংটো সমৰ্থন নকৰিব পাৰে।"</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">বাছনি কৰা ভাষাসমূহ আঁতৰাবনে?</item>
<item quantity="other">বাছনি কৰা ভাষাসমূহ আঁতৰাবনে?</item>
@@ -850,7 +849,7 @@
<string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"বিকল্পসমূহ…"</string>
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"উচ্চখাপৰ ছেটিং"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"ব্লুটুথৰ উচ্চখাপৰ ছেটিংসমূহ"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"যেতিয়া ব্লুটুথ অনহৈ থাকে, তেতিয়া আপোনাৰ ডিভাইচটোৱে ওচৰত থকা অইন ব্লুটুথ ডিভাইচৰ সৈতে যোগাযোগ কৰিব পাৰে।"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"যেতিয়া ব্লুটুথ অন থাকে, তেতিয়া আপোনাৰ ডিভাইচে ওচৰত থকা আন ব্লুটুথ ডিভাইচৰ সৈতে যোগাযোগ কৰিব পাৰে।"</string>
<string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"ব্লুটুথ অন হৈ থকা অৱস্থাত আপোনাৰ ডিভাইচটোৱে অন্য নিকটৱৰ্তী ব্লুটুথ ডিভাইচৰ সৈতে সংযোগ স্থাপন কৰিব পাৰে।\n\nডিভাইচ ব্যৱহাৰৰ অভিজ্ঞতা উন্নত কৰিবলৈ এপ্ আৰু সেৱাসমূহে যিকোনো সময়তে, আনকি ব্লুটুথ অফ থকা অৱস্থাতো নিকটৱৰ্তী ডিভাইচৰ সন্ধান কৰিব পাৰে। ইয়াক অৱস্থানভিত্তিক সুবিধা আৰু সেৱা উন্নত কৰা আদিৰ দৰে কাৰ্যৰ বাবে ব্যৱহাৰ কৰিব পাৰি। আপুনি এইটো "<annotation id="link">"ব্লুটুথ স্কেনিঙৰ ছেটিঙ"</annotation>"ত সলনি কৰিব পাৰে।"</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"অৱস্থান নিৰ্ভুলভাৱে নিৰ্ণয় কৰিবলৈ, ছিষ্টেম এপ্ আৰু সেৱাসমূহে এতিয়াও ব্লুটুথ ডিভাইচ বিচাৰি পাব পাৰে। আপুনি ইয়াক <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>ত থকা স্কেনিং ছেটিঙত সলনি কৰিব পাৰিব <xliff:g id="LINK_END_1">LINK_END</xliff:g>।"</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"সংযোগ কৰিব পৰা নগ\'ল। আকৌ চেষ্টা কৰক।"</string>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"স্ক্ৰীন ছেভাৰ"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"স্ক্ৰীন ছেভাৰ ব্যৱহাৰ কৰক"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"চাৰ্জ কৰোঁতে বা ডক কৰি থওঁতে"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"কোনোবা এটা"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"চাৰ্জ কৰি থকাৰ সময়ত"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ডক হৈ থাকোঁতে"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"কেতিয়াও নহয়"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"অফ হৈ আছে"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ফ\'নটো ড’ক আৰু/বা সুপ্ত অৱস্থাত থাকিলে যি হয় তাক নিয়ন্ত্ৰণ কৰিবলৈ, স্ক্ৰীন ছেভাৰ অন কৰক৷"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"ষ্টাৰ্ট কৰাৰ সময়"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"বৰ্তমান ব্যৱহৃত স্ক্ৰীন ছেভাৰ"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"ছেটিং"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"স্বয়ংক্ৰিয় উজ্জ্বলতা"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"সক্ৰিয় কৰিবলৈ দাঙক"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"স্তিমিত ডিছপ্লে’"</string>
@@ -1745,7 +1741,7 @@
<string name="reset_dashboard_summary" msgid="4390780188264852956">"নেটৱৰ্ক, এপ্ বা ডিভাইচ ৰিছেট কৰিব পৰা যায়"</string>
<string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"এপ্সমূহ ৰিছেট কৰিব পাৰি"</string>
<string name="reset_network_title" msgid="1395494440355807616">"ৱাই-ফাই, ম’বাইল আৰু ব্লুটুথ ৰিছেট কৰক"</string>
- <string name="reset_network_desc" msgid="1112523764899788246">"ই :\n\n"<li>"ৱাই-ফাই"</li>\n<li>"ম\'বাইল ডেটা"</li>\n<li>"ব্লুটুথ"</li>"কে আদি কৰি আটাইবোৰ নেটৱৰ্ক ছেটিং ৰিছেট কৰিব"</string>
+ <string name="reset_network_desc" msgid="1112523764899788246">"ই এইবোৰকে অন্তৰ্ভুক্ত কৰি আটাইবোৰ নেটৱৰ্ক ছেটিং ৰিছেট কৰিব:\n\n"<li>"ৱাই-ফাই"</li>\n<li>"ম\'বাইল ডেটা"</li>\n<li>"ব্লুটুথ"</li></string>
<string name="erase_euicc_data_button" msgid="728078969563311737">"মচক"</string>
<string name="reset_esim_title" msgid="6152167073280852849">"ডাউনল’ড কৰা ছিমবোৰ মচক"</string>
<string name="reset_esim_desc" msgid="3662444090563399131">"ই কোনো ম’বাইল সেৱাৰ আঁচনি বাতিল নকৰে। সলনি কৰা ছিম ডাউনল’ড কৰিবলৈ আপোনাৰ বাহকৰ সৈতে যোগাযোগ কৰক।"</string>
@@ -2096,7 +2092,7 @@
<string name="internal_storage" msgid="999496851424448809">"আভ্যন্তৰীণ ষ্ট’ৰেজ"</string>
<string name="recompute_size" msgid="1098091228370999128">"এপৰ আকাৰ পুনঃগণনা কৰা হৈছে…"</string>
<string name="clear_data_dlg_title" msgid="180446967743732410">"এপ্ ডেটা মচিবনে?"</string>
- <string name="clear_data_dlg_text" msgid="3440011276559762619">"ফাইল আৰু ছেটিঙকে ধৰি এই এপ্টোৰ ডেটা এই ডিভাইচটোৰ পৰা মচা হ\'ব"</string>
+ <string name="clear_data_dlg_text" msgid="3440011276559762619">"ফাইল আৰু ছেটিঙকে ধৰি এই এপ্টোৰ ডেটা এই ডিভাইচটোৰ পৰা স্থায়ীভাৱে মচা হ\'ব"</string>
<string name="dlg_ok" msgid="1421350367857960997">"ঠিক"</string>
<string name="dlg_cancel" msgid="5164705061530774899">"বাতিল কৰক"</string>
<string name="dlg_delete" msgid="1790919205039397659">"মচক"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"মচক"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"এই ছেছনৰ আটাইবোৰ এপ্ আৰু ডেটা মচা হ\'ব।"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"আঁতৰাওক"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"অতিথি (আপুনি)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"ব্যৱহাৰকাৰী"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"অন্য ব্যৱহাৰকাৰী"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"অতিথিৰ ছেশ্বনত কৰা কাৰ্যকলাপ মচক"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"অতিথি ম’ডৰ পৰা বাহিৰ হওঁতে আটাইবোৰ অতিথি এপ্ আৰু ডেটা মচক"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"অতিথিৰ কাৰ্যকলাপ মচিবনে?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"এতিয়া এই অতিথিৰ ছেশ্বনৰ এপ্ আৰু ডেটা মচা হ’ব আৰু আপুনি অতিথি ম’ডৰ পৰা প্ৰতিবাৰ বাহিৰ হওঁতে ভৱিষ্যতে কৰা আটাইবোৰ অতিথিৰ কাৰ্যকলাপ মচা হ’ব।"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ফ\'ন কল অন কৰক"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ফ\'ন কল আৰু এছএমএছ অন কৰক"</string>
<string name="user_remove_user" msgid="8468203789739693845">"ব্যৱহাৰকাৰীজন মচক"</string>
@@ -4733,7 +4736,7 @@
<string name="ethernet_data_usage" msgid="4552227880905679761">"ইথাৰনেট ডেটাৰ ব্যৱহাৰ"</string>
<string name="wifi" msgid="2932584495223243842">"ৱাই-ফাই"</string>
<string name="ethernet" msgid="4665162609974492983">"ইথাৰনেট"</string>
- <string name="cell_data_template" msgid="6077963976103260821">"<xliff:g id="AMOUNT">^1</xliff:g> ম’বাইল ডাটা"</string>
+ <string name="cell_data_template" msgid="6077963976103260821">"<xliff:g id="AMOUNT">^1</xliff:g> ম’বাইল ডেটা"</string>
<string name="wifi_data_template" msgid="935934798340307438">"<xliff:g id="AMOUNT">^1</xliff:g> ৱাই-ফাই ডেটা"</string>
<string name="ethernet_data_template" msgid="1429173767445201145">"<xliff:g id="AMOUNT">^1</xliff:g> ইথাৰনেটৰ ডেটা"</string>
<string name="billing_cycle" msgid="6618424022653876279">"ডেটা ব্যৱহাৰৰ সকীয়নি আৰু সীমা"</string>
@@ -5141,7 +5144,7 @@
<string name="autofill_confirmation_message" msgid="4888767934273494272">"<b>আপুনি এই এপ্টোক বিশ্বাস কৰাটো নিশ্চিত কৰক</b> <br/> <br/> <xliff:g id=app_name example=Google Autofill>%1$s</xliff:g> এ স্বয়ংপূৰ্তিৰ বাবে নিৰ্ধাৰণ কৰিবলৈ আপোনাৰ স্ক্ৰীনত দেখা দিয়া বস্তুবোৰ ব্যৱহাৰ কৰে।"</string>
<string name="debug_autofill_category" msgid="5998163555428196185">"স্বয়ংপূৰ্তি"</string>
<string name="autofill_logging_level_title" msgid="3733958845861098307">"লগিঙৰ স্তৰ"</string>
- <string name="autofill_max_partitions" msgid="7342195529574406366">"প্ৰতি ছেশ্বন কৰিব পৰা অধিকতম অনুৰোধ"</string>
+ <string name="autofill_max_partitions" msgid="7342195529574406366">"প্ৰতি ছেশ্বনত কৰিব পৰা অধিকতম অনুৰোধ"</string>
<string name="autofill_max_visible_datasets" msgid="4970201981694392229">"দেখিব পৰা অধিকতম ডেটাছেট"</string>
<string name="autofill_reset_developer_options" msgid="6425613608979498608">"ডিফ’ল্ট মানলৈ ৰিছেট কৰক"</string>
<string name="autofill_reset_developer_options_complete" msgid="1276741935956594965">"বিকাশকৰ্তাৰ স্বয়ংপূৰ্তি হোৱা বিকল্পসমূহ ৰিছেট কৰা হৈছে"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 9fde195..c3b3025 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Sistem dili"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Sistem defoltu"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Bu tətbiq üçün dil seçimini Ayarlardan etmək olmur."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Dil tətbiqdə əlçatan dillərdən fərqli ola bilər. Bəzi tətbiqlər bu ayarı dəstəkləməyə bilər."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">Seçilmiş dillər silinsin?</item>
<item quantity="one">Seçilmiş dil silinsin?</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekran qoruyucu"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Ekran qoruyucusundan istifadə edin"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Şarj ərzində və ya dok-stansiyada"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Hər ikisi"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Şarj ərzində"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Dok-stansiyada"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Heç vaxt"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Qapalı"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Telefon doklanmış və/və ya yatan zaman baş verənlərə nəzarət edin, ekran qoruyucunu aktiv edin."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Başlama vaxtı"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Cari ekran qoruyucu"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Ayarlar"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Avtomatik parlaqlıq"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Oyatmaq üçün qaldırın"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ətraf mühit displeyi"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Silin"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Bu sessiyada bütün tətbiqlər və data itəcək."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Yığışdır"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Qonaq (Siz)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"İstifadəçilər"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Digər istifadəçilər"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Qonaq fəaliyyətini silin"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Qonaq rejimindən çıxarkən bütün qonaq tətbiqləri və datasını silin"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Qonaq fəaliyyəti silinsin?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Bu qonaq sessiyasındakı tətbiqlər və data indi silinəcək və hər dəfə qonaq rejimindən çıxanda bütün gələcək qonaq fəaliyyəti silinəcək"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Telefon zəngləri aktivləşdirilsin"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Telefon zəngləri & SMS-i aktivləşdir"</string>
<string name="user_remove_user" msgid="8468203789739693845">"İstifadəçini silin"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 79bf54e..1900996 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -228,8 +228,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Jezik sistema"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Podrazumevani sistemski"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Izbor jezika za ovu aplikaciju nije dostupan iz Podešavanja."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Jezik može da se razlikuje od jezika dostupnih u aplikaciji. Neke aplikacije možda ne podržavaju ovo podešavanje."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">Želite li da uklonite izabrane jezike?</item>
<item quantity="few">Želite li da uklonite izabrane jezike?</item>
@@ -1449,15 +1448,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Čuvar ekrana"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Koristi čuvar ekrana"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Tokom punjenja ili na baznoj stanici"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Bilo koje od ova dva"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Tokom punjenja"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Dok je na baznoj stanici"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nikada"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Isključeno"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Da biste kontrolisali šta se dešava kada je telefon na baznoj stanici i/ili u stanju spavanja, uključite čuvar ekrana."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kada da počne"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Trenutni čuvar ekrana"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Podešavanja"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatski nivo osvetljenosti"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Podigni za aktivaciju"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambijentalni ekran"</string>
@@ -2658,7 +2654,7 @@
<string name="keywords_rtt" msgid="2429130928152514402">"oštećenje sluha, gubitak sluha, titl, teleprinter, tty"</string>
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
<string name="fast_pair_settings" msgid="3308819519080016185">"Brzo uparivanje"</string>
- <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Otkrivanje Bluetooth uređ. za Brzo upariv. u bliz."</string>
+ <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Otkrivanje Bluetooth uređaja za Brzo uparivanje u blizini"</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"Potraži uređaje u blizini"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"Sačuvani uređaji"</string>
<string name="print_settings" msgid="8519810615863882491">"Štampanje"</string>
@@ -2683,7 +2679,7 @@
<string name="print_menu_item_add_service" msgid="1549091062463044676">"Dodaj uslugu"</string>
<string name="print_menu_item_add_printer" msgid="8711630848324870892">"Dodaj štampač"</string>
<string name="print_menu_item_search" msgid="5989979785203603169">"Pretraži"</string>
- <string name="print_searching_for_printers" msgid="5401413178028348800">"Pretraga štampača"</string>
+ <string name="print_searching_for_printers" msgid="5401413178028348800">"Traženje štampača"</string>
<string name="print_service_disabled" msgid="9185935228930987786">"Usluga je onemogućena"</string>
<string name="print_print_jobs" msgid="2605944855933091183">"Zadaci za štampanje"</string>
<string name="print_print_job" msgid="8477859161886726608">"Zadatak za štampanje"</string>
@@ -3444,6 +3440,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Izbriši"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Sve aplikacije i podaci u ovoj sesiji će biti izbrisani."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Ukloni"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gost (vi)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Korisnici"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Ostali korisnici"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Izbriši aktivnosti gosta"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Izbrišite sve aplikacije i podatke gosta pri izlazu iz režima gosta"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Izbrisaćete aktivnosti gosta?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikacije i podaci iz ove sesije gosta biće odmah izbrisane, a sve buduće aktivnosti gosta biće izbrisane svaki put kada izađete iz režima gosta"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Uključi telefonske pozive"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Uključi telefonske pozive i SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Izbrišite korisnika"</string>
@@ -3473,8 +3476,8 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"Podrazumevano za plaćanje"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"Nije podešeno"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"Koristite podrazumevanu aplikaciju za plaćanje"</string>
- <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Koristite podrazumevanu za plaćanje"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"Koristi podrazumevanu aplikaciju za plaćanje"</string>
+ <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Koristi podrazumevanu za plaćanje"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"Uvek"</string>
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"Osim kad je otvorena druga aplikacija za plaćanje"</string>
<string name="nfc_payment_pay_with" msgid="3001320460566523453">"Na terminalu za beskontaktno plaćanje koristiće se:"</string>
@@ -3965,7 +3968,7 @@
<string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"Osetljiva obaveštenja o poslovnom profilu"</string>
<string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"Prikazuj osetljiv sadržaj poslovnog profila na zaključanom ekranu"</string>
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Prikaži sav sadržaj obaveštenja"</string>
- <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži osetljiv sadržaj samo kada je otključano"</string>
+ <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži osetljiv sadržaj samo kada je otključan"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ne prikazuj uopšte obaveštenja"</string>
<string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kako želite da se prikazuje sadržaj na zaključanom ekranu?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Zaključan ekran"</string>
@@ -4580,7 +4583,7 @@
<string name="usb_use_file_transfers" msgid="483915710802018503">"Prenos datoteka"</string>
<string name="usb_use_file_transfers_desc" msgid="1020257823387107336">"Prenosite datoteke na drugi uređaj"</string>
<string name="usb_use_photo_transfers" msgid="4641181628966036093">"PTP"</string>
- <string name="usb_transcode_files" msgid="2441954752105119109">"Konvertujte video snimke u AVC"</string>
+ <string name="usb_transcode_files" msgid="2441954752105119109">"Konvertuj video snimke u AVC"</string>
<string name="usb_transcode_files_summary" msgid="307102635711961513">"Video snimci će moći da se puste na više medija plejera, ali će im kvalitet možda biti lošiji"</string>
<string name="usb_use_photo_transfers_desc" msgid="7490250033610745765">"Prenosite slike ili datoteke ako MTP nije podržan (PTP)"</string>
<string name="usb_use_tethering" msgid="2897063414491670531">"USB privezivanje"</string>
@@ -5739,7 +5742,7 @@
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Koristi WiFi hotspot"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Koristi kačenje aplikacija"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Koristi opcije za programere"</string>
- <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristite uslugu štampanja"</string>
+ <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristi uslugu štampanja"</string>
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dozvoli više korisnika"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Koristi bežično otklanjanje grešaka"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Koristi podešavanja upravljačkog programa za grafiku"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 160976b..5f39756 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -1471,15 +1471,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Экранная застаўка"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Ужываць экранную застаўку"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Пакуль прылада зараджаецца ці падключана"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"У абодвух выпадках"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Падчас зарадкі"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Пры падключэнні"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Ніколі"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Выключана"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Каб кантраляваць тое, што адбываецца, калі тэлефон прыстыкаваны і/або знаходзіцца ў рэжыме сну, уключыце экранную застаўку."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Калі пачынаць"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Бягучая экранная застаўка"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Налады"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Аўтаматычная яркасць"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Абуджэнне пры падняцці"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Неактыўны рэжым экрана"</string>
@@ -3490,6 +3487,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Выдаліць"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Усе дадаткі і даныя гэтага сеансу будуць выдаленыя."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Выдаліць"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Госць (вы)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Карыстальнікі"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Іншыя карыстальнікі"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Выдаліць звесткі пра дзеянні госця"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Выдаляць усе праграмы і даныя госця ў час выхаду з гасцявога рэжыму"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Выдаліць звесткі пра дзеянні госця?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Праграмы і даныя гэтага гасцявога сеанса будуць выдалены, і ўсе будучыя звесткі пра дзеянні госця будуць выдаляцца падчас кожнага выхаду з гасцявога рэжыму"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Уключыць тэлефонныя выклікі"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Уключыць тэлефонныя выклікі і SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Выдаліць карыстальніка"</string>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index 57f2615..6e018b1 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -389,7 +389,7 @@
<string-array name="captioning_font_size_selector_titles">
<item msgid="923916134548435468">"Много малък"</item>
<item msgid="5738147437573674872">"Малък"</item>
- <item msgid="4691660235626027304">"Средно"</item>
+ <item msgid="4691660235626027304">"Среден"</item>
<item msgid="824386705928670045">"Голям"</item>
<item msgid="2790561781512874585">"Много голям"</item>
</string-array>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index f2b0605..7b4c4f5 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -102,7 +102,7 @@
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"В района няма намерени у-ва с Bluetooth."</string>
<string name="bluetooth_notif_ticker" msgid="209515545257862858">"Заявка за сдвояване чрез Bluetooth"</string>
<string name="bluetooth_notif_title" msgid="1196532269131348647">"Заявка за сдвояване"</string>
- <string name="bluetooth_notif_message" msgid="5584717784198086653">"Докоснете за сдвояване с/ъс „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“."</string>
+ <string name="bluetooth_notif_message" msgid="5584717784198086653">"Докоснете за сдвояване с(ъс) <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
<string name="bluetooth_show_received_files" msgid="685424727760622632">"Получени файлове"</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"Функцията за Bluetooth е изключена"</string>
<string name="bluetooth_devices_card_off_summary" msgid="2276527382891105858">"Докоснете за включване"</string>
@@ -932,7 +932,7 @@
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
<string name="android_beam_on_summary" msgid="6067720758437490896">"В готовност за предаване на съдържание на приложения чрез КБП"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"Изключено"</string>
- <string name="nfc_disabled_summary" msgid="8737797364522502351">"Не е налице, защото КБП е изключена"</string>
+ <string name="nfc_disabled_summary" msgid="8737797364522502351">"Не е налице, защото функцията за NFC е изключена"</string>
<string name="android_beam_label" msgid="7168565080321110094">"Android Beam"</string>
<string name="android_beam_explained" msgid="5684416131846701256">"Когато тази функция е включена, можете да излъчвате съдържание от приложенията до друго устройство с поддръжка за КБП, като държите устройствата близо едно до друго. Например можете да излъчвате уеб страници, видеоклипове от YouTube, контакти и др.\n\nТрябва само да поставите устройствата едно до друго (обикновено задните им страни), след което да докоснете екрана си. Приложението определя какво се излъчва."</string>
<string name="wifi_quick_toggle_title" msgid="2737097538432862807">"Wi‑Fi"</string>
@@ -1301,7 +1301,7 @@
<string name="search_settings" msgid="7573686516434589771">"Търсене"</string>
<string name="display_settings" msgid="7197750639709493852">"Дисплей"</string>
<string name="accelerometer_title" msgid="7745991950833748909">"Авт. завъртане на екрана"</string>
- <string name="auto_rotate_option_off" msgid="2788096269396290731">"Изключено"</string>
+ <string name="auto_rotate_option_off" msgid="2788096269396290731">"Изкл."</string>
<string name="auto_rotate_option_on" msgid="5776678230808498171">"Включено"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"Вкл. – въз основа на лицето"</string>
<string name="auto_rotate_switch_face_based" msgid="7824467067774120000">"Вкл. на лицевото разпознаване"</string>
@@ -1431,15 +1431,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Скрийнсейвър"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Използване на скрийнсейвър"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"При зареждане или връзка с докинг станция"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"И в двата случая"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"При зареждане"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"При свързване с докинг станция"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Никога"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Изкл."</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"За да контролирате какво се случва, когато телефонът е свързан с докинг станция и/или е в спящ режим, включете скрийнсейвъра."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Кога да стартира функцията"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Текущ скрийнсейвър"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Настройки"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Автоматична яркост"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Събуждане при повдигане"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Дисплей, открояващ важни неща"</string>
@@ -1766,7 +1763,7 @@
<string name="main_clear_desc" product="default" msgid="6984348811887162647">"Това ще изтрие всички данни от "<b>"вътрешното хранилище"</b>" на телефона ви, включително:\n\n"<li>"профила ви в Google"</li>\n<li>"данните и настройките от системата и приложенията"</li>\n<li>"изтеглените приложения"</li></string>
<string name="main_clear_accounts" product="default" msgid="7675859115108318537">\n\n"Понастоящем сте влезли в следните профили:\n"</string>
<string name="main_clear_other_users_present" product="default" msgid="2672976674798019077">\n\n"На това устройство има други потребители.\n"</string>
- <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"музика"</li>\n<li>"снимки"</li>\n<li>"други потребителски данни"</li></string>
+ <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"музика"</li>\n<li>"снимки"</li>\n<li>"други потребителски данни."</li></string>
<string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"електронни SIM карти"</li></string>
<string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Планът ви за мобилна услуга няма да бъде анулиран."</string>
<string name="main_clear_desc_erase_external_storage" product="nosdcard" msgid="4441604184663452046">\n\n"За да изчистите музиката, снимките и другите потребителски данни, трябва да се изтрие "<b>"USB хранилището"</b>"."</string>
@@ -2097,7 +2094,7 @@
<string name="no_applications" msgid="985069304755391640">"Няма приложения."</string>
<string name="internal_storage" msgid="999496851424448809">"Вътр. хранилище"</string>
<string name="recompute_size" msgid="1098091228370999128">"Размерът се преизчислява..."</string>
- <string name="clear_data_dlg_title" msgid="180446967743732410">"Да се изтрият ли данните от приложенията?"</string>
+ <string name="clear_data_dlg_title" msgid="180446967743732410">"Да се изтрият ли данните от приложението?"</string>
<string name="clear_data_dlg_text" msgid="3440011276559762619">"Данните в това приложение, включително файловете и настройките, ще бъдат изтрити за постоянно от устройството"</string>
<string name="dlg_ok" msgid="1421350367857960997">"OK"</string>
<string name="dlg_cancel" msgid="5164705061530774899">"Отказ"</string>
@@ -3402,6 +3399,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Изтриване"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Всички приложения и данни в тази сесия ще бъдат изтрити."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Премахване"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Гост (вие)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Потребители"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Други потребители"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Изтриване на активността като гост"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Изтриване на всички приложения и данни при изход от режима на гост"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Изтриване на активността като гост?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Приложенията и данните от тази сесия като гост ще бъдат изтрити сега, а цялата бъдеща активност като гост ще се изтрива всеки път, когато излезете от режима на гост"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Включване на телефонните обаждания"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Включване на тел. обаждания и SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Изтриване на потребителя"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 10fed31..b6e90de 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"সাজেস্ট করা ভাষা"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"সব ভাষা"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"সিস্টেমের ভাষা"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"সিস্টেম ডিফল্ট"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"এই অ্যাপের জন্য \'সেটিংস\' থেকে ভাষা বেছে নেওয়ার সুবিধা উপলভ্য নেই।"</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -845,7 +844,7 @@
<string name="bluetooth_preference_no_found_devices" msgid="1331122763066030155">"কোনো ডিভাইস উপলব্ধ নয়"</string>
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"কানেক্ট করুন"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ডিসকানেক্ট করুন"</string>
- <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"যুক্ত করুন & কানেক্ট করুন"</string>
+ <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"যুক্ত করুন ও কানেক্ট করুন"</string>
<string name="bluetooth_device_context_unpair" msgid="7525735305244087162">"চেনা তালিকে থেকে সরান"</string>
<string name="bluetooth_device_context_disconnect_unpair" msgid="2001359431289794561">"ডিসকানেক্ট করুন ও চেনা তালিকে থেকে সরান"</string>
<string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"বিকল্পগুলি..."</string>
@@ -1430,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"স্ক্রিন সেভার"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"স্ক্রিন সেভার ব্যবহার করা"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"চার্জ অথবা ডক করার সময়"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"উভয় ক্ষেত্রেই"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"চার্জ করার সময়"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ডক করে রাখার সময়"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"কখনই নয়"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"বন্ধ আছে"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ফোন ডক করা এবং/অথবা নিদ্রা মোডে থাকাকালীন কি হচ্ছে তা নিয়ন্ত্রণের জন্য স্ক্রিন সেভার চালু করুন।"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"কখন শুরু করবেন"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"বর্তমান স্ক্রিন সেভার"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"সেটিংস"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"স্বয়ংক্রিয় উজ্জ্বলতা"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"সক্রিয় করতে লিফ্ট করুন"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"অ্যাম্বিয়েন্ট ডিসপ্লে"</string>
@@ -1856,8 +1852,8 @@
<string name="location_app_level_permissions" msgid="907206607664629759">"অ্যাপ লোকেশনের অনুমতি"</string>
<string name="location_app_permission_summary_location_off" msgid="2711822936853500335">"লোকেশন বন্ধ করা আছে"</string>
<plurals name="location_app_permission_summary_location_on" formatted="false" msgid="8286873148858526214">
- <item quantity="one"> <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g>টি অ্যাপের মধ্যে <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g>টি লোকেশন অ্যাক্সেস করতে পারবে</item>
- <item quantity="other"> <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g>টি অ্যাপের মধ্যে <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g>টি লোকেশন অ্যাক্সেস করতে পারবে</item>
+ <item quantity="one"> <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g>টির মধ্যে <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g>টি অ্যাপ লোকেশন অ্যাক্সেস করতে পারবে</item>
+ <item quantity="other"> <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g>টির মধ্যে <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g>টি অ্যাপ লোকেশন অ্যাক্সেস করতে পারবে</item>
</plurals>
<string name="location_category_recent_location_access" msgid="2558063524482178146">"সম্প্রতি লোকেশন অ্যাক্সেসের অ্যাক্টিভিটি"</string>
<string name="location_recent_location_access_see_all" msgid="4203102419355323325">"সবকটি দেখুন"</string>
@@ -2629,7 +2625,7 @@
<string name="keywords_hearing_aids" msgid="524979615168196199">"কম শুনতে পাওয়া, শুনতে সমস্যা হওয়া"</string>
<string name="keywords_rtt" msgid="2429130928152514402">"কম শুনতে পাওয়া, শুনতে সমস্যা হওয়া, ক্যাপশন, টেলিটাইপ, tty"</string>
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
- <string name="fast_pair_settings" msgid="3308819519080016185">"দ্রুত পেয়ার করা"</string>
+ <string name="fast_pair_settings" msgid="3308819519080016185">"দ্রুত যুক্ত করা"</string>
<string name="fast_pair_settings_summary" msgid="1786567691058982987">"দ্রুত পেয়ার করে এমন ব্লুটুথ ডিভাইস কাছাকাছি শনাক্ত করা গেছে।"</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"আশেপাশের ডিভাইস খুঁজতে স্ক্যান করুন"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"সেভ করে রাখা ডিভাইস"</string>
@@ -3399,8 +3395,15 @@
<string name="user_adding_new_user" msgid="7439602720177181412">"নতুন ব্যবহারকারী যোগ করা হচ্ছে..."</string>
<string name="user_delete_user_description" msgid="7764153465503821011">"ব্যবহারকারীকে মুছুন"</string>
<string name="user_delete_button" msgid="3833498650182594653">"মুছুন"</string>
- <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"এই সেশনের সব অ্যাপ্লিকেশান ও ডেটা মুছে ফেলা হবে।"</string>
+ <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"এই সেশনের সব অ্যাপ ও ডেটা মুছে ফেলা হবে।"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"সরান"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"অতিথি (আপনি)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"ব্যবহারকারী"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"অন্যান্য ব্যবহারকারী"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"অতিথি অ্যাক্টিভিটি মুছুন"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"\'অতিথি মোড\' ছেড়ে বেরিয়ে আসার সময় সব অতিথি অ্যাপ ও ডেটা মুছুন"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"অতিথি অ্যাক্টিভিটি মুছবেন?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"এই অতিথি সেশন থেকে এখন অ্যাপ এবং ডেটা মুছে দেওয়া হবে ও আপনি প্রত্যেকবার \'অতিথি মোড\' ছেড়ে বেরিয়ে আসার সময় পরবর্তী সব অতিথি অ্যাক্টিভিটি মুছে যাবে"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ফোন কলের সুবিধা চালু করুন"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ফোন কল এবং এসএমএস চালু করবেন?"</string>
<string name="user_remove_user" msgid="8468203789739693845">"ব্যবহারকারীর অ্যাকাউন্ট মুছে দিন"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 7aac8b6..2e6b11a 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -103,7 +103,7 @@
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"Nema Bluetooth uređaja u blizini."</string>
<string name="bluetooth_notif_ticker" msgid="209515545257862858">"Zahtjev za uparivanje putem Bluetootha"</string>
<string name="bluetooth_notif_title" msgid="1196532269131348647">"Zahtjev za uparivanje"</string>
- <string name="bluetooth_notif_message" msgid="5584717784198086653">"Dodirnite za spajanje s uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
+ <string name="bluetooth_notif_message" msgid="5584717784198086653">"Dodirnite da uparite s uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
<string name="bluetooth_show_received_files" msgid="685424727760622632">"Primljeni fajlovi"</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"Bluetooth je isključen"</string>
<string name="bluetooth_devices_card_off_summary" msgid="2276527382891105858">"Dodirnite da ga uključite"</string>
@@ -179,7 +179,7 @@
<string name="proxy_exclusionlist_label" msgid="2598613986784917542">"Zaobilazni proksi za"</string>
<string name="proxy_defaultView_text" msgid="6795150505379688451">"Vrati na zadano"</string>
<string name="proxy_action_text" msgid="1103328484441449542">"Gotovo"</string>
- <string name="proxy_hostname_label" msgid="5504327742505848063">"Hostname za proksi"</string>
+ <string name="proxy_hostname_label" msgid="5504327742505848063">"Naziv host računara za proksi"</string>
<string name="proxy_error" msgid="3615905975598084126">"Pažnja"</string>
<string name="proxy_error_dismiss" msgid="4207430265140873078">"Uredu"</string>
<string name="proxy_error_invalid_host" msgid="3814412792702059247">"Uneseni naziv host računara nije važeći."</string>
@@ -327,7 +327,7 @@
<item quantity="other">Uključeno – <xliff:g id="COUNT_1">%1$d</xliff:g> aplikacija ima pristup lokaciji</item>
</plurals>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Učitavanje…"</string>
- <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikacije s odobrenjem Uređaji u blizini mogu otkriti relativan položaj povezanih uređaja."</string>
+ <string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikacije s odobrenjem Uređaja u blizini mogu otkriti relativan položaj povezanih uređaja."</string>
<string name="location_settings_footer_location_off" msgid="8568995909147566720">"Pristup lokaciji je isključen za aplikacije i usluge. Lokacija uređaja se i dalje može slati hitnim službama kada pozovete broj za hitne slučajeve ili pošaljete SMS na njega."</string>
<string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Saznajte više o postavkama lokacije."</string>
<string name="account_settings_title" msgid="9138880127246241885">"Računi"</string>
@@ -842,7 +842,7 @@
<string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Potvrdite da uparite s koordiniranim kompletom"</string>
<string name="bluetooth_incoming_pairing_msg" msgid="1068123527866596779">"Od:<br><b><xliff:g id="DEVICE_NAME">%1$s</xliff:g></b><br><br>Želite izvršiti uparivanje s ovim uređajem?"</string>
<string name="bluetooth_display_passkey_pin_msg" msgid="8672803845151786521">"Da biste izvršili uparivanje s uređajem:<xliff:g id="BOLD1_0"><br><b></xliff:g><xliff:g id="DEVICE_NAME">%1$s</xliff:g><xliff:g id="END_BOLD1"></b><br><br></xliff:g>Otkucajte na njemu:<xliff:g id="BOLD2_1"><br><b></xliff:g><xliff:g id="PASSKEY">%2$s</xliff:g><xliff:g id="END_BOLD2"></b></xliff:g>, a zatim pritisnite Return ili Enter."</string>
- <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Dozvolite pristup kontaktima i historiji poziva"</string>
+ <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Dozvoli pristup kontaktima i historiji poziva"</string>
<string name="bluetooth_error_title" msgid="2284738188253690278"></string>
<string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nije uspjelo povezivanje sa uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
<string name="bluetooth_preference_scan_title" msgid="3460316252463771851">"Potraži uređaje"</string>
@@ -947,7 +947,7 @@
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
<string name="android_beam_on_summary" msgid="6067720758437490896">"Spremno za prijenos sadržaja aplikacije putem NFC-a"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"Isključeno"</string>
- <string name="nfc_disabled_summary" msgid="8737797364522502351">"Nedostupno jer je NFC isključen"</string>
+ <string name="nfc_disabled_summary" msgid="8737797364522502351">"Nije dostupno jer je NFC isključen"</string>
<string name="android_beam_label" msgid="7168565080321110094">"Android Beam"</string>
<string name="android_beam_explained" msgid="5684416131846701256">"Kada je uključena ova funkcija, možete emitirati sadržaj aplikacije na drugi uređaj koji podržava NFC približavanjem uređaja jedan drugome. Naprimjer, možete emitirati web stranice, videozapise s YouTubea, kontakte i drugo.\n\nSamo približite uređaje jedan drugome (u pravilu, poleđinu uz poleđinu) a zatim dodirnite svoj ekran. Aplikacija će sama prepoznati šta treba emitirati."</string>
<string name="wifi_quick_toggle_title" msgid="2737097538432862807">"WiFi"</string>
@@ -1012,7 +1012,7 @@
<string name="wifi_setup_wps" msgid="4303694722593999931">"Autom. postavljanje (WPS)"</string>
<string name="wifi_settings_scanning_required_title" msgid="1088663325396007484">"Uključiti skeniranje WiFi mreže?"</string>
<string name="wifi_settings_scanning_required_summary" msgid="4770243653675416569">"Za automatsko uključivanje WiFi mreže, prvo morate uključiti skeniranje WiFi mreže."</string>
- <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Skeniranje WiFi mreže omogućava aplikacijama i uslugama da traže WiFi mreže u svakom trenutku, čak i kada je WiFi mreža isključena. Ovim se, naprimjer, mogu poboljšati funkcije i usluge zasnovane na lokaciji."</string>
+ <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Skeniranje WiFi mreže omogućava aplikacijama i uslugama da traže WiFi mreže u svakom trenutku, čak i kada je WiFi isključen. Ovim se, naprimjer, mogu poboljšati funkcije i usluge zasnovane na lokaciji."</string>
<string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Uključi"</string>
<string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Skeniranje WiFi mreže je uključeno"</string>
<string name="wifi_show_advanced" msgid="2969378109942071741">"Napredne opcije"</string>
@@ -1022,7 +1022,7 @@
<string name="wifi_ssid_hint" msgid="1940577553241083524">"Unesite SSID"</string>
<string name="wifi_security" msgid="9095934643631406913">"Sigurnost"</string>
<string name="wifi_hidden_network" msgid="6466834025375485596">"Skrivena mreža"</string>
- <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"Ukoliko ruter ne emitira ID mreže, ali biste se u buduće željeli povezati na njega, možete postaviti mrežu kao skrivenu.\n\nNa taj način sigurnost može biti ugrožena jer će telefon redovno emitirati signal da pronađe mrežu.\n\nPostavljenjem mreže kao skrivene neće se promijeniti postavke vašeg rutera."</string>
+ <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"Ukoliko ruter ne emitira ID mreže, ali biste se ubuduće željeli povezati na njega, možete postaviti mrežu kao skrivenu.\n\nNa taj način može biti ugrožena sigurnost jer će telefon redovno emitirati signal da pronađe mrežu.\n\nPostavljenjem mreže kao skrivene neće se promijeniti postavke vašeg rutera."</string>
<string name="wifi_signal" msgid="4442182285304271424">"Jačina signala"</string>
<string name="wifi_status" msgid="5349199188871002778">"Status"</string>
<string name="tx_wifi_speed" msgid="2368986629172050673">"Brzina prijenosa veze"</string>
@@ -1449,15 +1449,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Čuvar ekrana"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Koristi čuvara ekrana"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Tokom punjenja ili kada je na priključnoj stanici"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Bilo koje"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Tokom punjenja"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Kada je na priključnoj stanici"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nikada"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Isključeno"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Za kontrolisanje dešavanja kada je telefon priključen i/ili dok miruje, uključi čuvara ekrana."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kada početi"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Trenutni čuvar ekrana"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Postavke"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatsko osvjetljenje"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Podignite za buđenje"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambijentalni prikaz"</string>
@@ -1888,7 +1885,7 @@
<string name="location_high_battery_use" msgid="4277318891200626524">"Visoka potrošnja baterije"</string>
<string name="location_low_battery_use" msgid="5218950289737996431">"Niska potrošnja baterije"</string>
<string name="location_scanning_wifi_always_scanning_title" msgid="5004781272733434794">"Skeniranje WiFi-ja"</string>
- <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Dozvolite aplikacijama i uslugama da skeniraju WiFi mreže u svakom trenutku, čak i kada je WiFi mreža isključena. Ovim se, naprimjer, mogu poboljšati funkcije i usluge zasnovane na lokaciji."</string>
+ <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Dozvolite aplikacijama i uslugama da skeniraju WiFi mreže u svakom trenutku, čak i kada je WiFi isključen. Ovim se, naprimjer, mogu poboljšati funkcije i usluge zasnovane na lokaciji."</string>
<string name="location_scanning_bluetooth_always_scanning_title" msgid="1809309545730215891">"Skeniranje Bluetootha"</string>
<string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Dozvolite aplikacijama i uslugama da skeniraju uređaje u blizini u svakom trenutku, čak i kada je Bluetooth isključen. Ovim se, naprimjer, mogu poboljšati funkcije i usluge zasnovane na lokaciji."</string>
<string name="location_services_preference_title" msgid="604317859531782159">"Usluge lokacije"</string>
@@ -2119,8 +2116,8 @@
<string name="no_applications" msgid="985069304755391640">"Nema aplikacija."</string>
<string name="internal_storage" msgid="999496851424448809">"Unutrašnja pohrana"</string>
<string name="recompute_size" msgid="1098091228370999128">"Ponovno izračunavanje veličine…"</string>
- <string name="clear_data_dlg_title" msgid="180446967743732410">"Izbrisati podatke aplikacija?"</string>
- <string name="clear_data_dlg_text" msgid="3440011276559762619">"Podaci ove aplikacije, uključujući fajlove i postavke, trajno će se izbrisati iz ovog uređaja."</string>
+ <string name="clear_data_dlg_title" msgid="180446967743732410">"Izbrisati podatke aplikacije?"</string>
+ <string name="clear_data_dlg_text" msgid="3440011276559762619">"Podaci ove aplikacije, uključujući fajlove i postavke, trajno će se izbrisati s ovog uređaja."</string>
<string name="dlg_ok" msgid="1421350367857960997">"Uredu"</string>
<string name="dlg_cancel" msgid="5164705061530774899">"Otkaži"</string>
<string name="dlg_delete" msgid="1790919205039397659">"Izbriši"</string>
@@ -2457,7 +2454,7 @@
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Koristi inverziju boja"</string>
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Prečica za inverziju boja"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Inverzija boja mijenja svijetle ekrane u tamne, kao i tamne u svijetle."</string>
- <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Imajte na umu</b><br/> <ol> <li> Boje u medijskim fajlovima i slikama će se promijeniti</li> <li> Inverzija boja funkcionira u svim aplikacijama</li> <li> Za prikazivanje tamne pozadine se može koristiti tamna tema</li> </ol>"</string>
+ <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Imajte na umu</b><br/> <ol> <li>&nbsp;Boje u medijskim fajlovima i slikama će se promijeniti</li> <li>&nbsp;Inverzija boja funkcionira u svim aplikacijama</li> <li>&nbsp;Za prikazivanje tamne pozadine se može koristiti tamna tema</li> </ol>"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Automatski klik (vrijeme zadržavanja)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Automatski klik (vrijeme zadržavanja)"</string>
<string name="accessibility_autoclick_footer_learn_more_content_description" msgid="7056189627042350691">"Saznajte više o automatskom kliku (vrijeme zadržavanja)"</string>
@@ -3190,7 +3187,7 @@
<string name="sync_plug" msgid="7956982719077985381"><font fgcolor="#ffffffff">"Dobro došli u Google sync!"</font>" \nGoogle pristup sinhroniziranju podataka kako bi se omogućio pristup vašim kontaktima, obavezama i drugim stavkama gdje god da se nalazite."</string>
<string name="header_application_sync_settings" msgid="7427706834875419243">"Postavke sinhroniziranja aplikacija"</string>
<string name="header_data_and_synchronization" msgid="453920312552838939">"Podaci i sinhroniziranje"</string>
- <string name="preference_change_password_title" msgid="5465821666939825972">"Promijenite lozinku"</string>
+ <string name="preference_change_password_title" msgid="5465821666939825972">"Promijeni lozinku"</string>
<string name="header_account_settings" msgid="1189339410278750008">"Postavke računa"</string>
<string name="remove_account_label" msgid="4169490568375358010">"Ukloni račun"</string>
<string name="header_add_an_account" msgid="3919151542338822661">"Dodajte račun"</string>
@@ -3444,6 +3441,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Izbriši"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Sve aplikacije i podaci iz ove sesije će se izbrisati."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Ukloniti"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gost (vi)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Korisnici"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Drugi korisnici"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Izbrišite aktivnost gosta"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Izbrisati sve aplikacije i podatke gosta pri napuštanju načina rada za gosta"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Izbrisati aktivnost gosta?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikacije i podaci iz ove sesije gosta će se sada izbrisati i svaka buduća aktivnost gosta će se izbrisati svaki put kada napustite način rada za gosta"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Uključi telefonske pozive"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Uključi telefonske pozive i SMS-ove"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Izbriši korisnika"</string>
@@ -5717,7 +5721,7 @@
<string name="mobile_data_disable_message" msgid="7829414836454769970">"Nećete imati pristup podacima ili internetu putem mobilnog operatera <xliff:g id="CARRIER">%s</xliff:g>. Internet će biti dostupan samo putem WiFi-ja."</string>
<string name="mobile_data_disable_message_default_carrier" msgid="4449469407705838612">"vaš mobilni operater"</string>
<string name="not_allowed_by_ent" msgid="1958611623122304411">"Organizacija ne dozvoljava"</string>
- <string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"Nedostupno jer je uključen način rada za spavanje"</string>
+ <string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"Nije dostupno jer je uključen način rada za spavanje"</string>
<string name="reset_importance_completed" msgid="3595536767426097205">"Poništavanje važnosti obavještenja je završeno."</string>
<string name="apps_dashboard_title" msgid="3269953499954393706">"Aplikacije"</string>
<string name="bluetooth_message_access_notification_content" msgid="5111712860712823893">"Uređaj želi pristupiti vašim porukama. Dodirnite za detalje."</string>
@@ -5739,7 +5743,7 @@
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Koristi WiFi pristupnu tačku"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Koristi kačenje aplikacije"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Koristi opcije za programere"</string>
- <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristite uslugu štampanja"</string>
+ <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristi uslugu štampanja"</string>
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dozvoli više korisnika"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Koristi bežično otklanjanje grešaka"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Koristi postavke drajvera za grafiku"</string>
@@ -5769,7 +5773,7 @@
<string name="enable_2g_summary_disabled_carrier" msgid="8141118453219482762">"<xliff:g id="CARRIER_NAME_2G">%1$s</xliff:g> zahtijeva da 2G mreža bude dostupna"</string>
<string name="app_info_all_services_label" msgid="3600929226735860271">"Sve usluge"</string>
<string name="show_clip_access_notification" msgid="7782300987639778542">"Prikaži pristup međumemoriji"</string>
- <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Prikaz poruke kada aplikacije pristupe tekstu, slikama ili drugom sadržaju koji ste kopirali"</string>
+ <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Vidite poruku kada aplikacije pristupe tekstu, slikama ili drugom sadržaju koji ste kopirali"</string>
<string name="all_apps" msgid="3054120149509114789">"Sve aplikacije"</string>
<string name="request_manage_bluetooth_permission_dont_allow" msgid="8798061333407581300">"Nemoj dozvoliti"</string>
<string name="uwb_settings_title" msgid="8578498712312002231">"Ultra široki opseg (Ultra-WideBand, UWB)"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index f57604f..d8845b6 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Idiomes suggerits"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Tots els idiomes"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Idioma del sistema"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Valor predeterminat del sistema"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La selecció d\'idioma per a aquesta aplicació no està disponible des de Configuració."</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -1430,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Estalvi de pantalla"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Utilitza l\'estalvi de pantalla"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Mentre es carrega o està acoblat a la base"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Els dos casos"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Mentre es carrega"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Mentre està acoblat a la base"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Mai"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Desactivat"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Per controlar què passa quan el telèfon està acoblat a una base o en mode de repòs, activa l\'estalvi de pantalla."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Quan comença"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Estalvi de pantalla actual"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Configuració"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Brillantor adaptativa"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Aixeca el dispositiu per activar-lo"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Pantalla ambient"</string>
@@ -2630,7 +2626,7 @@
<string name="keywords_rtt" msgid="2429130928152514402">"deficiències auditives, pèrdua auditiva, subtítols, teletip, tty"</string>
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
<string name="fast_pair_settings" msgid="3308819519080016185">"Vinculació ràpida"</string>
- <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Det. disp. Bluetooth propers amb Vinculació ràpida."</string>
+ <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Detecció de dispositius Bluetooth propers amb Vinculació ràpida"</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"Cerca dispositius propers"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"Dispositius desats"</string>
<string name="print_settings" msgid="8519810615863882491">"Impressió"</string>
@@ -3401,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Suprimeix"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Totes les aplicacions i les dades d\'aquesta sessió se suprimiran."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Suprimeix"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Convidat (Tu)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Usuaris"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Altres usuaris"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Suprimeix l\'activitat de convidat"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Suprimeix totes les aplicacions i dades de la sessió de convidat en sortir d\'aquest mode"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Suprimir l\'activitat de convidat?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Les aplicacions i les dades d\'aquesta sessió de convidat se suprimiran ara, i tota l\'activitat de convidat que facis en el futur se suprimirà cada vegada que surtis del mode de convidat"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Activa les trucades telefòniques"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Activa les trucades telefòniques i els SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Suprimeix l\'usuari"</string>
@@ -5651,7 +5654,7 @@
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Utilitza el punt d\'accés Wi‑Fi"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Utilitza la fixació d\'aplicacions"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Utilitza les opcions per a desenvolupadors"</string>
- <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Utilitza el servei d\'impressions"</string>
+ <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Utilitza el servei d\'impressió"</string>
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permet diversos usuaris"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Utilitza la depuració sense fil"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Utilitza les preferències del controlador de gràfics"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 5ada383..43a3abd 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -884,7 +884,7 @@
<string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"Možnosti"</string>
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"Rozšířené nastavení"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"Rozšířené nastavení Bluetooth"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Když je připojení Bluetooth zapnuté, zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Když je připojení Bluetooth zapnuto, vaše zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí."</string>
<string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"Když je zapnuté připojení Bluetooth, zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí.\n\nZa účelem vylepšení funkcí mohou aplikace a služby nadále vyhledávat zařízení v okolí, i když je Bluetooth vypnuté. Lze tak například vylepšit funkce a služby založené na poloze. Toto chování můžete změnit v "<annotation id="link">"nastavení vyhledávání Bluetooth"</annotation>"."</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"Za účelem zvýšení přesnosti určování polohy mohou systémové aplikace a služby neustále vyhledávat zařízení Bluetooth. Toto chování můžete změnit v <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>nastavení vyhledávání<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"Nelze se připojit. Zkuste to znovu."</string>
@@ -964,7 +964,7 @@
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
<string name="android_beam_on_summary" msgid="6067720758437490896">"Přenos obsahu aplikace prostřednictvím NFC je připraven"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"Vypnuto"</string>
- <string name="nfc_disabled_summary" msgid="8737797364522502351">"Není k dispozici, protože je vypnutá funkce NFC"</string>
+ <string name="nfc_disabled_summary" msgid="8737797364522502351">"Není k dispozici, protože funkce NFC je vypnutá"</string>
<string name="android_beam_label" msgid="7168565080321110094">"Android Beam"</string>
<string name="android_beam_explained" msgid="5684416131846701256">"Když je funkce zapnutá, můžete přenášet obsah aplikace do jiného zařízení s funkcí NFC tak, že obě zařízení podržíte blízko sebe. Přenášet můžete například webové stránky, videa na YouTube, kontakty a další.\n\nPřiložte zařízení k sobě (zpravidla zadní stranou) a klepněte na obrazovku. Aplikace určí, jaký obsah se bude přenášet."</string>
<string name="wifi_quick_toggle_title" msgid="2737097538432862807">"Wi-Fi"</string>
@@ -1469,15 +1469,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Spořič obrazovky"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Používat spořič obrazovky"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Při nabíjení nebo v doku"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"V obou případech"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Při nabíjení"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Při vložení do doku"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nikdy"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Vyp."</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Chcete-li nastavit, co se stane, když je telefon vložen do doku nebo je v režimu spánku, zapněte spořič obrazovky."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kdy spustit"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Aktuální spořič obrazovky"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Nastavení"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatický jas"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Probudit zvednutím zařízení"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambientní displej"</string>
@@ -3488,6 +3485,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Smazat"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Veškeré aplikace a data v této relaci budou vymazána."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Odstranit"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Host (vy)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Uživatelé"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Další uživatelé"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Smazat aktivitu hosta"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Při ukončení režimu hosta smazat všechny aplikace a data hosta"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Smazat aktivitu hosta?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikace a data z této relace hosta budou nyní smazány a veškerá budoucí aktivita hostů bude smazána pokaždé, když opustíte režim hosta"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Zapnout telefonní hovory"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Zapnout telefonní hovory a SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Smazání uživatele"</string>
@@ -3506,7 +3510,7 @@
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"Nainstalovat dostupné aplikace"</string>
<string name="nfc_payment_settings_title" msgid="2043139180030485500">"Bezkontaktní platby"</string>
<string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"Výchozí platební aplikace"</string>
- <string name="nfc_default_payment_footer" msgid="978535088340021360">"Chcete-li zaplatit pomocí platební aplikace, přiložte zadní stranu zařízení k platebnímu terminálu"</string>
+ <string name="nfc_default_payment_footer" msgid="978535088340021360">"Pokud chcete zaplatit pomocí platební aplikace, přiložte zadní stranu zařízení k platebnímu terminálu."</string>
<string name="nfc_more_details" msgid="1700713533074275233">"Další informace"</string>
<string name="nfc_default_payment_workapp_confirmation_title" msgid="746921251872504687">"Nastavit pracovní aplikaci jako výchozí platební aplikaci?"</string>
<string name="nfc_default_payment_workapp_confirmation_message_title" msgid="1533022606333010329">"Chcete-li zaplatit pomocí pracovní aplikace:"</string>
@@ -3517,8 +3521,8 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"Výchozí platební aplikace"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"Nenastaveno"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"Použít výchozí platební aplikaci"</string>
- <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Použít výchozí platební aplikaci"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"Používat výchozí platební aplikaci"</string>
+ <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Používat výchozí platební aplikaci"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"Vždy"</string>
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"Jen pokud není spuštěna jiná platební aplikace"</string>
<string name="nfc_payment_pay_with" msgid="3001320460566523453">"Na bezkontaktním terminálu zaplaťte pomocí aplikace:"</string>
@@ -3661,7 +3665,7 @@
<string name="connected_devices_dashboard_android_auto_no_nfc_summary" msgid="2532811870469405527">"Bluetooth, Android Auto, režim jízdy autem"</string>
<string name="connected_devices_dashboard_android_auto_no_driving_mode_summary" msgid="6426996842202276640">"Bluetooth, Android Auto, NFC"</string>
<string name="connected_devices_dashboard_android_auto_no_nfc_no_driving_mode" msgid="1672426693308438634">"Bluetooth, Android Auto"</string>
- <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nedostupné, protože je vypnutá funkce NFC"</string>
+ <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nejsou dostupné, protože funkce NFC je vypnutá"</string>
<string name="nfc_and_payment_settings_no_payment_installed_summary" msgid="4879818114908207465">"Před použitím nejprve nainstalujte platební aplikaci"</string>
<string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikace a oznámení"</string>
<string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedávné aplikace, výchozí aplikace"</string>
@@ -4010,7 +4014,7 @@
<string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"Citlivá oznámení v pracovním profilu"</string>
<string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"Při uzamknutí zobrazovat citlivý obsah pracovního profilu"</string>
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Zobrazovat veškerý obsah oznámení"</string>
- <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Citlivý obsah zobrazovat jen po odemknutí"</string>
+ <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Zobrazovat citlivý obsah jen po odemknutí"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Oznámení vůbec nezobrazovat"</string>
<string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Jak chcete zobrazovat obrazovku uzamčení?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Obrazovka uzamčení"</string>
@@ -4647,7 +4651,7 @@
<string name="usb_use_file_transfers" msgid="483915710802018503">"Přenos souborů"</string>
<string name="usb_use_file_transfers_desc" msgid="1020257823387107336">"Přenos souborů do jiného zařízení"</string>
<string name="usb_use_photo_transfers" msgid="4641181628966036093">"PTP"</string>
- <string name="usb_transcode_files" msgid="2441954752105119109">"Převádění videí do formátu AVC"</string>
+ <string name="usb_transcode_files" msgid="2441954752105119109">"Převádět videa do formátu AVC"</string>
<string name="usb_transcode_files_summary" msgid="307102635711961513">"Videa bude možné přehrát ve více přehrávačích médií, ale může se zhoršit kvalita"</string>
<string name="usb_use_photo_transfers_desc" msgid="7490250033610745765">"Přenést fotky nebo soubory, pokud MTP není podporováno (PTP)"</string>
<string name="usb_use_tethering" msgid="2897063414491670531">"Tethering přes USB"</string>
@@ -5823,12 +5827,12 @@
<string name="category_name_others" msgid="2366006298768550310">"Jiné"</string>
<string name="category_name_general" msgid="7737273712848115886">"Obecné"</string>
<string name="dark_theme_main_switch_title" msgid="4045147031947562280">"Používat tmavý motiv"</string>
- <string name="bluetooth_main_switch_title" msgid="8409835540311309632">"Použít Bluetooth"</string>
+ <string name="bluetooth_main_switch_title" msgid="8409835540311309632">"Používat Bluetooth"</string>
<string name="prevent_ringing_main_switch_title" msgid="4726252811262086643">"Blokovat vyzvánění"</string>
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Použít hotspot sítě Wi‑Fi"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Používat připnutí aplikace"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Používat nastavení pro vývojáře"</string>
- <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Použít tiskovou službu"</string>
+ <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Používat tiskovou službu"</string>
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Povolit více uživatelů"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Používat bezdrátové ladění"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Použít nastavení ovladače grafiky"</string>
@@ -5857,8 +5861,8 @@
<string name="enable_2g_summary" msgid="2794534052372565914">"Připojení 2G je méně bezpečné, ale v některých oblastech může zlepšit kvalitu vašeho připojení. Pro tísňová volání je připojení 2G vždy zapnuté."</string>
<string name="enable_2g_summary_disabled_carrier" msgid="8141118453219482762">"Operátor <xliff:g id="CARRIER_NAME_2G">%1$s</xliff:g> vyžaduje připojení 2G"</string>
<string name="app_info_all_services_label" msgid="3600929226735860271">"Všechny služby"</string>
- <string name="show_clip_access_notification" msgid="7782300987639778542">"Zobrazit použití schránky"</string>
- <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Zobrazit zprávu, když aplikace použijí text, obrázky nebo jiný obsah, který jste zkopírovali"</string>
+ <string name="show_clip_access_notification" msgid="7782300987639778542">"Zobrazovat použití schránky"</string>
+ <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Zobrazovat zprávu, když aplikace použijí text, obrázky nebo jiný obsah, který jste zkopírovali"</string>
<string name="all_apps" msgid="3054120149509114789">"Všechny aplikace"</string>
<string name="request_manage_bluetooth_permission_dont_allow" msgid="8798061333407581300">"Nepovolovat"</string>
<string name="uwb_settings_title" msgid="8578498712312002231">"Ultra-WideBand (UWB)"</string>
@@ -5868,7 +5872,7 @@
<string name="mic_toggle_title" msgid="265145278323852547">"Přístup k mikrofonu"</string>
<string name="location_toggle_title" msgid="5229867700421750868">"Přístup k poloze"</string>
<string name="perm_toggle_description" msgid="5754629581767319022">"Aplikace a služby"</string>
- <string name="mic_toggle_description" msgid="484139688645092237">"Aplikace a služby. Pokud je toto nastavení vypnuté a zavoláte na číslo tísňového volání, mohou být nadále sdílena data z mikrofonu."</string>
+ <string name="mic_toggle_description" msgid="484139688645092237">"Týká se aplikací a služeb. Pokud je toto nastavení vypnuté a zavoláte na číslo tísňového volání, data z mikrofonu se mohou stále sdílet."</string>
<string name="previous_page_content_description" msgid="6438292457923282991">"Předchozí"</string>
<string name="next_page_content_description" msgid="1641835099813416294">"Další"</string>
<string name="colors_viewpager_content_description" msgid="2591751086138259565">"Náhled barvy"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 65cd4c5..86c841d 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -930,7 +930,7 @@
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
<string name="android_beam_on_summary" msgid="6067720758437490896">"Klar til at overføre appindhold via NFC"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"Fra"</string>
- <string name="nfc_disabled_summary" msgid="8737797364522502351">"Utilgængelig, fordi NFC er slået fra"</string>
+ <string name="nfc_disabled_summary" msgid="8737797364522502351">"Ikke tilgængelig, fordi NFC er slået fra"</string>
<string name="android_beam_label" msgid="7168565080321110094">"Android Beam"</string>
<string name="android_beam_explained" msgid="5684416131846701256">"Når denne funktion er slået til, kan du overføre appindhold til en anden NFC-kompatibel enhed ved at placere enhederne tæt på hinanden. Du kan f.eks. overføre websider, YouTube-videoer, kontakter og meget mere.\n\nDu skal blot placere enhederne tæt på hinanden (normalt bagside mod bagside) og derefter trykke på din skærm. Appen bestemmer, hvad der overføres."</string>
<string name="wifi_quick_toggle_title" msgid="2737097538432862807">"Wi-Fi"</string>
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Pauseskærm"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Brug pauseskærm"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Når enheden oplades eller tilsluttes en dockingstation"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Begge dele"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Under opladning"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Når enheden er tilsluttet en dockingstation"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Aldrig"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Fra"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Aktivér pauseskærmen for at administrere, hvad der sker, når telefonen er sat i dockingstationen og/eller går i dvale."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Starttidspunkt"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Aktuel pauseskærm"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Indstillinger"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatisk lysstyrke"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Løft enheden for at vække den"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Aktiv låseskærm"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Slet"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Alle apps og data i denne session slettes."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Fjern"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gæst (dig)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Brugere"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Andre brugere"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Slet gæsteaktivitet"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Slet alle gæsteapps og -data ved afslutning af gæstetilstand"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vil du slette gæsteaktiviteten?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps og data fra denne gæstesession slettes nu, og al fremtidig gæsteaktivitet slettes, hver gang du afslutter gæstetilstand"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Aktivér telefonopkald"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Aktivér telefonopkald og sms"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Slet bruger"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 4a26824..1c9712a 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Vorgeschlagene Sprachen"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Alle Sprachen"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Systemsprache"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Standardeinstellung des Systems"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Für diese App ist in den Einstellungen keine Sprachauswahl verfügbar."</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -1433,15 +1432,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Bildschirmschoner"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Bildschirmschoner verwenden"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Beim Aufladen oder wenn in Dockingstation"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"In beiden Fällen"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Beim Aufladen"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Wenn in Dockingstation"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nie"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Aus"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Um festzulegen, was geschieht, wenn dein Smartphone angedockt oder im Ruhemodus ist, aktiviere den Bildschirmschoner."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Zeitpunkt der Aktivierung"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Aktueller Bildschirmschoner"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Einstellungen"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatische Helligkeit"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Zum Aktivieren anheben"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Inaktivitätsdisplay"</string>
@@ -3404,6 +3400,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Löschen"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Alle Apps und Daten in dieser Sitzung werden gelöscht."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Entfernen"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gast (ich)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Nutzer"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Andere Nutzer"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Gastaktivität löschen"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Alle Gast-Apps und -daten beim Beenden des Gastmodus löschen"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Gastaktivität löschen?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps und Daten dieser Gastsitzung werden jetzt gelöscht, und alle künftigen Gastaktivitäten werden jeweils beim Beenden des Gastmodus gelöscht"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Telefonieren zulassen"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Telefonieren & SMS zulassen"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Nutzer löschen"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index eb44d38..e05443d 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -225,10 +225,9 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Προτεινόμενες γλώσσες"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Όλες οι γλώσσες"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Γλώσσα συστήματος"</string>
- <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Προεπιλεγμένο από το σύστημα"</string>
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Προεπιλογή συστήματος"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Η δυνατότητα επιλογής γλώσσας για αυτήν την εφαρμογή δεν είναι διαθέσιμη από τις Ρυθμίσεις."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Η γλώσσα μπορεί να διαφέρει από τις γλώσσες που είναι διαθέσιμες στην εφαρμογή. Ορισμένες εφαρμογές μπορεί να μην υποστηρίζουν αυτήν τη ρύθμιση."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">Να αφαιρεθούν οι επιλεγμένες γλώσσες;</item>
<item quantity="one">Να αφαιρεθεί η επιλεγμένη γλώσσα;</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Προφύλαξη οθόνης"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Χρήση προφύλαξης οθόνης"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Στη φόρτιση ή στη βάση"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Είτε"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Στη φόρτιση"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Στη βάση"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Ποτέ"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Απενεργοποίηση"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Ενεργοποιήστε την προφύλαξη οθόνης για να ελέγξετε τι συμβαίνει όταν το τηλέφωνό σας είναι συνδεδεμένο στη βάση σύνδεσης ή/και βρίσκεται σε κατάσταση αδράνειας."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Πότε να ξεκινάει"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Τρέχουσα προφύλαξη οθόνης"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Ρυθμίσεις"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Αυτόματη φωτεινότητα"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Σηκώστε για ενεργοποίηση"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Οθόνη περιβάλλοντος"</string>
@@ -3048,7 +3044,7 @@
<string name="certificate_warning_dont_install" msgid="3794366420884560605">"Να μην γίνει εγκατάσταση"</string>
<string name="certificate_warning_install_anyway" msgid="4633118283407228740">"Εγκατάσταση ούτως ή άλλως"</string>
<string name="cert_not_installed" msgid="6725137773549974522">"Δεν εγκαταστάθηκε πιστοποιητικό"</string>
- <string name="request_manage_credentials_title" msgid="596805634568013413">"Να επιτρέπεται στην εφαρμογή "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" η εγκατάσταση πιστοποιητικών σε αυτήν τη συσκευή;"</string>
+ <string name="request_manage_credentials_title" msgid="596805634568013413">"Να επιτρέπεται στο "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" η εγκατάσταση πιστοποιητικών σε αυτήν τη συσκευή;"</string>
<string name="request_manage_credentials_description" msgid="8044839857171509619">"Αυτά τα πιστοποιητικά θα σας επαληθεύουν κοινοποιώντας το μοναδικό αναγνωριστικό της συσκευής σας στις παρακάτω εφαρμογές και URL."</string>
<string name="request_manage_credentials_dont_allow" msgid="3630610197644877809">"Να μην επιτρέπεται"</string>
<string name="request_manage_credentials_allow" msgid="4910940118408348245">"Να επιτρέπεται"</string>
@@ -3366,7 +3362,7 @@
<item quantity="other">Έλεγχος πιστοποιητικών</item>
<item quantity="one">Έλεγχος πιστοποιητικού</item>
</plurals>
- <string name="user_settings_title" msgid="6550866465409807877">"Πολλοί χρήστες"</string>
+ <string name="user_settings_title" msgid="6550866465409807877">"Πολλαπλοί χρήστες"</string>
<string name="user_settings_footer_text" product="device" msgid="7523914344521302179">"Μοιραστείτε τη συσκευή σας προσθέτοντας νέους χρήστες. Κάθε χρήστης έχει έναν προσωπικό χώρο στη συσκευή σας για προσαρμοσμένες αρχικές οθόνες, λογαριασμούς, εφαρμογές, ρυθμίσεις και άλλα."</string>
<string name="user_settings_footer_text" product="tablet" msgid="3730074318510244552">"Μοιραστείτε το tablet σας προσθέτοντας νέους χρήστες. Κάθε χρήστης έχει έναν προσωπικό χώρο στο tablet σας για προσαρμοσμένες αρχικές οθόνες, λογαριασμούς, εφαρμογές, ρυθμίσεις και άλλα."</string>
<string name="user_settings_footer_text" product="default" msgid="4420915712050349125">"Μοιραστείτε το τηλέφωνό σας προσθέτοντας νέους χρήστες. Κάθε χρήστης έχει έναν προσωπικό χώρο στο τηλέφωνό σας για προσαρμοσμένες αρχικές οθόνες, λογαριασμούς, εφαρμογές, ρυθμίσεις και άλλα."</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Διαγραφή"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Όλες οι εφαρμογές και τα δεδομένα αυτής της περιόδου σύνδεσης θα διαγραφούν."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Κατάργηση"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Επισκέπτης (Εσείς)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Χρήστες"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Άλλοι χρήστες"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Διαγραφή δραστηριότητας επισκέπτη"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Διαγραφή όλων των εφαρμογών και των δεδομένων επισκέπτη κατά την έξοδο από τη λειτουργία επισκέπτη"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Διαγραφή δραστηριότητας επισκέπτη;"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Οι εφαρμογές και τα δεδομένα από αυτήν την περίοδο σύνδεσης επισκέπτη θα διαγραφούν τώρα και όλη η μελλοντική δραστηριότητα επισκέπτη θα διαγράφεται κάθε φορά που εξέρχεστε από τη λειτουργία επισκέπτη"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Ενεργοποίηση τηλεφωνικών κλήσεων"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Ενεργοποίηση κλήσεων και SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Διαγραφή χρήστη"</string>
@@ -3876,7 +3879,7 @@
<string name="bubbles_conversation_app_link" msgid="5468779786387915337">"Όλες οι ρυθμίσεις για τα Συννεφάκια"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Εμφάνιση αυτής της συνομιλίας σε συννεφάκι"</string>
<string name="bubbles_conversation_toggle_summary" msgid="720229032254323578">"Εμφάνιση κινούμενου εικονιδίου πάνω από εφαρμογές"</string>
- <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Να επιτρέπεται στην εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> να εμφανίζει ορισμένες ειδοποιήσεις ως συννεφάκια"</string>
+ <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Να επιτρέπεται στο <xliff:g id="APP_NAME">%1$s</xliff:g> να εμφανίζει ορισμένες ειδοποιήσεις ως συννεφάκια"</string>
<string name="bubbles_feature_disabled_dialog_title" msgid="1794193899792284007">"Θέλετε να ενεργοποιήσετε τα συννεφάκια για τη συσκευή;"</string>
<string name="bubbles_feature_disabled_dialog_text" msgid="5275666953364031055">"Για να ενεργοποιήσετε τα συννεφάκια για αυτήν την εφαρμογή, θα πρέπει να τα ενεργοποιήσετε για τη συσκευή σας.\n\n Αυτή η ενέργεια επηρεάζει και άλλες εφαρμογές ή συζητήσεις στις οποίες επιτρέπεται να προσθέτουν συννεφάκια."</string>
<string name="bubbles_feature_disabled_button_approve" msgid="2042628067101419871">"Ενεργοποίηση"</string>
@@ -4580,7 +4583,7 @@
<string name="ignore_optimizations_off" msgid="9186557038453586295">"Βελτιστοποίηση"</string>
<string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Η μπαταρία σας μπορεί να εξαντλείται πιο γρήγορα. Θα επιτρέπεται πλέον η χρήση μπαταρίας στο παρασκήνιο από την εφαρμογή."</string>
<string name="ignore_optimizations_off_desc" msgid="3324571675983286177">"Συνιστάται για μεγαλύτερη διάρκεια μπαταρίας"</string>
- <string name="ignore_optimizations_title" msgid="3464172726254542889">"Να επιτρέπεται στην εφαρμογή <xliff:g id="APP">%s</xliff:g> να αγνοεί τις βελτιστοποιήσεις μπαταρίας;"</string>
+ <string name="ignore_optimizations_title" msgid="3464172726254542889">"Να επιτρέπεται στο <xliff:g id="APP">%s</xliff:g> να αγνοεί τις βελτιστοποιήσεις μπαταρίας;"</string>
<string name="app_list_preference_none" msgid="1635406344616653756">"Κανένα"</string>
<string name="work_profile_usage_access_warning" msgid="3477719910927319122">"Η απενεργοποίηση της πρόσβασης χρήσης γι\' αυτήν την εφαρμογή δεν αποτρέπει τον διαχειριστή σας από την παρακολούθηση της χρήσης δεδομένων για εφαρμογές του προφίλ εργασίας σας"</string>
<string name="accessibility_lock_screen_progress" msgid="4597298121698665401">"Χρησιμοποιούνται <xliff:g id="COUNT_0">%1$d</xliff:g> από <xliff:g id="COUNT_1">%2$d</xliff:g> χαρακτήρες"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index ecf27b7..7459293 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -1428,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Use screen saver"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"While charging or docked"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Either"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"While charging"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"While docked"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Never"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Off"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"To control what happens when the phone is docked and/or sleeping, turn the screen saver on."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"When to start"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Current screen saver"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Settings"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatic brightness"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Lift to wake"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambient display"</string>
@@ -3399,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Delete"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"All apps and data in this session will be deleted."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Remove"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Guest (you)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Users"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Other users"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Delete guest activity"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Delete all guest apps and data when exiting guest mode"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Delete guest activity?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time that you exit guest mode"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Turn on phone calls"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Turn on phone calls & SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Delete user"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 83060bd..2d5399f 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -1428,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Use screen saver"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"While charging or docked"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Either"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"While charging"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"While docked"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Never"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Off"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"To control what happens when the phone is docked and/or sleeping, turn the screen saver on."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"When to start"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Current screen saver"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Settings"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatic brightness"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Lift to wake"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambient display"</string>
@@ -3399,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Delete"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"All apps and data in this session will be deleted."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Remove"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Guest (you)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Users"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Other users"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Delete guest activity"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Delete all guest apps and data when exiting guest mode"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Delete guest activity?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time that you exit guest mode"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Turn on phone calls"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Turn on phone calls & SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Delete user"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 3fb0b50..5c4a77d 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -1428,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Use screen saver"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"While charging or docked"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Either"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"While charging"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"While docked"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Never"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Off"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"To control what happens when the phone is docked and/or sleeping, turn the screen saver on."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"When to start"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Current screen saver"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Settings"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatic brightness"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Lift to wake"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambient display"</string>
@@ -3399,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Delete"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"All apps and data in this session will be deleted."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Remove"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Guest (you)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Users"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Other users"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Delete guest activity"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Delete all guest apps and data when exiting guest mode"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Delete guest activity?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time that you exit guest mode"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Turn on phone calls"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Turn on phone calls & SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Delete user"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 3749451..f4776d6 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -1428,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Use screen saver"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"While charging or docked"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Either"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"While charging"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"While docked"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Never"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Off"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"To control what happens when the phone is docked and/or sleeping, turn the screen saver on."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"When to start"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Current screen saver"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Settings"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatic brightness"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Lift to wake"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambient display"</string>
@@ -3399,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Delete"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"All apps and data in this session will be deleted."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Remove"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Guest (you)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Users"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Other users"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Delete guest activity"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Delete all guest apps and data when exiting guest mode"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Delete guest activity?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time that you exit guest mode"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Turn on phone calls"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Turn on phone calls & SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Delete user"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index ae708f0..1aa53e4 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -1428,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Use screen saver"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"While charging or docked"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Either"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"While charging"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"While docked"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Never"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Off"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"To control what happens when the phone is docked and/or sleeping, turn screen saver on."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"When to start"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Current screen saver"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Settings"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatic brightness"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Lift to wake"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambient display"</string>
@@ -3399,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Delete"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"All apps and data in this session will be deleted."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Remove"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Guest (You)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Users"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Other users"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Delete guest activity"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Delete all guest apps and data when exiting guest mode"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Delete guest activity?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time you exit guest mode"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Turn on phone calls"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Turn on phone calls & SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Delete user"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 31b995c..5a41d25 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -101,7 +101,7 @@
<string name="progress_scanning" msgid="2564746192843011826">"Buscando"</string>
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"No se encontraron dispositivos Bluetooth cercanos."</string>
<string name="bluetooth_notif_ticker" msgid="209515545257862858">"Solicitud de vinculación de Bluetooth"</string>
- <string name="bluetooth_notif_title" msgid="1196532269131348647">"Vinculando solicitud"</string>
+ <string name="bluetooth_notif_title" msgid="1196532269131348647">"Solicitud de vinculación"</string>
<string name="bluetooth_notif_message" msgid="5584717784198086653">"Presiona para realizar una sincronización con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
<string name="bluetooth_show_received_files" msgid="685424727760622632">"Archivos recibidos"</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"Bluetooth desactivado"</string>
@@ -1431,15 +1431,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Protector de pantalla"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Usar protector de pantalla"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Mientras se carga o está conectado"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"En ambos casos"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Mientras se carga"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Cuando está conectado"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nunca"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Apagado"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Para controlar qué sucede cuando el teléfono está conectado o suspendido, activa el protector de pantalla."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Cuándo comenzar"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Protector de pantalla actual"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Configuración"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Brillo automático"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Levantar el dispositivo para activarlo"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Pantalla Ambiente"</string>
@@ -3402,6 +3399,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Borrar"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Se eliminarán las aplicaciones y los datos de esta sesión."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Eliminar"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Invitado (tú)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Usuarios"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Otros usuarios"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Borrar la actividad de invitado"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Borra todas las apps y los datos de invitado cuando salgas del modo de invitado"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"¿Borrar la actividad de invitado?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Las apps y los datos de esta sesión de invitado se borrarán ahora, y toda la actividad futura de invitado se borrará cada vez que salgas del modo de invitado"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Activar llamadas telefónicas"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Activar llamadas telefónicas y SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Borrar usuario"</string>
@@ -5561,7 +5565,7 @@
<string name="no_5g_in_dsds_text" product="default" msgid="772747677303920132">"Este teléfono se limitará a 4G cuando se usen 2 tarjetas SIM. "<annotation id="url">"Más información"</annotation></string>
<string name="no_5g_in_dsds_text" product="tablet" msgid="4757328474425714624">"Esta tablet se limitará a 4G cuando se usen 2 tarjetas SIM. "<annotation id="url">"Más información"</annotation></string>
<string name="no_5g_in_dsds_text" product="device" msgid="6983783505032683314">"Este dispositivo se limitará a 4G cuando se usen 2 tarjetas SIM. "<annotation id="url">"Más información"</annotation></string>
- <string name="cached_apps_freezer" msgid="1057519579761550350">"Suspende la ejecución de apps almacenadas en caché"</string>
+ <string name="cached_apps_freezer" msgid="1057519579761550350">"Suspender la ejecución de apps almacenadas en caché"</string>
<string name="blob_never_expires_text" msgid="7293376386620106623">"Nunca vence."</string>
<string name="accessor_never_expires_text" msgid="4647624492147788340">"La asignación de tiempo nunca vence."</string>
<string name="overlay_settings_title" msgid="1032863083496396365">"Permitir pantallas superpuestas en Configuración"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 2485440..fea4ad8 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -258,9 +258,9 @@
<string name="settings_label" msgid="943294133671632976">"Ajustes"</string>
<string name="settings_label_launcher" msgid="820982375501978609">"Ajustes"</string>
<string name="settings_shortcut" msgid="8548239727871847171">"Acceso a Ajustes"</string>
- <string name="airplane_mode" msgid="3196085857882526817">"Modo avión"</string>
+ <string name="airplane_mode" msgid="3196085857882526817">"Modo Avión"</string>
<string name="wireless_networks_settings_title" msgid="8557542379234105369">"Conexiones inalámbricas y redes"</string>
- <string name="radio_controls_summary" msgid="9028430178697624501">"Administrar Wi‑Fi, Bluetooth, modo avión, redes móviles y redes VPN"</string>
+ <string name="radio_controls_summary" msgid="9028430178697624501">"Gestionar Wi‑Fi, Bluetooth, modo Avión, redes móviles y redes VPN"</string>
<string name="cellular_data_summary" msgid="6551434804367912367">"Permitir el uso de datos en redes móviles"</string>
<string name="allow_data_usage_title" msgid="2645963379925196671">"Permitir uso datos roaming"</string>
<string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -945,7 +945,7 @@
<string name="wifi_stopping" msgid="4471699665741299711">"Desactivando Wi‑Fi…"</string>
<string name="wifi_error" msgid="4903954145386086899">"Error"</string>
<string name="wifi_sap_no_channel_error" msgid="2126487622024749402">"Banda de 5 GHz no disponible en este país"</string>
- <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Modo avión"</string>
+ <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Modo Avión"</string>
<string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notificar si hay redes públicas"</string>
<string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Recibe una notificación si hay una red pública de alta calidad disponible"</string>
<string name="wifi_wakeup" msgid="3834327315861781611">"Activar Wi-Fi automáticamente"</string>
@@ -1252,7 +1252,7 @@
<string name="all_volume_title" msgid="6196367642878437513">"Volumen"</string>
<string name="musicfx_title" msgid="5458574743312283473">"Efectos de música"</string>
<string name="ring_volume_title" msgid="4869034595079914541">"Volumen del tono y de las notificaciones"</string>
- <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrar en modo silencio"</string>
+ <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrar en modo Silencio"</string>
<string name="notification_sound_title" msgid="8747567935870133157">"Sonido de notificación predeterminado"</string>
<string name="incoming_call_volume_title" msgid="8445408274513654261">"Tono"</string>
<string name="notification_volume_title" msgid="328053763590888609">"Notificación"</string>
@@ -1393,7 +1393,7 @@
<string name="dark_ui_activation_off_manual" msgid="2395333709291250065">"Desactivar ahora"</string>
<string name="dark_ui_activation_on_auto" msgid="4824339634784765049">"Activar hasta el amanecer"</string>
<string name="dark_ui_activation_off_auto" msgid="9136717444658505208">"Desactivar hasta el anochecer"</string>
- <string name="dark_ui_title" msgid="3373976268671557416">"Modo oscuro"</string>
+ <string name="dark_ui_title" msgid="3373976268671557416">"Modo Oscuro"</string>
<string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Programación"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Desactivado"</string>
<string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Activar del anochecer al amanecer"</string>
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Salvapantallas"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Usar salvapantallas"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Durante la carga o en una base"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Ambos casos"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Durante la carga"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Con el dispositivo en una base"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nunca"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Desactivado"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Para controlar lo que ocurre cuando el teléfono está en un dock o inactivo, activa el salvapantallas."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Cuándo empezar a mostrarlo"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Salvapantallas actual"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Ajustes"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Brillo automático"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Levantar el dispositivo para activarlo"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Pantalla ambiente"</string>
@@ -2472,8 +2469,8 @@
<string name="accessibility_color_inversion_qs_tooltip_content" msgid="5046332142185711869">"También puedes añadir la inversión de colores a los ajustes rápidos desde la parte superior de la pantalla"</string>
<string name="accessibility_reduce_bright_colors_auto_added_qs_tooltip_content" msgid="1906588335786328512">"Se ha añadido la atenuación extra a los ajustes rápidos. Desliza el dedo hacia abajo en cualquier momento para activarla o para desactivarla."</string>
<string name="accessibility_reduce_bright_colors_qs_tooltip_content" msgid="7522121299176176785">"También puedes añadir la atenuación extra a los ajustes rápidos desde la parte superior de la pantalla"</string>
- <string name="accessibility_one_handed_mode_auto_added_qs_tooltip_content" msgid="7914554254280416532">"Se ha añadido el Modo una mano a los ajustes rápidos. Desliza el dedo hacia abajo en cualquier momento para activarlo o para desactivarlo."</string>
- <string name="accessibility_one_handed_mode_qs_tooltip_content" msgid="2754332083184384603">"También puedes añadir el Modo una mano a los ajustes rápidos desde la parte superior de la pantalla"</string>
+ <string name="accessibility_one_handed_mode_auto_added_qs_tooltip_content" msgid="7914554254280416532">"Se ha añadido el modo Una mano a los ajustes rápidos. Desliza el dedo hacia abajo en cualquier momento para activarlo o para desactivarlo."</string>
+ <string name="accessibility_one_handed_mode_qs_tooltip_content" msgid="2754332083184384603">"También puedes añadir el modo Una mano a los ajustes rápidos desde la parte superior de la pantalla"</string>
<string name="accessibility_quick_settings_tooltip_dismiss" msgid="3269120277643884190">"Cerrar"</string>
<string name="accessibility_daltonizer_about_intro_text" product="default" msgid="3636710237139542212">"Ajusta cómo se muestran los colores en tu teléfono"</string>
<string name="accessibility_daltonizer_about_intro_text" product="tablet" msgid="3702653229533336133">"Ajusta cómo se muestran los colores en tu tablet"</string>
@@ -2861,7 +2858,7 @@
<string name="battery_desc_standby" product="tablet" msgid="5818742458684767043">"Batería utilizada cuando el tablet está inactivo"</string>
<string name="battery_desc_standby" product="default" msgid="2543075041964578103">"Batería utilizada cuando el teléfono está inactivo"</string>
<string name="battery_desc_radio" msgid="454677140485133914">"Batería utilizada por la señal móvil"</string>
- <string name="battery_sugg_radio" msgid="5476234634503535270">"Cambia a modo avión para ahorrar batería en zonas sin cobertura."</string>
+ <string name="battery_sugg_radio" msgid="5476234634503535270">"Cambia a modo Avión para ahorrar batería en zonas sin cobertura."</string>
<string name="battery_desc_flashlight" msgid="6694895513133361404">"Batería utilizada por la linterna"</string>
<string name="battery_desc_camera" msgid="6152712271731518018">"Batería utilizada por la cámara"</string>
<string name="battery_desc_display" msgid="7175017688954602685">"Batería utilizada por la pantalla y por la retroiluminación"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Eliminar"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Se eliminarán todas las aplicaciones y datos de esta sesión."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Quitar"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Invitado (tú)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Usuarios"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Otros usuarios"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Eliminar actividad de invitado"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Elimina todas las aplicaciones y datos de la sesión de invitado al salir del modo Invitados"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"¿Eliminar actividad de invitado?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Se eliminarán las aplicaciones y datos de esta sesión de invitado ahora, y toda la actividad futura de invitado se borrará cada vez que salgas del modo Invitados"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Activar llamadas"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Activar llamadas y SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Eliminar usuario"</string>
@@ -3596,7 +3600,7 @@
<string name="keywords_wifi_calling" msgid="4319184318421027136">"wifi, wi-fi, llamada, llamadas"</string>
<string name="keywords_display" msgid="874738809280751745">"pantalla, pantalla táctil"</string>
<string name="keywords_display_brightness_level" msgid="850742707616318056">"atenuar pantalla, pantalla táctil, batería, nitidez"</string>
- <string name="keywords_display_night_display" msgid="4711054330804250058">"atenuar pantalla, noche, tono, modo nocturno, brillo, color de la pantalla, color"</string>
+ <string name="keywords_display_night_display" msgid="4711054330804250058">"atenuar pantalla, noche, tono, modo Noche, brillo, color de la pantalla, color"</string>
<string name="keywords_display_wallpaper" msgid="8478137541939526564">"segundo plano, personalizar, personalizar pantalla"</string>
<string name="keywords_display_font_size" msgid="3593317215149813183">"tamaño del texto"</string>
<string name="keywords_display_cast_screen" msgid="2572331770299149370">"proyectar, enviar, proyección de pantalla, pantalla compartida, proyección, compartir pantalla, enviar pantalla"</string>
@@ -3642,7 +3646,7 @@
<string name="keywords_sim_status" msgid="8784456547742075508">"red, estado de la red móvil, estado del servicio, intensidad de la señal, tipo de red móvil, roaming, iccid, eid"</string>
<string name="keywords_model_and_hardware" msgid="4723665865709965044">"número de serie, versión de hardware"</string>
<string name="keywords_android_version" msgid="1629882125290323070">"nivel del parche de seguridad de android, versión de banda base, versión de kernel"</string>
- <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, claro, oscuro, modo, sensibilidad a la luz, fotofobia, hacer más oscuro, oscurecer, modo oscuro, migraña"</string>
+ <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, claro, oscuro, modo, sensibilidad a la luz, fotofobia, hacer más oscuro, oscurecer, modo Oscuro, migraña"</string>
<string name="keywords_systemui_theme" msgid="6341194275296707801">"tema oscuro"</string>
<string name="keywords_device_feedback" msgid="5489930491636300027">"error"</string>
<string name="keywords_ambient_display_screen" msgid="661492302323274647">"Pantalla ambiente, pantalla de bloqueo"</string>
@@ -4681,7 +4685,7 @@
<string name="condition_expand_show" msgid="1501084007540953213">"Mostrar"</string>
<string name="condition_expand_hide" msgid="8347564076209121058">"Ocultar"</string>
<string name="condition_hotspot_title" msgid="7903918338790641071">"Compartir Internet activo"</string>
- <string name="condition_airplane_title" msgid="5847967403687381705">"Modo avión activado"</string>
+ <string name="condition_airplane_title" msgid="5847967403687381705">"Modo Avión activado"</string>
<string name="condition_airplane_summary" msgid="1964500689287879888">"Redes no disponibles"</string>
<string name="condition_zen_title" msgid="7674761111934567490">"Modo No molestar activado"</string>
<string name="condition_zen_summary_phone_muted" msgid="6516753722927681820">"Teléfono silenciado"</string>
@@ -4944,14 +4948,14 @@
<string name="ambient_display_title" product="default" msgid="5885136049497127396">"Doble toque para consultar el teléfono"</string>
<string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Doble toque para consultar el tablet"</string>
<string name="ambient_display_title" product="device" msgid="4164103424628824786">"Doble toque para consultar el dispositivo"</string>
- <string name="one_handed_title" msgid="2584414010282746195">"Modo una mano"</string>
- <string name="one_handed_mode_enabled" msgid="3396864848786359651">"Usar Modo una mano"</string>
- <string name="one_handed_mode_shortcut_title" msgid="1847871530184067369">"Acceso directo al Modo una mano"</string>
+ <string name="one_handed_title" msgid="2584414010282746195">"Modo Una mano"</string>
+ <string name="one_handed_mode_enabled" msgid="3396864848786359651">"Usar modo Una mano"</string>
+ <string name="one_handed_mode_shortcut_title" msgid="1847871530184067369">"Acceso directo al modo Una mano"</string>
<string name="keywords_one_handed" msgid="969440592493034101">"fácil alcance"</string>
<string name="one_handed_mode_swipe_down_category" msgid="110178629274462484">"Desliza hacia abajo para"</string>
<string name="one_handed_mode_use_shortcut_category" msgid="1414714099339147711">"Usar el acceso directo para"</string>
<string name="one_handed_mode_intro_text" msgid="7921988617828924342">"Baja la mitad superior de la pantalla para que sea más fácil de alcanzar con una mano"</string>
- <string name="one_handed_mode_footer_text" msgid="6336209800330679840">" "<b>"Cómo usar el Modo una mano"</b>\n" • Comprueba que la navegación por gestos está seleccionada en los ajustes de navegación del sistema.\n • Desliza el dedo hacia abajo cerca del borde inferior de la pantalla."</string>
+ <string name="one_handed_mode_footer_text" msgid="6336209800330679840">" "<b>"Cómo usar el Modo Una mano"</b>\n" • Comprueba que la navegación por gestos está seleccionada en los ajustes de navegación del sistema.\n • Desliza el dedo hacia abajo cerca del borde inferior de la pantalla."</string>
<string name="one_handed_action_pull_down_screen_title" msgid="9187194533815438150">"Mover pantalla para tenerla al alcance"</string>
<string name="one_handed_action_pull_down_screen_summary" msgid="7582432473450036628">"La parte superior de la pantalla se moverá para que la tengas al alcance del pulgar"</string>
<string name="one_handed_action_show_notification_title" msgid="8789305491485437130">"Mostrar notificaciones"</string>
@@ -5069,7 +5073,7 @@
<string name="financed_privacy_intro" msgid="5458393846604867947">"Tu entidad de crédito puede cambiar ajustes e instalar software en este dispositivo.\n\nSi olvidas un pago, tu dispositivo se bloqueará.\n\nPide más información a tu entidad de crédito."</string>
<string name="financed_privacy_restrictions_category" msgid="2472659467919651602">"Si tu dispositivo está financiado, no podrás:"</string>
<string name="financed_privacy_install_apps" msgid="7381718005710210851">"Instalar aplicaciones de fuentes externas a Play Store"</string>
- <string name="financed_privacy_safe_mode" msgid="5362149445732602578">"Reiniciar tu dispositivo en modo seguro"</string>
+ <string name="financed_privacy_safe_mode" msgid="5362149445732602578">"Reiniciar tu dispositivo en modo Seguro"</string>
<string name="financed_privacy_multi_users" msgid="1727194928477613081">"Añadir usuarios a tu dispositivo"</string>
<string name="financed_privacy_config_date_time" msgid="8567370445374984365">"Cambiar la fecha, la hora y la zona horaria"</string>
<string name="financed_privacy_developer_options" msgid="7602001474669831672">"Usar opciones para desarrolladores"</string>
@@ -5447,13 +5451,13 @@
<string name="settings_panel_title" msgid="346363079938069215">"Panel de ajustes"</string>
<string name="internet_connectivity_panel_title" msgid="2044237561024730108">"Conexión a Internet"</string>
<string name="volume_connectivity_panel_title" msgid="8772438444782726321">"Volumen"</string>
- <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"No están disponibles en modo avión"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forzar modo de escritorio"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Fuerza el modo de escritorio experimental en pantallas secundarias"</string>
+ <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"No están disponibles en modo Avión"</string>
+ <string name="force_desktop_mode" msgid="1336913605091334238">"Forzar modo Escritorio"</string>
+ <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Fuerza el modo Escritorio experimental en pantallas secundarias"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Habilitar aplicaciones de tamaño no modificable en multiventana"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite que las aplicaciones de tamaño no modificable se muestren en multiventana"</string>
- <string name="hwui_force_dark_title" msgid="4256904905631994219">"Forzar modo oscuro"</string>
- <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Fuerza el modo oscuro para que esté siempre activo"</string>
+ <string name="hwui_force_dark_title" msgid="4256904905631994219">"Forzar modo Oscuro"</string>
+ <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Fuerza el modo Oscuro para que esté siempre activo"</string>
<string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacidad"</string>
<string name="privacy_dashboard_summary" msgid="5775090172422786808">"Permisos, actividad de la cuenta, datos personales"</string>
<string name="privacy_controls_title" msgid="1383047169455206604">"Controles"</string>
@@ -5579,7 +5583,7 @@
<string name="bluetooth_setting_off" msgid="4965493913199554789">"Desactivado"</string>
<string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
<string name="provider_network_settings_title" msgid="2624756136016346774">"SIMs"</string>
- <string name="keywords_airplane_safe_networks" msgid="5902708537892978245">"modo avión, seguro para modo avión"</string>
+ <string name="keywords_airplane_safe_networks" msgid="5902708537892978245">"modo Avión, seguro para modo Avión"</string>
<string name="calls_and_sms" msgid="1931855083959003306">"Llamadas y SMS"</string>
<string name="calls_and_sms_category" msgid="3788238090898237767">"Llamadas por Wi-Fi"</string>
<string name="calls_sms_wfc_summary" msgid="3940529919408667336">"Llamar y recibir llamadas por Wi‐Fi"</string>
@@ -5685,7 +5689,7 @@
<string name="request_manage_bluetooth_permission_dont_allow" msgid="8798061333407581300">"No permitir"</string>
<string name="uwb_settings_title" msgid="8578498712312002231">"Banda ultraancha"</string>
<string name="uwb_settings_summary" msgid="3074271396764672268">"Ayuda a determinar la posición relativa de los dispositivos cercanos que usan la banda ultraancha"</string>
- <string name="uwb_settings_summary_airplane_mode" msgid="1328864888135086484">"Desactiva el modo avión para usar la banda ultraancha"</string>
+ <string name="uwb_settings_summary_airplane_mode" msgid="1328864888135086484">"Desactiva el modo Avión para usar la banda ultraancha"</string>
<string name="camera_toggle_title" msgid="8952668677727244992">"Acceso a la cámara"</string>
<string name="mic_toggle_title" msgid="265145278323852547">"Acceso al micrófono"</string>
<string name="location_toggle_title" msgid="5229867700421750868">"Acceso a la ubicación"</string>
@@ -5754,7 +5758,7 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Elige lo que quieres ver en tu pantalla cuando tu tablet no está conectado. Es posible que el dispositivo gaste más energía cuando use el salvapantallas."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
<string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Debes reiniciar para habilitar el formato libre."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Debes reiniciar para forzar el modo de escritorio en pantallas secundarias."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Debes reiniciar para forzar el modo Escritorio en pantallas secundarias."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar ahora"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar más tarde"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio espacial"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index b13f96d..e5052ec 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -1431,15 +1431,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekraanisäästja"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Ekraanisäästja kasutamine"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Laadimise ajal või dokis"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Kui on dokitud või laeb"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Laadimise ajal"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Kui on dokitud"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Mitte kunagi"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Välja"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Kui soovite juhtida, mis juhtub telefoni dokkimisel ja/või puhkerežiimi lülitamisel, siis lülitage ekraanisäästja sisse."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Alustamise aeg"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Praegune ekraanisäästja"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Seaded"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automaatne eredus"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Tõstke äratamiseks"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Säästlik ekraan"</string>
@@ -1760,7 +1757,7 @@
<string name="reset_network_complete_toast" msgid="1367872474130621115">"Võrguseaded lähtestati"</string>
<string name="reset_esim_error_title" msgid="4670073610967959597">"SIM-kaarte ei saa kustutada"</string>
<string name="reset_esim_error_msg" msgid="4441504470684307370">"Allalaaditud SIM-kaarte ei saa vea tõttu kustutada.\n\nTaaskäivitage seade ja proovige uuesti."</string>
- <string name="main_clear_title" msgid="277664302144837723">"Kõikide andmete kustutamine (tehaseseadetele lähtestamine)"</string>
+ <string name="main_clear_title" msgid="277664302144837723">"Kõigi andmete kustutamine (tehaseseaded)"</string>
<string name="main_clear_short_title" msgid="4752094765533020696">"Kõigi andmete kustutamine (tehaseseaded)"</string>
<string name="main_clear_desc" product="tablet" msgid="1651178880680056849">"See kustutab teie tahvelarvuti "<b>"sisemälust"</b>" kõik andmed, sh järgmised.\n\n"<li>"Teie Google\'i konto"</li>\n<li>"Süsteemi- ja rakenduste andmed ning seaded"</li>\n<li>"Allalaaditud rakendused"</li></string>
<string name="main_clear_desc" product="default" msgid="6984348811887162647">"See kustutab teie telefoni "<b>"sisemälust"</b>" kõik andmed, sh järgmised.\n\n"<li>"Teie Google\'i konto"</li>\n<li>"Süsteemi- ja rakenduste andmed ning seaded"</li>\n<li>"Allalaaditud rakendused"</li></string>
@@ -2098,7 +2095,7 @@
<string name="internal_storage" msgid="999496851424448809">"Sisemälu"</string>
<string name="recompute_size" msgid="1098091228370999128">"Suuruse ümberarvutamine ..."</string>
<string name="clear_data_dlg_title" msgid="180446967743732410">"Kas kustutada rakenduse andmed?"</string>
- <string name="clear_data_dlg_text" msgid="3440011276559762619">"Selle rakenduse andmed, sh failid ja seaded, kustutatakse sellest seadmest jäädavalt"</string>
+ <string name="clear_data_dlg_text" msgid="3440011276559762619">"Selle rakenduse andmed, sh failid ja seaded, kustutatakse sellest seadmest jäädavalt."</string>
<string name="dlg_ok" msgid="1421350367857960997">"OK"</string>
<string name="dlg_cancel" msgid="5164705061530774899">"Tühista"</string>
<string name="dlg_delete" msgid="1790919205039397659">"Kustuta"</string>
@@ -3402,6 +3399,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Kustuta"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Seansi kõik rakendused ja andmed kustutatakse."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Eemalda"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Külaline (teie)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Kasutajad"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Teised kasutajad"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Kustuta külalise tegevus"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Kustuta külalisrežiimist väljumisel kõik külalise rakendused ja andmed"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Kas kustutada külalise tegevus?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Selle külastajaseansi rakendused ja andmed kustutatakse kohe ja kõik tulevased külastajate tegevused kustutatakse külalisrežiimist väljumisel."</string>
<string name="user_enable_calling" msgid="264875360626905535">"Lülita telefonikõned sisse"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Lülita telefonikõned ja SMS-id sisse"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Kustuta kasutaja"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 85efc3e..b5bc407 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -101,7 +101,7 @@
<string name="progress_scanning" msgid="2564746192843011826">"Bilatzen"</string>
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"Bluetooth bidezko gailurik ez inguruan."</string>
<string name="bluetooth_notif_ticker" msgid="209515545257862858">"Bluetooth bidez parekatzeko eskaera"</string>
- <string name="bluetooth_notif_title" msgid="1196532269131348647">"Bikotetzeko eskaera"</string>
+ <string name="bluetooth_notif_title" msgid="1196532269131348647">"Parekatzeko eskaera"</string>
<string name="bluetooth_notif_message" msgid="5584717784198086653">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailuarekin parekatzeko, sakatu hau."</string>
<string name="bluetooth_show_received_files" msgid="685424727760622632">"Jasotako fitxategiak"</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"Bluetooth-a desaktibatuta dago"</string>
@@ -326,7 +326,7 @@
</plurals>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Kargatzen…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"Aplikazioek inguruko gailuak atzitzeko baimena badute, konektatutako gailuen posizio erlatiboa zehatz dezakete."</string>
- <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Aplikazioek eta zerbitzuek ez dute kokapena atzitzeko baimenik. Hala ere, larrialdietarako zenbaki batera deitzen edo mezua bidaltzen baduzu, baliteke larrialdi-zerbitzuei gailuaren kokapena bidaltzea."</string>
+ <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Aplikazioek eta zerbitzuek ez dute kokapena atzitzeko baimenik. Hala ere, larrialdietarako zenbaki batera deitzen edo mezu bat bidaltzen baduzu, baliteke larrialdi-zerbitzuei gailuaren kokapena bidaltzea."</string>
<string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Lortu informazio gehiago kokapen-ezarpenei buruz."</string>
<string name="account_settings_title" msgid="9138880127246241885">"Kontuak"</string>
<string name="security_settings_title" msgid="6710768415432791970">"Segurtasuna"</string>
@@ -921,13 +921,13 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Eman araz daitezkeen aplikazioen byte-kodea egiaztatzeko baimena ART egiaztatzaileari"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Erakutsi freskatze-abiadura"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Erakutsi pantailaren freskatze-abiadura"</string>
- <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
+ <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFCa"</string>
<string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Eman datuak trukatzeko baimena tabletak NFC darabilen beste gailu bat ukitzean"</string>
<string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Eman datuak trukatzeko baimena telefonoak NFC darabilen beste gailu bat ukitzean"</string>
<string name="nfc_disclaimer_title" msgid="3696580694485048039">"Aktibatu NFC"</string>
<string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC eginbideak datuak trukatzen ditu gailu honen eta inguruko beste gailu edo helburu batzuen artean (adibidez, ordainketa-terminalak, sarbide-irakurgailuak, eta iragarki edo etiketa interaktiboak)."</string>
- <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Behartu gailua desblokeatzera NFC erabiltzeko"</string>
- <string name="nfc_secure_toggle_summary" product="default" msgid="407654335737959071">"Eman NFC erabiltzeko baimena pantaila desblokeatuta dagoenean soilik"</string>
+ <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Behartu gailua desblokeatzera NFCa erabiltzeko"</string>
+ <string name="nfc_secure_toggle_summary" product="default" msgid="407654335737959071">"Eman NFCa erabiltzeko baimena pantaila desblokeatuta dagoenean soilik"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
<string name="android_beam_on_summary" msgid="6067720758437490896">"Aplikazioaren edukia NFC bidez transmititzeko prest"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"Desaktibatuta"</string>
@@ -1006,7 +1006,7 @@
<string name="wifi_ssid_hint" msgid="1940577553241083524">"Idatzi SSIDa"</string>
<string name="wifi_security" msgid="9095934643631406913">"Segurtasuna"</string>
<string name="wifi_hidden_network" msgid="6466834025375485596">"Sare ezkutua"</string>
- <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"Bideratzaileak ez badu igortzen sarearen IDrik baina etorkizunean harekin konektatu nahi baduzu, ezkutuko gisa ezar dezakezu sarea.\n\nBaliteke horrek segurtasuna arriskuan jartzea, telefonoak aldian-aldian igorriko baitu seinalea sarea aurkitzeko.\n\nSarea ezkutuko gisa ezartzeak ez ditu aldatuko bideratzailearen ezarpenak."</string>
+ <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"Bideratzaileak sarearen IDrik igortzen ez badu baina etorkizunean harekin konektatu nahi baduzu, ezkutuko gisa ezar dezakezu sarea.\n\nBaliteke horrek segurtasuna arriskuan jartzea, telefonoak aldian-aldian igorriko baitu seinalea sarea aurkitzeko.\n\nSarea ezkutuko gisa ezartzeak ez ditu aldatuko bideratzailearen ezarpenak."</string>
<string name="wifi_signal" msgid="4442182285304271424">"Seinalearen indarra"</string>
<string name="wifi_status" msgid="5349199188871002778">"Egoera"</string>
<string name="tx_wifi_speed" msgid="2368986629172050673">"Transmititzeko lotura-abiadura"</string>
@@ -1430,15 +1430,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Pantaila-babeslea"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Erabili pantaila-babeslea"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Kargatzen ari denean edo oinarrian dagoenean"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Bietako edozein"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Kargatzen ari denean"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Oinarrian dagoenean"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Inoiz ez"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Desaktibatuta"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Telefonoa oinarrian edo inaktibo dagoenean zer gertatzen den kontrolatzeko, aktibatu pantaila-babeslea."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Noiz abiarazi"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Oraingo pantaila-babeslea"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Ezarpenak"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Distira automatikoa"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Aktibatu eskuetan hartzen denean"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Pantaila ilundua"</string>
@@ -1746,7 +1743,7 @@
<string name="reset_dashboard_summary" msgid="4390780188264852956">"Sarea, aplikazioak edota gailua berrezar daitezke"</string>
<string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Berrezar daitezke aplikazioak"</string>
<string name="reset_network_title" msgid="1395494440355807616">"Berrezarri wifia, Bluetooth-a eta sare mugikorrak"</string>
- <string name="reset_network_desc" msgid="1112523764899788246">"Hori eginez gero, sare guztien ezarpenak berrezarriko dira, besteak beste: \n\n"<li>"wifia"</li>\n<li>"datu-konexioa"</li>\n<li>"Bluetooth-a"</li></string>
+ <string name="reset_network_desc" msgid="1112523764899788246">"Hori eginez gero, sare guztien ezarpenak berrezarriko dira; besteak beste: \n\n"<li>"wifia"</li>\n<li>"datu-konexioa"</li>\n<li>"Bluetooth-a"</li></string>
<string name="erase_euicc_data_button" msgid="728078969563311737">"Ezabatu eduki guztia"</string>
<string name="reset_esim_title" msgid="6152167073280852849">"Ezabatu deskargatutako SIMetako edukia"</string>
<string name="reset_esim_desc" msgid="3662444090563399131">"Ez da utziko bertan behera inongo zerbitzu-planik. Ordezko SIMak deskargatzeko, jarri harremanetan operadorearekin."</string>
@@ -1859,7 +1856,7 @@
<item quantity="other"> <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g>/<xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> aplikaziok atzi dezakete kokapena</item>
<item quantity="one"> <xliff:g id="PERMITTED_LOCATION_APP_COUNT_0">%1$d</xliff:g>/<xliff:g id="TOTAL_LOCATION_APP_COUNT_1">%2$d</xliff:g> aplikaziok atzi dezake kokapena</item>
</plurals>
- <string name="location_category_recent_location_access" msgid="2558063524482178146">"Atzitutako azkenak"</string>
+ <string name="location_category_recent_location_access" msgid="2558063524482178146">"Atzitu duten azkenak"</string>
<string name="location_recent_location_access_see_all" msgid="4203102419355323325">"Ikusi guztiak"</string>
<string name="location_recent_location_access_view_details" msgid="5803264082558504544">"Ikusi xehetasunak"</string>
<string name="location_no_recent_apps" msgid="6814206631456177033">"Ez dago kokapena duela gutxi eskatu duen aplikaziorik"</string>
@@ -3401,6 +3398,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Ezabatu"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Saioko aplikazio eta datu guztiak ezabatuko dira."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Kendu"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gonbidatua (zu)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Erabiltzaileak"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Beste erabiltzaileak"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Ezabatu gonbidatuaren jarduerak"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Gonbidatu modutik irtetean, ezabatu gonbidatuaren aplikazio eta datu guztiak"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Gonbidatuaren jarduerak ezabatu nahi dituzu?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Gonbidatuentzako saio honetako aplikazio eta datuak orain ezabatuko dira; bestalde, etorkizuneko gonbidatuen jarduera guztiak gonbidatu modutik irteten zaren bakoitzean ezabatuko dira"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Aktibatu telefono-deiak"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Aktibatu telefono-deiak eta SMSak"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Ezabatu erabiltzailea"</string>
@@ -3502,7 +3506,7 @@
<string name="restriction_wifi_config_summary" msgid="920419010472168694">"Baimendu Wi‑Fi ezarpenak eta datu mugikorren ezarpenak aldatzea."</string>
<string name="restriction_bluetooth_config_title" msgid="220586273589093821">"Bluetooth-a"</string>
<string name="restriction_bluetooth_config_summary" msgid="7558879931011271603">"Eman Bluetooth parekatzeak eta ezarpenak aldatzeko baimena"</string>
- <string name="restriction_nfc_enable_title" msgid="525512312298242911">"NFC"</string>
+ <string name="restriction_nfc_enable_title" msgid="525512312298242911">"NFCa"</string>
<string name="restriction_nfc_enable_summary_config" msgid="8065688740509581028">"Baimendu datuak trukatzea <xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailuak beste NFC gailu bat ukitzen duenean"</string>
<string name="restriction_nfc_enable_summary" product="tablet" msgid="6397567147629410131">"Eman datuak trukatzeko baimena tabletak beste gailu bat ukitzean"</string>
<string name="restriction_nfc_enable_summary" product="default" msgid="3331800894734678808">"Eman datuak trukatzeko baimena telefonoak beste gailu bat ukitzean"</string>
@@ -5395,7 +5399,7 @@
<string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Ezin da desgaitu operadorea"</string>
<string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Arazo bat izan da, eta ezin izan da desgaitu operadorea."</string>
<string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Bi SIM erabili nahi dituzu?"</string>
- <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Gailu honek bi SIM izan ditzake aktibo aldi berean. SIM bakarra erabili nahi baduzu, sakatu \"Ez\"."</string>
+ <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Gailu honek bi SIM izan ditzake aktibo aldi berean. SIM bakarra erabili nahi baduzu, sakatu \"Ez, eskerrik asko\"."</string>
<string name="sim_action_restart_title" msgid="7054617569121993825">"Gailua berrabiarazi nahi duzu?"</string>
<string name="sim_action_restart_text" msgid="8019300474703571013">"Hasteko, berrabiarazi gailua. Gero, beste SIM txartel bat gehitu ahalko duzu."</string>
<string name="sim_action_continue" msgid="1688813133152389943">"Egin aurrera"</string>
@@ -5427,7 +5431,7 @@
<string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Geroago datu-konexioa, deien eginbideak eta SMSak erabiltzeko, joan sarearen ezarpenetara"</string>
<string name="sim_card_label" msgid="5632157635124050923">"SIM txartela"</string>
<string name="erase_sim_dialog_title" msgid="881253002169177016">"Deskargatutako SIM honetako eduki guztia ezabatu nahi duzu?"</string>
- <string name="erase_sim_dialog_text" msgid="753031064269699885">"SIM honetako eduki guztia ezabatuz gero, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> operadorearen zerbitzua kenduko da gailu honetatik.\n\nEz da utziko bertan behera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> operadorearen zerbitzua."</string>
+ <string name="erase_sim_dialog_text" msgid="753031064269699885">"SIM honetako eduki guztia ezabatuz gero, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> operadorearen zerbitzua gailu honetatik kenduko da.\n\nEz da utziko bertan behera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> operadorearen zerbitzua."</string>
<string name="erase_sim_confirm_button" msgid="8309115684335320541">"Ezabatu eduki guztia"</string>
<string name="erasing_sim" msgid="7877703231075699139">"SIM txarteleko eduki guztia ezabatzen…"</string>
<string name="erase_sim_fail_title" msgid="2024446702985862427">"Ezin da ezabatu SIM txarteleko eduki guztia"</string>
@@ -5554,7 +5558,7 @@
<string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
<string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
<string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
- <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Utzi igortzeari"</string>
+ <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Gelditu igorpena"</string>
<string name="volte_5G_limited_title" msgid="5908052268836750629">"VoLTE desaktibatu nahi duzu?"</string>
<string name="volte_5G_limited_text" msgid="7150583768725182345">"5G konexioa desaktibatu ere egiten du horrek.\nAhots-dei bat egiten duzun bitartean, ezingo duzu erabili Internet, eta baliteke aplikazio batzuek ez funtzionatzea."</string>
<string name="no_5g_in_dsds_text" product="default" msgid="772747677303920132">"Bi SIM txartel darabiltzanean, telefonoak 4G sarea erabili ahal izango du, gehienez. "<annotation id="url">"Lortu informazio gehiago"</annotation></string>
@@ -5587,7 +5591,7 @@
<string name="calls_sms_footnote" msgid="1003530944232362815">"Wifi bidezko deietan, operadore batenak ez diren wifi-sareen bidez egin eta jasotzen dira deiak. "<annotation id="url">"Lortu informazio gehiago"</annotation></string>
<string name="calls_preference_title" msgid="7536882032182563800">"Deiak"</string>
<string name="sms_preference_title" msgid="8392745501754864395">"SMSak"</string>
- <string name="calls_sms_preferred" msgid="6016477652522583496">"hobetsiak"</string>
+ <string name="calls_sms_preferred" msgid="6016477652522583496">"hobetsia"</string>
<string name="calls_sms_calls_preferred" msgid="9004261125829377885">"deietarako lehenetsia"</string>
<string name="calls_sms_sms_preferred" msgid="3855778890660922711">"SMSetarako lehenetsia"</string>
<string name="calls_sms_unavailable" msgid="4055729705246556529">"ez dago erabilgarri"</string>
@@ -5691,7 +5695,7 @@
<string name="mic_toggle_title" msgid="265145278323852547">"Mikrofonoa atzitzeko baimena"</string>
<string name="location_toggle_title" msgid="5229867700421750868">"Kokapenerako sarbidea"</string>
<string name="perm_toggle_description" msgid="5754629581767319022">"Aplikazio eta zerbitzuetarako"</string>
- <string name="mic_toggle_description" msgid="484139688645092237">"Aplikazio eta zerbitzuetarako. Ezarpena desaktibatuta badago, agian mikrofonotik lortutako datuak partekatu egingo dira larrialdietarako zenbaki batera deitzen duzunean."</string>
+ <string name="mic_toggle_description" msgid="484139688645092237">"Aplikazio eta zerbitzuetarako. Ezarpena desaktibatuta badago ere, baliteke mikrofonotik lortutako datuak partekatzea larrialdietarako zenbaki batera deitzen duzunean."</string>
<string name="previous_page_content_description" msgid="6438292457923282991">"Aurrekoa"</string>
<string name="next_page_content_description" msgid="1641835099813416294">"Hurrengoa"</string>
<string name="colors_viewpager_content_description" msgid="2591751086138259565">"Kolorearen aurrebista"</string>
@@ -5766,20 +5770,12 @@
<string name="ingress_rate_limit_summary" msgid="1097811019742438371">"Konfiguratu sarearen banda-zabalerari dagokion sarrera-abiaduraren muga, zeina Interneteko konexioa eskaintzen duten sare guztiei aplikatzen baitzaie."</string>
<string name="ingress_rate_limit_dialog_title" msgid="5359461052422633789">"Konfiguratu sarearen deskargatzeko abiaduraren muga"</string>
<string name="ingress_rate_limit_no_limit_entry" msgid="8741098826008012163">"Mugagabea"</string>
- <!-- no translation found for bluetooth_broadcast_dialog_title (9172775308463135884) -->
- <skip />
- <!-- no translation found for bluetooth_broadcast_dialog_find_message (6621660851669953883) -->
- <skip />
- <!-- no translation found for bluetooth_broadcast_dialog_broadcast_message (6198264676009094495) -->
- <skip />
- <!-- no translation found for bluetooth_find_broadcast_title (5385985218699831970) -->
- <skip />
- <!-- no translation found for bluetooth_find_broadcast_summary (3907899428626210673) -->
- <skip />
- <!-- no translation found for bluetooth_find_broadcast (1768337775649457586) -->
- <skip />
- <!-- no translation found for bluetooth_find_broadcast_button_leave (7881206581147104908) -->
- <skip />
- <!-- no translation found for bluetooth_find_broadcast_button_scan (3995664694641895189) -->
- <skip />
+ <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Igorpena"</string>
+ <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Entzun zure inguruan igortzen ari diren edukia"</string>
+ <string name="bluetooth_broadcast_dialog_broadcast_message" msgid="6198264676009094495">"Igorri multimedia-edukia inguruko gailuetara edo entzun besteek igorritako edukia"</string>
+ <string name="bluetooth_find_broadcast_title" msgid="5385985218699831970">"Igorpenak"</string>
+ <string name="bluetooth_find_broadcast_summary" msgid="3907899428626210673">"Hau ari zara entzuten:"</string>
+ <string name="bluetooth_find_broadcast" msgid="1768337775649457586">"Bilatu igorpenak"</string>
+ <string name="bluetooth_find_broadcast_button_leave" msgid="7881206581147104908">"Irten igorpenetik"</string>
+ <string name="bluetooth_find_broadcast_button_scan" msgid="3995664694641895189">"Eskaneatu QR kodea"</string>
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index d749da9..8d0cdb6 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"زبان سیستم"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"پیشفرض سیستم"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"انتخاب زبان از «تنظیمات» برای این برنامه دردسترس نیست."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"زبان ممکن است با زبانهای موجود در برنامه متفاوت باشد. ممکن است برخیاز برنامهها از این تنظیم پشتیبانی نکنند."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">زبانهای انتخابی حذف شوند؟</item>
<item quantity="other">زبانهای انتخابی حذف شوند؟</item>
@@ -1004,7 +1003,7 @@
<string name="wifi_ssid" msgid="2713062130735103151">"نام شبکه"</string>
<string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID را وارد کنید"</string>
<string name="wifi_security" msgid="9095934643631406913">"امنیت"</string>
- <string name="wifi_hidden_network" msgid="6466834025375485596">"شبکه مخفی"</string>
+ <string name="wifi_hidden_network" msgid="6466834025375485596">"شبکه پنهان"</string>
<string name="wifi_hidden_network_warning" msgid="3937433813754746158">"اگر رهیابتان شناسه شبکه را پخش نمیکند اما میخواهید در آینده به آن متصل شوید، میتوانید شبکه را روی پنهان تنظیم کنید.\n\nاین کار میتواند خطر امنیتی ایجاد کند زیرا تلفن شما سیگنالش را بهطور منظم برای پیدا کردن شبکه پخش میکند.\n\nتنظیم کردن شبکه روی پنهان تنظیمات رهیاب را تغییر نخواهد داد."</string>
<string name="wifi_signal" msgid="4442182285304271424">"قدرت سیگنال"</string>
<string name="wifi_status" msgid="5349199188871002778">"وضعیت"</string>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"محافظ صفحه"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"استفاده از محافظ صفحهنمایش"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"هنگام شارژ یا اتصال به پایه"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"هر دو"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"هنگام شارژ شدن"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"وقتی روی پایه است"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"هرگز"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"خاموش"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"برای کنترل اینکه وقتی تلفن روی پایه اتصال قرار دارد و/یا در حالت خواب است چه اتفاقی بیفتد، محافظ صفحه را روشن کنید."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"زمان شروع شدن"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"محافظ صفحه کنونی"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"تنظیمات"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"روشنایی خودکار"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"بیدار شدن با بالا بردن"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"نمایشگر محیط"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"حذف"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"همه برنامهها و دادههای این جلسه حذف خواهد شد."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"حذف"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"مهمان (شما)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"کاربران"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"کاربران دیگر"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"حذف فعالیت مهمان"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"همه برنامهها و دادههای مهمان هنگام خروج از حالت مهمان حذف میشوند"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"فعالیت مهمان حذف شود؟"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"برنامهها و دادههای این جلسه مهمان اکنون حذف خواهند شد و همه فعالیتهای آتی مهمان هربار که از حالت مهمان خارج شوید حذف خواهد شد"</string>
<string name="user_enable_calling" msgid="264875360626905535">"روشن کردن تماسهای تلفنی"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"روشن کردن تماسهای تلفنی و پیامک"</string>
<string name="user_remove_user" msgid="8468203789739693845">"حذف کاربر"</string>
@@ -4861,7 +4864,7 @@
<string name="bluetooth_disabled" msgid="835838280837359514">"خاموش"</string>
<string name="bluetooth_connected_summary" msgid="8043167194934315712">"به <xliff:g id="ID_1">%1$s</xliff:g> متصل شد"</string>
<string name="bluetooth_connected_multiple_devices_summary" msgid="2294954614327771844">"به چند دستگاه متصل شد"</string>
- <string name="demo_mode" msgid="6566167465451386728">"حالت نمایشی میانای کاربر سیستم"</string>
+ <string name="demo_mode" msgid="6566167465451386728">"حالت نمایشی واسط کاربر سیستم"</string>
<string name="dark_ui_mode" msgid="898146394425795281">"زمینه تیره"</string>
<string name="dark_ui_mode_disabled_summary_dark_theme_on" msgid="4554134480159161533">"بهدلیل روشن بودن «بهینهسازی باتری» موقتاً غیرفعال شده است"</string>
<string name="ambient_camera_summary_battery_saver_on" msgid="1787784892047029560">"بهدلیل روشن بودن «بهینهسازی باتری»، موقتاً غیرفعال شده است"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 237ef09..4b34ed0 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Näytönsäästäjä"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Käytä näytönsäästäjää"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Latauksen aikana tai telakoituna"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Kumpi vain"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Latauksen aikana"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Telakoituna"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Ei koskaan"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Pois päältä"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Ota näytönsäästäjä käyttöön, niin voit hallita puhelimen toimintaa telakoituna ja/tai lepotilassa."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Aloitus"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Nykyinen näytönsäästäjä"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Asetukset"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automaattinen kirkkaus"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Herätä nostamalla"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Himmennetty näyttö"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Poista"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Kaikki sovellukset ja tämän istunnon tiedot poistetaan."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Poista"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Vieras (sinä)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Käyttäjät"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Muut käyttäjät"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Poista vierastoimintaa"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Poista kaikki vierassovellukset ja ‑data vierailija-käyttökerrasta poistumisen yhteydessä"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Poistetaanko vierastoiminta?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Tämän vierailija-käyttökerran sovellukset ja data poistetaan nyt. Kaikki tuleva vierastoiminta poistetaan aina, kun poistut vierailija-käyttökerrasta."</string>
<string name="user_enable_calling" msgid="264875360626905535">"Ota puhelut käyttöön"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Ota puhelut ja tekstiviestit käyttöön"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Poista käyttäjä"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 4638b53..8f71f04 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Langues suggérées"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Toutes les langues"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Langue du système"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Paramètre système par défaut"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La sélection de la langue pour cette application n\'est pas accessible à partir des paramètres."</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -1430,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Écran de veille"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Utiliser l\'écran de veille"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Pendant la charge ou sur la station d\'accueil"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Les deux"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Pendant la charge"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Sur la station d\'accueil"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Jamais"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Désactivé"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Pour déterminer le comportement du téléphone lorsqu\'il se trouve sur une station d\'accueil ou lorsqu\'il est en veille, activez l\'écran de veille."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Quand commencer"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Écran de veille actuel"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Paramètres"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Ajuster automatiquement la luminosité"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Soulever pour activer"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Affichage en mode Veille"</string>
@@ -3401,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Supprimer"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Toutes les applications et les données de cette session seront supprimées."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Supprimer"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Invité (vous)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Utilisateurs"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Autres utilisateurs"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Supprimer l\'activité d\'invité"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Supprimer toutes les applications et données d\'invité en quittant le mode Invité"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Supprimer l\'activité d\'invité?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Les applications et les données de cette session d\'invité seront supprimées maintenant, et toutes les activités d\'invité futures seront supprimées chaque fois que vous quitterez le mode Invité"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Activer les appels téléphoniques"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Activer appels téléphoniques et textos"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Supprimer l\'utilisateur"</string>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index ad5ed0a..a4dbc05 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -505,7 +505,7 @@
</string-array>
<string-array name="wifi_metered_entries">
<item msgid="3237321077949659241">"Détecter automatiquement"</item>
- <item msgid="3779092145391320375">"Considérer comme facturé à l\'usage"</item>
+ <item msgid="3779092145391320375">"Traiter comme facturé à l\'usage"</item>
<item msgid="2047166446768045816">"Traiter comme sans compteur"</item>
</string-array>
<string-array name="wifi_privacy_entries">
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index fed5bf5..030ee87 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -317,7 +317,7 @@
<string name="show_profile_info_on_lockscreen_label" msgid="5734739022887933365">"Afficher infos de profil sur écran de verrouillage"</string>
<string name="Accounts_settings_title" msgid="8434263183710375412">"Comptes"</string>
<string name="location_settings_title" msgid="8375074508036087178">"Localisation"</string>
- <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Utiliser la position"</string>
+ <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Utiliser la localisation"</string>
<string name="location_settings_summary_location_off" msgid="4797932754681162262">"Désactivé"</string>
<plurals name="location_settings_summary_location_on" formatted="false" msgid="1019959038518185676">
<item quantity="one">Activée - <xliff:g id="COUNT_1">%1$d</xliff:g> application a accès à votre position</item>
@@ -813,7 +813,7 @@
<string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
<string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
<string name="bluetooth_settings_summary" msgid="6805458703566046784">"Gérer les connexions, configurer le nom et l\'identification de l\'appareil"</string>
- <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Associer avec <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ?"</string>
+ <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Associer à <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ?"</string>
<string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Code d\'association Bluetooth"</string>
<string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Saisissez le code d\'association, puis appuyez sur Retour ou Entrée."</string>
<string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Le code PIN contient des lettres ou des symboles."</string>
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Économiseur d\'écran"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Utiliser l\'économiseur d\'écran"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Lorsque l\'appareil est en charge ou connecté à une station d\'accueil"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Dans les deux cas"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Lorsque l\'appareil est en charge"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Lorsque l\'appareil est connecté à une station d\'accueil"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Jamais"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Désactivé"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Pour contrôler le comportement du téléphone lorsqu\'il se trouve sur une station d\'accueil et/ou lorsqu\'il est en veille, activez l\'économiseur d\'écran."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Quand l\'activer"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Économiseur d\'écran actuel"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Paramètres"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Ajuster automatiquement la luminosité"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Soulever pour activer"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Affichage en mode Veille"</string>
@@ -1852,7 +1849,7 @@
<string name="location_category_location_services" msgid="8163798686832434284">"Services de localisation"</string>
<string name="location_title" msgid="5819154746934945021">"Ma position"</string>
<string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Position du profil pro"</string>
- <string name="location_app_level_permissions" msgid="907206607664629759">"Autorisations de géolocalisation"</string>
+ <string name="location_app_level_permissions" msgid="907206607664629759">"Accès des applis à votre position"</string>
<string name="location_app_permission_summary_location_off" msgid="2711822936853500335">"La localisation est désactivée"</string>
<plurals name="location_app_permission_summary_location_on" formatted="false" msgid="8286873148858526214">
<item quantity="one"> <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> application sur <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> a accès à votre position</item>
@@ -2629,7 +2626,7 @@
<string name="keywords_rtt" msgid="2429130928152514402">"malentendant, perte d\'audition, sous-titres, téléscripteur, TTY"</string>
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
<string name="fast_pair_settings" msgid="3308819519080016185">"Association express"</string>
- <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Détection à proximité appareils Bluetooth Association express."</string>
+ <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Détection des appareils Bluetooth à Association express à proximité."</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"Rechercher des appareils à proximité"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"Appareils enregistrés"</string>
<string name="print_settings" msgid="8519810615863882491">"Impression"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Supprimer"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Toutes les applications et les données de cette session seront supprimées."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Supprimer"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Invité (Vous)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Utilisateurs"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Autres utilisateurs"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Supprimer l\'activité"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Supprimer toutes les applis et données de la session lorsque vous quittez le mode Invité"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Supprimer l\'activité ?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Les applis et données de cette session Invité seront immédiatement supprimées, et toute l\'activité des futures sessions sera supprimée à chaque fois que vous quitterez le mode Invité"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Activer les appels téléphoniques"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Activer les appels téléphoniques et les SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Supprimer un compte utilisateur"</string>
@@ -4517,7 +4521,7 @@
<string name="usb_transcode_files_summary" msgid="307102635711961513">"Les vidéos seront lisibles sur un plus grand nombre de lecteurs multimédias, mais la qualité peut être réduite"</string>
<string name="usb_use_photo_transfers_desc" msgid="7490250033610745765">"Transférer des photos ou des fichiers si MTP n\'est pas compatible (PTP)"</string>
<string name="usb_use_tethering" msgid="2897063414491670531">"Partage de connexion via USB"</string>
- <string name="usb_use_MIDI" msgid="8621338227628859789">"Mode MIDI"</string>
+ <string name="usb_use_MIDI" msgid="8621338227628859789">"MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="6464135515868405143">"Utiliser cet appareil en tant que MIDI"</string>
<string name="usb_use" msgid="6783183432648438528">"Utiliser la connexion USB pour"</string>
<string name="usb_default_label" msgid="3372838450371060750">"Configuration USB par défaut"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index ea6b494..a27d700 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Protector de pantalla"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Usar protector de pantalla"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Ao estar cargando ou na base"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"As dúas opcións"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Ao estar cargando"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Ao estar na base"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nunca"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Desactivado"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Para controlar o que sucederá cando o teléfono estea ancorado ou en modo de suspensión, activa o protector de pantalla."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Cando comezar"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Protector de pantalla actual"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Configuración"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Brillo intelixente"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Levantar para acender"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Pantalla en suspensión"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Eliminar"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Eliminaranse todas as aplicacións e datos desta sesión."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Quitar"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Convidado (ti)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Usuarios"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Outros usuarios"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Eliminar actividade do convidado"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Elimina todas as aplicacións e datos da sesión de convidado ao saír do modo de convidado"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Eliminar actividade do convidado?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"As aplicacións e os datos desta sesión de convidado eliminaranse agora, e toda actividade de convidados futura eliminarase cada vez que saias do modo de convidado"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Activar chamadas telefónicas"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Activar chamadas telefónicas e SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Eliminar usuario"</string>
@@ -4165,7 +4169,7 @@
<string name="zen_mode_custom_behavior_summary" msgid="5390522750884328843">"Configura esta planificación de forma personalizada"</string>
<string name="zen_mode_custom_behavior_category_title" msgid="7815612569425733764">"Para \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\""</string>
<string name="summary_divider_text" msgid="8836285171484563986">", "</string>
- <string name="summary_range_symbol_combination" msgid="8447490077794415525">"Do <xliff:g id="START">%1$s</xliff:g> ao <xliff:g id="END">%2$s</xliff:g>"</string>
+ <string name="summary_range_symbol_combination" msgid="8447490077794415525">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
<string name="summary_range_verbal_combination" msgid="6022314482293187463">"Do <xliff:g id="START">%1$s</xliff:g> ao <xliff:g id="END">%2$s</xliff:g>"</string>
<string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversas"</string>
<string name="zen_mode_conversations_section_title" msgid="666809483050936026">"Conversas que poden interromper"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 561cd6f..6e3cb74 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -186,7 +186,7 @@
<string name="proxy_error_empty_port" msgid="4250295137005082992">"તમારે પોર્ટ ફીલ્ડ પૂર્ણ કરવાની જરૂર છે."</string>
<string name="proxy_error_empty_host_set_port" msgid="8886572276450900049">"હોસ્ટ ફીલ્ડ ખાલી હોય તો પોર્ટ ફીલ્ડ ખાલી હોવું આવશ્યક છે."</string>
<string name="proxy_error_invalid_port" msgid="2830054691770209166">"તમે ટાઇપ કરેલ પોર્ટ માન્ય નથી."</string>
- <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP પ્રોક્સીનો ઉપયોગ બ્રાઉઝર દ્વારા કરવામાં આવે છે પરંતુ અન્ય ઍપ્લિકેશનો દ્વારા કરી શકાતો નથી."</string>
+ <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP પ્રોક્સીનો ઉપયોગ બ્રાઉઝર દ્વારા કરવામાં આવે છે પરંતુ અન્ય ઍપ દ્વારા કરી શકાતો નથી."</string>
<string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
<string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"હોસ્ટનું નામ પિંગ કરો(www.google.com) IPv4:"</string>
<string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"હોસ્ટનું નામ પિંગ કરો(www.google.com) IPv6:"</string>
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"સિસ્ટમની ભાષા"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"સિસ્ટમ ડિફૉલ્ટ"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"આ ઍપ માટે સેટિંગમાંથી ભાષા પસંદ કરી શકાતી નથી."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"આ ભાષા ઍપમાં ઉપલબ્ધ ભાષાઓથી અલગ હોઈ શકે છે. કેટલીક ઍપ આ સેટિંગને સપોર્ટ ન કરે એવું બની શકે છે."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">પસંદ કરેલ ભાષાઓને કાઢી નાખીએ?</item>
<item quantity="other">પસંદ કરેલ ભાષાઓને કાઢી નાખીએ?</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"સ્ક્રીન સેવર"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"સ્ક્રીન સેવરનો ઉપયોગ કરો"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ચાર્જ થતું હોય અથવા ડૉક કરેલ હોય ત્યારે"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"બેમાંથી કોઈપણ એક"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ચાર્જિંગ થતી વખતે"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ડૉક હોય ત્યારે"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"ક્યારેય નહીં"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"બંધ"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ફોન ડૉક થાય અને/અથવા નિષ્ક્રિય થઈ જાય ત્યારે શું થાય તેને નિયંત્રિત કરવા માટે, સ્ક્રીન સેવર ચાલુ કરો."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"ક્યારે શરૂ કરવું"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"વર્તમાન સ્ક્રીન સેવર"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"સેટિંગ"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"સ્વચલિત તેજ"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"જાગૃત કરવા માટે લિફ્ટ કરો"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"ઍમ્બિઅન્ટ ડિસ્પ્લે"</string>
@@ -1749,10 +1745,10 @@
<string name="erase_euicc_data_button" msgid="728078969563311737">"કાઢી નાખો"</string>
<string name="reset_esim_title" msgid="6152167073280852849">"ડાઉનલોડ કરેલાં સિમ કાઢી નખાશે"</string>
<string name="reset_esim_desc" msgid="3662444090563399131">"આનાથી કોઈપણ મોબાઇલ સેવા પ્લાન રદ થશે નહીં. બદલીના સિમ કાર્ડ ડાઉનલોડ કરવા માટે, તમારા મોબાઇલ ઑપરેટરનો સંપર્ક કરો."</string>
- <string name="reset_network_button_text" msgid="2281476496459610071">"સેટિંગ ફરીથી સેટ કરો"</string>
+ <string name="reset_network_button_text" msgid="2281476496459610071">"સેટિંગ રીસેટ કરો"</string>
<string name="reset_network_final_desc" msgid="5304365082065278425">"બધાં નેટવર્ક સેટિંગ રીસેટ કરીએ? તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
<string name="reset_network_final_desc_esim" msgid="8342882682282693844">"બધા નેટવર્ક સેટિંગ રીસેટ કરીએ અને ડાઉનલોડ કરેલાં સિમ કાઢી નાખીએ? તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
- <string name="reset_network_final_button_text" msgid="2433867118414000462">"સેટિંગ ફરીથી સેટ કરો"</string>
+ <string name="reset_network_final_button_text" msgid="2433867118414000462">"સેટિંગ રીસેટ કરો"</string>
<string name="reset_network_confirm_title" msgid="913014422184481270">"ફરીથી સેટ કરીએ?"</string>
<string name="network_reset_not_available" msgid="1966334631394607829">"આ વપરાશકર્તા માટે નેટવર્ક ફરીથી સેટ કરો ઉપલબ્ધ નથી"</string>
<string name="reset_network_complete_toast" msgid="1367872474130621115">"નેટવર્ક સેટિંગ રીસેટ કરવામાં આવ્યા છે"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"ડિલીટ કરો"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"આ સત્રમાંની તમામ ઍપ અને ડેટા કાઢી નાખવામાં આવશે."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"કાઢી નાખો"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"અતિથિ (તમે)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"વપરાશકર્તાઓ"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"અન્ય વપરાશકર્તાઓ"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"અતિથિ પ્રવૃત્તિ ડિલીટ કરો"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"અતિથિ મોડમાંથી બહાર નીકળતી વખતે તમામ અતિથિ ઍપ અને ડેટા ડિલીટ કરો"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"શું અતિથિની પ્રવૃત્તિ ડિલીટ કરીએ?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"આ અતિથિ સત્રમાંની તમામ ઍપ અને ડેટા હમણાં ડિલીટ કરવામાં આવશે તેમજ ભવિષ્યમાં જ્યારે પણ તમે અતિથિ મોડમાંથી બહાર નીકળો, ત્યારે તમામ અતિથિ પ્રવૃત્તિ ડિલીટ કરવામાં આવશે"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ફોન કૉલ ચાલુ કરો"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ફોન કૉલ અને SMS ચાલુ કરો"</string>
<string name="user_remove_user" msgid="8468203789739693845">"વપરાશકર્તાને ડિલીટ કરો"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 9233d41..05963d7 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -102,7 +102,7 @@
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"आस-पास कोई ब्लूटूथ डिवाइस नहीं मिला."</string>
<string name="bluetooth_notif_ticker" msgid="209515545257862858">"ब्लूटूथ से जोड़ने का अनुरोध किया गया है"</string>
<string name="bluetooth_notif_title" msgid="1196532269131348647">"दूसरे डिवाइस से जोड़ने का अनुरोध किया गया है"</string>
- <string name="bluetooth_notif_message" msgid="5584717784198086653">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> से युग्मित करने के लिए टैप करें."</string>
+ <string name="bluetooth_notif_message" msgid="5584717784198086653">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> से जोड़ने के लिए टैप करें."</string>
<string name="bluetooth_show_received_files" msgid="685424727760622632">"मिलने वाली फ़ाइलें"</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"ब्लूटूथ बंद है"</string>
<string name="bluetooth_devices_card_off_summary" msgid="2276527382891105858">"इसे चालू करने के लिए टैप करें"</string>
@@ -140,7 +140,7 @@
<string name="bluetooth_map_acceptance_dialog_text" msgid="2647611490952377156">"%1$s आपके मैसेज तक पहुंचना चाहता है. %2$s को पहुंचने दें?"</string>
<string name="bluetooth_sap_request" msgid="473439406287008397">"सिम का इस्तेमाल करने के लिए अनुरोध"</string>
<string name="bluetooth_sap_acceptance_dialog_text" msgid="2849083276356078655">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> आपके SIM कार्ड को ऐक्सेस करना चाहता है. SIM कार्ड की ऐक्सेस देने से कनेक्शन की अवधि तक आपके डिवाइस पर डेटा कनेक्टिविटी अक्षम हो जाएगी. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> को ऐक्सेस दें"</string>
- <string name="bluetooth_device_name_summary" msgid="8678342689845439583">"दूसरे डिवाइसों को \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\' के रूप में दिखाई देता है"</string>
+ <string name="bluetooth_device_name_summary" msgid="8678342689845439583">"दूसरे डिवाइसों को \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\' के रूप में दिखता है"</string>
<string name="bluetooth_off_footer" msgid="76578735660216295">"अपने डिवाइस को दूसरे डिवाइस से जोड़ने के लिए ब्लूटूथ चालू करें."</string>
<string name="bluetooth_paired_device_title" msgid="3240639218362342026">"आपके डिवाइस"</string>
<string name="bluetooth_pairing_page_title" msgid="3403981358823707692">"नया डिवाइस जोड़ें"</string>
@@ -178,7 +178,7 @@
<string name="proxy_exclusionlist_label" msgid="2598613986784917542">"इसके लिए प्रॉक्सी का इस्तेमाल न करें"</string>
<string name="proxy_defaultView_text" msgid="6795150505379688451">"डिफ़ॉल्ट पुनर्स्थापित करें"</string>
<string name="proxy_action_text" msgid="1103328484441449542">"हो गया"</string>
- <string name="proxy_hostname_label" msgid="5504327742505848063">"प्रॉक्सी होस्टनाम"</string>
+ <string name="proxy_hostname_label" msgid="5504327742505848063">"प्रॉक्सी होस्टनेम"</string>
<string name="proxy_error" msgid="3615905975598084126">"ध्यान दें"</string>
<string name="proxy_error_dismiss" msgid="4207430265140873078">"ठीक है"</string>
<string name="proxy_error_invalid_host" msgid="3814412792702059247">" लिखा गया होस्टनाम मान्य नहीं है."</string>
@@ -187,7 +187,7 @@
<string name="proxy_error_empty_host_set_port" msgid="8886572276450900049">"अगर होस्ट फ़ील्ड खाली है तो पोर्ट फ़ील्ड को खाली होना ही चाहिए."</string>
<string name="proxy_error_invalid_port" msgid="2830054691770209166">" लिखा गया पोर्ट मान्य नहीं है."</string>
<string name="proxy_warning_limited_support" msgid="3277104160797351942">"एचटीटीपी प्रॉक्सी का इस्तेमाल ब्राउज़र करता है, लेकिन हो सकता है कि अन्य ऐप्लिकेशन इसका इस्तेमाल न कर पाएं."</string>
- <string name="proxy_url_title" msgid="3502625766036404073">"PAC यूआरएल: "</string>
+ <string name="proxy_url_title" msgid="3502625766036404073">"पीएसी यूआरएल: "</string>
<string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"होस्टनाम(www.google.com) IPv4 पिंग करें:"</string>
<string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"होस्टनाम(www.google.com) IPv6 पिंग करें:"</string>
<string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP क्लाइंट परीक्षण:"</string>
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"सुझाई गई भाषाएं"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"सभी भाषाएं"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"सिस्टम की भाषा"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"सिस्टम डिफ़ॉल्ट"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"सेटिंग में, इस ऐप्लिकेशन की भाषा चुनने का विकल्प मौजूद नहीं है."</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -326,7 +325,7 @@
</plurals>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"लोड हो रहा है…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"ऐसे ऐप्लिकेशन, जिन्हें आस-पास मौजूद डिवाइसों के साथ इंटरैक्ट करने की अनुमति मिली है वे कनेक्ट किए गए डिवाइसों की जगह की जानकारी का पता लगा सकते हैं."</string>
- <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ऐप्लिकेशन और सेवाओं के लिए, जगह की जानकारी का ऐक्सेस बंद है. आपके डिवाइस की जगह की जानकारी, आपातकालीन स्थिति में मदद करने वालों को अब भी दी जा सकती है. ऐसा तब किया जाएगा, जब आप किसी आपातकालीन नंबर पर कॉल करेंगे या मैसेज भेजेंगे."</string>
+ <string name="location_settings_footer_location_off" msgid="8568995909147566720">"ऐप्लिकेशन और सेवाओं के लिए, जगह की जानकारी का ऐक्सेस बंद है. आपके डिवाइस की जगह की जानकारी, आपातकालीन स्थिति में मदद करने वाले व्यक्तियों को अब भी दी जा सकती है. ऐसा आपके किसी आपातकालीन नंबर पर कॉल करने या मैसेज भेजने पर किया जाएगा."</string>
<string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"जगह की जानकारी की सेटिंग के बारे में ज़्यादा जानें."</string>
<string name="account_settings_title" msgid="9138880127246241885">"खाते"</string>
<string name="security_settings_title" msgid="6710768415432791970">"सुरक्षा"</string>
@@ -845,7 +844,7 @@
<string name="bluetooth_preference_no_found_devices" msgid="1331122763066030155">"कोई डिवाइस उपलब्ध नहीं"</string>
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"कनेक्ट करें"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"डिसकनेक्ट करें"</string>
- <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"युग्मित और कनेक्ट करें"</string>
+ <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"जोड़े और कनेक्ट करें"</string>
<string name="bluetooth_device_context_unpair" msgid="7525735305244087162">"जुड़ा हुआ डिवाइस हटाएं"</string>
<string name="bluetooth_device_context_disconnect_unpair" msgid="2001359431289794561">"डिस्कनेक्ट करें और जुड़ा हुआ डिवाइस हटाएं"</string>
<string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"विकल्प…"</string>
@@ -858,7 +857,7 @@
<string name="device_details_title" msgid="1155622417516195481">"डिवाइस की जानकारी"</string>
<string name="bluetooth_device_mac_address" msgid="4873325074786732703">"डिवाइस का ब्लूटूथ पता: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
<string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"डिवाइस के ब्लूटूथ का पता:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
- <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"डिवाइस को भूलना चाहते हैं?"</string>
+ <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"डिवाइस को भूलना है?"</string>
<string name="remove_association_button" msgid="5004208145998061135">"डिसकनेक्ट करें"</string>
<string name="bluetooth_companion_app_remove_association_dialog_title" msgid="1344518601377991897">"क्या आप ऐप्लिकेशन को डिसकनेक्ट करना चाहते हैं?"</string>
<string name="bluetooth_unpair_dialog_body" product="default" msgid="4730377171981539265">"आपका फ़ोन अब <xliff:g id="DEVICE_NAME">%1$s</xliff:g> के साथ जुड़ा नहीं रहेगा"</string>
@@ -1006,7 +1005,7 @@
<string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID डालें"</string>
<string name="wifi_security" msgid="9095934643631406913">"सुरक्षा"</string>
<string name="wifi_hidden_network" msgid="6466834025375485596">"छिपा हुआ नेटवर्क"</string>
- <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"अगर आपका राऊटर कोई नेटवर्क आईडी नहीं दिखा रहा है, लेकिन आप आने वाले समय में इससे जुड़ना चाहते हैं, तो इसे छिपे हुए नेटवर्क के रूप में सेट किया जा सकता है.\n\nइससे सुरक्षा का खतरा पैदा हो सकता है, क्योंकि आपका फ़ोन नेटवर्क ढूंढने के लिए लगातार अपने सिग्नल ब्रॉडकास्ट करता रहेगा.\n\nनेटवर्क को छिपे हुए नेटवर्क के रूप में सेट करने से, आपके राऊटर की सेटिंग में कोई बदलाव नहीं होगा."</string>
+ <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"अगर आपका राऊटर कोई नेटवर्क आईडी नहीं दिखा रहा है, लेकिन आने वाले समय में आपको इससे जुड़ना है, तो इसे छिपे हुए नेटवर्क के रूप में सेट किया जा सकता है.\n\nइससे सुरक्षा का खतरा पैदा हो सकता है, क्योंकि आपका फ़ोन नेटवर्क ढूंढने के लिए लगातार अपने सिग्नल ब्रॉडकास्ट करता रहेगा.\n\nनेटवर्क को छिपे हुए नेटवर्क के रूप में सेट करने से, आपके राऊटर की सेटिंग में कोई बदलाव नहीं होगा."</string>
<string name="wifi_signal" msgid="4442182285304271424">"सिग्नल की क्षमता"</string>
<string name="wifi_status" msgid="5349199188871002778">"स्थिति"</string>
<string name="tx_wifi_speed" msgid="2368986629172050673">"ट्रांसमिट लिंक की रफ़्तार"</string>
@@ -1430,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"स्क्रीन सेवर"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"स्क्रीन सेवर का इस्तेमाल करें"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"चार्ज करते समय या डॉक किए होने पर"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"कोई एक"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"चार्ज करते समय"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"जब डॉक किया हुआ हो"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"कभी नहीं"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"बंद"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"फ़ोन के डॉक रहते समय और/या उपयोग में नहीं होने पर जो भी होता है, उसे नियंत्रित करने के लिए स्क्रीन सेवर चालू करें."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"कब शुरू करना है"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"मौजूदा स्क्रीन सेवर"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"सेटिंग"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"अपनेआप स्क्रीन की रोशनी"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"सक्रिय करने के लिए उठाएं"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"हमेशा चालू स्क्रीन दिखाएं"</string>
@@ -1612,7 +1608,7 @@
<string name="usb_mtp_summary" msgid="6293240861011560842">"आपको Windows पर मीडिया फ़ाइल ट्रांसफ़र करने, या Mac पर Android File Transfer का इस्तेमाल करने देता है (www.android.com/filetransfer देखें)"</string>
<string name="usb_ptp_title" msgid="4496529268189091846">"कैमरा (PTP)"</string>
<string name="usb_ptp_summary" msgid="8382539472311655671">"आपको कैमरा सॉफ़्टवेयर का इस्तेमाल करके फ़ोटो ट्रांसफ़र करने देता है और जिन कंप्यूटर पर MTP काम नहीं करता, उन पर कोई भी फ़ाइल ट्रांसफ़र करने देता है"</string>
- <string name="usb_midi_title" msgid="1139558846427981761">"MIDI"</string>
+ <string name="usb_midi_title" msgid="1139558846427981761">"एमआईडीआई"</string>
<string name="usb_midi_summary" msgid="1842457325845863840">"MIDI सक्षम ऐप्लिकेशन को आपके कंप्यूटर पर MIDI सॉफ़्टवेयर के साथ USB पर काम करने देती है."</string>
<string name="storage_other_users" msgid="7017206190449510992">"अन्य उपयोगकर्ता"</string>
<string name="storage_internal_title" msgid="3265098802217660829">"डिवाइस मेमोरी"</string>
@@ -2096,8 +2092,8 @@
<string name="no_applications" msgid="985069304755391640">"कोई ऐप्लिकेशन नहीं."</string>
<string name="internal_storage" msgid="999496851424448809">"मोबाइल मेमोरी"</string>
<string name="recompute_size" msgid="1098091228370999128">"आकार फिर से परिकलित कर रहा है…"</string>
- <string name="clear_data_dlg_title" msgid="180446967743732410">"ऐप्लिकेशन डेटा मिटाना चाहते हैं?"</string>
- <string name="clear_data_dlg_text" msgid="3440011276559762619">"इस ऐप्लिकेशन का डेटा, इस डिवाइस से हमेशा के लिए मिट जाएगा. इस डेटा में, फ़ाइलें, और सेटिंग शामिल हैं"</string>
+ <string name="clear_data_dlg_title" msgid="180446967743732410">"ऐप्लिकेशन डेटा मिटाना है?"</string>
+ <string name="clear_data_dlg_text" msgid="3440011276559762619">"इस ऐप्लिकेशन का डेटा, इस डिवाइस से हमेशा के लिए मिट जाएगा. इस डेटा में, फ़ाइलें और सेटिंग शामिल हैं"</string>
<string name="dlg_ok" msgid="1421350367857960997">"ठीक है"</string>
<string name="dlg_cancel" msgid="5164705061530774899">"रद्द करें"</string>
<string name="dlg_delete" msgid="1790919205039397659">"मिटाएं"</string>
@@ -3399,8 +3395,15 @@
<string name="user_adding_new_user" msgid="7439602720177181412">"नया उपयोगकर्ता जोड़ा जा रहा है…"</string>
<string name="user_delete_user_description" msgid="7764153465503821011">"उपयोगकर्ता मिटाएं"</string>
<string name="user_delete_button" msgid="3833498650182594653">"मिटाएं"</string>
- <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"इस सत्र के सभी ऐप्लिकेशन और डेटा को हटा दिया जाएगा."</string>
+ <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"इस सेशन के सभी ऐप्लिकेशन और डेटा को हटा दिया जाएगा."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"निकालें"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"मेहमान (आप)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"उपयोगकर्ता"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"अन्य उपयोगकर्ता"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"मेहमान मोड में की गई गतिविधि मिटाएं"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"मेहमान मोड से बाहर निकलने पर, मेहमान मोड में मौजूद डेटा और इस्तेमाल किए गए सभी ऐप्लिकेशन को मिटा दिया जाता है"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"मेहमान मोड की गतिविधि को मिटाना है?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"मेहमान के तौर पर ब्राउज़ किए गए इस सेशन में मौजूद डेटा और इस्तेमाल किए गए ऐप्लिकेशन को मिटा दिया जाएगा. इसके अलावा, आने वाले समय में हर बार मेहमान मोड से बाहर निकलने पर, उस दौरान की गई गतिविधियां मिटा दी जाएंगी"</string>
<string name="user_enable_calling" msgid="264875360626905535">"फ़ोन कॉल की सुविधा चालू करें"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"फ़ोन कॉल और मैसेज (एसएमएस) चालू करें"</string>
<string name="user_remove_user" msgid="8468203789739693845">"उपयोगकर्ता को हटाना"</string>
@@ -4518,7 +4521,7 @@
<string name="usb_transcode_files_summary" msgid="307102635711961513">"इससे वीडियो, दूसरे कई और मीडिया प्लेयर पर भी चलेगा. हालांकि, उसकी क्वालिटी पर थोड़ा असर पड़ सकता है"</string>
<string name="usb_use_photo_transfers_desc" msgid="7490250033610745765">"MTP समर्थित नहीं होने पर फ़ोटो या फ़ाइलें ट्रांसफर करें (PTP)"</string>
<string name="usb_use_tethering" msgid="2897063414491670531">"यूएसबी टेदरिंग"</string>
- <string name="usb_use_MIDI" msgid="8621338227628859789">"MIDI"</string>
+ <string name="usb_use_MIDI" msgid="8621338227628859789">"एमआईडीआई"</string>
<string name="usb_use_MIDI_desc" msgid="6464135515868405143">"इस डिवाइस का उपयोग MIDI के रूप में करें"</string>
<string name="usb_use" msgid="6783183432648438528">"यूएसबी का इस्तेमाल इसके लिए करें"</string>
<string name="usb_default_label" msgid="3372838450371060750">"यूएसबी का डिफ़ॉल्ट कॉन्फ़िगरेशन"</string>
@@ -5376,7 +5379,7 @@
<string name="sim_action_enable_sub_dialog_title" msgid="4003377033815971802">"क्या आपको <xliff:g id="CARRIER_NAME">%1$s</xliff:g> चालू करना है?"</string>
<string name="sim_action_enable_sub_dialog_title_without_carrier_name" msgid="4842051610633654278">"क्या आप सिम चालू करना चाहते हैं?"</string>
<string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"क्या आपको <xliff:g id="CARRIER_NAME">%1$s</xliff:g> पर स्विच करना है?"</string>
- <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"क्या आप सिम कार्ड पर स्विच करना चाहते हैं?"</string>
+ <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"क्या आपको सिम कार्ड पर स्विच करना है?"</string>
<string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> का इस्तेमाल करना है?"</string>
<string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"एक समय में सिर्फ़ एक सिम चालू हो सकता है.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> पर स्विच करने से आपके <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
<string name="sim_action_switch_sub_dialog_text_downloaded" msgid="1396320209544698027">"एक समय में, डाउनलोड किया गया सिर्फ़ एक सिम चालू हो सकता है.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> पर स्विच करने से आपके <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
@@ -5394,8 +5397,8 @@
<string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"सिम बंद किया जा रहा है<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
<string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी का नेटवर्क बंद नहीं किया जा सकता"</string>
<string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"कोई गड़बड़ी हुई, जिसकी वजह से आपकी मोबाइल और इंटरनेट सेवा देने वाली कंपनी का नेटवर्क बंद नहीं किया जा सका."</string>
- <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"क्या आप दो सिम इस्तेमाल करना चाहते हैं?"</string>
- <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"इस डिवाइस में एक साथ दाे सिम चालू रह सकते हैं. अगर आप एक बार में एक सिम इस्तेमाल करना चाहते हैं, तो \"रहने दें\" पर टैप करें."</string>
+ <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"क्या आपको दो सिम इस्तेमाल करने हैं?"</string>
+ <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"इस डिवाइस में एक साथ दाे सिम चालू रह सकते हैं. अगर आपको एक बार में एक सिम इस्तेमाल करना है, तो \"रहने दें\" पर टैप करें."</string>
<string name="sim_action_restart_title" msgid="7054617569121993825">"क्या आप डिवाइस को रीस्टार्ट करना चाहते हैं?"</string>
<string name="sim_action_restart_text" msgid="8019300474703571013">"शुरू करने के लिए, अपने डिवाइस को रीस्टार्ट करें. इसके बाद, आप दूसरा सिम जोड़ सकते हैं."</string>
<string name="sim_action_continue" msgid="1688813133152389943">"जारी रखें"</string>
@@ -5426,7 +5429,7 @@
<string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"चालू किया गया कोई सिम उपलब्ध नहीं है"</string>
<string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"मोबाइल डेटा, कॉल से जुड़ी सुविधाएं, और मैसेज (एसएमएस) को बाद में इस्तेमाल करने के लिए, अपने नेटवर्क की सेटिंग पर जाएं"</string>
<string name="sim_card_label" msgid="5632157635124050923">"सिम कार्ड"</string>
- <string name="erase_sim_dialog_title" msgid="881253002169177016">"क्या आप डाउनलोड किए गए इस सिम को हमेशा के लिए मिटाना चाहते हैं?"</string>
+ <string name="erase_sim_dialog_title" msgid="881253002169177016">"क्या आपको डाउनलोड किए गए इस सिम को हमेशा के लिए मिटाना है?"</string>
<string name="erase_sim_dialog_text" msgid="753031064269699885">"इस सिम को मिटाने से, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> की सेवा इस डिवाइस से हट जाती है.\n\nहालांकि, <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
<string name="erase_sim_confirm_button" msgid="8309115684335320541">"मिटाएं"</string>
<string name="erasing_sim" msgid="7877703231075699139">"सिम को हमेशा के लिए मिटाया जा रहा है…"</string>
@@ -5652,7 +5655,7 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ऐप्लिकेशन पिन करने की सुविधा का इस्तेमाल करें"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"डेवलपर के लिए सेटिंग और टूल की सुविधा का इस्तेमाल करें"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"प्रिंट करने की सेवा का इस्तेमाल करें"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"कई उपयोगकर्ताओं को अनुमति दें"</string>
+ <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"एक से ज़्यादा उपयोगकर्ताओं को अनुमति दें"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"वॉयरलेस डीबगिंग का इस्तेमाल करें"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"ग्राफ़िक ड्राइवर की सेटिंग का इस्तेमाल करें"</string>
<string name="battery_saver_main_switch_title" msgid="5072135547489779352">"बैटरी सेवर सुविधा का इस्तेमाल करें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 62a051f..54db9e9 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -869,14 +869,14 @@
<string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"Opcije…"</string>
<string name="bluetooth_menu_advanced" msgid="7633682234855216066">"Dodatne postavke"</string>
<string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"Napredni Bluetooth"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kada je Bluetooth uključen, uređaj može komunicirati s ostalim Bluetooth uređajima u blizini."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kada je Bluetooth uključen, vaš uređaj može komunicirati s drugim Bluetooth uređajima u blizini."</string>
<string name="bluetooth_scanning_on_info_message" msgid="6667723887545056976">"Kada je Bluetooth uključen, uređaj može komunicirati s ostalim Bluetooth uređajima u blizini.\n\nDa bi se poboljšala učinkovitost uređaja, aplikacije i usluge mogu tražiti uređaje u blizini u bilo kojem trenutku, čak i kada je Bluetooth isključen. Na taj se način mogu, na primjer, poboljšati značajke i usluge koje se temelje na lokaciji. To možete promijeniti u "<annotation id="link">"postavkama pretraživanja Bluetootha"</annotation>"."</string>
<string name="ble_scan_notify_text" msgid="1358879010396045164">"Radi poboljšanja preciznosti lokacije aplikacije i usluge sustava i dalje mogu otkriti Bluetooth uređaje. To možete promijeniti u <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>postavkama traženja<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
<string name="bluetooth_connect_failed" msgid="7892663424429584925">"Povezivanje nije uspjelo. Pokušajte ponovo."</string>
<string name="device_details_title" msgid="1155622417516195481">"O uređaju"</string>
<string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Bluetooth adresa uređaja: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
<string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Bluetooth adresa uređaja:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
- <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Zaboraviti uređaj?"</string>
+ <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Želite li zaboraviti uređaj?"</string>
<string name="remove_association_button" msgid="5004208145998061135">"Ukloni povezivanje"</string>
<string name="bluetooth_companion_app_remove_association_dialog_title" msgid="1344518601377991897">"Prekinuti vezu s aplikacijom?"</string>
<string name="bluetooth_unpair_dialog_body" product="default" msgid="4730377171981539265">"Vaš telefon više neće biti uparen s uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
@@ -1451,15 +1451,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Čuvar zaslona"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Koristi čuvara zaslona"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Tijekom punjenja ili kada je na priključnoj stanici"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Bilo koje od navedenog"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Tijekom punjenja"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Kada je na priključnoj stanici"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nikada"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Isključeno"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Da biste kontrolirali događaje dok je telefon na priključnoj stanici i/ili dok miruje, uključite čuvar zaslona."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kada pokrenuti"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Trenutačni čuvar zaslona"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Postavke"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatska svjetlina"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Aktivacija podizanjem"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambijentalni zaslon"</string>
@@ -2121,7 +2118,7 @@
<string name="no_applications" msgid="985069304755391640">"Nema aplikacija."</string>
<string name="internal_storage" msgid="999496851424448809">"Unutarnja pohrana"</string>
<string name="recompute_size" msgid="1098091228370999128">"Ponovni izračun veličine…"</string>
- <string name="clear_data_dlg_title" msgid="180446967743732410">"Izbrisati podatke aplikacije?"</string>
+ <string name="clear_data_dlg_title" msgid="180446967743732410">"Želite li izbrisati podatke aplikacije?"</string>
<string name="clear_data_dlg_text" msgid="3440011276559762619">"Podaci ove aplikacije, uključujući datoteke i postavke, trajno će se izbrisati s ovog uređaja"</string>
<string name="dlg_ok" msgid="1421350367857960997">"U redu"</string>
<string name="dlg_cancel" msgid="5164705061530774899">"Odustani"</string>
@@ -2306,7 +2303,7 @@
<string name="vision_settings_suggestion_title" msgid="4689275412658803919">"Promijenite veličinu fonta"</string>
<string name="screen_reader_category_title" msgid="5825700839731107803">"Čitač zaslona"</string>
<string name="captions_category_title" msgid="574490148949400274">"Titlovi"</string>
- <string name="audio_category_title" msgid="5283853679967605826">"Audiozapis"</string>
+ <string name="audio_category_title" msgid="5283853679967605826">"Zvuk"</string>
<string name="general_category_title" msgid="6298579528716834157">"Općenito"</string>
<string name="display_category_title" msgid="6638191682294461408">"Zaslon"</string>
<string name="accessibility_color_and_motion_title" msgid="2323301706545305874">"Boja i pokret"</string>
@@ -2386,7 +2383,7 @@
<string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Da biste koristili značajku pristupačnosti, prijeđite s tri prsta prema gore od dna zaslona.\n\nDa biste prešli na neku drugu značajku, prijeđite s tri prsta prema gore i zadržite."</string>
<string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Shvaćam"</string>
<string name="accessibility_shortcut_title" msgid="8125867833704517463">"Prečac za uslugu <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
- <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Gumb za Pristupačnost"</string>
+ <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Gumb za pristupačnost"</string>
<string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Pokret za pristupačnost"</string>
<string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Prijeđite s dva prsta prema gore"</string>
<string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Prijeđite s tri prsta prema gore"</string>
@@ -2471,7 +2468,7 @@
<string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Srednje"</string>
<string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekundi"</string>
<string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Dugo"</string>
- <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 s"</string>
+ <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekunda"</string>
<string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Prilagođeno"</string>
<string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kraće"</string>
<string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Dulje"</string>
@@ -3107,7 +3104,7 @@
</plurals>
<string name="emergency_tone_title" msgid="6673118505206685168">"Signal za hitne pozive"</string>
<string name="emergency_tone_summary" msgid="2519776254708767388">"Postavite način ponašanja za hitni poziv"</string>
- <string name="privacy_settings_title" msgid="6437057228255974577">"Sigurnosna kopija"</string>
+ <string name="privacy_settings_title" msgid="6437057228255974577">"Sigurnosno kopiranje"</string>
<string name="backup_summary_state_on" msgid="9018954639693085240">"Uključeno"</string>
<string name="backup_summary_state_off" msgid="5341339397224835909">"Isključeno"</string>
<string name="backup_section_title" msgid="6539706829848457794">"Sigurnosna kopija i vraćanje"</string>
@@ -3195,7 +3192,7 @@
<string name="preference_change_password_title" msgid="5465821666939825972">"Promijeni zaporku"</string>
<string name="header_account_settings" msgid="1189339410278750008">"Postavke računa"</string>
<string name="remove_account_label" msgid="4169490568375358010">"Ukloni račun"</string>
- <string name="header_add_an_account" msgid="3919151542338822661">"Dodavanje računa"</string>
+ <string name="header_add_an_account" msgid="3919151542338822661">"Dodajte račun"</string>
<string name="really_remove_account_title" msgid="253097435885652310">"Želite li ukloniti račun?"</string>
<string name="really_remove_account_message" product="tablet" msgid="8893801622174947887">"Uklanjanjem ovog računa izbrisat će se sve njegove poruke, kontakti i ostali podaci s tabletnog računala!"</string>
<string name="really_remove_account_message" product="default" msgid="1217810840427479274">"Uklanjanjem ovog računa izbrisat će se sve njegove poruke, kontakti i ostali podaci s telefona!"</string>
@@ -3444,8 +3441,15 @@
<string name="user_adding_new_user" msgid="7439602720177181412">"Dodavanje novog korisnika…"</string>
<string name="user_delete_user_description" msgid="7764153465503821011">"Izbriši korisnika"</string>
<string name="user_delete_button" msgid="3833498650182594653">"Izbriši"</string>
- <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Sve aplikacije i podaci u ovoj sesiji bit će izbrisani."</string>
+ <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Izbrisat će se sve aplikacije i podaci u ovoj sesiji."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Ukloni"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gost (vi)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Korisnici"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Drugi korisnici"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Izbriši aktivnost gostujuće sesije"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Izbriši sve aplikacije i podatke gostujuće sesije prilikom izlaska iz načina rada za goste"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Izbrisati aktivnost gosta?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikacije i podaci iz ove gostujuće sesije izbrisat će se odmah, a sve buduće aktivnosti gostujuće sesije izbrisat će se svaki put kad napustite način rada za goste."</string>
<string name="user_enable_calling" msgid="264875360626905535">"Uključivanje telefonskih poziva"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Uključivanje telefonskih poziva i SMS-a"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Brisanje korisnika"</string>
@@ -4257,7 +4261,7 @@
<string name="zen_calls_summary_contacts_repeat" msgid="2276432091940405376">"Kontakti i ponovni pozivatelji"</string>
<string name="zen_calls_summary_repeat_only" msgid="7748352153193832632">"Samo ponovni pozivatelji"</string>
<string name="zen_mode_none_calls" msgid="2047166006414016327">"Nitko"</string>
- <string name="zen_mode_none_messages" msgid="1386626352943268342">"Ništa"</string>
+ <string name="zen_mode_none_messages" msgid="1386626352943268342">"Nitko"</string>
<string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmi"</string>
<string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Alarmi odbrojavanja, sata, sigurnosnih sustava i drugih aplikacija"</string>
<string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmi"</string>
@@ -5227,7 +5231,7 @@
</plurals>
<string name="autofill_keywords" msgid="8598763328489346438">"automatsko, popunjavanje, automatsko popunjavanje, zaporka"</string>
<string name="autofill_confirmation_message" msgid="4888767934273494272">"<b>Provjerite je li ova aplikacija pouzdana</b> <br/> <br/> <xliff:g id=app_name example=Google automatsko popunjavanje>%1$s</xliff:g> upotrebljava sadržaj na zaslonu za procjenu onoga što se može automatski popuniti."</string>
- <string name="debug_autofill_category" msgid="5998163555428196185">"Automatski popuni"</string>
+ <string name="debug_autofill_category" msgid="5998163555428196185">"Automatsko popunjavanje"</string>
<string name="autofill_logging_level_title" msgid="3733958845861098307">"Razina zapisivanja"</string>
<string name="autofill_max_partitions" msgid="7342195529574406366">"Maksimalan broj zahtjeva po sesiji"</string>
<string name="autofill_max_visible_datasets" msgid="4970201981694392229">"Maksimalan broj vidljivih skupova podataka"</string>
@@ -5582,7 +5586,7 @@
<string name="forget_passpoint_dialog_message" msgid="2433875063907365760">"Možda ćete izgubiti pristup preostalom vremenu ili podacima. Prije uklanjanja provjerite s davateljem usluga."</string>
<string name="keywords_content_capture" msgid="7802155522681936956">"snimanje sadržaja, sadržaj aplikacija"</string>
<string name="content_capture" msgid="868372905432812238">"Sadržaj aplikacije"</string>
- <string name="content_capture_summary" msgid="49720773699715531">"Dopusti aplikacijama da šalju sadržaj sustavu Android"</string>
+ <string name="content_capture_summary" msgid="49720773699715531">"Dopustite aplikacijama da šalju sadržaj sustavu Android"</string>
<string name="capture_system_heap_dump_title" msgid="9210974110606886455">"Izradi snimku memorije sustava"</string>
<string name="reboot_with_mte_title" msgid="9167242803901899693">"Ponovno pokretanje uz MTE"</string>
<string name="reboot_with_mte_message" msgid="7675836625682561153">"Sustav će se ponovno pokrenuti i omogućiti eksperimentiranje s proširenjima za označavanje memorije (MTE). MTE može imati negativan učinak na izvedbu i stabilnost sustava. Poništit će se prilikom naknadnog ponovnog pokretanja."</string>
@@ -5741,7 +5745,7 @@
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Upotreba Wi‑Fi žarišne točke"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Upotrijebi prikvačivanje aplikacije"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Upotreba opcija za razvojne programere"</string>
- <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Upotreba usluge ispisa"</string>
+ <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristi uslugu ispisa"</string>
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dopusti više korisnika"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Upotreba bežičnog otklanjanja pogrešaka"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Upotreba preferencija upravlj. programa za grafiku"</string>
@@ -5749,7 +5753,7 @@
<string name="do_not_disturb_main_switch_title_on" msgid="6965566556539821313">"Isključi odmah"</string>
<string name="do_not_disturb_main_switch_title_off" msgid="7088088515823752545">"Uključi odmah"</string>
<string name="night_light_main_switch_title" msgid="3428298022467805219">"Upotreba noćnog svjetla"</string>
- <string name="nfc_main_switch_title" msgid="6295839988954817432">"Upotreba NFC-a"</string>
+ <string name="nfc_main_switch_title" msgid="6295839988954817432">"Koristi NFC"</string>
<string name="adaptive_battery_main_switch_title" msgid="3127477920505485813">"Upotreba adaptivne baterije"</string>
<string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"Upotreba prilagodljive svjetline"</string>
<string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"Upotreba Wi-Fi poziva"</string>
@@ -5771,7 +5775,7 @@
<string name="enable_2g_summary_disabled_carrier" msgid="8141118453219482762">"<xliff:g id="CARRIER_NAME_2G">%1$s</xliff:g> zahtijeva dostupnost 2G tehnologije"</string>
<string name="app_info_all_services_label" msgid="3600929226735860271">"Sve usluge"</string>
<string name="show_clip_access_notification" msgid="7782300987639778542">"Prikaži pristup međuspremniku"</string>
- <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Prikaži poruku kad aplikacije pristupe tekstu, slikama ili drugom kopiranom sadržaju"</string>
+ <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Primite poruku kad aplikacije pristupe tekstu, slikama ili drugom kopiranom sadržaju"</string>
<string name="all_apps" msgid="3054120149509114789">"Sve aplikacije"</string>
<string name="request_manage_bluetooth_permission_dont_allow" msgid="8798061333407581300">"Nemoj dopustiti"</string>
<string name="uwb_settings_title" msgid="8578498712312002231">"Ultraširokopojasno povezivanje (UWB)"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 9a4a671..f72ca61 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Képernyővédő"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Képernyővédő használata"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Töltés és dokkolás közben"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Bármelyik"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Töltés közben"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Dokkolt állapotban"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Soha"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Ki"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"A képernyővédő bekapcsolásával beállíthatja, hogy mit csináljon a telefon dokkolt, illetve alvó állapotban."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kezdés ideje"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Jelenlegi képernyővédő"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Beállítások"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatikus fényerő"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Felébresztéshez emelje meg"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Környezeti kijelző"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Törlés"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"A munkamenetben található összes alkalmazás és adat törlődni fog."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Eltávolítás"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Vendég (Ön)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Felhasználók"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Egyéb felhasználók"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Vendégtevékenységek törlése"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Összes vendégalkalmazás és -adat törlése a vendég módból való kilépéskor"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Törli a vendégtevékenységeket?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Az ebből a vendégmunkamenetből származó alkalmazások és adatok azonnal törlődnek, és az összes jövőbeli, vendég módban végzett tevékenység törlődik minden olyan alkalomkor, amikor kilép a vendég módból"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Hívások engedélyezése"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Hívások és SMS-ek engedélyezése"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Felhasználó törlése"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 3c4152c..5289bb0 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -101,7 +101,7 @@
<string name="progress_scanning" msgid="2564746192843011826">"Որոնում"</string>
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"Bluetooth սարքեր մոտակայքում չեն գտնվել:"</string>
<string name="bluetooth_notif_ticker" msgid="209515545257862858">"Bluetooth զուգավորման հայց"</string>
- <string name="bluetooth_notif_title" msgid="1196532269131348647">"Զուգավորման հայց"</string>
+ <string name="bluetooth_notif_title" msgid="1196532269131348647">"Զուգակցման հայտ"</string>
<string name="bluetooth_notif_message" msgid="5584717784198086653">"Հպեք` <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ի հետ զուգակցելու համար:"</string>
<string name="bluetooth_show_received_files" msgid="685424727760622632">"Ստացված ֆայլեր"</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"Bluetooth-ն անջատված է"</string>
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Էկրանապահ"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Օգտագործել էկրանապահ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Լիցքավորման ընթացքում կամ դոկ-կայանում"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Երկու դեպքում էլ"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Լիցքավորման ընթացքում"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Դոկ-կայանում"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Երբեք"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Անջատված է"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Հեռախոսը դոկ-կայանում և քնի ռեժիմում վերահսկելու համար միացրեք էկրանապահը։"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Երբ սկսել"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Ընթացիկ էկրանապահ"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Կարգավորումներ"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Ավտոմատ պայծառություն"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Բարձրացնել՝ միանալու համար"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ամբիենտ էկրան"</string>
@@ -1741,7 +1738,7 @@
<string name="restore_default_apn" msgid="6596048535642130689">"Կանխադրված APN կարգավորումների վերականգնում:"</string>
<string name="menu_restore" msgid="4310539620115151551">"Վերականգնել կանխադրվածները"</string>
<string name="restore_default_apn_completed" msgid="5167505087078340256">"Սկզբնական APN կարգավորումների վերակարգավորումն ավարտված է:"</string>
- <string name="reset_dashboard_title" msgid="7423200250697886918">"Վերակայման ընտրանքներ"</string>
+ <string name="reset_dashboard_title" msgid="7423200250697886918">"Զրոյացման կարգավորումներ"</string>
<string name="reset_dashboard_summary" msgid="4390780188264852956">"Ցանցի, հավելվածների և սարքի կարգավորումները հնարավոր է զրոյացնել"</string>
<string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Հավելվածների կարգավորումները կարելի է զրոյացնել"</string>
<string name="reset_network_title" msgid="1395494440355807616">"Զրոյացնել Wi-Fi-ի, բջջային թրաֆիկի և Bluetooth-ի կարգավորումները"</string>
@@ -1861,14 +1858,14 @@
<string name="location_category_recent_location_access" msgid="2558063524482178146">"Վերջին օգտագործումը"</string>
<string name="location_recent_location_access_see_all" msgid="4203102419355323325">"Տեսնել բոլորը"</string>
<string name="location_recent_location_access_view_details" msgid="5803264082558504544">"Մանրամասն"</string>
- <string name="location_no_recent_apps" msgid="6814206631456177033">"Վերջին ժամանակաշրջանում հավելվածները տեղադրության հարցում չեն արել"</string>
+ <string name="location_no_recent_apps" msgid="6814206631456177033">"Վերջերս ոչ մի հավելված տեղադրության հարցում չի արել"</string>
<string name="location_no_recent_accesses" msgid="6031735777805464247">"Ոչ մի հավելված չի օգտագործել տեղորոշումը"</string>
<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_bluetooth_always_scanning_title" msgid="1809309545730215891">"Bluetooth սարքերի որոնում"</string>
- <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Թույլ տալ հավելվածներին և ծառայություններին որոնել մոտակայքում գտնվող սարքեր նույնիսկ երբ 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="managed_profile_location_services" msgid="8172092734138341880">"Տեղորոշման ծառայություններ աշխատանքի համար"</string>
@@ -3398,8 +3395,15 @@
<string name="user_adding_new_user" msgid="7439602720177181412">"Նոր օգտատիրոջ ավելացում…"</string>
<string name="user_delete_user_description" msgid="7764153465503821011">"Ջնջել օգտատիրոջը"</string>
<string name="user_delete_button" msgid="3833498650182594653">"Ջնջել"</string>
- <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Այս աշխատաշրջանի բոլոր ծրագրերն ու տվյալները կջնջվեն:"</string>
+ <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Այս աշխատաշրջանի բոլոր հավելվածներն ու տվյալները կջնջվեն:"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Հեռացնել"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Հյուր (դուք)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Օգտատերեր"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Այլ օգտատերեր"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Ջնջել հյուրի պատմությունը"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Դուրս գալիս ջնջել հյուրի աշխատաշրջանի բոլոր հավելվածներն ու տվյալները"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Ջնջե՞լ հյուրի պատմությունը"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Հյուրի այս աշխատաշրջանի հավելվածներն ու տվյալները հիմա կջնջվեն։ Հետագայում պատմությունը կջնջվի ամեն անգամ հյուրի ռեժիմից դուրս գալիս։"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Միացնել հեռախոսազանգերը"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Միացնել զանգերն ու SMS-ները"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Ջնջել օգտատիրոջը"</string>
@@ -3429,7 +3433,7 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"Վճարումների հիմնական հավելված"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"Կարգավորված չէ"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> - <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"Օգտագործեք կանխադրված վճարային հավելվածը"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"Օգտագործել կանխադրված վճարային հավելվածը"</string>
<string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Օգտագործեք կանխադրված վճարային հավելվածը"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"Միշտ"</string>
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"Եթե ուրիշ վճարային հավելված բացված չէ"</string>
@@ -3921,7 +3925,7 @@
<string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"Ցույց տալ աշխատանքային պրոֆիլի գաղտնի տվյալները կողպէկրանին"</string>
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Ծանուցումները ցույց տալ ամբողջությամբ"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Կոնֆիդենցիալ տվյալները ցույց տալ միայն ապակողպված էկրանին"</string>
- <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Չցուցադրել ծանուցումներ"</string>
+ <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ցույց չտալ ծանուցումներ"</string>
<string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Կարգավորեք ծանուցումների ցուցադրումը կողպէկրանին"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Կողպէկրան"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Ցույց տալ աշխատանքային ծանուցումն ամբողջությամբ"</string>
@@ -4527,7 +4531,7 @@
<string name="usb_pref" msgid="8521832005703261700">"USB"</string>
<string name="usb_preference" msgid="5084550082591493765">"USB-ի կարգավորումներ"</string>
<string name="usb_control_title" msgid="1946791559052157693">"USB-ն վերահսկող սարքը"</string>
- <string name="usb_control_host" msgid="7404215921555021871">"Միացված սարք"</string>
+ <string name="usb_control_host" msgid="7404215921555021871">"Միացված սարքը"</string>
<string name="usb_control_device" msgid="527916783743021577">"Այս սարքը"</string>
<string name="usb_switching" msgid="3654709188596609354">"Սպասեք…"</string>
<string name="usb_switching_failed" msgid="5721262697715454137">"Չհաջողվեց փոխարկել"</string>
@@ -5651,7 +5655,7 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Օգտագործել հավելվածի ամրացումը"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Օգտագործել մշակողի ընտրանքները"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Օգտագործել տպման ծառայությունը"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Թույլատրեք մեկից ավելի օգտատերեր"</string>
+ <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Թույլատրել մեկից ավելի օգտատերեր"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Օգտագործել անլար վրիպազերծումը"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Օգտագործել գրաֆիկական սարքավարի կարգավորումները"</string>
<string name="battery_saver_main_switch_title" msgid="5072135547489779352">"Օգտագործել մարտկոցի տնտեսումը"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 17f1d27..2bd034c 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -100,9 +100,9 @@
<string name="bluetooth_device" msgid="2217973503732544291">"Perangkat Bluetooth tak bernama"</string>
<string name="progress_scanning" msgid="2564746192843011826">"Menelusuri"</string>
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"Tak ada prngkt Bluetooth terdekat."</string>
- <string name="bluetooth_notif_ticker" msgid="209515545257862858">"Permintaan penyandingan bluetooth"</string>
- <string name="bluetooth_notif_title" msgid="1196532269131348647">"Permintaan penyandingan"</string>
- <string name="bluetooth_notif_message" msgid="5584717784198086653">"Ketuk untuk menyandingkan dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
+ <string name="bluetooth_notif_ticker" msgid="209515545257862858">"Permintaan penyambungan Bluetooth"</string>
+ <string name="bluetooth_notif_title" msgid="1196532269131348647">"Permintaan penyambungan"</string>
+ <string name="bluetooth_notif_message" msgid="5584717784198086653">"Ketuk untuk menyambungkan dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
<string name="bluetooth_show_received_files" msgid="685424727760622632">"File yang diterima"</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"Bluetooth nonaktif"</string>
<string name="bluetooth_devices_card_off_summary" msgid="2276527382891105858">"Ketuk untuk mengaktifkannya"</string>
@@ -823,7 +823,7 @@
<string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Anda mungkin juga perlu mengetikkan sandi ini ke perangkat lain."</string>
<string name="bluetooth_confirm_passkey_msg" msgid="327192310468680072">"Untuk menyandingkan dengan:<br><b><xliff:g id="DEVICE_NAME">%1$s</xliff:g></b><br><br>Pastikan bahwa perangkat tersebut menampilkan kode sandi:<br><b><xliff:g id="PASSKEY">%2$s</xliff:g></b>"</string>
<string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Konfirmasikan agar dapat tersambung dengan kumpulan perangkat terkoordinasi"</string>
- <string name="bluetooth_incoming_pairing_msg" msgid="1068123527866596779">"Dari:<br><b><xliff:g id="DEVICE_NAME">%1$s</xliff:g></b><br><br>Sandingkan dengan perangkat ini?"</string>
+ <string name="bluetooth_incoming_pairing_msg" msgid="1068123527866596779">"Dari:<br><b><xliff:g id="DEVICE_NAME">%1$s</xliff:g></b><br><br>Sambungkan dengan perangkat ini?"</string>
<string name="bluetooth_display_passkey_pin_msg" msgid="8672803845151786521">"Untuk menyandingkan dengan:<xliff:g id="BOLD1_0"><br><b></xliff:g><xliff:g id="DEVICE_NAME">%1$s</xliff:g><xliff:g id="END_BOLD1"></b><br><br></xliff:g>Ketikkan:<xliff:g id="BOLD2_1"><br><b></xliff:g><xliff:g id="PASSKEY">%2$s</xliff:g><xliff:g id="END_BOLD2"></b></xliff:g>, kemudian tekan Kembali atau Enter."</string>
<string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Izinkan akses ke kontak dan histori panggilan Anda"</string>
<string name="bluetooth_error_title" msgid="2284738188253690278"></string>
@@ -844,7 +844,7 @@
<string name="bluetooth_preference_no_found_devices" msgid="1331122763066030155">"Perangkat tak tersedia"</string>
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Hubungkan"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Putuskan koneksi"</string>
- <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Sandingkan & sambungkan"</string>
+ <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Sambungkan & hubungkan"</string>
<string name="bluetooth_device_context_unpair" msgid="7525735305244087162">"Menghapus penyandingan"</string>
<string name="bluetooth_device_context_disconnect_unpair" msgid="2001359431289794561">"Putuskan & lepaskan pasangan"</string>
<string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"Opsi…"</string>
@@ -1082,7 +1082,7 @@
<string name="wifi_use_system_certs" msgid="5587866698144996931">"Gunakan sertifikat sistem"</string>
<string name="wifi_do_not_provide_eap_user_cert" msgid="6336636553673065145">"Jangan berikan"</string>
<string name="wifi_do_not_validate_eap_server" msgid="4673867078988209732">"Jangan validasi"</string>
- <string name="wifi_trust_on_first_use" msgid="7488431582505858774">"Percayai pada Penggunaan Pertama"</string>
+ <string name="wifi_trust_on_first_use" msgid="7488431582505858774">"Percayai pada penggunaan pertama"</string>
<string name="wifi_ssid_too_long" msgid="5961719058705013875">"Nama jaringan terlalu panjang."</string>
<string name="wifi_no_domain_warning" msgid="1452133316532366772">"Domain harus ditentukan."</string>
<string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Sertifikat diwajibkan."</string>
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screensaver"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Gunakan screensaver"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Saat mengisi baterai atau dipasang ke dok"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Keduanya"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Saat mengisi baterai"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Selagi dipasang ke dok"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Tidak pernah"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Mati"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Untuk mengontrol yang terjadi saat ponsel dipasang ke dok dan/atau sedang tidur, aktifkan screen saver."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Waktu mulai"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Screensaver saat ini"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Setelan"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Kecerahan otomatis"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Angkat untuk membangunkan"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Tampilan standby"</string>
@@ -1866,9 +1863,9 @@
<string name="location_high_battery_use" msgid="4277318891200626524">"Penggunaan baterai tinggi"</string>
<string name="location_low_battery_use" msgid="5218950289737996431">"Penggunaan baterai rendah"</string>
<string name="location_scanning_wifi_always_scanning_title" msgid="5004781272733434794">"Pemindaian Wi-Fi"</string>
- <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Izinkan aplikasi dan layanan untuk memindai jaringan Wi-Fi kapan saja, meski Wi-Fi nonaktif. Ini dapat dilakukan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi."</string>
+ <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Izinkan aplikasi dan layanan untuk memindai jaringan Wi-Fi kapan saja, bahkan saat Wi-Fi nonaktif. Ini dapat dilakukan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi."</string>
<string name="location_scanning_bluetooth_always_scanning_title" msgid="1809309545730215891">"Pemindaian Bluetooth"</string>
- <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Izinkan aplikasi dan layanan untuk memindai perangkat di sekitar kapan saja, meski Bluetooth nonaktif. Ini dapat dilakukan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi."</string>
+ <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Izinkan aplikasi dan layanan untuk memindai perangkat di sekitar kapan saja, bahkan saat Bluetooth nonaktif. Ini dapat dilakukan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi."</string>
<string name="location_services_preference_title" msgid="604317859531782159">"Layanan lokasi"</string>
<string name="location_services_screen_title" msgid="5640002489976602476">"Layanan lokasi"</string>
<string name="managed_profile_location_services" msgid="8172092734138341880">"Layanan lokasi untuk profil kerja"</string>
@@ -2195,7 +2192,7 @@
<string name="hardkeyboard_category" msgid="8729780593378161071">"Setelan keyboard fisik"</string>
<string name="auto_punctuate_summary" msgid="3549190848611386748">"Tekan Spasi dua kali untuk memasukkan \".\""</string>
<string name="show_password" msgid="7101900779571040117">"Tampilkan sandi"</string>
- <string name="show_password_summary" msgid="9025960283785111619">"Tampilkan karakter sejenak saat Anda mengetik"</string>
+ <string name="show_password_summary" msgid="9025960283785111619">"Menampilkan karakter sejenak saat Anda mengetik"</string>
<string name="spellchecker_security_warning" msgid="2016059050608271820">"Pemeriksa ejaan ini mungkin dapat mengumpulkan semua teks yang Anda ketik, termasuk data pribadi seperti sandi dan nomor kartu kredit. Pemeriksa ejaan ini berasal dari aplikasi <xliff:g id="SPELLCHECKER_APPLICATION_NAME">%1$s</xliff:g>. Gunakan pemeriksa ejaan ini?"</string>
<string name="spellchecker_quick_settings" msgid="6449414356743946577">"Setelan"</string>
<string name="spellchecker_language" msgid="8905487366580285282">"Bahasa"</string>
@@ -2689,7 +2686,7 @@
<string name="manager_battery_usage_restricted_summary" msgid="8324695640704416905">"Batasi penggunaan baterai saat di latar belakang. Aplikasi mungkin tidak berfungsi sesuai harapan. Notifikasi mungkin tertunda."</string>
<string name="manager_battery_usage_footer" msgid="2635906573922553766">"Mengubah cara aplikasi menggunakan baterai dapat memengaruhi performanya."</string>
<string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"Aplikasi ini memerlukan penggunaan baterai <xliff:g id="STATE">%1$s</xliff:g>."</string>
- <string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"tak terbatas"</string>
+ <string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"tanpa batasan"</string>
<string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"dioptimalkan"</string>
<string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"Pelajari lebih lanjut opsi penggunaan baterai"</string>
<string name="device_screen_usage" msgid="1011630249648289909">"Penggunaan layar sejak pengisian baterai penuh terakhir"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Hapus"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Semua aplikasi dan data dalam sesi ini akan dihapus."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Hapus"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Tamu (Anda)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Pengguna"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Pengguna lainnya"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Hapus aktivitas tamu"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Hapus semua aplikasi dan data tamu saat keluar dari mode tamu"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Hapus aktivitas tamu?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikasi dan data dari sesi tamu ini akan dihapus sekarang, dan semua aktivitas tamu mendatang akan dihapus setiap kali Anda keluar dari mode tamu"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Aktifkan panggilan telepon"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Aktifkan panggilan telepon & SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Hapus pengguna"</string>
@@ -3418,7 +3422,7 @@
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"Instal aplikasi yang tersedia"</string>
<string name="nfc_payment_settings_title" msgid="2043139180030485500">"Pembayaran nirsentuh"</string>
<string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"Aplikasi pembayaran default"</string>
- <string name="nfc_default_payment_footer" msgid="978535088340021360">"Untuk membayar dengan aplikasi pembayaran, tempelkan sisi belakang perangkat ke terminal pembayaran"</string>
+ <string name="nfc_default_payment_footer" msgid="978535088340021360">"Untuk membayar dengan aplikasi pembayaran, dekatkan bagian belakang perangkat ke terminal pembayaran"</string>
<string name="nfc_more_details" msgid="1700713533074275233">"Pelajari lebih lanjut"</string>
<string name="nfc_default_payment_workapp_confirmation_title" msgid="746921251872504687">"Setel aplikasi kerja sebagai aplikasi pembayaran default?"</string>
<string name="nfc_default_payment_workapp_confirmation_message_title" msgid="1533022606333010329">"Untuk membayar dengan aplikasi kerja:"</string>
@@ -4531,7 +4535,7 @@
<string name="usb_control_device" msgid="527916783743021577">"Perangkat ini"</string>
<string name="usb_switching" msgid="3654709188596609354">"Mengalihkan …"</string>
<string name="usb_switching_failed" msgid="5721262697715454137">"Tidak dapat beralih"</string>
- <string name="usb_summary_charging_only" msgid="678095599403565146">"Mengisi baterai perangkat ini"</string>
+ <string name="usb_summary_charging_only" msgid="678095599403565146">"Daya perangkat sedang diisi"</string>
<string name="usb_summary_power_only" msgid="4901734938857822887">"Mengisi daya perangkat yang terhubung"</string>
<string name="usb_summary_file_transfers" msgid="5498487271972556431">"Transfer file"</string>
<string name="usb_summary_tether" msgid="2554569836525075702">"Tethering USB"</string>
@@ -5138,7 +5142,7 @@
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> sandi</item>
</plurals>
<string name="autofill_keywords" msgid="8598763328489346438">"otomatis, isi, isi otomatis, sandi"</string>
- <string name="autofill_confirmation_message" msgid="4888767934273494272">"<b>Pastikan Anda memercayai aplikasi ini</b> <br/> <br/> <xliff:g id=app_name example=Google IsiOtomatis>%1$s</xliff:g> menggunakan item yang ada di layar untuk menentukan item apa saja yang dapat diisi otomatis."</string>
+ <string name="autofill_confirmation_message" msgid="4888767934273494272">"<b>Pastikan Anda memercayai aplikasi ini</b> <br/> <br/> <xliff:g id=app_name example=Isi Otomatis Google>%1$s</xliff:g> menggunakan item yang ada di layar untuk menentukan item apa saja yang dapat diisi otomatis."</string>
<string name="debug_autofill_category" msgid="5998163555428196185">"Isi Otomatis"</string>
<string name="autofill_logging_level_title" msgid="3733958845861098307">"Level logging"</string>
<string name="autofill_max_partitions" msgid="7342195529574406366">"Permintaan maks per sesi"</string>
@@ -5374,7 +5378,7 @@
<string name="see_less" msgid="2642392725363552793">"Lihat lebih sedikit"</string>
<string name="sim_action_enable_sub_dialog_title" msgid="4003377033815971802">"Aktifkan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
<string name="sim_action_enable_sub_dialog_title_without_carrier_name" msgid="4842051610633654278">"Aktifkan SIM?"</string>
- <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Alihkan ke <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
+ <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Beralih ke <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
<string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Beralih menggunakan kartu SIM?"</string>
<string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Gunakan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
<string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Hanya satu SIM yang dapat diaktifkan pada satu waktu.\n\nBeralih ke <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> tidak akan membatalkan layanan <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
@@ -5491,7 +5495,7 @@
<string name="forget_passpoint_dialog_message" msgid="2433875063907365760">"Anda dapat kehilangan akses ke waktu atau data apa pun yang tersisa. Hubungi penyedia Anda sebelum menghapus."</string>
<string name="keywords_content_capture" msgid="7802155522681936956">"gambar konten, konten aplikasi"</string>
<string name="content_capture" msgid="868372905432812238">"Konten aplikasi"</string>
- <string name="content_capture_summary" msgid="49720773699715531">"Izinkan aplikasi mengirimkan konten ke sistem Android"</string>
+ <string name="content_capture_summary" msgid="49720773699715531">"Mengizinkan aplikasi mengirimkan konten ke sistem Android"</string>
<string name="capture_system_heap_dump_title" msgid="9210974110606886455">"Ambil heap dump sistem"</string>
<string name="reboot_with_mte_title" msgid="9167242803901899693">"Mulai ulang dengan MTE"</string>
<string name="reboot_with_mte_message" msgid="7675836625682561153">"Sistem akan memulai ulang dan mengizinkan eksperimen dengan Memory Tagging Extension (MTE). MTE dapat berdampak negatif pada performa dan stabilitas sistem. Akan direset pada mulai ulang berikutnya."</string>
@@ -5680,7 +5684,7 @@
<string name="enable_2g_summary_disabled_carrier" msgid="8141118453219482762">"<xliff:g id="CARRIER_NAME_2G">%1$s</xliff:g> mengharuskan jaringan 2G tersedia"</string>
<string name="app_info_all_services_label" msgid="3600929226735860271">"Semua Layanan"</string>
<string name="show_clip_access_notification" msgid="7782300987639778542">"Tampilkan akses papan klip"</string>
- <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Tampilkan pesan saat aplikasi mengakses teks, gambar, atau konten lainnya yang telah Anda salin"</string>
+ <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Menampilkan pesan saat aplikasi mengakses teks, gambar, atau konten lainnya yang telah Anda salin"</string>
<string name="all_apps" msgid="3054120149509114789">"Semua aplikasi"</string>
<string name="request_manage_bluetooth_permission_dont_allow" msgid="8798061333407581300">"Jangan izinkan"</string>
<string name="uwb_settings_title" msgid="8578498712312002231">"Ultra-Wideband (UWB)"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 5f4875f..1d0fd5f 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Skjávari"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Nota skjávara"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Við hleðslu eða í dokku"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Annaðhvort"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Við hleðslu"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Þegar tækið er í dokku"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Aldrei"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Slökkt"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Kveiktu á skjávaranum til að stjórna því hvað gerist þegar síminn er í dokku og/eða í biðstöðu."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Hvenær á að byrja"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Núverandi skjávari"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Stillingar"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Sjálfvirk birtustilling"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Lyfta til að vekja"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Umhverfisskjár"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Eyða"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Öllum forritum og gögnum í þessari lotu verður eytt."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Fjarlægja"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gestur (þú)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Notendur"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Aðrir notendur"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Eyða aðgerðum úr gestalotu"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Eyða öllum forritum og gögnum úr gestalotu þegar gestastillingu er lokað"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Eyða aðgerðum úr gestalotu?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Forritum og gögnum úr þessari gestalotu verður eytt núna og öllum aðgerðum úr síðari gestalotum verður eytt í hvert skipti sem gestastillingu er lokað"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Kveikja á símtölum"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Kveikja á símtölum og SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Eyða notanda"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9c039d8..4669933 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Lingua di sistema"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Predefinita di sistema"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La selezione della lingua per questa app non è disponibile nelle Impostazioni."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"La lingua potrebbe essere diversa dalle lingue disponibili nell\'app. Alcune app potrebbero non supportare questa impostazione."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">Rimuovere le lingue selezionate?</item>
<item quantity="one">Rimuovere la lingua selezionata?</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Salvaschermo"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Usa il salvaschermo"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Durante la ricarica o quando inserito nel dock"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Entrambi i casi"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Durante la ricarica"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Quando inserito nel dock"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Mai"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Off"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Attiva il salvaschermo per controllare ciò che accade quando il telefono è inserito nel dock e/o in standby."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Quando avviare"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Salvaschermo attuale"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Impostazioni"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Luminosità automatica"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Solleva per riattivare"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Display ambient"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Elimina"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Tutte le app e i dati di questa sessione verranno eliminati."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Rimuovi"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Ospite (tu)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Utenti"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Altri utenti"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Elimina attività Ospite"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Elimina tutti i dati e le app Ospite quando esci dalla modalità Ospite"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vuoi eliminare l\'attività Ospite?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Le app e i dati di questa sessione Ospite verranno eliminati subito e ogni volta che uscirai dalla modalità Ospite verrà eliminata tutta l\'attività Ospite"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Attiva chiamate"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Attiva chiamate e SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Elimina utente"</string>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 37acbd3..df97f79 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -505,8 +505,8 @@
</string-array>
<string-array name="wifi_metered_entries">
<item msgid="3237321077949659241">"זיהוי אוטומטי"</item>
- <item msgid="3779092145391320375">"יש להתייחס כרשת עם חיוב לפי צריכת הנתונים"</item>
- <item msgid="2047166446768045816">"יש להתייחס כרשת שבה החיוב הוא לא לפי צריכת הנתונים"</item>
+ <item msgid="3779092145391320375">"יש להתייחס כרשת עם חיוב לפי שימוש בנתונים"</item>
+ <item msgid="2047166446768045816">"יש להתייחס כרשת שבה החיוב הוא לא לפי שימוש בנתונים"</item>
</string-array>
<string-array name="wifi_privacy_entries">
<item msgid="3485945604919292489">"שימוש בכתובת MAC אקראית (ברירת מחדל)"</item>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 21a045e..aff763f 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -164,7 +164,7 @@
<string name="connected_device_previously_connected_title" msgid="605808252622814415">"מכשירים שהיו מחוברים בעבר"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"מכשירים שחוברו בעבר"</string>
<string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth הופעל"</string>
- <string name="previous_connected_see_all" msgid="7759413145713251328">"הצגת כל הרשתות"</string>
+ <string name="previous_connected_see_all" msgid="7759413145713251328">"הצגת כל המכשירים"</string>
<string name="date_and_time" msgid="1788358029823431692">"תאריך ושעה"</string>
<string name="choose_timezone" msgid="1450780665958642147">"בחירת אזור זמן"</string>
<!-- no translation found for intent_sender_data_label (1733806423295725392) -->
@@ -229,8 +229,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"שפת המערכת"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"ברירת המחדל של המערכת"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"בחירות השפה לאפליקציה הזו לא זמינה בהגדרות."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"השפה עשויה להיות שונה מהשפות הזמינות באפליקציה. יכול להיות שחלק מהאפליקציות לא תומכות בהגדרה הזו."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="two">להסיר את השפות שנבחרו?</item>
<item quantity="many">להסיר את השפות שנבחרו?</item>
@@ -966,7 +965,7 @@
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
<string name="android_beam_on_summary" msgid="6067720758437490896">"מוכן לשדר תוכן אפליקציה באמצעות NFC"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"כבוי"</string>
- <string name="nfc_disabled_summary" msgid="8737797364522502351">"לא זמינה כי ה-NFC כבוי"</string>
+ <string name="nfc_disabled_summary" msgid="8737797364522502351">"לא זמינה כי NFC כבוי"</string>
<string name="android_beam_label" msgid="7168565080321110094">"Android Beam"</string>
<string name="android_beam_explained" msgid="5684416131846701256">"כשתכונה זו מופעלת, אפשר לשדר תוכן מאפליקציה למכשיר אחר התומך ב-NFC על ידי החזקת המכשירים קרוב זה לזה. לדוגמה, אפשר לשדר דפי אינטרנט, סרטוני YouTube, אנשי קשר ועוד.\n\nפשוט מקרבים את המכשירים זה לזה (בדרך כלל גב אל גב) ולאחר מכן נוגעים במסך. האפליקציה תקבע מה ישודר."</string>
<string name="wifi_quick_toggle_title" msgid="2737097538432862807">"Wi-Fi"</string>
@@ -1471,15 +1470,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"שומר מסך"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"שימוש בשומר מסך"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"במהלך טעינה או עגינה"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"בשני המצבים"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"במהלך טעינה"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"בזמן עגינה"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"אף פעם"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"כבוי"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"כדי לשלוט במה שקורה כאשר הטלפון בעגינה ו/או במצב שינה, הפעל את שומר המסך."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"מתי להפעיל"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"שומר המסך הנוכחי"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"הגדרות"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"בהירות אוטומטית"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"אפשר להרים כדי להוציא ממצב שינה"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"תצוגה רגישה לסביבה"</string>
@@ -2691,7 +2687,7 @@
<string name="fast_pair_settings" msgid="3308819519080016185">"התאמה מהירה"</string>
<string name="fast_pair_settings_summary" msgid="1786567691058982987">"זיהוי מכשירי Bluetooth עם התאמה מהירה בקרבת מקום."</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"סריקה לאיתור מכשירים בקרבת מקום"</string>
- <string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"התקנים שמורים"</string>
+ <string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"מכשירים שמורים"</string>
<string name="print_settings" msgid="8519810615863882491">"הדפסה"</string>
<string name="print_settings_summary_no_service" msgid="6721731154917653862">"כבוי"</string>
<plurals name="print_settings_summary" formatted="false" msgid="1034273609054146099">
@@ -3490,6 +3486,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"מחיקה"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"כל האפליקציות והנתונים בסשן הזה יימחקו."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"הסרה"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"אורח (את/ה)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"משתמשים"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"משתמשים אחרים"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"מחיקת פעילות האורח"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"מחיקת כל האפליקציות והנתונים של האורח ביציאה ממצב אורח"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"למחוק את פעילות האורח?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"האפליקציות והנתונים מהגלישה הזו כאורח יימחקו עכשיו, וכל פעילות עתידית של האורח תימחק בכל יציאה ממצב אורח"</string>
<string name="user_enable_calling" msgid="264875360626905535">"הפעלת שיחות טלפון"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"הפעלת שיחות טלפון ו-SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"מחיקת משתמש"</string>
@@ -4011,7 +4014,7 @@
<string name="lock_screen_notifs_redact_summary" msgid="1395483766035470612">"הצגת תוכן רגיש כשהמכשיר נעול"</string>
<string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"התראות רגישות מפרופיל העבודה"</string>
<string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"הצגת תוכן רגיש מפרופיל העבודה כשהמכשיר נעול"</string>
- <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"תוכן ההתראות יופיע במלואו"</string>
+ <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"הצגת תוכן ההתראות במלואו"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"הצגת תוכן רגיש רק כשהמכשיר לא נעול"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"לא להציג התראות בכלל"</string>
<string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"איך ברצונך להציג את מסך הנעילה?"</string>
@@ -5870,7 +5873,7 @@
<string name="mic_toggle_title" msgid="265145278323852547">"גישה למיקרופון"</string>
<string name="location_toggle_title" msgid="5229867700421750868">"גישה למיקום"</string>
<string name="perm_toggle_description" msgid="5754629581767319022">"לאפליקציות ולשירותים"</string>
- <string name="mic_toggle_description" msgid="484139688645092237">"לאפליקציות ולשירותים. אם ההגדרה מושבתת, נתוני המיקרופון ישותפו כשתתבצע שיחה למספר חירום."</string>
+ <string name="mic_toggle_description" msgid="484139688645092237">"לאפליקציות ולשירותים. אם ההגדרה מושבתת, ייתכן שנתוני המיקרופון ישותפו כשתתבצע שיחה למספר חירום."</string>
<string name="previous_page_content_description" msgid="6438292457923282991">"הקודם"</string>
<string name="next_page_content_description" msgid="1641835099813416294">"הבא"</string>
<string name="colors_viewpager_content_description" msgid="2591751086138259565">"תצוגה מקדימה של הצבע"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 0203b0b..a6573c4 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -860,7 +860,7 @@
<string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"このデバイスとのペア設定を解除しますか?"</string>
<string name="remove_association_button" msgid="5004208145998061135">"関連付けを削除"</string>
<string name="bluetooth_companion_app_remove_association_dialog_title" msgid="1344518601377991897">"アプリの接続を解除しますか?"</string>
- <string name="bluetooth_unpair_dialog_body" product="default" msgid="4730377171981539265">"このスマートフォンと <xliff:g id="DEVICE_NAME">%1$s</xliff:g> とのペア設定が解除されます"</string>
+ <string name="bluetooth_unpair_dialog_body" product="default" msgid="4730377171981539265">"お使いのスマートフォンと <xliff:g id="DEVICE_NAME">%1$s</xliff:g> とのペア設定が解除されます"</string>
<string name="bluetooth_unpair_dialog_body" product="tablet" msgid="3428463407231980054">"このタブレットと <xliff:g id="DEVICE_NAME">%1$s</xliff:g> とのペア設定を解除します"</string>
<string name="bluetooth_unpair_dialog_body" product="device" msgid="5117397433721336918">"このデバイスと <xliff:g id="DEVICE_NAME">%1$s</xliff:g> とのペア設定を解除します"</string>
<string name="bluetooth_companion_app_body" msgid="8442643629075687761">"<xliff:g id="APP_NAME">%1$s</xliff:g> アプリは <xliff:g id="DEVICE_NAME">%2$s</xliff:g> に接続できなくなります。"</string>
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"スクリーンセーバー"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"スクリーン セーバーを使用する"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充電時またはドッキング時"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"いずれか"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"充電時"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ドッキング時"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"なし"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"OFF"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"スマートフォンのドッキング時やスリープ時の動作を管理するには、スクリーン セーバーを ON にします。"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"起動するタイミング"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"現在のスクリーンセーバー"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"設定"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"明るさを自動調整"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"指を離してスリープ状態から復帰"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"アンビエント表示"</string>
@@ -2096,7 +2093,7 @@
<string name="internal_storage" msgid="999496851424448809">"内部ストレージ"</string>
<string name="recompute_size" msgid="1098091228370999128">"サイズを再計算中..."</string>
<string name="clear_data_dlg_title" msgid="180446967743732410">"アプリのデータを削除しますか?"</string>
- <string name="clear_data_dlg_text" msgid="3440011276559762619">"このアプリのデータ(ファイル、設定など)はこのデバイスから完全に削除されます"</string>
+ <string name="clear_data_dlg_text" msgid="3440011276559762619">"このアプリのデータ(ファイル、設定など)がデバイスから完全に削除されます"</string>
<string name="dlg_ok" msgid="1421350367857960997">"OK"</string>
<string name="dlg_cancel" msgid="5164705061530774899">"キャンセル"</string>
<string name="dlg_delete" msgid="1790919205039397659">"削除"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"削除"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"このセッションでのアプリとデータはすべて削除されます。"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"削除"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"ゲスト(自分)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"ユーザー"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"その他のユーザー"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"ゲストのアクティビティを削除"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"ゲストモードの終了時にゲストのすべてのアプリとデータを削除します"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ゲストのアクティビティを削除しますか?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"今回のゲスト セッションのアプリとデータが今すぐ削除され、今後のゲストのアクティビティはすべて、ゲストモードを終了するたびに削除されます"</string>
<string name="user_enable_calling" msgid="264875360626905535">"通話をON"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"通話とSMSをON"</string>
<string name="user_remove_user" msgid="8468203789739693845">"ユーザーの削除"</string>
@@ -5650,7 +5654,7 @@
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Wi-Fi アクセス ポイントの使用"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"アプリ固定機能を使用"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"開発者向けオプションの使用"</string>
- <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"印刷サービスの使用"</string>
+ <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"印刷サービスを使用"</string>
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"複数のユーザーの許可"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ワイヤレス デバッグの使用"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"グラフィックス ドライバの設定の使用"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 96b09bf..6f072f6 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -1428,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"ეკრანმზოგი"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"გამოიყენეთ ეკრანმზოგი"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"დატენვისას ან სანამ ჩამაგრებულია"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"ორივე შემთხვევაში"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"დატენვისას"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"სანამ ჩამაგრებულია"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"არასოდეს"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"გამორთული"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"დოკ-სადგურთან მიერთების და/ან ძილის რეჟიმზე გადასვლის დროს ტელეფონის ქცევის სამართავად, ჩართეთ ეკრანმზოგი."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"გაშვების დრო"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"ამჟამინდელი ეკრანმზოგი"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"პარამეტრები"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"ავტომატური სიკაშკაშე"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"გაღვიძება აწევისას"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"ემბიენტური ეკრანი"</string>
@@ -3399,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"წაშლა"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"ამ სესიის ყველა აპი და მონაცემი წაიშლება."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"ამოშლა"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"სტუმარი (თქვენ)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"მომხმარებლები"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"სხვა მომხმარებლები"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"სტუმრის აქტივობის წაშლა"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"სტუმრის ყველა აპის და მონაცემის წაშლა სტუმრის რეჟიმიდან გასვლისას"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"გსურთ სტუმრის აქტივობის წაშლა?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"აპები და მონაცემები სტუმრის ამ სესიიდან წაიშლება ახლავე, ხოლო სტუმრის ყველა მომავალი აქტივობა წაიშლება ყოველთვის, როცა სტუმრის რეჟიმიდან გახვალთ"</string>
<string name="user_enable_calling" msgid="264875360626905535">"სატელეფონო ზარების ჩართვა"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"სატელ. ზარების და SMS-ის ჩართვა"</string>
<string name="user_remove_user" msgid="8468203789739693845">"მომხმარებლის წაშლა"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 0cbbab6..4f06ed9 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -325,7 +325,7 @@
</plurals>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Жүктелуде…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"Маңайдағы құрылғыларды пайдалану рұқсаты бар қолданбалар телефонға жалғанған құрылғылардың тиісті орнын анықтай алады."</string>
- <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Қолданбалар мен қызметтер үшін локацияны пайдалану рұқсаты өшірулі. Сіз құтқару қызметінің нөміріне қоңырау шалған немесе мәтіндік хабар жіберген кезде, құрылғыңыздың локациясы бұрынғысынша құтқару қызметтеріне жіберілуі мүмкін."</string>
+ <string name="location_settings_footer_location_off" msgid="8568995909147566720">"Қолданбалар мен қызметтер үшін локацияны пайдалану рұқсаты өшірулі. Бірақ құтқару қызметіне қоңырау шалатын немесе хабар жіберетін болсаңыз, құрылғыңыздың локациясы беріледі."</string>
<string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Локация параметрлері туралы толығырақ ақпарат алыңыз."</string>
<string name="account_settings_title" msgid="9138880127246241885">"Аккаунттар"</string>
<string name="security_settings_title" msgid="6710768415432791970">"Қауіпсіздік"</string>
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Скринсейвер"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Скринсейверді пайдалану"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Зарядтау кезінде немесе қондыру станциясында"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Екеуі де"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Зарядтау кезінде"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Қондыру станциясында"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Ешқашан"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Өшірулі"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Телефон қондырылған және/немесе ұйықтаған кездегі процесті бақылау үшін скринсейверді қосыңыз."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Іске қосылатын кезі"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Қазіргі скринсейвер"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Параметрлер"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Aвтоматтық жарықтық"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Ояту үшін көтеру"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Экранды автоматты қосу"</string>
@@ -1851,7 +1848,7 @@
<string name="location_recent_location_requests_see_all" msgid="7918405176741692524">"Барлығын көру"</string>
<string name="location_category_location_services" msgid="8163798686832434284">"Локация қызметтері"</string>
<string name="location_title" msgid="5819154746934945021">"Mенің аймағым"</string>
- <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Жұмыс профилі үшін орналасу дерегі"</string>
+ <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Жұмыс профиліндегі локация"</string>
<string name="location_app_level_permissions" msgid="907206607664629759">"Қолданбалардың локацияны пайдалануы"</string>
<string name="location_app_permission_summary_location_off" msgid="2711822936853500335">"Локация өшірулі"</string>
<plurals name="location_app_permission_summary_location_on" formatted="false" msgid="8286873148858526214">
@@ -2629,20 +2626,20 @@
<string name="keywords_rtt" msgid="2429130928152514402">"нашар есту қабілеті, есту қабілетінен айырылу, жазулар, телетайп"</string>
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
<string name="fast_pair_settings" msgid="3308819519080016185">"Fast Pair"</string>
- <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Nearby-дың Fast Pair арқылы Bluetooth құрылғыларын анықтауы."</string>
+ <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Маңайдағы Fast Pair Bluetooth құрылғыларын анықтау"</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"Маңайдағы құрылғыларды іздеу"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"Сақталған құрылғылар"</string>
<string name="print_settings" msgid="8519810615863882491">"Басып шығару"</string>
<string name="print_settings_summary_no_service" msgid="6721731154917653862">"Өшірулі"</string>
<plurals name="print_settings_summary" formatted="false" msgid="1034273609054146099">
- <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> басып шығару қызметі қосулы</item>
- <item quantity="one">1 басып шығару қызметі қосулы</item>
+ <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> баспа қызметі қосулы</item>
+ <item quantity="one">1 баспа қызметі қосулы</item>
</plurals>
<plurals name="print_jobs_summary" formatted="false" msgid="3933688846338306536">
<item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> басып шығару тапсырмасы</item>
<item quantity="one">1 басып шығару тапсырмасы</item>
</plurals>
- <string name="print_settings_title" msgid="7680498284751129935">"Басып шығару қызметтері"</string>
+ <string name="print_settings_title" msgid="7680498284751129935">"Баспа қызметтері"</string>
<string name="print_no_services_installed" msgid="7554057966540602692">"Ешқандай қызметтер орнатылмаған"</string>
<string name="print_no_printers_found" msgid="4833082484646109486">"Ешқандай принтерлер табылмады"</string>
<string name="print_menu_item_settings" msgid="8202755044784599740">"Параметрлер"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Жою"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Осы сеанстағы барлық қолданбалар мен деректер жойылады."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Алып тастау"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Қонақ (сіз)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Пайдаланушылар"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Басқа пайдаланушылар"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Қонақ әрекетін жою"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Қонақ режимінен шыққан кезде, барлық қонақ қолданбасы мен дерегін жою"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Қонақ әрекетін жою керек пе?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Осы қонақ сеансындағы қолданбалар мен деректер қазір жойылады және қонақ режимінен шыққан сайын қонақтың барлық әрекеті өшіп отырады."</string>
<string name="user_enable_calling" msgid="264875360626905535">"Телефон қоңырауларын қосу"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Телефон қоңырауларын және SMS қосу"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Пайдаланушыны жою"</string>
@@ -3418,7 +3422,7 @@
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"Қолжетімді қолданбаларды орнату"</string>
<string name="nfc_payment_settings_title" msgid="2043139180030485500">"Контактісіз төлемдер"</string>
<string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"Әдепкі төлем қолданбасы"</string>
- <string name="nfc_default_payment_footer" msgid="978535088340021360">"Төлем қолданбасы арқылы төлеу үшін құрылғыңыздың артқы жағын төлем терминалына жақындатып ұстаңыз."</string>
+ <string name="nfc_default_payment_footer" msgid="978535088340021360">"Төлем қолданбасы арқылы төлеу үшін құрылғыңыздың артқы жағын төлем терминалына жақындатыңыз."</string>
<string name="nfc_more_details" msgid="1700713533074275233">"Толығырақ"</string>
<string name="nfc_default_payment_workapp_confirmation_title" msgid="746921251872504687">"Жұмыс қолданбасы әдепкі төлем қолданбасы етіп орнатылсын ба?"</string>
<string name="nfc_default_payment_workapp_confirmation_message_title" msgid="1533022606333010329">"Жұмыс қолданбасы арқылы төлем жасау:"</string>
@@ -3429,8 +3433,8 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"Әдепкі төлем қолданбасы"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"Орнатылмаған"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"Әдепкі төлем қолданбасын пайдаланыңыз"</string>
- <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Әдепкі төлем қолданбасын пайдаланыңыз"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"Әдепкі төлем қолданбасын пайдалану"</string>
+ <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Әдепкі төлем қолданбасын пайдалану"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"Әрқашан"</string>
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"Басқа төлем қолданбасы ашық кезді қоспағанда"</string>
<string name="nfc_payment_pay_with" msgid="3001320460566523453">"Контактісіз төлем терминалында төлеу әдісі:"</string>
@@ -3910,7 +3914,7 @@
<string name="lockscreen_bypass_summary" msgid="464277506200346748">"Құлыпты ашқан соң, бірден соңғы ашылған экранға өту"</string>
<string name="keywords_lockscreen_bypass" msgid="41035425468915498">"Құлып экраны, құлыптаулы экран, өткізіп жіберу, өткізу"</string>
<string name="locked_work_profile_notification_title" msgid="279367321791301499">"Жұмыс профилі өшірулі болғанда"</string>
- <string name="lock_screen_notifs_title" msgid="3412042692317304449">"Құлыптаулы экрандағы хабарландырулар"</string>
+ <string name="lock_screen_notifs_title" msgid="3412042692317304449">"Құлып экранындағы хабарландыру"</string>
<string name="lock_screen_notifs_show_all_summary" msgid="4226586018375762117">"Әңгімелерді (әдепкі және дыбыссыз) көрсету"</string>
<string name="lock_screen_notifs_show_all" msgid="1300418674456749664">"Барлық хабарландыруды көрсету"</string>
<string name="lock_screen_notifs_show_alerting" msgid="6584682657382684566">"Үнсіз әңгімелерді және хабарландыруларды жасыру"</string>
@@ -5690,7 +5694,7 @@
<string name="mic_toggle_title" msgid="265145278323852547">"Микрофонды пайдалану"</string>
<string name="location_toggle_title" msgid="5229867700421750868">"Локацияны пайдалану рұқсаты"</string>
<string name="perm_toggle_description" msgid="5754629581767319022">"Қолданбалар мен қызметтер үшін"</string>
- <string name="mic_toggle_description" msgid="484139688645092237">"Қолданбалар мен қызметтерге арналған. Бұл параметр өшірілсе де, құтқару қызметінің нөміріне қоңырау шалғанда, микрофон деректері жіберілуі мүмкін."</string>
+ <string name="mic_toggle_description" msgid="484139688645092237">"Қолданбалар мен қызметтер үшін таңдалады. Бұл параметр өшірілсе де, құтқару қызметінің нөміріне қоңырау шалғанда, микрофон деректері жіберілуі мүмкін."</string>
<string name="previous_page_content_description" msgid="6438292457923282991">"Алдыңғы"</string>
<string name="next_page_content_description" msgid="1641835099813416294">"Келесі"</string>
<string name="colors_viewpager_content_description" msgid="2591751086138259565">"Түсті алдын ала қарау"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 99d9d39..17ea5fa 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"ធាតុរក្សាអេក្រង់"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ប្រើធាតុរក្សាអេក្រង់"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ពេលសាកថ្ម ឬភ្ជាប់"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"ទាំងពីរ"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ពេលសាកថ្ម"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ពេលភ្ជាប់"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"កុំឲ្យសោះ"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"បិទ"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ដើម្បីគ្រប់គ្រងអ្វីដែលកើតឡើង នៅពេលទូរស័ព្ទត្រូវបានដោត និង/ឬកំពុងដេក សូមបើកធាតុរក្សាអេក្រង់។"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"ពេលដែលត្រូវចាប់ផ្តើម"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"ធាតុរក្សាអេក្រង់បច្ចុប្បន្ន"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"ការកំណត់"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"ពន្លឺស្វ័យប្រវត្តិ"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"លើកដៃដើម្បីឲ្យភ្ញាក់"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"មុខងារអេក្រង់សម្ងំ"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"លុប"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"កម្មវិធី និងទិន្នន័យទាំងអស់ក្នុងវគ្គនេះនឹងត្រូវលុប។"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"ដកចេញ"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"ភ្ញៀវ (អ្នក)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"អ្នកប្រើប្រាស់"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"អ្នកប្រើប្រាស់ផ្សេងទៀត"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"លុបសកម្មភាពភ្ញៀវ"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"លុបទិន្នន័យ និងកម្មវិធីភ្ញៀវទាំងអស់ នៅពេលចាកចេញពីមុខងារភ្ញៀវ"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"លុបសកម្មភាពភ្ញៀវឬ?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"កម្មវិធី និងទិន្នន័យពីវគ្គភ្ញៀវនេះនឹងត្រូវបានលុបឥឡូវនេះ ហើយសកម្មភាពភ្ញៀវនាពេលអនាគតទាំងអស់នឹងត្រូវបានលុប នៅរាល់ពេលដែលអ្នកចាកចេញពីមុខងារភ្ញៀវ"</string>
<string name="user_enable_calling" msgid="264875360626905535">"បើកការហៅទូរសព្ទ"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"បើកការហៅទូរសព្ទ និងសារ SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"លុបអ្នកប្រើប្រាស់"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index a4a245b..24c1d32 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"ಸೂಚಿಸಿರುವ ಭಾಷೆಗಳು"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"ಎಲ್ಲಾ ಭಾಷೆಗಳು"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"ಸಿಸ್ಟಂ ಭಾಷೆ"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"ಸಿಸ್ಟಂ ಡೀಫಾಲ್ಟ್"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ಸೆಟ್ಟಿಂಗ್ಗಳ ಮೂಲಕ ಈ ಆ್ಯಪ್ಗಾಗಿ ಭಾಷೆಯ ಆಯ್ಕೆಯು ಲಭ್ಯವಿಲ್ಲ."</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -745,7 +744,7 @@
<item quantity="one">ಪಿನ್ ಕನಿಷ್ಠ <xliff:g id="COUNT_1">%d</xliff:g> ಅಂಕಿಗಳನ್ನು ಹೊಂದಿರಬೇಕು</item>
<item quantity="other">ಪಿನ್ ಕನಿಷ್ಠ <xliff:g id="COUNT_1">%d</xliff:g> ಅಂಕಿಗಳನ್ನು ಹೊಂದಿರಬೇಕು</item>
</plurals>
- <string name="lockpassword_continue_label" msgid="2507983991979547816">"ಮುಂದುವರಿಸು"</string>
+ <string name="lockpassword_continue_label" msgid="2507983991979547816">"ಮುಂದುವರಿಸಿ"</string>
<plurals name="lockpassword_password_too_long" formatted="false" msgid="8118091957172967677">
<item quantity="one"> <xliff:g id="NUMBER_1">%d</xliff:g> ಗಿಂತ ಕಡಿಮೆ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರಬೇಕು</item>
<item quantity="other"> <xliff:g id="NUMBER_1">%d</xliff:g> ಗಿಂತ ಕಡಿಮೆ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರಬೇಕು</item>
@@ -845,7 +844,7 @@
<string name="bluetooth_preference_no_found_devices" msgid="1331122763066030155">"ಯಾವುದೇ ಸಾಧನಗಳು ಲಭ್ಯವಿಲ್ಲ"</string>
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ಸಂಪರ್ಕಿಸಿ"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿ"</string>
- <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ಜೋಡಿಸು ಮತ್ತು ಸಂಪರ್ಕಪಡಿಸು"</string>
+ <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ಜೋಡಿಸಿ ಮತ್ತು ಸಂಪರ್ಕಪಡಿಸಿ"</string>
<string name="bluetooth_device_context_unpair" msgid="7525735305244087162">"ಜೋಡಣೆ ರದ್ದುಗೊಳಿಸು"</string>
<string name="bluetooth_device_context_disconnect_unpair" msgid="2001359431289794561">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸು & ಜೋಡಣೆ ರದ್ದುಗೊಳಿಸು"</string>
<string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"ಆಯ್ಕೆಗಳು..."</string>
@@ -1430,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"ಸ್ಕ್ರೀನ್ ಸೇವರ್"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ಸ್ಕ್ರೀನ್ ಸೇವರ್ ಅನ್ನು ಬಳಸಿ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ಚಾರ್ಜ್ ಮಾಡುವಾಗ ಅಥವಾ ಡಾಕ್ ಮಾಡುವಾಗ"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"ಎರಡೂ ಸಂದರ್ಭಗಳಲ್ಲಿ"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ಚಾರ್ಜ್ ಆಗುತ್ತಿರುವಾಗ"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ಡಾಕ್ ಆಗಿರುವಾಗ"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"ಎಂದಿಗೂ ಇಲ್ಲ"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"ಆಫ್"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ಫೋನ್ ಡಾಕ್ ಆದಾಗ ಮತ್ತು/ಅಥವಾ ನಿದ್ದೆ ಮೋಡ್ನಲ್ಲಿರುವಾಗ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಲು ಸ್ಕ್ರೀನ್ ಸೇವರ್ ಆನ್ ಮಾಡಿ."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"ಯಾವಾಗ ಪ್ರಾರಂಭಿಸಬೇಕು"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"ಪ್ರಸ್ತುತ ಸ್ಕ್ರೀನ್ ಸೇವರ್"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"ಸ್ವಯಂಚಾಲಿತ ಪ್ರಖರತೆ"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"ಎಬ್ಬಿಸಲು ಎತ್ತಿರಿ"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"ಆಂಬಿಯೆಂಟ್ ಡಿಸ್ಪ್ಲೇ"</string>
@@ -1856,8 +1852,8 @@
<string name="location_app_level_permissions" msgid="907206607664629759">"ಆ್ಯಪ್ ಸ್ಥಳದ ಅನುಮತಿಗಳು"</string>
<string name="location_app_permission_summary_location_off" msgid="2711822936853500335">"ಸ್ಥಳ ಆಫ್ ಆಗಿದೆ"</string>
<plurals name="location_app_permission_summary_location_on" formatted="false" msgid="8286873148858526214">
- <item quantity="one"> <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> ರಲ್ಲಿ <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> ಆ್ಯಪ್ಗಳು ಸ್ಥಳಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದೆ</item>
- <item quantity="other"> <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> ರಲ್ಲಿ <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> ಆ್ಯಪ್ಗಳು ಸ್ಥಳಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದೆ</item>
+ <item quantity="one"> <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> ರಲ್ಲಿ <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> ಆ್ಯಪ್ಗಳು ಸ್ಥಳಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿವೆ</item>
+ <item quantity="other"> <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> ರಲ್ಲಿ <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> ಆ್ಯಪ್ಗಳು ಸ್ಥಳಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿವೆ</item>
</plurals>
<string name="location_category_recent_location_access" msgid="2558063524482178146">"ಇತ್ತೀಚಿನ ಪ್ರವೇಶ"</string>
<string name="location_recent_location_access_see_all" msgid="4203102419355323325">"ಎಲ್ಲವನ್ನೂ ನೋಡಿ"</string>
@@ -3401,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"ಅಳಿಸಿ"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"ಈ ಸೆಷನ್ನಲ್ಲಿನ ಎಲ್ಲ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"ತೆಗೆದುಹಾಕಿ"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"ಅತಿಥಿ (ನೀವು)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"ಬಳಕೆದಾರರು"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"ಇತರ ಬಳಕೆದಾರರು"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"ಅಥಿತಿ ಚಟುವಟಿಕೆಯನ್ನು ಅಳಿಸಿ"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"ಅತಿಥಿ ಮೋಡ್ನಿಂದ ನಿರ್ಗಮಿಸುವಾಗ ಎಲ್ಲಾ ಅತಿಥಿ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಿ"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ಅಥಿತಿ ಚಟುವಟಿಕೆಯನ್ನು ಅಳಿಸಬೇಕೆ?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"ಈ ಅತಿಥಿ ಸೆಶನ್ನಿಂದ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಈಗ ಅಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನೀವು ಅತಿಥಿ ಮೋಡ್ನಿಂದ ನಿರ್ಗಮಿಸಿದ ಪ್ರತಿ ಬಾರಿ ಭವಿಷ್ಯದ ಎಲ್ಲಾ ಅತಿಥಿ ಚಟುವಟಿಕೆಯನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ಫೋನ್ ಕರೆಗಳನ್ನು ಆನ್ ಮಾಡಿ"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ಫೋನ್ ಕರೆಗಳು ಮತ್ತು ಎಸ್ಎಂಎಸ್ ಆನ್ ಮಾಡಿ"</string>
<string name="user_remove_user" msgid="8468203789739693845">"ಬಳಕೆದಾರರನ್ನು ಅಳಿಸಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 0d52526..490bcf7 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -1431,15 +1431,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"화면 보호기"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"화면 보호기 사용"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"충전 또는 도킹하는 동안"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"도킹이나 충전 중일 때"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"충전하는 동안"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"도킹하는 동안"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"사용 안함"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"사용 안함"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"휴대전화가 도킹 또는 절전 모드일 때 작동 방식을 조정하려면 화면 보호기를 사용 설정합니다."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"표시 시간"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"현재 화면 보호기"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"설정"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"자동 밝기"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"기기를 들어 대기 모드 해제"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"절전 모드 자동 해제"</string>
@@ -3402,6 +3399,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"삭제"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"이 세션에 있는 모든 앱과 데이터가 삭제됩니다."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"삭제"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"게스트(나)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"사용자"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"다른 사용자"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"게스트 활동 삭제"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"게스트 모드 종료 시 모든 게스트 앱 및 데이터 삭제"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"게스트 활동을 삭제하시겠습니까?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"현재 게스트 세션의 앱과 데이터가 지금 삭제되고 이후 모든 게스트 활동은 게스트 모드를 종료할 때마다 삭제됩니다."</string>
<string name="user_enable_calling" msgid="264875360626905535">"통화 기능 사용"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"통화 및 SMS 기능 사용"</string>
<string name="user_remove_user" msgid="8468203789739693845">"사용자 삭제"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 8f4f17c..613b7a0 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Тутумдун тили"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Тутумдун демейки параметрлери"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Бул колдонмонун тилин Жөндөөлөрдөн тандоого болбойт."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Тил колдонмодо жеткиликтүү тилдерден айырмаланышы мүмкүн. Бул жөндөө айрым колдонмолор тарабынан колдоого алынбайт болушу мүмкүн."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">Тандалган тилдерди өчүрөсүзбү?</item>
<item quantity="one">Тандалган тилди өчүрөсүзбү?</item>
@@ -791,7 +790,7 @@
<string name="lockpassword_confirm_label" msgid="560897521093566777">"Ырастоо"</string>
<string name="lockpassword_cancel_label" msgid="6711112212489992112">"Жок"</string>
<string name="lockpassword_clear_label" msgid="311359833434539894">"Тазалоо"</string>
- <string name="lockpassword_credential_changed" msgid="5934778179732392028">"Экранды бөгөттөө өзгөртүлгөн. Жаңы экранды бөгөттөө дайындары менен аракет кылып көрүңүз."</string>
+ <string name="lockpassword_credential_changed" msgid="5934778179732392028">"Экранды бөгөттөө өзгөргөн. Жаңы экранды бөгөттөө дайындары менен аракет кылып көрүңүз."</string>
<string name="lockpattern_tutorial_cancel_label" msgid="775215267818384016">"Жок"</string>
<string name="lockpattern_tutorial_continue_label" msgid="1329049481210689408">"Кийинки"</string>
<string name="lock_setup" msgid="4622999020926280737">"Орнотуу аяктады."</string>
@@ -1267,7 +1266,7 @@
<string name="sound_effects_enable_title" msgid="328569690466233866">"Таптоонун добуштары"</string>
<string name="lock_sounds_enable_title" msgid="804365014499259673">"Бөгөттөөчү көшөгөнүн үнү"</string>
<string name="audio_record_proc_title" msgid="486071779724181619">"Чуу басар"</string>
- <string name="volume_media_description" msgid="2736061076584067204">"Музыка, видео, оюндар, жана башка медиалар"</string>
+ <string name="volume_media_description" msgid="2736061076584067204">"Музыка, видео, оюндар жана башка медиа файлдар"</string>
<string name="volume_ring_description" msgid="5423168446359881864">"Рингтон жана билдирмелер"</string>
<string name="volume_notification_description" msgid="3241009629930030492">"Билдирмелер"</string>
<string name="volume_alarm_description" msgid="156563371961039376">"Ойготкучтар"</string>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Көшөгө"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Көшөгөнү колдонуу"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Кубатталып жатканда же док-станцияга туташканда"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Эки учурда тең"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Кубатталып жатканда"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Док-станцияда"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Эч качан"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Өчүк"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Телефон докко орнотулганда жана/же уйку режиминде турганда эмне болоорун көзөмөлдөө үчүн көшөгөнү күйгүзүңүз."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Качан иштеп баштайт"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Учурдагы көшөгө"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Жөндөөлөр"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Автоматтык жарыктык"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Ойготуу үчүн көтөрүү"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Экран автоматтык түрдө күйөт"</string>
@@ -3081,7 +3077,7 @@
<string name="backup_inactive_title" msgid="6753265378043349277">"Камдык көчүрмөнү сактоо кызматы иштетилген эмес"</string>
<string name="backup_configure_account_default_summary" msgid="5323225330966306690">"Камдык көчүрмөлөр сакталган бир дагы аккаунт табылган жок"</string>
<string name="backup_erase_dialog_title" msgid="5892431263348766484"></string>
- <string name="backup_erase_dialog_message" msgid="2250872501409574331">"Колдонмолордун берилиштерин, Wi-Fi сырсөздөрүн, бүктөмөлөрдү, жана башка тууралоолорду, колдономолордун берилиштерин Google\'дун серверине сактоо токтотулуп, бардык көчүрмөлөр жок кылынсынбы?"</string>
+ <string name="backup_erase_dialog_message" msgid="2250872501409574331">"Колдонмолордун берилиштерин, Wi-Fi сырсөздөрүн, бүктөмөлөрдү жана башка тууралоолорду, колдономолордун берилиштерин Google\'дун серверине сактоо токтотулуп, бардык көчүрмөлөр жок кылынсынбы?"</string>
<string name="fullbackup_erase_dialog_message" msgid="2379053988557486162">"Түзмөктөгү нерселердин (мисалы, Wi-Fi тармагынын сырсөздөрү жана чалуулар таржымалы) жана колдонмодогу нерселердин (мисалы жөндөөлөр жана файлдар) камдык көчүрмөсү мындан ары сакталбай, аралыктагы серверлердеги бардык көчүрмөлөр өчүрүлөт. Уланта бересизби?"</string>
<string name="fullbackup_data_summary" msgid="971587401251601473">"Түзмөктөгү нерселердин (мисалы, Wi-Fi тармагынын сырсөздөрү жана чалуулар таржымалы) жана колдонмодогу нерселердин (мисалы жөндөөлөр жана файлдар) камдык көчүрмөсү алыстан автоматтык түрдө сакталат.\n\nКамдык көчүрмөнү автоматтык түрдө сактоо мүмкүнчүлүгү иштетилгенде, түзмөктүн жана колдонмонун дайындары маалы менен автоматтык түрдө сакталып турат. Иштеп чыгуучунун жөндөөлөрүнө ылайык колдонмодо сакталган дайындарда байланыштар, билдирүүлөр, сүрөттөр сыяктуу купуя маалыматтар камтылышы мүмкүн."</string>
<string name="device_admin_settings_title" msgid="31392408594557070">"Түзмөктү башкарган колдонмонун жөндөөлөрү"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Жок кылуу"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Бул сеанстагы бардык колдонмолор жана маалыматтар өчүрүлөт."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Өчүрүү"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Конок (сиз)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Колдонуучулар"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Башка колдонуучулар"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Коноктун аракеттерин жок кылуу"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Конок режиминен чыкканда коноктун бардык колдонмолорду жана дайындарды өчүрүүү"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Коноктун аракеттери өчүрүлсүнбү?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Бул конок сеансындагы бардык колдонмолор жана дайындар азыр жок кылынат жана кийин конок режиминен чыккан сайын бардык конок аракеттери өчүрүлүп турат"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Телефон аркылуу чалууну иштетүү"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Чалуулар менен SMS иштетүү"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Колдонуучуну жок кылуу"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 8011f2b..a78a330 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"ພາບພັກໜ້າຈໍ"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ໃຊ້ພາບພັກໜ້າຈໍ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ໃນຂະນະທີ່ກຳລັງສາກ ຫຼື ວາງໄວ້ບ່ອນຕັ້ງສາກ"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"ແບບໃດກໍໄດ້"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ໃນຂະນະທີ່ກຳລັງສາກໄຟ"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ໃນຂະນະຕັ້ງໃສ່ບ່ອນຕັ້ງສາກ"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"ບໍ່ມີກຳນົດ"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"ປິດ"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ເພື່ອຄວບຄຸມວ່າຈະເກີດຫຍັງຂຶ້ນເມື່ອວາງໂທລະສັບໄວ້ ແລະ/ຫຼື ເມື່ອກຳລັງນອນຫຼັບ, ໃຫ້ເປີດພາບພັກໜ້າຈໍກ່ອນ."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"ເລີ່ມຕອນໃດ"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"ຕົວພັກໜ້າຈໍປັດຈຸບັນ"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"ການຕັ້ງຄ່າ"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"ປັບຄວາມແຈ້ງອັດຕະໂນມັດ"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"ຍົກເພື່ອເປີດໜ້າຈໍ"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"ການສະແດງຜົນສະພາບແວດລ້ອມ"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"ລຶບ"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"ແອັບ ແລະ ຂໍ້ມູນທັງໝົດໃນເຊດຊັນນີ້ຈະຖືກລຶບອອກ."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"ລຶບ"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"ແຂກ (ທ່ານ)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"ຜູ້ໃຊ້"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"ຜູ້ໃຊ້ອື່ນໆ"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"ລຶບການເຄື່ອນໄຫວແຂກ"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"ລຶບແອັບ ແລະ ຂໍ້ມູນແຂກທັງໝົດອອກໃນເວລາອອກຈາກໂໝດແຂກ"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ລຶບການເຄື່ອນໄຫວແຂກບໍ?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"ແອັບ ແລະ ຂໍ້ມູນຈາກໄລຍະເວລາຂອງແຂກຈະຖືກລຶບອອກຕອນນີ້ ແລະ ການເຄື່ອນໄຫວແຂກໃນອະນາຄົດທັງໝົດຈະຖືກລຶບອອກໃນແຕ່ລະເທື່ອທີ່ທ່ານອອກຈາກໂໝດແຂກ"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ເປີດການໂທ"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ເປີດໂທລະສັບ ແລະ SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"ລຶບຜູ້ໃຊ້"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 943a678..f0b5c6d 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -1469,15 +1469,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekrano užsklanda"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Ekrano užsklandos naudojimas"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Įkraunat ar prijungus prie doko"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Abiem atvejais"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Įkraunant"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Kai yra doke"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Niekada"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Išjungta"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Jei norite valdyti, kas vyksta, kai telefonas yra doke ir (arba) veikia miego režimu, įjunkite ekrano užsklandą."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kada paleisti"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Dabartinė ekrano užsklanda"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Nustatymai"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatinis šviesumas"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Pakelti ir pažadinti"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Adaptyvusis vaizdas"</string>
@@ -3488,6 +3485,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Ištrinti"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Bus ištrintos visos šios sesijos programos ir duomenys."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Pašalinti"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Svečias (jūs)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Naudotojai"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Kiti naudotojai"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Ištrinti svečio veiklą"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Išeinant iš svečio režimo ištrinti visas svečio programas ir duomenis"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Ištrinti svečio veiklą?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Šios svečio sesijos programos ir duomenys bus ištrinti dabar, o visa būsima svečio veikla bus ištrinta kiekvieną kartą, kai išeisite iš svečio režimo"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Įjungti telefono skambučius"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Įjungti telefono skambučius ir SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Naudotojo ištrynimas"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index b7c519c..82bfa3c 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -226,8 +226,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Ieteiktās valodas"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Visas valodas"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Sistēmas valoda"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Sistēmas noklusējums"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Iestatījumos nav pieejama valodas atlase šai lietotnei."</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -1450,15 +1449,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekrānsaudzētājs"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Izmantot ekrānsaudzētāju"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Uzlādes vai dokošanas laikā"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Vienmēr"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Uzlādes laikā"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Kamēr tiek dokots"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nekad"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Izslēgts"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Lai kontrolētu, kas notiek, kad tālrunis tiek dokots un/vai ir miega režīmā, ieslēdziet ekrānsaudzētāju."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kad sākt"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Pašreizējais ekrānsaudzētājs"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Iestatījumi"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automātisks spilgtums"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Pacelt, lai ieslēgtu"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Gaidstāves ekrāns"</string>
@@ -3445,6 +3441,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Dzēst"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Tiks dzēstas visas šīs sesijas lietotnes un dati."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Noņemt"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Viesis (jūs)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Lietotāji"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Citi lietotāji"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Dzēst viesa darbības"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Dzēst visas viesa lietotnes un darbības, izejot no viesa režīma"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vai dzēst viesa darbības?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Šīs viesa sesijas darbības un dati tagad tiks dzēsti, un turpmākās viesu darbības tiks dzēstas katru reizi, kad iziesiet no viesa režīma."</string>
<string name="user_enable_calling" msgid="264875360626905535">"Ieslēgt tālruņa zvanus"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Ieslēgt tālruņa zvanus un īsziņas"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Dzēst lietotāju"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index faa9638..fa7deb2 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -1430,15 +1430,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Заштитник на екран"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Користи заштитник на екран"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Додека се полни или е приклучен"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"И во двата случаи"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Додека се полни"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Додека е приклучен на док"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Никогаш"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Исклучено"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"За да контролирате што се случува кога телефонот е приклучен на полнач и/или е во мирување, вклучете го заштитникот на екранот."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Кога да започне"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Тековен заштитник на екранот"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Поставки"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Автоматска осветленост"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Подигнете да се активира"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Амбиентален екран"</string>
@@ -1748,7 +1745,7 @@
<string name="reset_network_title" msgid="1395494440355807616">"Ресетирај Wi-Fi, мобилен интернет и Bluetooth"</string>
<string name="reset_network_desc" msgid="1112523764899788246">"Ова ќе ги ресетира сите мрежни поставки, вклучувајќи:\n\n"<li>"Wi‑Fi"</li>\n<li>"Мобилен интернет"</li>\n<li>"Bluetooth"</li></string>
<string name="erase_euicc_data_button" msgid="728078969563311737">"Избриши"</string>
- <string name="reset_esim_title" msgid="6152167073280852849">"Избриши преземени SIM-картички"</string>
+ <string name="reset_esim_title" msgid="6152167073280852849">"Избриши ги преземените SIM-картички"</string>
<string name="reset_esim_desc" msgid="3662444090563399131">"Ова нема да ги откаже пакетите за мобилни услуги. За да преземете SIM-картички за замена, контактирајте со операторот."</string>
<string name="reset_network_button_text" msgid="2281476496459610071">"Ресетирај поставки"</string>
<string name="reset_network_final_desc" msgid="5304365082065278425">"Да се ресетираат сите мрежни поставки? Ова дејство не може да се врати."</string>
@@ -1765,7 +1762,7 @@
<string name="main_clear_desc" product="default" msgid="6984348811887162647">"Ова ќе ги избрише сите податоци од "<b>"внатрешната меморија"</b>" на телефонот, заедно со:\n\n"<li>"вашата сметка на Google"</li>\n<li>"податоците и поставките на системот и апликациите"</li>\n<li>"преземените апликации"</li></string>
<string name="main_clear_accounts" product="default" msgid="7675859115108318537">\n\n"Моментално сте најавени на следниве сметки:\n"</string>
<string name="main_clear_other_users_present" product="default" msgid="2672976674798019077">\n\n"Присутни се и други корисници на уредот.\n"</string>
- <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Музика"</li>\n<li>"Фотографии"</li>\n<li>"Други податоци за корисникот"</li></string>
+ <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"музиката"</li>\n<li>"фотографиите"</li>\n<li>"другите кориснички податоци"</li></string>
<string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-картичките"</li></string>
<string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Со ова нема да се откаже вашиот пакет за мобилни услуги."</string>
<string name="main_clear_desc_erase_external_storage" product="nosdcard" msgid="4441604184663452046">\n\n"За да исчистите музика, слики и други податоци на корисникот, "<b>"меморијата"</b>" треба да се избрише."</string>
@@ -2097,7 +2094,7 @@
<string name="internal_storage" msgid="999496851424448809">"Внатрешен капацитет"</string>
<string name="recompute_size" msgid="1098091228370999128">"Повторно пресметување големина..."</string>
<string name="clear_data_dlg_title" msgid="180446967743732410">"Да се избришат податоците на апликацијата?"</string>
- <string name="clear_data_dlg_text" msgid="3440011276559762619">"Податоците за апликацијава, вклучително датотеките и поставките, ќе се избришат трајно од уредов"</string>
+ <string name="clear_data_dlg_text" msgid="3440011276559762619">"Податоците, датотеките и поставките на апликацијава ќе се избришат трајно од уредов"</string>
<string name="dlg_ok" msgid="1421350367857960997">"Во ред"</string>
<string name="dlg_cancel" msgid="5164705061530774899">"Откажи"</string>
<string name="dlg_delete" msgid="1790919205039397659">"Избриши"</string>
@@ -3401,6 +3398,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Избриши"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Сите апликации и податоци во сесијата ќе се избришат."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Отстрани"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Гостин (Вие)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Корисници"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Други корисници"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Избришете ја активноста на гостинот"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Избришете ги сите гостински апликации и податоци кога излегувате од режимот на гостин"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Да се избрише активноста на гостин?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Апликациите и податоците од оваа гостинска сесија ќе се избришат сега, а целата идна активност на гостите ќе се брише секој пат кога ќе излезете од режимот на гостин"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Вклучи телефонски повици"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Вклучи телефонски повици и SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Избриши корисник"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index ea1e23d..0e79439 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"സിസ്റ്റത്തിന്റെ ഭാഷ"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"സിസ്റ്റം ഡിഫോൾട്ട്"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ക്രമീകരണത്തിൽ നിന്ന് ഈ ആപ്പിനുള്ള ഭാഷ തിരഞ്ഞെടുക്കാനുള്ള ഓപ്ഷൻ ലഭ്യമല്ല."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ആപ്പിൽ ലഭ്യമായ ഭാഷകളിൽ നിന്ന് ഭാഷ വ്യത്യാസപ്പെട്ടേക്കാം. ചില ആപ്പുകൾ ഈ ക്രമീകരണത്തെ പിന്തുണച്ചേക്കില്ല."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">തിരഞ്ഞെടുത്ത ഭാഷകൾ നീക്കംചെയ്യണോ?</item>
<item quantity="one">തിരഞ്ഞെടുത്ത ഭാഷ നീക്കംചെയ്യണോ?</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"സ്ക്രീൻ സേവർ"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"സ്ക്രീൻ സേവർ ഉപയോഗിക്കുക"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ചാർജ്/ഡോക്ക് ചെയ്യുമ്പോൾ"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"ഏതിലെങ്കിലും"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ചാർജ് ചെയ്യുമ്പോൾ"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ഡോക്ക് ചെയ്തിരിക്കുമ്പോൾ"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"ഒരിക്കലും വേണ്ട"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"ഓഫ്"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ഫോൺ ഡോക്ക് ചെയ്തിരിക്കുമ്പോൾ ഒപ്പം/അല്ലെങ്കിൽ ഉറക്കത്തിലായിരിക്കുമ്പോൾ ഫോണിൽ നടക്കുന്നതെല്ലാം നിയന്ത്രിക്കുന്നതിന് സ്ക്രീൻ സേവർ ഓണാക്കുക."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"എപ്പോൾ തുടങ്ങണം"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"നിലവിലെ സ്ക്രീൻ സേവർ"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"ക്രമീകരണം"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"യാന്ത്രിക തെളിച്ചം"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"സജീവമാക്കാൻ ലിഫ്റ്റുചെയ്യുക"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"പാതിമയക്ക ഡിസ്പ്ലേ"</string>
@@ -1761,7 +1757,7 @@
<string name="main_clear_title" msgid="277664302144837723">"എല്ലാ ഡാറ്റയും മായ്ക്കുക (ഫാക്ടറി റീസെറ്റ്)"</string>
<string name="main_clear_short_title" msgid="4752094765533020696">"എല്ലാ ഡാറ്റയും മായ്ക്കുക (ഫാക്ടറി റീസെറ്റ്)"</string>
<string name="main_clear_desc" product="tablet" msgid="1651178880680056849">"ഇത് നിങ്ങളുടെ ടാബ്ലെറ്റിന്റെ "<b>"ഉള്ളിലെ മെമ്മറിയിൽ"</b>" നിന്നും ഇനിപ്പറയുന്നവ ഉൾപ്പെടെയുള്ള എല്ലാ ഡാറ്റയും മായ്ക്കും:\n\n"<li>"നിങ്ങളുടെ Google അക്കൗണ്ട്"</li>\n<li>"സിസ്റ്റം, ആപ്പ് ഡാറ്റയും ക്രമീകരണവും"</li>\n<li>"ഡൗൺലോഡ് ചെയ്ത ആപ്പുകൾ"</li></string>
- <string name="main_clear_desc" product="default" msgid="6984348811887162647">"ഇത് നിങ്ങളുടെ ഫോണിന്റെ "<b>"ഉള്ളിലെ മെമ്മറിയിൽ"</b>" നിന്നും ഇനിപ്പറയുന്നവ ഉൾപ്പെയുള്ള എല്ലാ ഡാറ്റയും മായ്ക്കും:\n\n"<li>"നിങ്ങളുടെ Google അക്കൗണ്ട്"</li>\n<li>"സിസ്റ്റം, ആപ്പ് ഡാറ്റയും ക്രമീകരണവും"</li>\n<li>"ഡൗൺലോഡ് ചെയ്ത ആപ്പുകൾ"</li></string>
+ <string name="main_clear_desc" product="default" msgid="6984348811887162647">"ഇത് നിങ്ങളുടെ ഫോണിന്റെ "<b>"ഉള്ളിലെ മെമ്മറിയിൽ"</b>" നിന്നും ഇനിപ്പറയുന്നവ ഉൾപ്പെടെയുള്ള എല്ലാ ഡാറ്റയും മായ്ക്കും:\n\n"<li>"നിങ്ങളുടെ Google അക്കൗണ്ട്"</li>\n<li>"സിസ്റ്റം, ആപ്പ് ഡാറ്റയും ക്രമീകരണവും"</li>\n<li>"ഡൗൺലോഡ് ചെയ്ത ആപ്പുകൾ"</li></string>
<string name="main_clear_accounts" product="default" msgid="7675859115108318537">\n\n" ഇനിപ്പറയുന്ന അക്കൗണ്ടുകളിൽ നിങ്ങൾ നിലവിൽ സൈൻ ഇൻ ചെയ്തിരിക്കുന്നു:\n"</string>
<string name="main_clear_other_users_present" product="default" msgid="2672976674798019077">\n\n"ഈ ഉപകരണത്തിൽ മറ്റ് ഉപയോക്താക്കളുണ്ട്.\n"</string>
<string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"സംഗീതം"</li>\n<li>"ഫോട്ടോകൾ"</li>\n<li>"മറ്റ് ഉപയോക്തൃ ഡാറ്റ"</li></string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"ഇല്ലാതാക്കുക"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"ഈ സെഷനിലെ എല്ലാ ആപ്പുകളും ഡാറ്റയും ഇല്ലാതാക്കും."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"നീക്കംചെയ്യുക"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"അതിഥി (നിങ്ങൾ)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"ഉപയോക്താക്കൾ"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"മറ്റ് ഉപയോക്താക്കൾ"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"അതിഥി ആക്റ്റിവിറ്റി ഇല്ലാതാക്കുക"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"അതിഥി മോഡിൽ നിന്ന് പുറത്തുകടക്കുമ്പോൾ എല്ലാ അതിഥി ആപ്പുകളും ഡാറ്റയും ഇല്ലാതാക്കുക"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"അതിഥി ആക്റ്റിവിറ്റി ഇല്ലാതാക്കണോ?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"ഈ അതിഥി സെഷനിൽ നിന്നുള്ള ആപ്പുകളും ഡാറ്റയും ഇപ്പോൾ ഇല്ലാതാക്കും, അതിഥി മോഡിൽ നിന്ന് നിങ്ങൾ പുറത്തുകടക്കുമ്പോഴെല്ലാം ഭാവിയിലെ എല്ലാ അതിഥി ആക്റ്റിവിറ്റിയും ഇല്ലാതാക്കും"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ഫോൺ കോളുകൾ ഓണാക്കുക"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ഫോൺ കോളുകൾ, SMS എന്നിവ ഓണാക്കുക"</string>
<string name="user_remove_user" msgid="8468203789739693845">"ഉപയോക്താവിനെ ഇല്ലാതാക്കുക"</string>
@@ -3416,7 +3419,7 @@
<string name="apps_with_restrictions_settings_button" msgid="2648355133416902221">"അപ്ലിക്കേഷനുകൾക്കായുള്ള ക്രമീകരണങ്ങൾ വിപുലീകരിക്കുക"</string>
<string name="user_choose_copy_apps_to_another_user" msgid="5914037067347012870">"ഇൻസ്റ്റാൾ ചെയ്യാൻ ആപ്പുകൾ തിരഞ്ഞെടുക്കുക"</string>
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"ലഭ്യമായ ആപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക"</string>
- <string name="nfc_payment_settings_title" msgid="2043139180030485500">"കോണ്ടാക്റ്റ്ലെസ് പേയ്മെന്റുകൾ"</string>
+ <string name="nfc_payment_settings_title" msgid="2043139180030485500">"സമ്പർക്കരഹിത പേയ്മെന്റുകൾ"</string>
<string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"ഡിഫോൾട്ട് പേയ്മെന്റ് ആപ്പ്"</string>
<string name="nfc_default_payment_footer" msgid="978535088340021360">"പേയ്മെന്റ് ആപ്പ് ഉപയോഗിച്ചുള്ള പേയ്മെന്റിന്, ഉപകരണത്തിന്റെ പിൻഭാഗം പേയ്മെന്റ് ടെർമിനലിന് അടുത്തേക്ക് പിടിക്കൂ"</string>
<string name="nfc_more_details" msgid="1700713533074275233">"കൂടുതലറിയുക"</string>
@@ -5553,7 +5556,7 @@
<string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
<string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
<string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
- <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"കാസ്റ്റ് ചെയ്യുന്നത് നിർത്തുക"</string>
+ <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"കാസ്റ്റിംഗ് നിർത്തുക"</string>
<string name="volte_5G_limited_title" msgid="5908052268836750629">"VoLTE ഓഫാക്കണോ?"</string>
<string name="volte_5G_limited_text" msgid="7150583768725182345">"ഇത് നിങ്ങളുടെ 5G കണക്ഷനും ഓഫാക്കും.\nവോയ്സ് കോൾ ചെയ്യുമ്പോൾ നിങ്ങൾക്ക് ഇന്റർനെറ്റ് ഉപയോഗിക്കാനാവില്ല, ചില ആപ്പുകളും പ്രവർത്തിച്ചേക്കില്ല."</string>
<string name="no_5g_in_dsds_text" product="default" msgid="772747677303920132">"2 സിമ്മുകൾ ഉപയോഗിക്കുമ്പോൾ ഈ ഫോണിൽ 4G മാത്രമേ ലഭിക്കൂ. "<annotation id="url">"കൂടുതലറിയുക"</annotation></string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index b82cf86..b848b16 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Системийн хэл"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Системийн өгөгдмөл"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Энэ аппын хэлийг Тохиргоо хэсгээс сонгох боломжгүй байна."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Хэл нь аппад боломжтой хэлээс шалтгаалан харилцан адилгүй байж болно. Зарим апп энэ тохиргоог дэмждэггүй байж магадгүй."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">Сонгосон хэлийг хасах уу?</item>
<item quantity="one">Сонгосон хэлийг хасах уу?</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Дэлгэц амраагч"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Дэлгэц амраагчийг ашиглах"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Цэнэглэх эсвэл суурилуулах үед"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Аль аль нь"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Цэнэглэж байх үед"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Док дээр суурилуулсан үед"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Хэзээ ч үгүй"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Идэвхгүй"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Утсыг суурилуулсан ба/эсвэл идэвхгүй үед хэрхэхийг удирдахын тулд дэлгэц амраагчийг асаана уу."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Эхлэх үе"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Одоогийн дэлгэц амраагч"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Тохиргоо"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Автомат гэрэлтүүлэг"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Сэрээхийн тулд өргөх"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Идэвхгүй дэлгэц"</string>
@@ -1975,7 +1971,7 @@
<string name="lockpassword_confirm_your_password_header_frp" msgid="7932240547542564033">"Нууц үг баталгаажуулах"</string>
<string name="lockpassword_invalid_pin" msgid="7530854476819820600">"ПИН код буруу байна"</string>
<string name="lockpassword_invalid_password" msgid="1588184930542221687">"Нууц үг буруу байна"</string>
- <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Зурган түгжээ буруу байна"</string>
+ <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Хээ буруу байна"</string>
<string name="lock_settings_title" msgid="665707559508132349">"Төхөөрөмжийн аюулгүй байдал"</string>
<string name="lockpattern_change_lock_pattern_label" msgid="5853706275279878879">"Тайлах хээг өөрчлөх"</string>
<string name="lockpattern_change_lock_pin_label" msgid="7327409886587802756">"Тайлах ПИН өөрчлөх"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Устгах"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Энэ харилцан үйлдлийн бүх апп болон дата устах болно."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Хасах"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Зочин (Та)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Хэрэглэгчид"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Бусад хэрэглэгч"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Зочны үйл ажиллагааг устгах"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Бүх зочны апп болон өгөгдлийг зочны горимоос гарах үед устгана"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Зочны үйл ажиллагааг устгах уу?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Энэ зочны харилцан үйлдлийн аппууд болон өгөгдлийг одоо устгах бөгөөд ирээдүйн бүх зочны үйл ажиллагааг таныг зочны горимоос гарах бүрд устгана"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Утасны дуудлагыг идэвхжүүлэх"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Утасны дуудлага & SMS авах"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Хэрэглэгчийг устгах"</string>
@@ -4544,9 +4547,9 @@
<string name="background_check_pref" msgid="5304564658578987535">"Дэвсгэрийг шалгах"</string>
<string name="background_check_title" msgid="225170874283229686">"Бүтэн дэвсгэрийн хандалт"</string>
<string name="assist_access_context_title" msgid="5201495523514096201">"Дэлгэцийн текстийг ашиглах"</string>
- <string name="assist_access_context_summary" msgid="6951814413185646275">"Туслах апп-ийг дэлгэцийн агуулгад текстээр хандахыг зөвшөөрөх"</string>
+ <string name="assist_access_context_summary" msgid="6951814413185646275">"Туслах аппад дэлгэцийн агуулгад текстээр хандахыг зөвшөөрөх"</string>
<string name="assist_access_screenshot_title" msgid="4395902231753643633">"Дэлгэцийн агшныг ашиглах"</string>
- <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Туслах апп-ийг дэлгэцийн зурагт хандахыг зөвшөөрөх"</string>
+ <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Туслах аппад дэлгэцийн зурагт хандахыг зөвшөөрөх"</string>
<string name="assist_flash_title" msgid="5449512572885550108">"Дэлгэц гэрэлтэх"</string>
<string name="assist_flash_summary" msgid="3032289860177784594">"Дэлгэц эсвэл дэлгэцийн зургаас текст рүү туслах апп хандах үед дэлгэцийн ирмэг гэрэлтэх"</string>
<string name="assist_footer" msgid="8248015363806299068">"Туслах апп нь таны харж байгаа дэлгэцийн мэдээлэлд тулгуурлан танд туслах боломжтой. Зарим апп нь танд нэгдсэн тусламжийн үйлчилгээ үзүүлэх үүднээс эхлүүлэгч болон дуун оролтыг дэмждэг."</string>
@@ -5103,7 +5106,7 @@
<string name="app_names_concatenation_template_2" msgid="8320181646458855457">"<xliff:g id="FIRST_APP_NAME">%1$s</xliff:g>, <xliff:g id="SECOND_APP_NAME">%2$s</xliff:g>"</string>
<string name="app_names_concatenation_template_3" msgid="7019703249717854148">"<xliff:g id="FIRST_APP_NAME">%1$s</xliff:g>, <xliff:g id="SECOND_APP_NAME">%2$s</xliff:g>, <xliff:g id="THIRD_APP_NAME">%3$s</xliff:g>"</string>
<string name="storage_default_internal_storage" msgid="4055660218818688131">"Энэ төхөөрөмж"</string>
- <string name="storage_photos_videos" msgid="6926197783745481869">"Зураг & видео"</string>
+ <string name="storage_photos_videos" msgid="6926197783745481869">"Зураг, видео"</string>
<string name="storage_music_audio" msgid="1185624135490182822">"Хөгжим & аудио"</string>
<string name="storage_games" msgid="1176568610086802469">"Тоглоом"</string>
<string name="storage_other_apps" msgid="5902520888043081176">"Бусад апп"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index a8147de..f430b68 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -225,11 +225,9 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"सुचवलेल्या भाषा"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"सर्व भाषा"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"सिस्टीम भाषा"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"सिस्टीम डीफॉल्ट"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"या अॅपसाठीची भाषा निवडणे हे सेटिंग्ज मध्ये उपलब्ध नाही."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"अॅपमध्ये उपलब्ध असलेल्या भाषांपेक्षा भाषा वेगळी असू शकते. काही अॅप्स कदाचित या सेटिंगला सपोर्ट करत नाहीत."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">निवडक भाषा काढायच्या?</item>
<item quantity="one">निवडक भाषा काढायची?</item>
@@ -1430,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"स्क्रीन सेव्हर"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"स्क्रीन सेव्हर वापरा"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"चार्ज होत असताना किंवा डॉक केलेले असताना"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"दोन्ही"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"चार्ज होत असताना"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"डॉक केलेले असताना"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"कधीही नाही"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"बंद"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"फोन डॉक केलेला असताना आणि/किंवा निष्क्रिय असताना काय होते हे नियंत्रित करण्यासाठी स्क्रीन सेव्हर सुरू करा."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"कधी सुरू करायचे"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"सध्याचा स्क्रीन सेव्हर"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"सेटिंग्ज"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"स्वयंचलित चकाकी"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"सक्रिय करण्यासाठी लिफ्ट"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"अँबियंट डिस्प्ले"</string>
@@ -3402,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"हटवा"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"या सत्रातील सर्व अॅप्स आणि डेटा हटवला जाईल."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"काढा"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"अतिथी (तुम्ही)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"वापरकर्ते"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"इतर वापरकर्ते"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"अतिथी अॅक्टिव्हिटी हटवा"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"अतिथी मोडमधून बाहेर पडताना सर्व अतिथी अॅप्स आणि डेटा हटवा"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"अतिथी अॅक्टिव्हिटी हटवायची का?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"या अतिथी सत्रातील अॅप्स आणि डेटा आता हटवला जाईल व प्रत्येक वेळी तुम्ही अतिथी मोडमधून बाहेर पडाल, तेव्हा भविष्यातील सर्व अतिथी अॅक्टिव्हिटी हटवली जाईल"</string>
<string name="user_enable_calling" msgid="264875360626905535">"फोन कॉल सुरू करा"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"फोन कॉल आणि SMS सुरू करा"</string>
<string name="user_remove_user" msgid="8468203789739693845">"वापरकर्ता हटवा"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index d459921..32cecad 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Penyelamat skrin"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Gunakan penyelamat skrin"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Semasa dicas atau didok"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Salah satu"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Semasa mengecas"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Semasa didok"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Jangan sekali-kali"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Mati"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Untuk mengawal perkara yang berlaku semasa telefon didok dan/atau tidur, hidupkan penyelamat skrin."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Masa untuk mulakan"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Penyelamat skrin semasa"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Tetapan"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Kecerahan automatik"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Angkat untuk bangunkan"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Paparan ambien"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Padam"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Semua apl dan data dalam sesi ini akan dipadam."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Alih keluar"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Tetamu (Anda)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Pengguna"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Pengguna lain"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Padamkan aktiviti tetamu"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Padamkan semua apl dan data tetamu semasa keluar daripada mod tetamu"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Padamkan aktiviti tetamu?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apl dan data daripada sesi tetamu ini akan dipadamkan sekarang dan semua aktiviti tetamu pada masa hadapan akan dipadamkan setiap kali anda keluar daripada mod tetamu"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Hidupkan panggilan telefon"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Hidupkan panggilan telefon & SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Padamkan pengguna"</string>
@@ -3922,7 +3926,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Tunjukkan semua kandungan pemberitahuan"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Kandungan sensitif apabila tidak berkunci sahaja"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Jangan tunjukkan pemberitahuan sama sekali"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Bagaimanakah anda ingin skrin kunci paparkan?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Bagaimanakah paparan skrin kunci yang anda inginkan?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Skrin kunci"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Tunjukkan semua kandungan pemberitahuan kerja"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sembunyikan kandungan kerja yang sensitif"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index b6758be..2293dcf 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"စနစ်၏ ဘာသာစကား"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"စနစ်မူရင်း"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ဤအက်ပ်အတွက် ‘ဆက်တင်များ’ မှ ဘာသာစကား ရွေးချယ်မှု မရရှိနိုင်ပါ။"</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ဘာသာစကားသည် အက်ပ်တွင် ရရှိနိုင်သော ဘာသာစကားများမှ ကွဲပြားနိုင်သည်။ အချို့အက်ပ်များက ဤဆက်တင်ကို မပံ့ပိုးနိုင်ပါ။"</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">ရွေးထားသည့် ဘာသာစကားများကို ဖယ်ရှားမလား။</item>
<item quantity="one">ရွေးထားသည့် ဘာသာစကားကို ဖယ်ရှားမလား။</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"ဖန်သားပြင်ချွေတာစနစ်"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ဖန်သားပြင်ချွေတာစနစ် သုံးခြင်း"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"အားသွင်းနေစဉ် သို့မဟုတ် တပ်ဆင်ထားစဉ်"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"နှစ်မျိုးအနက် တမျိုးရွေးချယ်ရန်"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"အားသွင်းနေစဉ်"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"အထိုင်တွင်တပ်ထားစဉ်"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"ဘယ်တော့မှ"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"ပိတ်"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ဖုန်းကို အထိုင်တွင် တပ်ဆင်လိုက်ချိန် နှင့်/သို့မဟုတ် အနားယူနေချိန်တွင် လုပ်ဆောင်မည့်အရာများကို ထိန်းချုပ်ရန်၊ ဖန်သားပြင်အသုံးပြုမှု ချွေတာမှုစနစ်ကို ဖွင့်ပါ။"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"စတင်ရန်အချိန်"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"လက်ရှိဖန်သားပြင်ချွေတာစနစ်"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"ဆက်တင်များ"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"အလိုအလျောက်အလင်းချိန်ခြင်း။"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"‘မ’ ယူ၍ နှိုးရန်"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"ဝန်းကျင်ပြသမှု"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"ဖျက်ရန်"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"ဤချိတ်ဆက်မှုမှ အက်ပ်နှင့် ဒေတာအားလုံးကို ဖျက်ပါမည်။"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"ဖယ်ထုတ်ပါ"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"ဧည့်သည် (သင်)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"အသုံးပြုသူများ"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"အခြားအသုံးပြုသူများ"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"ဧည့်သည်လုပ်ဆောင်ချက် ဖျက်ရန်"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"ဧည့်သည်မုဒ်မှ ထွက်ချိန်တွင် ဧည့်သည်အက်ပ်နှင့် ဒေတာအားလုံးကို ဖျက်ရန်"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ဧည့်သည်လုပ်ဆောင်ချက် ဖျက်မလား။"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"ဤဧည့်သည် စက်ရှင်မှ အက်ပ်နှင့် ဒေတာများကို ယခုဖျက်လိုက်မည်ဖြစ်ပြီး လာမည့်ဧည့်သည် လုပ်ဆောင်ချက်အားလုံးကို ဧည့်သည်မုဒ်မှ ထွက်ချိန်တိုင်းတွင် ဖျက်လိုက်ပါမည်"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ဖုန်းခေါ်ဆိုမှုများ ဖွင့်ရန်"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ဖုန်းခေါ်ဆိုမှုနှင့် SMS ဖွင့်မည်"</string>
<string name="user_remove_user" msgid="8468203789739693845">"အသုံးပြုသူကို ဖျက်ပါ"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 3e148ce..3745ed9 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Skjermsparer"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Bruk skjermsparer"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Når enheten lades / er i dokken"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Begge"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Når enheten lades"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Når enheten er i dokken"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Aldri"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Av"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"For å kontrollere hva som skjer når telefonen er plassert i dokken og/eller i hvilemodus, slå på skjermspareren."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Starttidspunkt"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Aktiv skjermsparer"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Innstillinger"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatisk lysstyrke"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Aktiver enheten med løftebevegelser"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Passiv skjerm"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Slett"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Alle apper og data i denne økten blir slettet."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Fjern"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gjest (du)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Brukere"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Andre brukere"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Slett gjesteaktivitet"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Slett alle gjesteapper og -data når du avslutter gjestemodus"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vil du slette gjesteaktivitet?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apper og data fra denne gjesteøkten slettes nå, og all fremtidig gjesteaktivitet slettes hver gang du avslutter gjestemodus"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Slå på telefonsamtaler"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Slå på telefonsamtaler og SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Slett brukeren"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 94b1d15..615c037 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -101,8 +101,8 @@
<string name="progress_scanning" msgid="2564746192843011826">"खोजी गर्दै"</string>
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"नजिकै कुनै ब्लुटुथ उपकरण भेटिएन।"</string>
<string name="bluetooth_notif_ticker" msgid="209515545257862858">"ब्लुटुथ जोडा मिलाउन अनुरोध"</string>
- <string name="bluetooth_notif_title" msgid="1196532269131348647">"जोडी पार्ने अनुरोध"</string>
- <string name="bluetooth_notif_message" msgid="5584717784198086653">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>सँग जोड्न ट्याप गर्नुहोस्।"</string>
+ <string name="bluetooth_notif_title" msgid="1196532269131348647">"कनेक्ट गर्ने अनुरोध"</string>
+ <string name="bluetooth_notif_message" msgid="5584717784198086653">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> सँग कनेक्ट गर्न ट्याप गर्नुहोस्।"</string>
<string name="bluetooth_show_received_files" msgid="685424727760622632">"प्राप्त गरिएका फाइलहरू"</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"ब्लुटुथ निष्क्रिय छ"</string>
<string name="bluetooth_devices_card_off_summary" msgid="2276527382891105858">"यसलाई सक्रिय गर्न ट्याप गर्नुहोस्"</string>
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"सिफारिस गरिएका भाषाहरू"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"सबै भाषा"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"सिस्टमको भाषा"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"सिस्टम डिफल्ट"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"सेटिङबाट यो एपका लागि भाषा चयन गर्न मिल्दैन।"</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -326,7 +325,7 @@
</plurals>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"लोड गर्दै…"</string>
<string name="location_settings_footer_general" msgid="1040507068701188821">"वरपर रहेका ब्लुटुथ चल्ने डिभाइसहरू खोज्ने अनुमति दिइएका एपहरूले कनेक्ट गरिएका डिभाइसहरूको सापेक्ष लोकेसन पत्ता लगाउन सक्छन्।"</string>
- <string name="location_settings_footer_location_off" msgid="8568995909147566720">"एप तथा सेवाहरूलाई स्थानसम्बन्धी जानकारी प्रयोग गर्ने अनुमति दिइएको छैन। तपाईंले कुनै आपत्कालीन नम्बरमा कल गर्दा वा टेक्स्ट म्यासेज पठाउँदा भने आपत्कालीन सेवा प्रदान गर्ने निकायलाई तपाईंको डिभाइसको स्थानसम्बन्धी जानकारी पठाइन सक्छ।"</string>
+ <string name="location_settings_footer_location_off" msgid="8568995909147566720">"एप तथा सेवाहरूलाई लोकेसन प्रयोग गर्ने अनुमति दिइएको छैन। तपाईंले कुनै आपत्कालीन नम्बरमा कल गर्दा वा टेक्स्ट म्यासेज पठाउँदा भने आपत्कालीन सेवा प्रदान गर्ने निकायलाई तपाईंको डिभाइसको लोकेनस पठाइन सक्छ।"</string>
<string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"स्थानसम्बन्धी सेटिङका बारेमा थप जान्नुहोस्।"</string>
<string name="account_settings_title" msgid="9138880127246241885">"खाताहरू"</string>
<string name="security_settings_title" msgid="6710768415432791970">"सुरक्षा"</string>
@@ -1430,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"स्क्रिन सेभर"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"स्क्रिन सेभर प्रयोग गरियोस्"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"चार्ज वा डक गरिरहँदा"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"कुनै"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"चार्ज गरिरहेका बेला"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"डक गरिएको बेला"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"कहिल्यै पनि होइन"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"बन्द"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"फोन डकमा र/वा शयन अवस्थामा हुँदा हुने कुरालाई नियन्त्रण गर्न स्क्रिन सेभरलाई अन गर्नुहोस्।"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"सुरु हुने समय"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"हालको स्क्रिन सेभर"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"सेटिङहरू"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"स्वचालित उज्यालोपना"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"चालु गर्न उठाउनुहोस्"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"एम्बियन्ट प्रदर्शन"</string>
@@ -1761,8 +1757,8 @@
<string name="reset_esim_error_msg" msgid="4441504470684307370">"कुनै त्रुटि भएका कारण डाउनलोड गरिएका SIM हरू मेटाउन सकिएन।\n\nआफ्नो यन्त्र पुनः सुरु गरी फेरि प्रयास गर्नुहोस्।"</string>
<string name="main_clear_title" msgid="277664302144837723">"सबै डेटा मेटाउनुहोस् (फ्याक्ट्री रिसेट गर्नुहोस्)"</string>
<string name="main_clear_short_title" msgid="4752094765533020696">"सबै डेटा मेटाउनुहोस् (फ्याक्ट्री रिसेट गर्नुहोस्)"</string>
- <string name="main_clear_desc" product="tablet" msgid="1651178880680056849">"यसो गर्नुभयो भने तपाईंको ट्याब्लेटको "<b>"आन्तरिक भण्डारण"</b>"मा भएका निम्नलगायतका सबै डेटा मेटाइने छ:\n\n"<li>"तपाईंको Google खाता"</li>\n<li>"प्रणाली र एपका डेटा तथा सेटिङ"</li>\n<li>"डाउनलोड गरिएका एपहरू"</li></string>
- <string name="main_clear_desc" product="default" msgid="6984348811887162647">"यसो गर्नुभयो भने तपाईंको फोनको "<b>"आन्तरिक भण्डारण"</b>"मा भएका निम्नलगायतका सबै डेटा मेटाइने छ:\n\n"<li>"तपाईंको Google खाता"</li>\n<li>"प्रणाली र एपका डेटा तथा सेटिङ"</li>\n<li>"डाउनलोड गरिएका एपहरू"</li></string>
+ <string name="main_clear_desc" product="tablet" msgid="1651178880680056849">"यसो गर्नुभयो भने तपाईंको ट्याब्लेटको "<b>"आन्तरिक भण्डारण"</b>"मा भएका निम्नलगायतका सबै डेटा मेटाइने छ:\n\n"<li>"तपाईंको Google खाता"</li>\n<li>"सिस्टम र एपका डेटा तथा सेटिङ"</li>\n<li>"डाउनलोड गरिएका एपहरू"</li></string>
+ <string name="main_clear_desc" product="default" msgid="6984348811887162647">"यसो गर्नुभयो भने तपाईंको फोनको "<b>"आन्तरिक भण्डारण"</b>"मा भएका निम्नलगायतका सबै डेटा मेटाइने छ:\n\n"<li>"तपाईंको Google खाता"</li>\n<li>"सिस्टम र एपका डेटा तथा सेटिङ"</li>\n<li>"डाउनलोड गरिएका एपहरू"</li></string>
<string name="main_clear_accounts" product="default" msgid="7675859115108318537">\n" \nतपाईं हाल निम्न खाताहरूमा साइन इन हुनुहुन्छ:\n"</string>
<string name="main_clear_other_users_present" product="default" msgid="2672976674798019077">\n\n"यो डिभाइसमा अन्य प्रयोगकर्ताहरू छन्।\n"</string>
<string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"सङ्गीत"</li>\n<li>"फोटोहरू"</li>\n<li>"प्रयोगकर्ताको अन्य डेटा"</li></string>
@@ -1863,7 +1859,7 @@
<string name="location_recent_location_access_see_all" msgid="4203102419355323325">"सबै हेर्नुहोस्"</string>
<string name="location_recent_location_access_view_details" msgid="5803264082558504544">"विवरणहरू हेर्नुहोस्"</string>
<string name="location_no_recent_apps" msgid="6814206631456177033">"अहिले कुनै पनि एपहरूले लोकेसन मागेका छैनन्"</string>
- <string name="location_no_recent_accesses" msgid="6031735777805464247">"कुनै पनि अनुप्रयोगले हाल स्थानमाथि पहुँच गरेको छैन"</string>
+ <string name="location_no_recent_accesses" msgid="6031735777805464247">"कुनै पनि एपले हालै लोकेसन प्रयोग गरेको छैन"</string>
<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>
@@ -2631,7 +2627,7 @@
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
<string name="fast_pair_settings" msgid="3308819519080016185">"फास्ट पेयर"</string>
<string name="fast_pair_settings_summary" msgid="1786567691058982987">"फास्ट पेयर सुविधा चल्ने नजिकैका ब्लुटुथ डिभाइस पत्ता लगाउँछ।"</string>
- <string name="fast_pair_main_switch_title" msgid="1439039801201425194">"नजिकैका डिभाइसहरू स्क्यान गर्नुहोस्"</string>
+ <string name="fast_pair_main_switch_title" msgid="1439039801201425194">"नजिकका डिभाइस खोज्नुहोस्"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"सेभ गरिएका डिभाइसहरू"</string>
<string name="print_settings" msgid="8519810615863882491">"प्रिन्टिङ"</string>
<string name="print_settings_summary_no_service" msgid="6721731154917653862">"निष्क्रिय छ"</string>
@@ -3401,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"मेट्नुहोस्"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"यो सत्रमा भएका सबै एपहरू र डेटा मेटाइने छ।"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"हटाउनुहोस्"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"अतिथि (तपाईं)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"प्रयोगकर्ताहरू"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"अन्य प्रयोगकर्ताहरू"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"अतिथि सत्रका क्रियाकलाप मेटाउनुहोस्"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"अतिथि मोडबाट बाहिरिँदा अतिथि सत्रका सबै एप तथा डेटा मेटाइऊन्"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"अतिथि सत्रका क्रियाकलाप मेटाउने हो?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"यो अतिथि सत्रका एप तथा डेटा अहिले नै मेटाइने छ र तपाईं अतिथि मोडबाट बाहिरिँदैपिच्छे अतिथि सत्रमा गरिने भविष्यका सबै क्रियाकलाप मेटाइने छन्"</string>
<string name="user_enable_calling" msgid="264875360626905535">"फोन गर्ने सेवा सक्रिय गरियोस्"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"फोन कल तथा SMS सक्षम पार्नुहोस्"</string>
<string name="user_remove_user" msgid="8468203789739693845">"प्रयोगकर्ता मेटाउनुहोस्"</string>
@@ -5652,7 +5655,7 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"\"एप पिनिङ\" प्रयोग गरियोस्"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"\'विकासकर्ता विकल्पहरू\' प्रयोग गरियोस्"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"प्रिन्ट सेवा चलाउनुहोस्"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"एकभन्दा बढी व्यक्तिलाई प्रयोग गर्न दिनुहोस्"</string>
+ <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"एकभन्दा बढी व्यक्तिलाई प्रयोग गर्न दिइयोस्"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"\'वायरलेस डिबगिङ\' सुविधा प्रयोग गरियोस्"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"\'ग्राफिक्स ड्राइभरसम्बन्धी प्राथमिकता\' प्रयोग गर्नुहोस्"</string>
<string name="battery_saver_main_switch_title" msgid="5072135547489779352">"\'ब्याट्री सेभर\' नामक सुविधा प्रयोग गर्नुहोस्"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 4bb049f..ee2fd61 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screensaver"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Screensaver gebruiken"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Tijdens opladen of docken"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Tijdens beide"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Tijdens het opladen"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Tijdens het docken"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nooit"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Uit"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Zet de screensaver aan om te bepalen wat er gebeurt als de telefoon is gedockt en/of de slaapstand actief is."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Wanneer starten"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Huidige screensaver"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Instellingen"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatische helderheid"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Optillen om te activeren"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Inactief scherm"</string>
@@ -2563,7 +2560,7 @@
<string name="captioning_preview_title" msgid="2888561631323180535">"Voorbeeld"</string>
<string name="captioning_standard_options_title" msgid="5360264497750980205">"Standaardopties"</string>
<string name="captioning_locale" msgid="5533303294290661590">"Taal"</string>
- <string name="captioning_text_size" msgid="8039448543171463017">"Tekengrootte"</string>
+ <string name="captioning_text_size" msgid="8039448543171463017">"Lettergrootte"</string>
<string name="captioning_preset" msgid="4174276086501638524">"Ondertitelstijl"</string>
<string name="captioning_custom_options_title" msgid="3858866498893566351">"Aangepaste opties"</string>
<string name="captioning_background_color" msgid="5231412761368883107">"Achtergrondkleur"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Verwijderen"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Alle apps en gegevens in deze sessie worden verwijderd."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Verwijderen"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gast (jij)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Gebruikers"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Andere gebruikers"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Gastactiviteit verwijderen"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Verwijder alle gast-apps en -gegevens bij het afsluiten van de gastmodus"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Gastactiviteit verwijderen?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps en gegevens van deze gastsessie worden nu verwijderd en alle toekomstige gastactiviteit wordt verwijderd telkens wanneer je de gastmodus afsluit"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Telefoonoproepen aanzetten"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Telefoonoproepen en sms aanzetten"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Gebruiker verwijderen"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index f16b6d4..68bed81 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"ପ୍ରସ୍ତାବିତ ଭାଷାଗୁଡ଼ିକ"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"ସମସ୍ତ ଭାଷା"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"ସିଷ୍ଟମ ଭାଷା"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"ସିଷ୍ଟମ ଡିଫଲ୍ଟ"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ସେଟିଂସରୁ ଏହି ଆପ ପାଇଁ ଭାଷା ଚୟନ ଉପଲବ୍ଧ ନାହିଁ।"</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -1430,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"ସ୍କ୍ରିନ୍ ସେଭର୍"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ସ୍କ୍ରିନ ସେଭର ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ଚାର୍ଜ ହେଉଥିବା କିମ୍ବା ଡକ୍ ହୋଇଥିବା ବେଳେ"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"ଏହା କିମ୍ବା ତାହା"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ଚାର୍ଜ ହେଉଥିବାବେଳେ"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ଡକ୍ ହୋଇଥିବାବେଳେ"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"ଆଦୌ ନୁହେଁ"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"ବନ୍ଦ"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ଫୋନ୍ ଡକ୍ କରାଯାଇଥିଲେ ଏବଂ/କିମ୍ବା ସୁପ୍ତ ଥିବାବେଳେ ସେଥିରେ ହେଉଥିବା ଘଟଣାଗୁଡ଼ିକୁ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ ସ୍କ୍ରୀନ୍ ସେଭର୍ ଅନ୍ କରନ୍ତୁ।"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"କେତେବେଳେ ଆରମ୍ଭ କରିବେ"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"ବର୍ତ୍ତମାନର ସ୍କ୍ରିନ୍ ସେଭର୍"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"ସେଟିଂସ"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"ସ୍ୱଚାଳିତ ଉଜ୍ଜ୍ୱଳତା"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"ଉଠାଇଲେ ଜାଗ୍ରତ ହେବ"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"ଆମ୍ବିଏଣ୍ଟ୍ ଡିସ୍ପ୍ଲେ"</string>
@@ -1749,7 +1745,7 @@
<string name="reset_network_desc" msgid="1112523764899788246">"ଏହା:\n\n"<li>"ୱାଇ-ଫାଇ"</li>\n<li>"ମୋବାଇଲ ଡାଟା"</li>\n<li>"ବ୍ଲୁଟୁଥ୍"</li>" ସମେତ ସମସ୍ତ ନେଟୱାର୍କ ସେଟିଂସକୁ ରିସେଟ କରିବ"</string>
<string name="erase_euicc_data_button" msgid="728078969563311737">"ଖାଲି କରନ୍ତୁ"</string>
<string name="reset_esim_title" msgid="6152167073280852849">"ଡାଉନଲୋଡ୍ ହୋଇଥିବା SIMକୁ ଖାଲି କରନ୍ତୁ"</string>
- <string name="reset_esim_desc" msgid="3662444090563399131">"ଏହା କୌଣସି ମୋବାଇଲ ସେବା ପ୍ଲାନକୁ ବାତିଲ୍ କରିବ ନାହିଁ। ରିପ୍ଲେସମେଣ୍ଟ SIMଗୁଡ଼ିକୁ ଡାଉନଲୋଡ୍ କରିବାକୁ ଆପଣଙ୍କ କ୍ୟାରିଅରଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
+ <string name="reset_esim_desc" msgid="3662444090563399131">"ଏହା କୌଣସି ମୋବାଇଲ ସେବା ପ୍ଲାନକୁ ବାତିଲ୍ କରିବ ନାହିଁ। ରିପ୍ଲେସମେଣ୍ଟ SIMଗୁଡ଼ିକୁ ଡାଉନଲୋଡ କରିବା ପାଇଁ ଆପଣଙ୍କ କ୍ୟାରିଅର ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
<string name="reset_network_button_text" msgid="2281476496459610071">"ସେଟିଂସ ରିସେଟ କରନ୍ତୁ"</string>
<string name="reset_network_final_desc" msgid="5304365082065278425">"ସମସ୍ତ ନେଟୱାର୍କ ସେଟିଂସ ରିସେଟ କରିବେ? ଏହାକୁ ଆପଣ ଆଉ ପୂର୍ବବତ୍ କରିପାରିବେ ନାହିଁ।"</string>
<string name="reset_network_final_desc_esim" msgid="8342882682282693844">"ସମସ୍ତ ନେଟୱାର୍କ ସେଟିଂସ ରିସେଟ ଏବଂ ଡାଉନଲୋଡ ହୋଇଥିବା SIMକୁ ଖାଲି କରିବେ କି? ଆପଣ ଏହି କାର୍ଯ୍ୟକୁ ପୂର୍ବବତ୍ କରିପାରିବେ ନାହିଁ।"</string>
@@ -3401,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"ଡିଲିଟ୍ କରନ୍ତୁ"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"ଏହି ସେସନ୍ର ସମସ୍ତ ଆପ୍ ଏବଂ ଡାଟା ଡିଲିଟ୍ ହୋଇଯିବ।"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"କାଢିଦିଅନ୍ତୁ"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"ଅତିଥି (ଆପଣ)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"ଉପଯୋଗକର୍ତ୍ତାମାନେ"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"ଅନ୍ୟ ଉପଯୋଗକର୍ତ୍ତାମାନେ"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"ଅତିଥି କାର୍ଯ୍ୟକଳାପକୁ ଡିଲିଟ କରନ୍ତୁ"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"ଅତିଥି ମୋଡରୁ ବାହାରକୁ ଯିବା ସମୟରେ ସମସ୍ତ ଅତିଥି ଆପ ଏବଂ ଡାଟା ଡିଲିଟ କରନ୍ତୁ"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ଅତିଥି କାର୍ଯ୍ୟକଳାପକୁ ଡିଲିଟ କରିବେ?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"ବର୍ତ୍ତମାନ ଏହି ଅତିଥି ସେସନରୁ ଆପ୍ସ ଏବଂ ଡାଟା ଡିଲିଟ କରାଯିବ ଏବଂ ଆପଣ ପ୍ରତ୍ୟେକ ଥର ଅତିଥି ମୋଡରୁ ବାହାରକୁ ଗଲେ ଭବିଷ୍ୟତର ସମସ୍ତ ଅତିଥି କାର୍ଯ୍ୟକଳାପକୁ ଡିଲିଟ କରାଯିବ"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ଫୋନ୍ କଲ୍ ଚାଲୁ କରନ୍ତୁ"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ଫୋନ୍ କଲ୍ ଓ SMS ଚାଲୁ କରନ୍ତୁ"</string>
<string name="user_remove_user" msgid="8468203789739693845">"ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଡିଲିଟ୍ କରନ୍ତୁ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 3d1ab1d..5d9dd15 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -102,7 +102,7 @@
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"ਕੋਈ ਨੇੜਲੀਆਂ Bluetooth ਡਿਵਾਈਸਾਂ ਨਹੀਂ ਮਿਲੀਆਂ।"</string>
<string name="bluetooth_notif_ticker" msgid="209515545257862858">"ਬਲੂਟੁੱਥ ਜੋੜਾਬੱਧ ਕਰਨ ਦੀ ਬੇਨਤੀ"</string>
<string name="bluetooth_notif_title" msgid="1196532269131348647">"ਜੋੜਾਬੱਧ ਕਰਨ ਦੀ ਬੇਨਤੀ"</string>
- <string name="bluetooth_notif_message" msgid="5584717784198086653">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਜੋੜਾ ਬਣਾਉਣ ਲਈ ਟੈਪ ਕਰੋ।"</string>
+ <string name="bluetooth_notif_message" msgid="5584717784198086653">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
<string name="bluetooth_show_received_files" msgid="685424727760622632">"ਪ੍ਰਾਪਤ ਕੀਤੀਆਂ ਫ਼ਾਈਲਾਂ"</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"ਬਲੂਟੁੱਥ ਬੰਦ ਹੈ"</string>
<string name="bluetooth_devices_card_off_summary" msgid="2276527382891105858">"ਇਸਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
@@ -225,11 +225,9 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"ਸੁਝਾਈਆਂ ਗਈਆਂ ਭਾਸ਼ਾਵਾਂ"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"ਸਾਰੀਆਂ ਭਾਸ਼ਾਵਾਂ"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"ਸਿਸਟਮ ਦੀ ਭਾਸ਼ਾ"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"ਸਿਸਟਮ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ ਐਪ ਲਈ ਭਾਸ਼ਾ ਦੀ ਚੋਣ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ਭਾਸ਼ਾ ਐਪ ਵਿਚਲੀਆਂ ਉਪਲਬਧ ਭਾਸ਼ਾਵਾਂ ਨਾਲੋਂ ਵੱਖਰੀ ਹੋ ਸਕਦੀ ਹੈ। ਕੁਝ ਐਪਾਂ ਸ਼ਾਇਦ ਇਸ ਸੈਟਿੰਗਾਂ ਦਾ ਸਮਰਥਨ ਨਾ ਕਰਨ।"</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">ਕੀ ਚੁਣੀ ਗਈ ਭਾਸ਼ਾ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?</item>
<item quantity="other">ਕੀ ਚੁਣੀਆਂ ਗਈਆਂ ਭਾਸ਼ਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?</item>
@@ -845,7 +843,7 @@
<string name="bluetooth_preference_no_found_devices" msgid="1331122763066030155">"ਕੋਈ ਡਿਵਾਈਸਾਂ ਉਪਲਬਧ ਨਹੀਂ"</string>
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ਕਨੈਕਟ ਕਰੋ"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
- <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ਪੇਅਰ & ਕਨੈਕਟ ਕਰੋ"</string>
+ <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ਜੋੜਾਬੱਧ ਕਰਕੇ ਕਨੈਕਟ ਕਰੋ"</string>
<string name="bluetooth_device_context_unpair" msgid="7525735305244087162">"ਅਨਪੇਅਰ ਕਰੋ"</string>
<string name="bluetooth_device_context_disconnect_unpair" msgid="2001359431289794561">"ਡਿਸਕਨੈਕਟ & ਅਨਪੇਅਰ ਕਰੋ"</string>
<string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"ਚੋਣਾਂ…"</string>
@@ -1430,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"ਸਕ੍ਰੀਨ ਸੇਵਰ"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ਸਕ੍ਰੀਨ ਸੇਵਰ ਵਰਤੋ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ਚਾਰਜ ਕਰਨ ਵੇਲੇ ਜਾਂ ਡੌਕ ਕੀਤੇ ਹੋਣ ਦੌਰਾਨ"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"ਦੋਵਾਂ ਵਿੱਚੋਂ ਇੱਕ"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ਚਾਰਜ ਕਰਨ ਵੇਲੇ"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ਜਦੋਂ ਡੌਕ ਕੀਤਾ ਹੋਵੇ"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"ਕਦੇ ਵੀ ਨਹੀਂ"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"ਬੰਦ"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ਇਹ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਕਿ ਜਦੋਂ ਫ਼ੋਨ ਡੌਕ ਕੀਤਾ ਅਤੇ/ਜਾਂ ਸਲੀਪ ਮੋਡ ਵਿੱਚ ਹੁੰਦਾ ਹੈ ਉਦੋਂ ਕੀ ਹੁੰਦਾ ਹੈ, ਸਕ੍ਰੀਨ ਸੇਵਰ ਚਾਲੂ ਕਰੋ।"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"ਕਦੋਂ ਸ਼ੁਰੂ ਕਰਨਾ ਹੈ"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"ਮੌਜੂਦਾ ਸਕ੍ਰੀਨ ਸੇਵਰ"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"ਸੈਟਿੰਗਾਂ"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"ਸਵੈਚਲਿਤ ਚਮਕ"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ ਚੁੱਕੋ"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"ਸਰਗਰਮ ਡਿਸਪਲੇ"</string>
@@ -3401,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"ਮਿਟਾਓ"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"ਇਸ ਸੈਸ਼ਨ ਵਿਚਲੀਆਂ ਸਾਰੀਆਂ ਐਪਾਂ ਅਤੇ ਡਾਟਾ ਨੂੰ ਮਿਟਾ ਦਿੱਤਾ ਜਾਏਗਾ।"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"ਹਟਾਓ"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"ਮਹਿਮਾਨ (ਤੁਸੀਂ)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"ਵਰਤੋਂਕਾਰ"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"ਹੋਰ ਵਰਤੋਂਕਾਰ"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"ਮਹਿਮਾਨ ਦੀ ਸਰਗਰਮੀ ਮਿਟਾਓ"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"ਮਹਿਮਾਨ ਮੋਡ ਤੋਂ ਬਾਹਰ ਜਾਣ \'ਤੇ ਮਹਿਮਾਨ ਦੀਆਂ ਸਾਰੀਆਂ ਐਪਾਂ ਅਤੇ ਡਾਟੇ ਨੂੰ ਮਿਟਾਓ"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ਕੀ ਮਹਿਮਾਨ ਦੀ ਸਰਗਰਮੀ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"ਇਸ ਮਹਿਮਾਨ ਸੈਸ਼ਨ ਦੀਆਂ ਐਪਾਂ ਅਤੇ ਡਾਟੇ ਨੂੰ ਹੁਣੇ ਮਿਟਾਇਆ ਜਾਵੇਗਾ ਅਤੇ ਮਹਿਮਾਨ ਦੀ ਸਾਰੀ ਭਵਿੱਖੀ ਸਰਗਰਮੀ ਨੂੰ ਤੁਹਾਡੇ ਮਹਿਮਾਨ ਮੋਡ ਤੋਂ ਬਾਹਰ ਜਾਣ \'ਤੇ ਹਰ ਵਾਰ ਮਿਟਾਇਆ ਜਾਵੇਗਾ"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ਫ਼ੋਨ ਕਾਲਾਂ ਚਾਲੂ ਕਰੋ"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ਫ਼ੋਨ ਕਾਲਾਂ ਅਤੇ SMS ਚਾਲੂ ਕਰੋ"</string>
<string name="user_remove_user" msgid="8468203789739693845">"ਵਰਤੋਂਕਾਰ ਨੂੰ ਮਿਟਾਓ"</string>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index 1bbaca1..89e9936 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -176,7 +176,7 @@
</string-array>
<string-array name="wifi_ip_settings">
<item msgid="6665889765350160154">"DHCP"</item>
- <item msgid="6215795691318745695">"Statyczny"</item>
+ <item msgid="6215795691318745695">"Statyczne"</item>
</string-array>
<string-array name="wifi_proxy_settings">
<item msgid="4669222334822978847">"Brak"</item>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index d992f37..ad724b5 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -1469,15 +1469,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Wygaszacz ekranu"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Używaj wygaszacza ekranu"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Podczas ładowania lub po zadokowaniu"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Po zadokowaniu lub podczas ładowania"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Podczas ładowania"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Po zadokowaniu"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nigdy"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Wył."</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Włącz wygaszacz ekranu, by kontrolować to, co dzieje się, gdy telefon jest w stacji dokującej i/lub w trybie uśpienia."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kiedy włączać"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Bieżący wygaszacz ekranu"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Ustawienia"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatyczna"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Podnieś, by wybudzić"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Wygaszacz z powiadomieniami"</string>
@@ -1903,7 +1900,7 @@
<item quantity="one"> <xliff:g id="PERMITTED_LOCATION_APP_COUNT_0">%1$d</xliff:g> z <xliff:g id="TOTAL_LOCATION_APP_COUNT_1">%2$d</xliff:g> aplikacji ma dostęp do lokalizacji</item>
</plurals>
<string name="location_category_recent_location_access" msgid="2558063524482178146">"Ostatni dostęp"</string>
- <string name="location_recent_location_access_see_all" msgid="4203102419355323325">"Pokaż wszystko"</string>
+ <string name="location_recent_location_access_see_all" msgid="4203102419355323325">"Pokaż wszystkie"</string>
<string name="location_recent_location_access_view_details" msgid="5803264082558504544">"Wyświetl szczegóły"</string>
<string name="location_no_recent_apps" msgid="6814206631456177033">"Żadne aplikacje nie prosiły ostatnio o lokalizację"</string>
<string name="location_no_recent_accesses" msgid="6031735777805464247">"Żadne aplikacje nie korzystały ostatnio z lokalizacji"</string>
@@ -2687,7 +2684,7 @@
<string name="keywords_rtt" msgid="2429130928152514402">"niedosłuch, utrata słuchu, napisy, dalekopis, TTY"</string>
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
<string name="fast_pair_settings" msgid="3308819519080016185">"Szybkie parowanie"</string>
- <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Wykryto w pobliżu urządzenia Bluetooth obsługujące Szybkie parowanie."</string>
+ <string name="fast_pair_settings_summary" msgid="1786567691058982987">"W pobliżu wykryto urządzenia Bluetooth obsługujące Szybkie parowanie"</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"Szukaj urządzeń w pobliżu"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"Zapisane urządzenia"</string>
<string name="print_settings" msgid="8519810615863882491">"Drukowanie"</string>
@@ -3488,6 +3485,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Usuń"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Wszystkie aplikacje i dane w tej sesji zostaną usunięte."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Usuń"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gość (Ty)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Użytkownicy"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Inni użytkownicy"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Usuń aktywność gościa"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Usuwaj wszystkie aplikacje i dane gościa podczas zamykania trybu gościa"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Usunąć aktywność gościa?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikacje i dane z tej sesji gościa zostaną teraz usunięte. Cała przyszła aktywność gościa będzie usuwana podczas zamykania trybu gościa."</string>
<string name="user_enable_calling" msgid="264875360626905535">"Włącz rozmowy telefoniczne"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Włącz rozmowy telefoniczne i SMS-y"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Usuń użytkownika"</string>
@@ -3506,7 +3510,7 @@
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"Zainstaluj dostępne aplikacje"</string>
<string name="nfc_payment_settings_title" msgid="2043139180030485500">"Płatności zbliżeniowe"</string>
<string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"Domyślna aplikacja płatnicza"</string>
- <string name="nfc_default_payment_footer" msgid="978535088340021360">"Aby dokonać płatności przy użyciu aplikacji płatniczej, zbliż urządzenie tylną częścią do terminalu"</string>
+ <string name="nfc_default_payment_footer" msgid="978535088340021360">"Aby dokonać płatności przy użyciu aplikacji płatniczej, zbliż urządzenie tylną częścią do terminala"</string>
<string name="nfc_more_details" msgid="1700713533074275233">"Więcej informacji"</string>
<string name="nfc_default_payment_workapp_confirmation_title" msgid="746921251872504687">"Ustawić aplikację służbową jako domyślną aplikację płatniczą?"</string>
<string name="nfc_default_payment_workapp_confirmation_message_title" msgid="1533022606333010329">"Aby zapłacić aplikacją służbową:"</string>
@@ -3517,8 +3521,8 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"Płatność domyślna"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"Nie ustawiono"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"Użyj domyślnej aplikacji płatniczej"</string>
- <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Użyj domyślnej aplikacji płatniczej"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"Używaj domyślnej aplikacji płatniczej"</string>
+ <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Używaj domyślnej aplikacji płatniczej"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"Zawsze"</string>
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"Z wyjątkiem, gdy otwarta jest inna aplikacja płatnicza"</string>
<string name="nfc_payment_pay_with" msgid="3001320460566523453">"Na terminalu zbliżeniowym płać przy użyciu:"</string>
@@ -4395,8 +4399,8 @@
<string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Wpisz kod PIN administratora"</string>
<string name="switch_on_text" msgid="5664542327776075105">"Wł."</string>
<string name="switch_off_text" msgid="1315547447393646667">"Wył."</string>
- <string name="nfc_setting_on" msgid="7701896496026725772">"Wł."</string>
- <string name="nfc_setting_off" msgid="7142103438532732309">"Wył."</string>
+ <string name="nfc_setting_on" msgid="7701896496026725772">"Włączona"</string>
+ <string name="nfc_setting_off" msgid="7142103438532732309">"Wyłączona"</string>
<string name="screen_pinning_switch_on_text" msgid="6971386830247542552">"Włączono"</string>
<string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Wyłączono"</string>
<string name="screen_pinning_title" msgid="6927227272780208966">"Przypinanie aplikacji"</string>
@@ -4653,7 +4657,7 @@
<string name="usb_use_tethering" msgid="2897063414491670531">"Tethering przez USB"</string>
<string name="usb_use_MIDI" msgid="8621338227628859789">"MIDI"</string>
<string name="usb_use_MIDI_desc" msgid="6464135515868405143">"Użyj tego urządzenia jako MIDI"</string>
- <string name="usb_use" msgid="6783183432648438528">"Użyj USB do tych działań"</string>
+ <string name="usb_use" msgid="6783183432648438528">"Używaj USB do tych działań"</string>
<string name="usb_default_label" msgid="3372838450371060750">"Domyślna konfiguracja USB"</string>
<string name="usb_default_info" msgid="167172599497085266">"Te ustawienia będą obowiązywać, gdy zostanie połączone inne urządzenie, a Twój telefon będzie odblokowany. Łącz się tylko z zaufanymi urządzeniami."</string>
<string name="usb_power_title" msgid="5602112548385798646">"Opcje zasilania"</string>
@@ -5828,7 +5832,7 @@
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Używaj hotspota Wi‑Fi"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Używaj przypinania aplikacji"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Używaj opcji programisty"</string>
- <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Użyj usługi drukowania"</string>
+ <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Używaj usługi drukowania"</string>
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Zezwól na wielu użytkowników"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Używaj debugowania bezprzewodowego"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Używaj ustawień sterownika grafiki"</string>
@@ -5943,20 +5947,12 @@
<string name="ingress_rate_limit_summary" msgid="1097811019742438371">"Skonfiguruj ograniczenie liczby żądań ruchu przychodzącego dla przepustowości sieci we wszystkich sieciach, które zapewniają połączenie z internetem."</string>
<string name="ingress_rate_limit_dialog_title" msgid="5359461052422633789">"Skonfiguruj ograniczenie liczby żądań pobierania w sieci"</string>
<string name="ingress_rate_limit_no_limit_entry" msgid="8741098826008012163">"Brak limitu"</string>
- <!-- no translation found for bluetooth_broadcast_dialog_title (9172775308463135884) -->
- <skip />
- <!-- no translation found for bluetooth_broadcast_dialog_find_message (6621660851669953883) -->
- <skip />
- <!-- no translation found for bluetooth_broadcast_dialog_broadcast_message (6198264676009094495) -->
- <skip />
- <!-- no translation found for bluetooth_find_broadcast_title (5385985218699831970) -->
- <skip />
- <!-- no translation found for bluetooth_find_broadcast_summary (3907899428626210673) -->
- <skip />
- <!-- no translation found for bluetooth_find_broadcast (1768337775649457586) -->
- <skip />
- <!-- no translation found for bluetooth_find_broadcast_button_leave (7881206581147104908) -->
- <skip />
- <!-- no translation found for bluetooth_find_broadcast_button_scan (3995664694641895189) -->
- <skip />
+ <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Komunikat"</string>
+ <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Posłuchaj komunikatów odtwarzanych w pobliżu"</string>
+ <string name="bluetooth_broadcast_dialog_broadcast_message" msgid="6198264676009094495">"Przesyłaj multimedia na urządzenia w pobliżu lub posłuchaj komunikatu innej osoby"</string>
+ <string name="bluetooth_find_broadcast_title" msgid="5385985218699831970">"Komunikaty"</string>
+ <string name="bluetooth_find_broadcast_summary" msgid="3907899428626210673">"Odtwarzane"</string>
+ <string name="bluetooth_find_broadcast" msgid="1768337775649457586">"Znajdź komunikaty"</string>
+ <string name="bluetooth_find_broadcast_button_leave" msgid="7881206581147104908">"Zostaw komunikat"</string>
+ <string name="bluetooth_find_broadcast_button_scan" msgid="3995664694641895189">"Zeskanuj kod QR"</string>
</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 81d2149..8ad22b0 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Idioma do sistema"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Padrão do sistema"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"A seleção de idioma para este app não está disponível nas configurações."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"O idioma pode ser diferente dos disponíveis no app. Alguns apps podem não ter suporte a essa configuração."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">Remover o idioma selecionado?</item>
<item quantity="other">Remover idiomas selecionados?</item>
@@ -1431,15 +1430,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Protetor de tela"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Usar o protetor de tela"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Ao carregar ou quando encaixado na base"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Ambos"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Ao carregar"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Encaixado na base"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nunca"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Desativado"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Para controlar o que acontece quando o smartphone está na base e/ou no modo de suspensão, ative o protetor de tela."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Quando começar"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Protetor de tela atual"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Configurações"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Brilho automático"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Levantar para ativar"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Tela ambiente"</string>
@@ -3402,6 +3398,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Excluir"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Todos os apps e dados nesta sessão serão excluídos."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Remover"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Visitante (você)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Usuários"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Outros usuários"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Excluir atividade de visitante"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Excluir todos os apps e dados do visitante ao sair do modo visitante"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Excluir atividade do visitante?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Os apps e dados desta Sessão de visitante serão excluídos agora e toda a atividade de visitante futura será excluída sempre que você sair do modo visitante"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Ativar chamadas telefônicas"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Ativar chamadas telefônicas e SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Excluir usuário"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 05d6e58..84bb86e 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -317,7 +317,7 @@
<string name="show_profile_info_on_lockscreen_label" msgid="5734739022887933365">"Mostrar informação do perfil no ecrã de bloqueio"</string>
<string name="Accounts_settings_title" msgid="8434263183710375412">"Contas"</string>
<string name="location_settings_title" msgid="8375074508036087178">"Localização"</string>
- <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Utilizar a localização"</string>
+ <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Usar localização"</string>
<string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desativada"</string>
<plurals name="location_settings_summary_location_on" formatted="false" msgid="1019959038518185676">
<item quantity="other">Ativada – <xliff:g id="COUNT_1">%1$d</xliff:g> apps têm acesso à localização</item>
@@ -857,7 +857,7 @@
<string name="device_details_title" msgid="1155622417516195481">"Detalhes do dispositivo"</string>
<string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Endereço Bluetooth do dispositivo: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
<string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Endereço Bluetooth do dispositivo:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
- <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Pretende esquecer o dispositivo?"</string>
+ <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Esquecer dispositivo?"</string>
<string name="remove_association_button" msgid="5004208145998061135">"Remover associação"</string>
<string name="bluetooth_companion_app_remove_association_dialog_title" msgid="1344518601377991897">"Pretende desassociar a app?"</string>
<string name="bluetooth_unpair_dialog_body" product="default" msgid="4730377171981539265">"O telemóvel deixará de estar sincronizado com o <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Proteção de ecrã"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Usar proteção de ecrã"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Ao carregar ou na estação de ancoragem"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Ambos os casos"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Ao carregar"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Ancorado"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nunca"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Desligado"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Para controlar o que acontece quando o telemóvel está ancorado e/ou em suspensão, ative a proteção de ecrã."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Quando iniciar"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Proteção de ecrã atual"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Definições"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Brilho automático"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Ativar ao levantar"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Visualização ambiente"</string>
@@ -1777,7 +1774,7 @@
<string name="main_clear_button_text" product="default" msgid="6246087475569640671">"Apagar todos os dados"</string>
<string name="main_clear_final_desc" msgid="5800877928569039580">"Serão eliminadas todas as informações pessoais e apps transferidas. Não é possível anular esta ação."</string>
<string name="main_clear_final_desc_esim" msgid="440406836793824969">"Todas as suas informações pessoais, incluindo apps e SIMs transferidos, serão eliminadas. Não é possível anular esta ação."</string>
- <string name="main_clear_confirm_title" msgid="6577071819657853713">"Pretende apagar todos os dados?"</string>
+ <string name="main_clear_confirm_title" msgid="6577071819657853713">"Apagar todos os dados?"</string>
<string name="main_clear_not_available" msgid="3433795327146684827">"A reposição de fábrica não está disponível para este utilizador."</string>
<string name="main_clear_progress_title" msgid="7239741132015617719">"A apagar…"</string>
<string name="main_clear_progress_text" msgid="4636695115176327972">"Aguarde…"</string>
@@ -1862,7 +1859,7 @@
<string name="location_recent_location_access_see_all" msgid="4203102419355323325">"Ver tudo"</string>
<string name="location_recent_location_access_view_details" msgid="5803264082558504544">"Ver detalhes"</string>
<string name="location_no_recent_apps" msgid="6814206631456177033">"Nenhuma aplicação solicitou a localização recentemente"</string>
- <string name="location_no_recent_accesses" msgid="6031735777805464247">"Nenhuma aplicação acedeu recentemente à localização"</string>
+ <string name="location_no_recent_accesses" msgid="6031735777805464247">"Nenhuma app acedeu recentemente à localização"</string>
<string name="location_high_battery_use" msgid="4277318891200626524">"Utilização de bateria elevada"</string>
<string name="location_low_battery_use" msgid="5218950289737996431">"Utilização de bateria baixa"</string>
<string name="location_scanning_wifi_always_scanning_title" msgid="5004781272733434794">"Procurar Wi‑Fi"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Eliminar"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Todas as apps e dados desta sessão serão eliminados."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Remover"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Convidado (utilizador)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Utilizadores"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Outros utilizadores"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Elimine a atividade de convidado"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Elimine todas as apps e dados de convidado ao sair do modo convidado"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Eliminar a atividade de convidado?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"As apps e os dados desta sessão de convidado vão ser eliminados agora e toda a atividade de convidado futura é eliminada sempre que sair do modo convidado"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Ativar chamadas telefónicas"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Ativar chamadas telefónicas e SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Eliminar utilizador"</string>
@@ -5338,7 +5342,7 @@
<string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nome"</string>
<string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Cor (usada por apps compatíveis)"</string>
<string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Guardar"</string>
- <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Utilizar SIM"</string>
+ <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Usar SIM"</string>
<string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Desativado"</string>
<string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Para desativar este SIM, remova o cartão SIM"</string>
<string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Toque para ativar o operador <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -5425,7 +5429,7 @@
<string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nenhum SIM ativo disponível"</string>
<string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Para utilizar dados móveis, funcionalidades de chamadas e SMS posteriormente, aceda às definições de rede."</string>
<string name="sim_card_label" msgid="5632157635124050923">"Cartão SIM"</string>
- <string name="erase_sim_dialog_title" msgid="881253002169177016">"Pretende apagar este SIM transferido?"</string>
+ <string name="erase_sim_dialog_title" msgid="881253002169177016">"Apagar este SIM transferido?"</string>
<string name="erase_sim_dialog_text" msgid="753031064269699885">"Se apagar este SIM, o serviço do operador <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> será removido deste dispositivo.\n\nO serviço do operador <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> não é cancelado."</string>
<string name="erase_sim_confirm_button" msgid="8309115684335320541">"Apagar"</string>
<string name="erasing_sim" msgid="7877703231075699139">"A apagar SIM…"</string>
@@ -5621,7 +5625,7 @@
<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">"Ligado"</string>
<string name="mobile_data_no_connection" msgid="905897142426974030">"Sem ligação"</string>
- <string name="mobile_data_off_summary" msgid="1884248776904165539">"Não é efetuada ligação de dados móveis automática"</string>
+ <string name="mobile_data_off_summary" msgid="1884248776904165539">"Sem ligação automática com dados móveis"</string>
<string name="non_carrier_network_unavailable" msgid="9031567407964127997">"Nenhuma outra rede disponível"</string>
<string name="all_network_unavailable" msgid="1163897808282057496">"Sem redes disponíveis"</string>
<string name="mobile_data_disable_title" msgid="8438714772256088913">"Desativar os dados móveis?"</string>
@@ -5645,12 +5649,12 @@
<string name="category_name_others" msgid="2366006298768550310">"Outros"</string>
<string name="category_name_general" msgid="7737273712848115886">"Geral"</string>
<string name="dark_theme_main_switch_title" msgid="4045147031947562280">"Usar tema escuro"</string>
- <string name="bluetooth_main_switch_title" msgid="8409835540311309632">"Utilizar Bluetooth"</string>
+ <string name="bluetooth_main_switch_title" msgid="8409835540311309632">"Usar Bluetooth"</string>
<string name="prevent_ringing_main_switch_title" msgid="4726252811262086643">"Utilizar Impedir o toque"</string>
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Usar zona Wi-Fi"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Utilizar fixação de apps"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar opções de programador"</string>
- <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Utilize o serviço de impressão"</string>
+ <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar serviço de impressão"</string>
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir vários utilizadores"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Utilizar depuração sem fios"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Utilizar preferências da placa gráfica"</string>
@@ -5658,7 +5662,7 @@
<string name="do_not_disturb_main_switch_title_on" msgid="6965566556539821313">"Desativar agora"</string>
<string name="do_not_disturb_main_switch_title_off" msgid="7088088515823752545">"Ativar agora"</string>
<string name="night_light_main_switch_title" msgid="3428298022467805219">"Usar Luz noturna"</string>
- <string name="nfc_main_switch_title" msgid="6295839988954817432">"Utilizar NFC"</string>
+ <string name="nfc_main_switch_title" msgid="6295839988954817432">"Usar NFC"</string>
<string name="adaptive_battery_main_switch_title" msgid="3127477920505485813">"Utilizar bateria adaptável"</string>
<string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"Usar luminosidade adaptável"</string>
<string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"Utilizar Chamadas Wi-Fi"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 81d2149..8ad22b0 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Idioma do sistema"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Padrão do sistema"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"A seleção de idioma para este app não está disponível nas configurações."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"O idioma pode ser diferente dos disponíveis no app. Alguns apps podem não ter suporte a essa configuração."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">Remover o idioma selecionado?</item>
<item quantity="other">Remover idiomas selecionados?</item>
@@ -1431,15 +1430,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Protetor de tela"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Usar o protetor de tela"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Ao carregar ou quando encaixado na base"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Ambos"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Ao carregar"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Encaixado na base"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nunca"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Desativado"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Para controlar o que acontece quando o smartphone está na base e/ou no modo de suspensão, ative o protetor de tela."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Quando começar"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Protetor de tela atual"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Configurações"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Brilho automático"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Levantar para ativar"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Tela ambiente"</string>
@@ -3402,6 +3398,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Excluir"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Todos os apps e dados nesta sessão serão excluídos."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Remover"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Visitante (você)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Usuários"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Outros usuários"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Excluir atividade de visitante"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Excluir todos os apps e dados do visitante ao sair do modo visitante"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Excluir atividade do visitante?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Os apps e dados desta Sessão de visitante serão excluídos agora e toda a atividade de visitante futura será excluída sempre que você sair do modo visitante"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Ativar chamadas telefônicas"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Ativar chamadas telefônicas e SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Excluir usuário"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 74bfae2..29d70c4 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -1450,15 +1450,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Economizor de ecran"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Folosiți screensaverul"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"În timpul încărcării sau andocării"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"În ambele situații"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"În timpul încărcării"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Când dispozitivul este andocat"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Niciodată"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Dezactivat"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Pentru a stabili ce se întâmplă când telefonul este andocat și/sau inactiv, activați economizorul de ecran."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Când pornește"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Screensaver actual"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Setări"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Luminozitate automată"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Ridicați pentru a reactiva"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Afișaj ambiental"</string>
@@ -1577,7 +1574,7 @@
<string name="memory_available_read_only" msgid="3201969221573511590">"Disponibil (numai în citire)"</string>
<string name="memory_size" msgid="2710897518522931469">"Spațiu total"</string>
<string name="memory_calculating_size" msgid="3898240439798661242">"Se calculează..."</string>
- <string name="memory_apps_usage" msgid="8818570780540532952">"Aplicațiile și datele aplicațiilor"</string>
+ <string name="memory_apps_usage" msgid="8818570780540532952">"Aplicații și datele aplicațiilor"</string>
<string name="memory_media_usage" msgid="5161308657995646963">"Media"</string>
<string name="memory_downloads_usage" msgid="8252462247720191179">"Descărcări"</string>
<string name="memory_dcim_usage" msgid="3568913845973164352">"Imagini, videoclipuri"</string>
@@ -1783,7 +1780,7 @@
<string name="main_clear_title" msgid="277664302144837723">"Ștergeți datele (reveniți la setările din fabrică)"</string>
<string name="main_clear_short_title" msgid="4752094765533020696">"Ștergeți datele (reveniți la setările din fabrică)"</string>
<string name="main_clear_desc" product="tablet" msgid="1651178880680056849">"Această acțiune va șterge toate datele din "<b>"memoria internă"</b>" a tabletei, inclusiv:\n\n"<li>"Contul dvs. Google,"</li>\n<li>"datele și setările sistemului și ale aplicațiilor,"</li>\n<li>"aplicațiile descărcate."</li></string>
- <string name="main_clear_desc" product="default" msgid="6984348811887162647">"Această acțiune va șterge toate datele din "<b>"memoria internă"</b>" a telefonului, inclusiv:\n\n"<li>"Contul dvs. Google,"</li>\n<li>"datele și setările sistemului și ale aplicațiilor,"</li>\n<li>"aplicațiile descărcate."</li></string>
+ <string name="main_clear_desc" product="default" msgid="6984348811887162647">"Această acțiune va șterge toate datele din "<b>"memoria internă"</b>" a telefonului, inclusiv:\n\n"<li>"Contul dvs. Google;"</li>\n<li>"datele și setările sistemului și ale aplicațiilor;"</li>\n<li>"aplicațiile descărcate;"</li></string>
<string name="main_clear_accounts" product="default" msgid="7675859115108318537">\n\n"V-ați conectat la următoarele conturi:\n"</string>
<string name="main_clear_other_users_present" product="default" msgid="2672976674798019077">\n\n"Pe acest dispozitiv sunt prezenți și alți utilizatori.\n"</string>
<string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"muzică;"</li>\n<li>"fotografii;"</li>\n<li>"alte date ale utilizatorului."</li></string>
@@ -3445,6 +3442,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Ștergeți"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Toate aplicațiile și datele din această sesiune vor fi șterse."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Ștergeți"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Invitat (dvs.)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Utilizatori"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Alți utilizatori"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Ștergeți activitatea invitatului"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Ștergeți toate aplicațiile și datele invitatului când ieșiți din modul pentru invitați"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Ștergeți activitatea invitatului?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplicațiile și datele din această sesiune pentru invitați vor fi șterse acum și toate activitățile viitoare ale invitaților vor fi șterse de fiecare dată când ieșiți din modul pentru invitați"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Activați apelurile telefonice"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Activați apelurile telefonice și SMS-urile"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Ștergeți utilizatorul"</string>
@@ -5711,7 +5715,7 @@
<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">"Conectat"</string>
<string name="mobile_data_no_connection" msgid="905897142426974030">"Nicio conexiune"</string>
- <string name="mobile_data_off_summary" msgid="1884248776904165539">"Datele mobile nu se corectează automat"</string>
+ <string name="mobile_data_off_summary" msgid="1884248776904165539">"Datele mobile nu se conectează automat"</string>
<string name="non_carrier_network_unavailable" msgid="9031567407964127997">"Nu sunt disponibile alte rețele"</string>
<string name="all_network_unavailable" msgid="1163897808282057496">"Nicio rețea disponibilă"</string>
<string name="mobile_data_disable_title" msgid="8438714772256088913">"Dezactivați datele mobile?"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 0ec7de8..b7fc25e 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -229,8 +229,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Язык системы"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Системные настройки по умолчанию"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Для этого приложения не поддерживается выбор языка в настройках."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Выбранный язык может быть недоступен в приложении. Некоторые приложения могут не поддерживать этот параметр."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">Удалить выбранные языки?</item>
<item quantity="few">Удалить выбранные языки?</item>
@@ -1469,15 +1468,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Заставка"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Использовать заставку"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Во время зарядки и на док-станции"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Всегда"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Во время зарядки"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"На док-станции"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Никогда"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Отключено"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Чтобы настроить поведение телефона при подключении к док-станции и в спящем режиме, включите заставку."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Когда запускать"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Текущая заставка"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Настройки"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Автонастройка"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Активация в вертикальном положении"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Автоматич. включение экрана"</string>
@@ -3488,6 +3484,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Удалить"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Все приложения и данные этого профиля будут удалены."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Удалить"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Гость (вы)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Пользователи"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Другие пользователи"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Удалить историю гостевого сеанса"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Удалять все приложения и данные при выходе из гостевого режима"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Удалить историю гостевого сеанса?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Все данные и приложения этого гостевого сеанса будут удалены. В дальнейшем история будет очищаться каждый раз при выходе из гостевого режима."</string>
<string name="user_enable_calling" msgid="264875360626905535">"Включить звонки"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Включить звонки и SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Удалить пользователя"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index b3adf63..46ff45c 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"පද්ධති භාෂාව"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"පද්ධති පෙරනිමිය"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"මෙම යෙදුම සඳහා භාෂා තේරීම සැකසීම් වෙතින් ලබා ගත නොහැකිය."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"යෙදුමේ තිබෙන භාෂාවලට වඩා භාෂාව වෙනස් විය හැකිය. සමහර යෙදුම් මෙම සැකසීමට සහාය නොදක්වයි."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">තෝරා ගත් භාෂා ඉවත් කරන්නද?</item>
<item quantity="other">තෝරා ගත් භාෂා ඉවත් කරන්නද?</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"තිර සුරැකුම"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"තිර සුරැකුම භාවිත කරන්න"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ආරෝපණය හෝ ඩොක් කර ඇති විට"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"දෙකෙන් එකක්"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ආරෝපණය වන අතරතුර"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ඩොක් කර ඇති විට"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"කවදාවත් නෑ"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"අක්රියයි"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"දුරකථනය රඳවා ඇති විට සහ/හෝ නිද්රාවේ ඇති විට සිදු වන දේ පාලනය කිරීමට, තිර සුරැකුම ක්රියාත්මක කරන්න."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"පටන් ගන්න මොන වේලාවටද"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"වර්තමාන තිර සුරැකුම"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"සැකසීම්"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"ස්වයංක්රිය දීප්තිය"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"අවදි කිරීමට ඔසවන්න"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"ස්ථානික සංදර්ශකය"</string>
@@ -2628,7 +2624,7 @@
<string name="keywords_hearing_aids" msgid="524979615168196199">"ඇසීමට අපහසු, ශ්රවණය අහිමි"</string>
<string name="keywords_rtt" msgid="2429130928152514402">"ඇසීමට අපහසු, ශ්රවණය අහිමි, සිරස්තල, ටෙලිටයිප්, tty"</string>
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
- <string name="fast_pair_settings" msgid="3308819519080016185">"Fast Pair"</string>
+ <string name="fast_pair_settings" msgid="3308819519080016185">"ඉක්මන් සබැඳිය"</string>
<string name="fast_pair_settings_summary" msgid="1786567691058982987">"Fast Pair බ්ලූටූත් උපාංගවල ළඟ හඳුනා ගැනීම."</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"අවට උපාංග සඳහා ස්කෑන් කරන්න"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"සුරැකි උපාංග"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"මකන්න"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"මෙම සැසියේ සියළුම යෙදුම් සහ දත්ත මකාවී."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"ඉවත් කරන්න"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"ආගන්තුකයා (ඔබ)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"පරිශීලකයින්"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"වෙනත් පරිශීලකයින්"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"ආගන්තුක ක්රියාකාරකම් මකන්න"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"ආගන්තුක ප්රකාරයෙන් පිටවන විට සියලු ආගන්තුක යෙදුම් සහ දත්ත මකන්න"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ආගන්තුක ක්රියාකාරකම මකන්නද?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"මෙම ආගන්තුක සැසියේ යෙදුම් සහ දත්ත දැන් මකනු ඇති අතර, ඔබ ආගන්තුක ප්රකාරයෙන් පිටවන සෑම අවස්ථාවකම අනාගත ආගන්තුකයන්ගේ ක්රියාකාරකම් සියල්ල මකනු ඇත"</string>
<string name="user_enable_calling" msgid="264875360626905535">"දුරකථන ඇමතුම් ක්රියාත්මක කරන්න"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"දුරකථන ඇමතුම් සහ SMS ක්රියාත්මක කරන්න?"</string>
<string name="user_remove_user" msgid="8468203789739693845">"පරිශීලකයා මකන්න"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index eaa93d8..7f7e6ff 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -103,7 +103,7 @@
<string name="progress_scanning" msgid="2564746192843011826">"Vyhľadávanie"</string>
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"V okolí nie sú žiadne zariadenia Bluetooth."</string>
<string name="bluetooth_notif_ticker" msgid="209515545257862858">"Žiadosť o párovanie zariadenia Bluetooth"</string>
- <string name="bluetooth_notif_title" msgid="1196532269131348647">"Žiadosť na párovanie"</string>
+ <string name="bluetooth_notif_title" msgid="1196532269131348647">"Žiadosť o párovanie"</string>
<string name="bluetooth_notif_message" msgid="5584717784198086653">"Zariadenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g> spárujete klepnutím."</string>
<string name="bluetooth_show_received_files" msgid="685424727760622632">"Prijaté súbory"</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"Rozhranie Bluetooth je vypnuté"</string>
@@ -229,8 +229,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Jazyk systému"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Predvolené systémom"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Výber jazyka pre túto aplikáciu nie je v Nastaveniach k dispozícii."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Jazyk môže byť iný, ako sú tie, ktoré sú k dispozícii v aplikácii. Niektoré aplikácie nemusia toto nastavenie podporovať."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="few">Odstrániť vybraté jazyky?</item>
<item quantity="many">Odstrániť vybraté jazyky?</item>
@@ -962,7 +961,7 @@
<string name="nfc_disclaimer_title" msgid="3696580694485048039">"Zapnutie NFC"</string>
<string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC posiela dáta medzi týmto zariadením a ďalšími zariadeniami alebo cieľmi v okolí, ako sú platobné terminály, čítačky prístupových médií a interaktívne reklamy alebo značky."</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Vyžadovať odomknutie zariadenia pre NFC"</string>
- <string name="nfc_secure_toggle_summary" product="default" msgid="407654335737959071">"Povoliť použitie NFC iba na odomknutej obrazovke"</string>
+ <string name="nfc_secure_toggle_summary" product="default" msgid="407654335737959071">"Povoliť použitie NFC iba po odomknutí obrazovky"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
<string name="android_beam_on_summary" msgid="6067720758437490896">"Pripravené na prenos obsahu aplikácie prostredníctvom NFC"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"Vypnuté"</string>
@@ -1041,7 +1040,7 @@
<string name="wifi_ssid_hint" msgid="1940577553241083524">"Zadajte SSID"</string>
<string name="wifi_security" msgid="9095934643631406913">"Zabezpečenie"</string>
<string name="wifi_hidden_network" msgid="6466834025375485596">"Skrytá sieť"</string>
- <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"Ak váš smerovač nevysiela ID určitej siete, ale chcete sa k nej pripojiť v budúcnosti, môžete ju nastaviť ako skrytú.\n\nMôže tým vzniknúť bezpečnostné riziko, pretože váš telefón bude pravidelne vysielať signál, aby sieť našiel.\n\nNastavením danej siete ako skrytej nezmeníte nastavenia smerovača."</string>
+ <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"Ak váš smerovač nevysiela ID určitej siete, ale chcete sa k nej pripojiť v budúcnosti, môžete ju nastaviť ako skrytú.\n\nMôže tým vzniknúť bezpečnostné riziko, pretože váš telefón bude pravidelne vysielať signál siete, aby ju našiel.\n\nNastavením danej siete ako skrytej nezmeníte nastavenia smerovača."</string>
<string name="wifi_signal" msgid="4442182285304271424">"Sila signálu"</string>
<string name="wifi_status" msgid="5349199188871002778">"Stav"</string>
<string name="tx_wifi_speed" msgid="2368986629172050673">"Rýchlosť posielania dát"</string>
@@ -1471,15 +1470,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Šetrič obrazovky"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Použiť šetrič obrazovky"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Pri nabíjaní alebo v doku"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"V oboch prípadoch"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Pri nabíjaní"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Pri vložení do doku"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nikdy"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Vypnuté"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Ak chcete ovládať, čo sa má stať, keď je telefón v doku alebo v režime spánku, zapnite šetrič obrazovky."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Čas spustenia"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Aktuálny šetrič obrazovky"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Nastavenia"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatický jas"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Prebudiť zdvihnutím"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambientné zobrazenie"</string>
@@ -1805,7 +1801,7 @@
<string name="main_clear_title" msgid="277664302144837723">"Vymazať dáta (obn. výr. nast.)"</string>
<string name="main_clear_short_title" msgid="4752094765533020696">"Vymazať dáta (obn. výr. nast.)"</string>
<string name="main_clear_desc" product="tablet" msgid="1651178880680056849">"Týmto vymažete všetky dáta v "<b>"internom úložisku"</b>" tabletu:\n\n"<li>"účet Google;"</li>\n<li>"dáta aj nastavenia systému a aplikácií;"</li>\n<li>"stiahnuté aplikácie."</li></string>
- <string name="main_clear_desc" product="default" msgid="6984348811887162647">"Týmto vymažete všetky dáta v "<b>"internom úložisku"</b>" telefónu\n\n"<li>"účet Google"</li>\n<li>"dáta aj nastavenia systému a aplikácií"</li>\n<li>"stiahnuté aplikácie"</li></string>
+ <string name="main_clear_desc" product="default" msgid="6984348811887162647">"Týmto vymažete všetky dáta v "<b>"internom úložisku"</b>" telefónu:\n\n"<li>"účet Google"</li>\n<li>"dáta aj nastavenia systému a aplikácií"</li>\n<li>"stiahnuté aplikácie"</li></string>
<string name="main_clear_accounts" product="default" msgid="7675859115108318537">\n\n"Momentálne ste prihlásený/-á do nasledujúcich účtov:\n"</string>
<string name="main_clear_other_users_present" product="default" msgid="2672976674798019077">\n\n"V tomto zariadení sa nachádzajú ďalší používatelia.\n"</string>
<string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Hudba"</li>\n<li>"Fotky"</li>\n<li>"Iné údaje používateľa"</li></string>
@@ -2689,7 +2685,7 @@
<string name="keywords_rtt" msgid="2429130928152514402">"slabo počujúci, hluchota, titulky, ďalekopisný stroj, textový telefón"</string>
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
<string name="fast_pair_settings" msgid="3308819519080016185">"Rýchle párovanie"</string>
- <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Rozpoznávanie zariadení s rozhraním Bluetooth rýchleho párovania v okolí"</string>
+ <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Rozpoznávať zariadenia s rozhraním Bluetooth rýchleho párovania v okolí"</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"Hľadať zariadenia v okolí"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"Uložené zariadenia"</string>
<string name="print_settings" msgid="8519810615863882491">"Tlač"</string>
@@ -3490,6 +3486,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Odstrániť"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Všetky aplikácie a údaje v tejto relácii budú odstránené."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Odstrániť"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Hosť (vy)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Používatelia"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Ďalší používatelia"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Odstrániť aktivitu hosťa"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Odstrániť všetky aplikácie a údaje hosťa pri ukončení režimu pre hostí"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Chcete odstrániť aktivitu hosťa?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikácie a údaje z tejto relácie hosťa sa odstránia teraz a budúca aktivita hosťa sa odstráni vždy pri ukončení režimu pre hostí"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Zapnúť telefonické hovory"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Zapnúť telefonáty a SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Odobrať používateľa"</string>
@@ -3944,7 +3947,7 @@
<string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automaticky zoradiť upozornenia podľa relevancie"</string>
<string name="asst_feedback_indicator_title" msgid="5169801869752395354">"Spätná väzba k prispôsobivým upozorneniam"</string>
<string name="asst_feedback_indicator_summary" msgid="5862082842073307900">"Uveďte úpravy upozornení a zobrazujte možnosť poskytnúť spätnú väzbu k systému"</string>
- <string name="asst_importance_reset_title" msgid="6191265591976440115">"Resetovanie dôležitosti upozornenia"</string>
+ <string name="asst_importance_reset_title" msgid="6191265591976440115">"Resetovať dôležitosť upozornenia"</string>
<string name="asst_importance_reset_summary" msgid="684794589254282667">"Resetovanie nastavení dôležitosti zmenených používateľom a povolenie priorizácie v asistentovi upozornení"</string>
<string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Navrhované akcie a odpovede"</string>
<string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automaticky zobrazovať navrhované akcie a odpovede"</string>
@@ -4758,7 +4761,7 @@
<string name="camera_gesture_title" msgid="5559439253128696180">"Fotoaparát – dvakrát pokrúťte zápästím"</string>
<string name="camera_gesture_desc" msgid="7557645057320805328">"Otvorte aplikáciu fotoaparátu tak, že dvakrát pokrútite zápästím"</string>
<string name="camera_double_tap_power_gesture_title" msgid="8264757967127716261">"Fotoaparát dvojitým stlačením vypínača"</string>
- <string name="camera_double_tap_power_gesture_desc" msgid="1539147023700755155">"Rýchlo otvárať fotoaparát bez odomknutia obrazovky"</string>
+ <string name="camera_double_tap_power_gesture_desc" msgid="1539147023700755155">"Rýchlo otvárať kameru bez odomknutia obrazovky"</string>
<string name="screen_zoom_title" msgid="6928045302654960559">"Veľkosť zobrazenia"</string>
<string name="screen_zoom_short_summary" msgid="756254364808639194">"Zväčšite alebo zmenšite obsah na obrazovke"</string>
<string name="screen_zoom_keywords" msgid="5964023524422386592">"hustota obrazovky, priblíženie obrazovky, veľkosť, zmena veľkosti"</string>
@@ -5065,8 +5068,8 @@
<string name="gesture_preference_summary" product="device" msgid="3520072325356373349">"Rýchle gestá na ovládanie zariadenia"</string>
<string name="double_tap_power_for_camera_title" msgid="7982364144330923683">"Rýchlo spustiť kameru"</string>
<string name="double_tap_power_for_camera_summary" msgid="1100926048598415509">"Rýchlo otvoriť kameru dvojitým stlačením vypínača. Funguje to na každej obrazovke."</string>
- <string name="double_tap_power_for_camera_suggestion_title" msgid="4299496243418753571">"Rýchle spustenie fotoaparátu"</string>
- <string name="double_twist_for_camera_mode_title" msgid="472455236910935684">"Otočiť fotoaparát na selfie"</string>
+ <string name="double_tap_power_for_camera_suggestion_title" msgid="4299496243418753571">"Rýchle spustenie kamery"</string>
+ <string name="double_twist_for_camera_mode_title" msgid="472455236910935684">"Otočiť kameru na selfie"</string>
<string name="double_twist_for_camera_mode_summary" msgid="592503740044744951"></string>
<string name="double_twist_for_camera_suggestion_title" msgid="8178844037382604158">"Rýchlejšie fotenie snímok selfie"</string>
<string name="system_navigation_title" msgid="1698862900901417194">"Navigácia v systéme"</string>
@@ -5553,9 +5556,9 @@
<string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Chcete prepnúť na operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
<string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Chcete prepnúť na SIM kartu?"</string>
<string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Chcete používať operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
- <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"V jednej chvíli môže byť aktívna iba jedna stiahnutá SIM karta.\n\nPrepnutím na operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nezrušíte službu operátora <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+ <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"V jednej chvíli môže byť aktívna iba jedna SIM karta.\n\nPrepnutím na operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nezrušíte službu operátora <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
<string name="sim_action_switch_sub_dialog_text_downloaded" msgid="1396320209544698027">"V jednej chvíli môže byť aktívna iba jedna stiahnutá SIM karta.\n\nPrepnutím na operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nezrušíte službu operátora <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
- <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"V jednej chvíli môže byť aktívna iba jedna stiahnutá SIM karta.\n\nPrepnutím na operátora nezrušíte službu operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+ <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"V jednej chvíli môže byť aktívna iba jedna SIM karta.\n\nPrepnutím nezrušíte službu operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
<string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Naraz môžete používať dve SIM karty. Ak chcete používať operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, vypnite druhú SIM kartu."</string>
<string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Prepnúť na operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
<string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Vypnúť <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
@@ -5825,7 +5828,7 @@
<string name="category_name_others" msgid="2366006298768550310">"Iné"</string>
<string name="category_name_general" msgid="7737273712848115886">"Všeobecné"</string>
<string name="dark_theme_main_switch_title" msgid="4045147031947562280">"Použiť tmavý motív"</string>
- <string name="bluetooth_main_switch_title" msgid="8409835540311309632">"Použiť Bluetooth"</string>
+ <string name="bluetooth_main_switch_title" msgid="8409835540311309632">"Používať Bluetooth"</string>
<string name="prevent_ringing_main_switch_title" msgid="4726252811262086643">"Vypnúť zvonenie"</string>
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Používať hotspot Wi‑Fi"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Používať pripnutie aplikácie"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 745ec5b..0e02cbc 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -229,8 +229,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Sistemski jezik"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Sistemsko privzeto"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"V nastavitvah ni na voljo izbire jezika za to aplikacijo."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Jezik se morda razlikuje od jezikov, ki so na voljo v aplikaciji. Nekatere aplikacije morda ne podpirajo te nastavitve."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">Želite odstraniti izbrane jezike?</item>
<item quantity="two">Želite odstraniti izbrane jezike?</item>
@@ -966,7 +965,7 @@
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
<string name="android_beam_on_summary" msgid="6067720758437490896">"Pripravljen za prenos vsebine aplikacije prek NFC"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"Izklopljeno"</string>
- <string name="nfc_disabled_summary" msgid="8737797364522502351">"Ni na voljo, ker je NFC izklopljen"</string>
+ <string name="nfc_disabled_summary" msgid="8737797364522502351">"Ni na voljo, ker je NFC izklopljen."</string>
<string name="android_beam_label" msgid="7168565080321110094">"Android Beam"</string>
<string name="android_beam_explained" msgid="5684416131846701256">"Ko je ta funkcija vklopljena, lahko vsebino iz aplikacije prenesete v drugo napravo, ki podpira NFC, tako, da napravi približate. Prenesete lahko na primer spletne strani, videoposnetke v YouTubu, stike in drugo.\n\nPreprosto približajte napravi (običajno s hrbtno stranjo) in se dotaknite zaslona. Vsebino prenosa določi aplikacija."</string>
<string name="wifi_quick_toggle_title" msgid="2737097538432862807">"Wi‑Fi"</string>
@@ -1471,15 +1470,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ohranjevalnik zaslona"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Uporabi ohranjevalnik zaslona"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Med polnjenjem ali v stojalu"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Eno ali drugo"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Med polnjenjem"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Ko je v stojalu"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Nikoli"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Izklopljeno"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Če želite nadzirati, kaj se dogaja, ko je telefon na nosilcu in/ali v stanju pripravljenosti, vklopite ohranjevalnik zaslona."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kdaj naj se zažene"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Trenutni ohranjevalnik zaslona"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Nastavitve"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Samodejna svetlost"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Preklop iz stanja pripravlj. z dviganjem"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Prikaz na podlagi okolja"</string>
@@ -1788,10 +1784,10 @@
<string name="reset_dashboard_title" msgid="7423200250697886918">"Možnosti ponastavitve"</string>
<string name="reset_dashboard_summary" msgid="4390780188264852956">"Ponastavite lahko omrežje, aplikacije ali napravo"</string>
<string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplikacije je mogoče ponastaviti"</string>
- <string name="reset_network_title" msgid="1395494440355807616">"Ponastavi Wi-Fi, mob. podatke in Bluetooth"</string>
+ <string name="reset_network_title" msgid="1395494440355807616">"Ponastavitev Wi-Fi-ja, mobilnih podatkov in Bluetootha"</string>
<string name="reset_network_desc" msgid="1112523764899788246">"S tem boste ponastavili vse omrežne nastavitve, vključno s temi:\n\n"<li>"Wi‑Fi,"</li>\n<li>"prenos podatkov v mobilnih omrežjih,"</li>\n<li>"Bluetooth."</li></string>
<string name="erase_euicc_data_button" msgid="728078969563311737">"Izbriši"</string>
- <string name="reset_esim_title" msgid="6152167073280852849">"Izbriši prenesene kartice SIM"</string>
+ <string name="reset_esim_title" msgid="6152167073280852849">"Izbris prenesenih kartic SIM"</string>
<string name="reset_esim_desc" msgid="3662444090563399131">"S tem ne boste prekinili nobenega naročniškega paketa za mobilno telefonijo. Če želite prenesti nadomestne kartice SIM, se obrnite na operaterja."</string>
<string name="reset_network_button_text" msgid="2281476496459610071">"Ponastavi nastavitve"</string>
<string name="reset_network_final_desc" msgid="5304365082065278425">"Želite ponastaviti vse omrežne nastavitve? Tega dejanja ni mogoče razveljaviti."</string>
@@ -1802,13 +1798,13 @@
<string name="reset_network_complete_toast" msgid="1367872474130621115">"Omrežne nastavitve so ponastavljene"</string>
<string name="reset_esim_error_title" msgid="4670073610967959597">"Kartic SIM ni mogoče izbrisati"</string>
<string name="reset_esim_error_msg" msgid="4441504470684307370">"Prenesenih kartic SIM ni mogoče izbrisati zaradi napake.\n\nZnova zaženite napravo in poskusite znova."</string>
- <string name="main_clear_title" msgid="277664302144837723">"Izbriši vse podatke (tovarniška ponastavitev)"</string>
+ <string name="main_clear_title" msgid="277664302144837723">"Izbris vseh podatkov (tovarniška ponastavitev)"</string>
<string name="main_clear_short_title" msgid="4752094765533020696">"Izbriši vse podatke (tov. po.)"</string>
- <string name="main_clear_desc" product="tablet" msgid="1651178880680056849">"S tem boste iz "<b>"notranje shrambe"</b>" tabličnega računalnika izbrisali vse podatke, kar vključuje tudi:\n\n"<li>"Račun Google. "</li>\n<li>"Podatke in nastavitve sistema in aplikacij."</li>\n<li>"Prenesene aplikacije."</li></string>
- <string name="main_clear_desc" product="default" msgid="6984348811887162647">"S tem boste iz "<b>"notranje shrambe"</b>" telefona izbrisali vse podatke, kar vključuje tudi:\n\n"<li>"Račun Google."</li>\n<li>"Podatke in nastavitve sistema in aplikacij."</li>\n<li>"Prenesene aplikacije."</li></string>
+ <string name="main_clear_desc" product="tablet" msgid="1651178880680056849">"S tem boste iz "<b>"notranje shrambe"</b>" tabličnega računalnika izbrisali vse podatke, kar vključuje tudi:\n\n"<li>"račun Google "</li>\n<li>"podatke in nastavitve sistema in aplikacij"</li>\n<li>"prenesene aplikacije"</li></string>
+ <string name="main_clear_desc" product="default" msgid="6984348811887162647">"S tem boste iz "<b>"notranje shrambe"</b>" telefona izbrisali vse podatke, kar vključuje tudi:\n\n"<li>"račun Google"</li>\n<li>"podatke in nastavitve sistema in aplikacij"</li>\n<li>"prenesene aplikacije"</li></string>
<string name="main_clear_accounts" product="default" msgid="7675859115108318537">\n\n"Trenutno ste prijavljeni v te račune:\n"</string>
<string name="main_clear_other_users_present" product="default" msgid="2672976674798019077">\n\n"V napravi so prisotni drugi uporabniki.\n"</string>
- <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Glasbo-"</li>\n<li>"Fotografije."</li>\n<li>"Druge uporabniške podatke."</li></string>
+ <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"glasbo"</li>\n<li>"fotografije"</li>\n<li>"druge uporabniške podatke"</li></string>
<string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"Digitalne kartice e-SIM"</li></string>
<string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"S tem ne boste prekinili naročniškega paketa za mobilno telefonijo."</string>
<string name="main_clear_desc_erase_external_storage" product="nosdcard" msgid="4441604184663452046">\n\n"Če želite izbrisati glasbo, slike in druge uporabniške podatke, morate izbrisati "<b>"pomnilnik USB"</b>"."</string>
@@ -1902,7 +1898,7 @@
<item quantity="one"> Dostop do lokacije ima <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> od <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> aplikacij.</item>
<item quantity="two"> Dostop do lokacije imata <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> od <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> aplikacij.</item>
<item quantity="few"> Dostop do lokacije imajo <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> od <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> aplikacij.</item>
- <item quantity="other"> Dostop do lokacije imajo <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> od <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> aplikacij.</item>
+ <item quantity="other"> Dostop do lokacije ima <xliff:g id="PERMITTED_LOCATION_APP_COUNT_2">%1$d</xliff:g> od <xliff:g id="TOTAL_LOCATION_APP_COUNT_3">%2$d</xliff:g> aplikacij.</item>
</plurals>
<string name="location_category_recent_location_access" msgid="2558063524482178146">"Nedavni dostop"</string>
<string name="location_recent_location_access_see_all" msgid="4203102419355323325">"Prikaz vseh"</string>
@@ -2127,7 +2123,7 @@
<string name="show_running_services" msgid="8666008279959853318">"Pokaži storitve, ki se izvajajo"</string>
<string name="show_background_processes" msgid="5682856012453562151">"Pokaži predpom. procese"</string>
<string name="default_emergency_app" msgid="1929974800666613803">"Aplikacija v sili"</string>
- <string name="reset_app_preferences" msgid="8861758340732716573">"Ponastavi nastavitve aplikacij"</string>
+ <string name="reset_app_preferences" msgid="8861758340732716573">"Ponastavitev nastavitev aplikacij"</string>
<string name="reset_app_preferences_title" msgid="8935136792316050759">"Želite ponastaviti nastavitve aplikacij?"</string>
<string name="reset_app_preferences_desc" msgid="6509978724602405805">"S tem bodo ponastavljene vse nastavitve za:\n\n"<li>" onemogočene aplikacije,"</li>\n<li>" obvestila za onemogočene aplikacije,"</li>\n<li>" privzete aplikacije za dejanja,"</li>\n<li>" omejitve prenosa podatkov v ozadju za aplikacije,"</li>\n<li>" omejitve dovoljenj."</li>\n\n" Podatkov aplikacij ne boste izgubili."</string>
<string name="reset_app_preferences_button" msgid="2591318711372850058">"Ponastavi aplikacije"</string>
@@ -2689,7 +2685,7 @@
<string name="keywords_rtt" msgid="2429130928152514402">"naglušnost, izguba sluha, podnapisi, teleprinter, tty"</string>
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
<string name="fast_pair_settings" msgid="3308819519080016185">"Hitra seznanitev"</string>
- <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Zaznavanje naprav Bluetooth v bližini za hitro seznanitev."</string>
+ <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Zaznavanje naprav Bluetooth v bližini za hitro seznanitev"</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"Iskanje naprav v bližini"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"Shranjene naprave"</string>
<string name="print_settings" msgid="8519810615863882491">"Tiskanje"</string>
@@ -3490,6 +3486,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Izbriši"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Vse aplikacije in podatki v tej seji bodo izbrisani."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Odstrani"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gost (vi)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Uporabniki"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Drugi uporabniki"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Izbriši dejavnost gosta"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Brisanje vseh aplikacij in podatkov gosta ob zaprtju načina za goste"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Želite izbrisati dejavnost gosta?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikacije in podatki v tej seji gosta bodo zdaj izbrisani, prihodnja dejavnost gosta pa bo izbrisana vsakič, ko zaprete način za goste."</string>
<string name="user_enable_calling" msgid="264875360626905535">"Vklopi telefonske klice"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Vklop telefonskih klicev in sporočil SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Brisanje uporabnika"</string>
@@ -3663,8 +3666,8 @@
<string name="connected_devices_dashboard_android_auto_no_nfc_summary" msgid="2532811870469405527">"Bluetooth, Android Auto, način vožnje"</string>
<string name="connected_devices_dashboard_android_auto_no_driving_mode_summary" msgid="6426996842202276640">"Bluetooth, Android Auto, NFC"</string>
<string name="connected_devices_dashboard_android_auto_no_nfc_no_driving_mode" msgid="1672426693308438634">"Bluetooth, Android Auto"</string>
- <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Ni na voljo, ker je vmesnik NFC izklopljen"</string>
- <string name="nfc_and_payment_settings_no_payment_installed_summary" msgid="4879818114908207465">"Za uporabo najprej namestite aplikacijo za plačevanje"</string>
+ <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Ni na voljo, ker je vmesnik NFC izklopljen."</string>
+ <string name="nfc_and_payment_settings_no_payment_installed_summary" msgid="4879818114908207465">"Za uporabo najprej namestite aplikacijo za plačevanje."</string>
<string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikacije in obvestila"</string>
<string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedavne aplikacije, privzete aplikacije"</string>
<string name="notification_settings_work_profile" msgid="6076211850526353975">"Dostop do obvestil ni na voljo za aplikacije v delovnem profilu."</string>
@@ -4012,7 +4015,7 @@
<string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"Občutljiva obvestila za delovni profil"</string>
<string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"Prikaži občutljivo vsebino delovnega profila na zaklenjenem zaslonu."</string>
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Prikaži vso vsebino obvestil"</string>
- <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži občutljivo vsebino samo na odklenjenem zaslonu."</string>
+ <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži občutljivo vsebino samo na odklenjenem zaslonu"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Sploh ne prikazuj obvestil"</string>
<string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kaj želite, da je prikazano na zaklenjenem zaslonu?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Zaklenjen zaslon"</string>
@@ -4667,7 +4670,7 @@
<string name="usb_control_device" msgid="527916783743021577">"Ta naprava"</string>
<string name="usb_switching" msgid="3654709188596609354">"Preklapljanje …"</string>
<string name="usb_switching_failed" msgid="5721262697715454137">"Preklop ni uspel"</string>
- <string name="usb_summary_charging_only" msgid="678095599403565146">"Polnjenje te naprave."</string>
+ <string name="usb_summary_charging_only" msgid="678095599403565146">"Polnjenje te naprave"</string>
<string name="usb_summary_power_only" msgid="4901734938857822887">"Polnjenje baterije v povezani napravi"</string>
<string name="usb_summary_file_transfers" msgid="5498487271972556431">"Prenos datotek"</string>
<string name="usb_summary_tether" msgid="2554569836525075702">"Internet prek USB-ja"</string>
@@ -5707,7 +5710,7 @@
<string name="cards_passes_lower" msgid="2429722007109957877">"kartice in vstopnice"</string>
<string name="power_menu_setting_name" msgid="7291642927216934159">"Pridržanje gumba za vklop"</string>
<string name="power_menu_summary_long_press_for_assist_enabled" msgid="5322150755041458952">"Pritisnite in pridržite za Pomočnika."</string>
- <string name="power_menu_summary_long_press_for_assist_disabled_with_power_menu" msgid="5165714995895517816">"Pridržanje za meni za vklop/izklop."</string>
+ <string name="power_menu_summary_long_press_for_assist_disabled_with_power_menu" msgid="5165714995895517816">"Pridržanje za meni za vklop/izklop"</string>
<string name="power_menu_summary_long_press_for_assist_disabled_no_action" msgid="2831598484771657432">"Pridržanje je onemogočeno."</string>
<string name="lockscreen_privacy_not_secure" msgid="3251276389681975912">"Za uporabo najprej nastavite zaklepanje zaslona."</string>
<string name="power_menu_long_press_for_assist" msgid="2016813721240777737">"Pridržanje za Pomočnika"</string>
@@ -5830,7 +5833,7 @@
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Uporabi dostopno točko Wi‑Fi"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Uporabi pripenjanje aplikacije"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Uporabi možnosti za razvijalce"</string>
- <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Uporaba storitve tiskanja"</string>
+ <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Uporabi storitev tiskanja"</string>
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dovoli več uporabnikov"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Uporabi brezžično odpravljanje napak"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Uporaba nastavitev grafičnega gonilnika"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index e4926de..36f013f 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Mbrojtësi i ekranit"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Përdor mbrojtësin e ekranit"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Gjatë karikimit ose lidhjes me stacionin"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Në të dyja rastet"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Gjatë karikimit"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Kur vendoset në stacion"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Asnjëherë"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Çaktivizuar"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Për të kontrolluar se çfarë ndodh kur telefonin e vendos te stacioni dhe/ose në gjumë, aktivizo mbrojtësin e ekranit."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kur të fillojë"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Mbrojtësi aktual i ekranit"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Cilësimet"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Ndriçimi automatik"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Ngrije për ta zgjuar"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Shfaqja e ambientit"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Fshi"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Të gjitha aplikacionet dhe të dhënat në këtë sesion do të fshihen."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Hiq!"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Vizitor (ti)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Përdoruesit"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Përdorues të tjerë"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Fshi aktivitetin e vizitorit"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Fshi të gjitha aplikacionet dhe të dhënat e vizitorit kur del nga modaliteti \"vizitor\""</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Të fshihet aktiviteti i vizitorit?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Tani aplikacionet dhe të dhënat nga ky sesion për vizitorë do të fshihen dhe të gjitha aktivitetet e ardhshme të vizitorit do të fshihen sa herë që të dalësh nga modaliteti \"vizitor\""</string>
<string name="user_enable_calling" msgid="264875360626905535">"Aktivizo telefonatat"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Aktivizo telefonatat dhe SMS-të"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Fshi përdoruesin"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 1420672..e15b603 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -228,8 +228,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Језик система"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Подразумевани системски"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Избор језика за ову апликацију није доступан из Подешавања."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Језик може да се разликује од језика доступних у апликацији. Неке апликације можда не подржавају ово подешавање."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">Желите ли да уклоните изабране језике?</item>
<item quantity="few">Желите ли да уклоните изабране језике?</item>
@@ -1449,15 +1448,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Чувар екрана"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Користи чувар екрана"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Током пуњења или на базној станици"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Било које од ова два"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Током пуњења"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Док је на базној станици"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Никада"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Искључено"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Да бисте контролисали шта се дешава када је телефон на базној станици и/или у стању спавања, укључите чувар екрана."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Када да почне"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Тренутни чувар екрана"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Подешавања"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Аутоматски ниво осветљености"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Подигни за активацију"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Амбијентални екран"</string>
@@ -2658,7 +2654,7 @@
<string name="keywords_rtt" msgid="2429130928152514402">"оштећење слуха, губитак слуха, титл, телепринтер, tty"</string>
<string name="keywords_voice_access" msgid="7807335263195876454"></string>
<string name="fast_pair_settings" msgid="3308819519080016185">"Брзо упаривање"</string>
- <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Откривање Bluetooth уређ. за Брзо упарив. у близ."</string>
+ <string name="fast_pair_settings_summary" msgid="1786567691058982987">"Откривање Bluetooth уређаја за Брзо упаривање у близини"</string>
<string name="fast_pair_main_switch_title" msgid="1439039801201425194">"Потражи уређаје у близини"</string>
<string name="fast_pair_saved_devices_title" msgid="3799803309073333082">"Сачувани уређаји"</string>
<string name="print_settings" msgid="8519810615863882491">"Штампање"</string>
@@ -2683,7 +2679,7 @@
<string name="print_menu_item_add_service" msgid="1549091062463044676">"Додај услугу"</string>
<string name="print_menu_item_add_printer" msgid="8711630848324870892">"Додај штампач"</string>
<string name="print_menu_item_search" msgid="5989979785203603169">"Претражи"</string>
- <string name="print_searching_for_printers" msgid="5401413178028348800">"Претрага штампача"</string>
+ <string name="print_searching_for_printers" msgid="5401413178028348800">"Тражење штампача"</string>
<string name="print_service_disabled" msgid="9185935228930987786">"Услуга је онемогућена"</string>
<string name="print_print_jobs" msgid="2605944855933091183">"Задаци за штампање"</string>
<string name="print_print_job" msgid="8477859161886726608">"Задатак за штампање"</string>
@@ -3444,6 +3440,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Избриши"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Све апликације и подаци у овој сесији ће бити избрисани."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Уклони"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Гост (ви)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Корисници"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Остали корисници"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Избриши активности госта"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Избришите све апликације и податке госта при излазу из режима госта"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Избрисаћете активности госта?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Апликације и подаци из ове сесије госта биће одмах избрисане, а све будуће активности госта биће избрисане сваки пут када изађете из режима госта"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Укључи телефонске позиве"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Укључи телефонске позиве и SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Избришите корисника"</string>
@@ -3473,8 +3476,8 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"Подразумевано за плаћање"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"Није подешено"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"Користите подразумевану апликацију за плаћање"</string>
- <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Користите подразумевану за плаћање"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"Користи подразумевану апликацију за плаћање"</string>
+ <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Користи подразумевану за плаћање"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"Увек"</string>
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"Осим кад је отворена друга апликација за плаћање"</string>
<string name="nfc_payment_pay_with" msgid="3001320460566523453">"На терминалу за бесконтактно плаћање користиће се:"</string>
@@ -3965,7 +3968,7 @@
<string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"Осетљива обавештења о пословном профилу"</string>
<string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"Приказуј осетљив садржај пословног профила на закључаном екрану"</string>
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Прикажи сав садржај обавештења"</string>
- <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Прикажи осетљив садржај само када је откључано"</string>
+ <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Прикажи осетљив садржај само када је откључан"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Не приказуј уопште обавештења"</string>
<string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Како желите да се приказује садржај на закључаном екрану?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Закључан екран"</string>
@@ -4580,7 +4583,7 @@
<string name="usb_use_file_transfers" msgid="483915710802018503">"Пренос датотека"</string>
<string name="usb_use_file_transfers_desc" msgid="1020257823387107336">"Преносите датотеке на други уређај"</string>
<string name="usb_use_photo_transfers" msgid="4641181628966036093">"PTP"</string>
- <string name="usb_transcode_files" msgid="2441954752105119109">"Конвертујте видео снимке у AVC"</string>
+ <string name="usb_transcode_files" msgid="2441954752105119109">"Конвертуј видео снимке у AVC"</string>
<string name="usb_transcode_files_summary" msgid="307102635711961513">"Видео снимци ће моћи да се пусте на више медија плејера, али ће им квалитет можда бити лошији"</string>
<string name="usb_use_photo_transfers_desc" msgid="7490250033610745765">"Преносите слике или датотеке ако MTP није подржан (PTP)"</string>
<string name="usb_use_tethering" msgid="2897063414491670531">"USB привезивање"</string>
@@ -5739,7 +5742,7 @@
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Користи WiFi хотспот"</string>
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Користи качење апликација"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Користи опције за програмере"</string>
- <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Користите услугу штампања"</string>
+ <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Користи услугу штампања"</string>
<string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Дозволи више корисника"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Користи бежично отклањање грешака"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Користи подешавања управљачког програма за графику"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index f6a0ddd..f449046 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -860,7 +860,7 @@
<string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Vill du glömma enheten?"</string>
<string name="remove_association_button" msgid="5004208145998061135">"Ta bort kopplingen"</string>
<string name="bluetooth_companion_app_remove_association_dialog_title" msgid="1344518601377991897">"Vill du koppla från appen?"</string>
- <string name="bluetooth_unpair_dialog_body" product="default" msgid="4730377171981539265">"Mobilen kopplas bort från <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+ <string name="bluetooth_unpair_dialog_body" product="default" msgid="4730377171981539265">"Telefonen kopplas bort från <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="bluetooth_unpair_dialog_body" product="tablet" msgid="3428463407231980054">"Surfplattan kopplas bort från <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="bluetooth_unpair_dialog_body" product="device" msgid="5117397433721336918">"Enheten kopplas bort från <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="bluetooth_companion_app_body" msgid="8442643629075687761">"Appen <xliff:g id="APP_NAME">%1$s</xliff:g> blir inte längre ansluten till <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string>
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Skärmsläckare"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Använd skärmsläckare"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Vid laddning eller dockning"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Båda"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Vid laddning"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Vid dockning"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Aldrig"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Av"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Om du vill styra vad som händer när mobilen är dockad eller i viloläge aktiverar du skärmsläckaren."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Startas"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Aktuell skärmsläckare"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Inställningar"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Automatisk ljusstyrka"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Gå ur viloläget vid lyft"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Aktiv låsskärm"</string>
@@ -1866,7 +1863,7 @@
<string name="location_high_battery_use" msgid="4277318891200626524">"Hög batterianvändning"</string>
<string name="location_low_battery_use" msgid="5218950289737996431">"Låg batterianvändning"</string>
<string name="location_scanning_wifi_always_scanning_title" msgid="5004781272733434794">"Wifi-sökning"</string>
- <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Tillåt att appar och tjänster söker efter Wi‑Fi-nätverk när som helst, även när Wi‑Fi är inaktiverat. Funktionen kan till exempel användas till att förbättra platsbaserade funktioner och tjänster."</string>
+ <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Tillåt att appar och tjänster söker efter wifi-nätverk när som helst, även när wifi är inaktiverat. Funktionen kan till exempel användas till att förbättra platsbaserade funktioner och tjänster."</string>
<string name="location_scanning_bluetooth_always_scanning_title" msgid="1809309545730215891">"Bluetooth-sökning"</string>
<string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Tillåt att appar och tjänster söker efter enheter i närheten när som helst, även när Bluetooth är inaktiverat. Funktionen kan till exempel användas till att förbättra platsbaserade funktioner och tjänster."</string>
<string name="location_services_preference_title" msgid="604317859531782159">"Platstjänster"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Ta bort"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Alla appar och data i denna session kommer att raderas."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Ta bort"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Gäst (du)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Användare"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Andra användare"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Radera gästaktivitet"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Radera alla appar och all data för gästen när gästläget avslutas"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vill du radera gästaktivitet?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Appar och data från den här gästsessionen raderas nu och i fortsättningen raderas all gästaktivitet när du avslutar gästläget"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Aktivera telefonsamtal"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Aktivera telefonsamtal och sms"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Radera användare"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 669805b..dccf56e 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Taswira ya skrini"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Tumia seva ya skrini"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Wakati imeunganishwa na kifaa kingine au inapochaji"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Yoyote kati ya hizi mbili"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Inapochaji"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Wakati imeunganishwa na kifaa kingine"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Isiwahi"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Imezimwa"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Ili udhibiti kinachotendeka wakati simu imeambatishwa na/au iko katika hali tuli, washa taswira ya skrini."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Ianze lini?"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Taswira ya skrini ya sasa"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Mipangilio"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Mwangaza wa kiotomatiki"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Inua ili uondoe kifaa katika hali tuli"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Onyesho tulivu"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Futa"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Data na programu zote katika kipindi hiki zitafutwa."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Ondoa"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Mgeni (Wewe)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Watumiaji"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Watumiaji wengine"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Futa shughuli za mgeni"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Futa programu na data yote ya mgeni pale unapofunga matumizi ya wageni"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Ungependa kufuta shughuli za mgeni?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Programu na data kutoka kwenye kipindi hiki cha mgeni itafutwa sasa na kila shughuli ya mgeni ya baadaye itafutwa kila mara unapofunga matumizi ya wageni"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Ruhusu upigaji simu"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Washa kipengele cha SMS na kupiga simu"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Futa mtumiaji"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 6ec4da0..c5cf7dd 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -160,9 +160,9 @@
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"இணைப்பதற்கு, புளூடூத் ஆன் செய்யப்படும்"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"இணைப்பு விருப்பத்தேர்வுகள்"</string>
<string name="connected_device_previously_connected_title" msgid="605808252622814415">"இதற்கு முன்னர் இணைத்த சாதனங்கள்"</string>
- <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ஏற்கனவே இணைத்தவை"</string>
+ <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"இதற்கு முன்னர் இணைத்தவை"</string>
<string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"புளூடூத் ஆன் செய்யப்பட்டது"</string>
- <string name="previous_connected_see_all" msgid="7759413145713251328">"இணைக்கப்பட்ட சாதனங்கள் அனைத்தும்"</string>
+ <string name="previous_connected_see_all" msgid="7759413145713251328">"அனைத்தும் காட்டு"</string>
<string name="date_and_time" msgid="1788358029823431692">"தேதி & நேரம்"</string>
<string name="choose_timezone" msgid="1450780665958642147">"நேரமண்டலத்தைத் தேர்வுசெய்க"</string>
<!-- no translation found for intent_sender_data_label (1733806423295725392) -->
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"சிஸ்டம் மொழி"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"சிஸ்டத்தின் இயல்பு"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"அமைப்புகளில் இந்த ஆப்ஸுக்கான மொழித் தேர்வு கிடைக்கவில்லை."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ஆப்ஸில் இருக்கும் மொழிகளிலிருந்து மொழி வேறுபடலாம். சில ஆப்ஸில் இந்த அமைப்பைப் பயன்படுத்த முடியாது."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">தேர்ந்தெடுத்த மொழிகளை அகற்றவா?</item>
<item quantity="one">தேர்ந்தெடுத்த மொழியை அகற்றவா?</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"ஸ்கிரீன் சேவர்"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ஸ்கிரீன் சேவரை உபயோகித்தல்"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"சார்ஜ் ஆகும் போது அல்லது சாதனத்தில் இணைந்திருக்கும்போது"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"இவற்றில் ஒன்று"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"சார்ஜ் செய்யப்படும்போது"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"சாதனத்தில் இணைந்திருக்கும்போது"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"ஒருபோதும் வேண்டாம்"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"ஆஃப்"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"மொபைல் உறக்கநிலையில் அல்லது சார்ஜாகும்போது, நிகழ்வுகளைக் கட்டுப்படுத்த பகல்கனாவை இயக்கு."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"தொடங்க வேண்டிய நேரம்"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"தற்போதைய ஸ்கிரீன் சேவர்"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"அமைப்பு"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"தானாக ஒளிர்வைச் சரிசெய்தல்"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"விரலை எடுக்கும் போது இயங்கு"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"சூழல்சார் திரை"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"நீக்கு"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"இந்த அமர்வின் எல்லா பயன்பாடுகளும், தரவும் நீக்கப்படும்."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"அகற்று"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"கெஸ்ட் (நீங்கள்)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"பயனர்கள்"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"பிற பயனர்கள்"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"கெஸ்ட் செயல்பாடுகளை நீக்குதல்"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"கெஸ்ட் பயன்முறையிலிருந்து வெளியேறும்போது கெஸ்ட் அமர்வின் ஆப்ஸ் மற்றும் தரவு அனைத்தும் நீக்கப்படும்"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"கெஸ்ட் செயல்பாடுகளை நீக்கவா?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"இந்த கெஸ்ட் அமர்வின் ஆப்ஸும் தரவும் இப்போது நீக்கப்படும். இனி கெஸ்ட் பயன்முறையிலிருந்து வெளியேறும் ஒவ்வொரு முறையும் கெஸ்ட் செயல்பாடுகள் நீக்கப்படும்"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ஃபோன் அழைப்புகளை இயக்கு"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ஃபோன் அழைப்புகள் & SMSஐ இயக்கு"</string>
<string name="user_remove_user" msgid="8468203789739693845">"பயனரை நீக்குதல்"</string>
@@ -3429,7 +3432,7 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"இயல்பு கட்டண ஆப்ஸ்"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"அமைக்கப்படவில்லை"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> - <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"இயல்புநிலைப் பேமெண்ட் ஆப்ஸைப் பயன்படுத்துங்கள்"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"இயல்புநிலைப் பேமெண்ட் ஆப்ஸைப் பயன்படுத்து"</string>
<string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"இயல்புநிலை பேமெண்ட் ஆப்ஸைப் பயன்படுத்துக"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"எப்போதும்"</string>
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"மற்றொரு பேமெண்ட் ஆப்ஸ் திறந்திருக்கும் சமயங்கள் தவிர"</string>
@@ -5621,7 +5624,7 @@
<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">"இணைக்கப்பட்டது"</string>
<string name="mobile_data_no_connection" msgid="905897142426974030">"இணைப்பு இல்லை"</string>
- <string name="mobile_data_off_summary" msgid="1884248776904165539">"மொபைல் டேட்டாவைத் தானாகவே பயன்படுத்த முடியாது"</string>
+ <string name="mobile_data_off_summary" msgid="1884248776904165539">"மொபைல் டேட்டா தானியங்காக இணையாது"</string>
<string name="non_carrier_network_unavailable" msgid="9031567407964127997">"வேறு நெட்வொர்க்குகள் எதுவும் கிடைக்கவில்லை"</string>
<string name="all_network_unavailable" msgid="1163897808282057496">"நெட்வொர்க்குகள் எதுவும் கிடைக்கவில்லை"</string>
<string name="mobile_data_disable_title" msgid="8438714772256088913">"மொபைல் டேட்டாவை முடக்கவா?"</string>
@@ -5690,7 +5693,7 @@
<string name="mic_toggle_title" msgid="265145278323852547">"மைக்ரோஃபோன் அணுகல்"</string>
<string name="location_toggle_title" msgid="5229867700421750868">"இருப்பிட அணுகல்"</string>
<string name="perm_toggle_description" msgid="5754629581767319022">"ஆப்ஸுக்கும் சேவைகளுக்கும்"</string>
- <string name="mic_toggle_description" msgid="484139688645092237">"ஆப்ஸ் & சேவைகளுக்கு. இந்த அமைப்பு முடக்கப்பட்டிருந்தால் அவசர உதவி எண்ணைத் தொடர்பு கொள்ளும்போது மைக்ரோஃபோன் தரவு பகிரப்படலாம்."</string>
+ <string name="mic_toggle_description" msgid="484139688645092237">"ஆப்ஸ் & சேவைகளுக்கு. இந்த அமைப்பு முடக்கப்பட்டிருந்தாலும் அவசர உதவி எண்ணைத் தொடர்பு கொள்ளும்போது மைக்ரோஃபோன் தரவு பகிரப்படலாம்."</string>
<string name="previous_page_content_description" msgid="6438292457923282991">"முந்தையது"</string>
<string name="next_page_content_description" msgid="1641835099813416294">"அடுத்து"</string>
<string name="colors_viewpager_content_description" msgid="2591751086138259565">"வண்ண மாதிரிக்காட்சி"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 661b0ff..e2e343a 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -225,11 +225,9 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"సూచించిన భాషలు"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"అన్ని భాషలు"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"సిస్టమ్ భాష"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"సిస్టమ్ ఆటోమేటిక్ సెట్టింగ్"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"ఈ యాప్ కోసం భాష ఎంపిక సెట్టింగ్లలో అందుబాటులో లేదు."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"యాప్లో అందుబాటులో ఉన్న భాషలకు భాష భిన్నంగా ఉండవచ్చు. కొన్ని యాప్లు ఈ సెట్టింగ్కు సపోర్ట్ చేయకపోవచ్చు."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">ఎంచుకున్న భాషలను తీసివేయాలా?</item>
<item quantity="one">ఎంచుకున్న భాషను తీసివేయాలా?</item>
@@ -1430,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"స్క్రీన్ సేవర్"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"స్క్రీన్ సేవర్ను ఉపయోగించండి"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ఛార్జ్ చేసేటప్పుడు లేదా డాక్ చేసినప్పుడు"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"పై రెండు సందర్భాల్లోనూ"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ఛార్జింగ్లో ఉన్నప్పుడు"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"డాక్ చేయబడినప్పుడు"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"ఎప్పటికీ వద్దు"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"ఆఫ్లో ఉంది"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"ఫోన్ డాక్ చేయబడినప్పుడు మరియు/లేదా నిద్రావస్థలో ఉన్నప్పుడు ఏమి జరగాలో నియంత్రించడానికి, స్క్రీన్ సేవర్ను ఆన్ చేయండి."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"ఎప్పుడు ప్రారంభించాలి"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"ప్రస్తుత స్క్రీన్ సేవర్"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"సెట్టింగ్లు"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"ఆటోమేటిక్ ప్రకాశం"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"సక్రియం చేయడానికి వేళ్లను తీసివేయండి"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"యాంబియంట్ డిస్ప్లే"</string>
@@ -3401,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"తొలగించండి"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"ఈ సెషన్లోని అన్ని యాప్లు మరియు డేటా తొలగించబడతాయి."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"తీసివేయి"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"గెస్ట్ (మీరు)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"యూజర్లు"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"ఇతర యూజర్లు"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"గెస్ట్ యాక్టివిటీని తొలగించండి"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"గెస్ట్ మోడ్ నుండి నిష్క్రమించినప్పుడు అన్ని గెస్ట్ యాప్లు, డేటాను తొలగించండి"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"గెస్ట్ యాక్టివిటీని తొలగించాలా?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"ఈ గెస్ట్ సెషన్లోని యాప్లు, డేటా ఇప్పుడు తొలగించబడతాయి, మీరు గెస్ట్ మోడ్ నుండి నిష్క్రమించిన ప్రతిసారీ భవిష్యత్ గెస్ట్ యాక్టివిటీ మొత్తం తొలగించబడుతుంది"</string>
<string name="user_enable_calling" msgid="264875360626905535">"ఫోన్ కాల్స్ను ఆన్ చేయి"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"ఫోన్ కాల్స్ & SMS ఆన్ చేయి"</string>
<string name="user_remove_user" msgid="8468203789739693845">"వినియోగదారుని తొలగించు"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 5542736..a735487 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"ภาษาของระบบ"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"ค่าเริ่มต้นของระบบ"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"การเลือกภาษาสำหรับแอปนี้ไม่พร้อมให้ใช้งานจากการตั้งค่า"</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"ภาษาอาจแตกต่างจากที่ให้บริการในแอป บางแอปอาจไม่รองรับการตั้งค่านี้"</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">นำภาษาที่เลือกออกไหม</item>
<item quantity="one">นำภาษาที่เลือกออกไหม</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"โปรแกรมรักษาหน้าจอ"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ใช้โปรแกรมรักษาหน้าจอ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ขณะชาร์จหรือวางอยู่บนแท่นชาร์จ"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"แบบใดก็ได้"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ขณะที่ชาร์จ"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ขณะวางอยู่บนแท่นชาร์จ"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"ไม่เลย"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"ปิด"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"หากต้องการควบคุมสิ่งที่เกิดขึ้นขณะที่โทรศัพท์อยู่บนแท่นชาร์จและ/หรืออยู่ในโหมดสลีป ให้เปิดโปรแกรมรักษาหน้าจอ"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"เริ่มเมื่อใด"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"โปรแกรมรักษาหน้าจอในปัจจุบัน"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"การตั้งค่า"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"ปรับความสว่างอัตโนมัติ"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"ยกขึ้นเพื่อเวก"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"หน้าจอแอมเบียนท์"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"ลบ"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"ระบบจะลบแอปและข้อมูลทั้งหมดในเซสชันนี้"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"นำออก"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"ผู้มาเยือน (คุณ)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"ผู้ใช้"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"ผู้ใช้รายอื่นๆ"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"ลบกิจกรรมของผู้มาเยือน"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"ลบแอปและข้อมูลทั้งหมดของผู้มาเยือนเมื่อออกจากโหมดผู้มาเยือน"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ลบกิจกรรมของผู้มาเยือนไหม"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"ระบบจะลบแอปและข้อมูลจากเซสชันผู้มาเยือนนี้ตอนนี้เลย และต่อไปนี้จะลบกิจกรรมทั้งหมดของผู้มาเยือนทุกครั้งที่คุณออกจากโหมดผู้มาเยือน"</string>
<string name="user_enable_calling" msgid="264875360626905535">"เปิดการโทร"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"เปิดการโทรและ SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"ลบผู้ใช้"</string>
@@ -5586,7 +5589,7 @@
<string name="calls_sms_footnote" msgid="1003530944232362815">"การโทรผ่าน Wi-Fi เป็นการโทรออกและรับสายผ่านเครือข่าย Wi‑Fi ที่ไม่ได้เป็นของผู้ให้บริการ "<annotation id="url">"ดูข้อมูลเพิ่มเติม"</annotation></string>
<string name="calls_preference_title" msgid="7536882032182563800">"การโทร"</string>
<string name="sms_preference_title" msgid="8392745501754864395">"SMS"</string>
- <string name="calls_sms_preferred" msgid="6016477652522583496">"ต้องการ"</string>
+ <string name="calls_sms_preferred" msgid="6016477652522583496">"เลือกใช้"</string>
<string name="calls_sms_calls_preferred" msgid="9004261125829377885">"ใช้สำหรับการโทร"</string>
<string name="calls_sms_sms_preferred" msgid="3855778890660922711">"ใช้สำหรับ SMS"</string>
<string name="calls_sms_unavailable" msgid="4055729705246556529">"ไม่ว่าง"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index ffb19d2..0274e73 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Wika ng system"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Default ng system"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Hindi available sa Mga Setting ang pagpili ng wika para sa app na ito."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Posibleng iba ang wika sa mga wikang available sa app. Posibleng hindi suportahan ng ilang app ang setting na ito."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">Alisin ang mga piniling wika?</item>
<item quantity="other">Alisin ang mga piniling wika?</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Gumamit ng screen saver"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Habang nagcha-charge o naka-dock"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Alinman"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Habang nagcha-charge"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Habang naka-dock"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Hindi kailanman"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Naka-off"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Upang makontrol kung ano ang mangyayari kapag naka-dock o naka-sleep ang telepono, i-on ang screen saver."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Kailan magsisimula"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Kasalukuyang screen saver"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Mga Setting"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Awtomatikong pagliwanag"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Angatin upang paganahin"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ambient na display"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"I-delete"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Ide-delete ang lahat ng app at data sa session na ito."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Alisin"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Bisita (Ikaw)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Mga User"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Iba pang user"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"I-delete ang aktibidad ng bisita"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"I-delete ang lahat ng app at data ng bisita kapag umaalis sa guest mode"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"I-delete ang aktibidad ng bisita?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Made-delete na ngayon ang mga app at data mula sa session na ito ng bisita, at made-delete ang lahat ng aktibidad ng bisita sa hinaharap sa tuwing aalis ka ng guest mode"</string>
<string name="user_enable_calling" msgid="264875360626905535">"I-on ang mga pagtawag sa telepono"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"I-on ang mga pagtawag sa telepono at SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"I-delete ang user"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index af153a3..5eab44f 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Önerilen diller"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Tüm diller"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Sistem dili"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Sistem varsayılanı"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Ayarlar\'da bu uygulama için dil seçimi mevcut değil."</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -1006,7 +1005,7 @@
<string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID\'yi girin"</string>
<string name="wifi_security" msgid="9095934643631406913">"Güvenlik"</string>
<string name="wifi_hidden_network" msgid="6466834025375485596">"Gizli ağ"</string>
- <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"Yönlendiriciniz ağ kimliği yayınlamıyorsa, ancak bu yönlendiriciye gelecekte bağlanmak istiyorsanız ağın görünürlük ayarını gizli yapabilirsiniz.\n\nBu ayar, telefonunuzun ağı bulmak için düzenli olarak sinyal yayınlamasını gerektireceğinden güvenlik riski oluşturabilir.\n\nAğın görünürlüğü gizli yapıldığında yönlendirici ayarlarınız değişmez."</string>
+ <string name="wifi_hidden_network_warning" msgid="3937433813754746158">"Yönlendiriciniz ağ kimliği yayınlamıyor ve gelecekte ona bağlanmak istiyorsanız ağın görünürlük ayarını gizli yapabilirsiniz.\n\nBu ayar, telefonunuzun ağı bulmak için düzenli olarak sinyal yayınlamasını gerektireceğinden güvenlik riski oluşturabilir.\n\nAğın görünürlüğü gizli yapıldığında yönlendirici ayarlarınız değişmez."</string>
<string name="wifi_signal" msgid="4442182285304271424">"Sinyal gücü"</string>
<string name="wifi_status" msgid="5349199188871002778">"Durum"</string>
<string name="tx_wifi_speed" msgid="2368986629172050673">"Bağlantı gönderim hızı"</string>
@@ -1083,7 +1082,7 @@
<string name="wifi_use_system_certs" msgid="5587866698144996931">"Sistem sertifikalarını kullan"</string>
<string name="wifi_do_not_provide_eap_user_cert" msgid="6336636553673065145">"Sağlama"</string>
<string name="wifi_do_not_validate_eap_server" msgid="4673867078988209732">"Doğrulama yapma"</string>
- <string name="wifi_trust_on_first_use" msgid="7488431582505858774">"İlk Kullanımda Güven"</string>
+ <string name="wifi_trust_on_first_use" msgid="7488431582505858774">"İlk kullanımda güven"</string>
<string name="wifi_ssid_too_long" msgid="5961719058705013875">"Ağ adı çok uzun."</string>
<string name="wifi_no_domain_warning" msgid="1452133316532366772">"Alan adı belirtilmelidir."</string>
<string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Sertifika zorunlu."</string>
@@ -1430,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekran koruyucu"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Ekran koruyucu kullan"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Şarj olurken veya yuvadayken"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Her iki durumda da"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Şarj olurken"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Yuvadayken"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Hiçbir zaman"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Kapalı"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Telefon yuvaya yerleştirildiğinde ve/veya uyku durumundayken ne olacağını kontrol etmek için ekran koruyucuyu etkinleştirin."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Başlama zamanı"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Geçerli ekran koruyucu"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Ayarlar"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Otomatik parlaklık"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Kaldırarak uyandır"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Ortam ekranı"</string>
@@ -2097,7 +2093,7 @@
<string name="internal_storage" msgid="999496851424448809">"Dahili Bellek"</string>
<string name="recompute_size" msgid="1098091228370999128">"Boyut yeniden hesaplanıyor…"</string>
<string name="clear_data_dlg_title" msgid="180446967743732410">"Uygulama verileri silinsin mi?"</string>
- <string name="clear_data_dlg_text" msgid="3440011276559762619">"Dosyalar ve ayarlar da dahil olmak üzere bu uygulama verileri bu cihazdan kalıcı olarak silinecektir"</string>
+ <string name="clear_data_dlg_text" msgid="3440011276559762619">"Dosyalar ve ayarlar da dahil olmak üzere bu uygulamanın verileri bu cihazdan kalıcı olarak silinecektir"</string>
<string name="dlg_ok" msgid="1421350367857960997">"Tamam"</string>
<string name="dlg_cancel" msgid="5164705061530774899">"İptal"</string>
<string name="dlg_delete" msgid="1790919205039397659">"Sil"</string>
@@ -3401,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Sil"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Bu oturumdaki tüm uygulamalar ve veriler silinecek."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Kaldır"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Misafir (Siz)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Kullanıcılar"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Diğer kullanıcılar"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Misafir etkinliğini silme"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Misafir modundan çıkarken tüm misafir uygulamalarını ve verilerini silin"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Misafir etkinliği silinsin mi?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Bu misafir oturumundaki uygulamalar ve veriler şimdi silinecektir. Bundan sonraki tüm misafir etkinlikleri ise misafir modundan her çıktığınızda silinir."</string>
<string name="user_enable_calling" msgid="264875360626905535">"Telefon aramalarını aç"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Telefon aramalarını ve mesajları aç"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Kullanıcıyı sil"</string>
@@ -3430,8 +3433,8 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"Ödeme varsayılanı"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"Ayarlanmadı"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> - <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"Varsayılan ödeme uygulamasını kullanın"</string>
- <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Varsayılan ödeme uygulamasını kullanın"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"Varsayılan ödeme uygulamasını kullan"</string>
+ <string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Varsayılan ödeme uygulamasını kullan"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"Her zaman"</string>
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"Başka bir ödeme uygulaması açık olmadığında"</string>
<string name="nfc_payment_pay_with" msgid="3001320460566523453">"Temassız bir ödeme noktasında şununla ödeyin:"</string>
@@ -3572,7 +3575,7 @@
<string name="connected_devices_dashboard_android_auto_no_nfc_summary" msgid="2532811870469405527">"Bluetooth, Android Auto, sürüş modu"</string>
<string name="connected_devices_dashboard_android_auto_no_driving_mode_summary" msgid="6426996842202276640">"Bluetooth, Android Auto, NFC"</string>
<string name="connected_devices_dashboard_android_auto_no_nfc_no_driving_mode" msgid="1672426693308438634">"Bluetooth, Android Auto"</string>
- <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC kapalı olduğundan kullanılamaz"</string>
+ <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC kapalı olduğundan kullanılamıyor"</string>
<string name="nfc_and_payment_settings_no_payment_installed_summary" msgid="4879818114908207465">"Kullanmak için önce bir ödeme uygulaması yükleyin"</string>
<string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Uygulama ve bildirimler"</string>
<string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Son uygulamalar, varsayılan uygulamalar"</string>
@@ -4514,7 +4517,7 @@
<string name="usb_use_file_transfers" msgid="483915710802018503">"Dosya Aktarımı"</string>
<string name="usb_use_file_transfers_desc" msgid="1020257823387107336">"Dosyaları başka bir cihaza aktarın"</string>
<string name="usb_use_photo_transfers" msgid="4641181628966036093">"PTP"</string>
- <string name="usb_transcode_files" msgid="2441954752105119109">"Videoları AVC dosyasına dönüştür"</string>
+ <string name="usb_transcode_files" msgid="2441954752105119109">"Videoları AVC biçimine dönüştür"</string>
<string name="usb_transcode_files_summary" msgid="307102635711961513">"Videolar daha fazla medya oynatıcıda çalışır ancak kalite düşebilir"</string>
<string name="usb_use_photo_transfers_desc" msgid="7490250033610745765">"MTP desteklenmiyorsa fotoğrafları veya dosyaları aktarın (PTP)"</string>
<string name="usb_use_tethering" msgid="2897063414491670531">"USB tethering"</string>
@@ -5170,8 +5173,8 @@
<string name="zen_suggestion_summary" msgid="1984990920503217">"Konsantrasyonunuzu bozmamak için bildirimleri duraklatın"</string>
<string name="disabled_feature" msgid="7151433782819744211">"Özellik kullanılamıyor"</string>
<string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Bu özellik, telefonunuzu yavaşlattığı için kapatıldı."</string>
- <string name="show_first_crash_dialog" msgid="1696584857732637389">"Kilitlenme iletişim kutusunu her zaman göster"</string>
- <string name="show_first_crash_dialog_summary" msgid="4692334286984681111">"Her uygulama kilitlendiğinde iletişim kutusunu göster"</string>
+ <string name="show_first_crash_dialog" msgid="1696584857732637389">"Kilitlenme iletişimini her zaman göster"</string>
+ <string name="show_first_crash_dialog_summary" msgid="4692334286984681111">"Her uygulama kilitlendiğinde iletişimi göster"</string>
<string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE özellikli uygulamayı seçin"</string>
<string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE özellikli uygulama ayarlanmadı"</string>
<string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE özellikli uygulama: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
@@ -5652,7 +5655,7 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Uygulama sabitlemeyi kullan"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Geliştirici seçeneklerini kullan"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Yazdırma hizmetini kullan"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Birden fazla kullanıcıya izin verme"</string>
+ <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Birden fazla kullanıcıya izin ver"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Kablosuz hata ayıklamayı kullan"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Grafik sürücüsü tercihlerini kullan"</string>
<string name="battery_saver_main_switch_title" msgid="5072135547489779352">"Pil tasarrufunu kullan"</string>
@@ -5691,7 +5694,7 @@
<string name="mic_toggle_title" msgid="265145278323852547">"Mikrofon erişimi"</string>
<string name="location_toggle_title" msgid="5229867700421750868">"Konum erişimi"</string>
<string name="perm_toggle_description" msgid="5754629581767319022">"Uygulamalar ve hizmetler için"</string>
- <string name="mic_toggle_description" msgid="484139688645092237">"Uygulamalar ve hizmetler için. Bu ayar kapalıyken bir acil durum numarasını aradığınızda mikrofon verileri paylaşılmaya devam edebilir."</string>
+ <string name="mic_toggle_description" msgid="484139688645092237">"Uygulamalar ve hizmetler için. Bu ayar kapalıyken bir acil durum numarasını aradığınızda mikrofon verileri paylaşılmaya devam edilebilir."</string>
<string name="previous_page_content_description" msgid="6438292457923282991">"Önceki"</string>
<string name="next_page_content_description" msgid="1641835099813416294">"Sonraki"</string>
<string name="colors_viewpager_content_description" msgid="2591751086138259565">"Renk önizleme"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 9158156..512b040 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -227,8 +227,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Пропоновані мови"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Усі мови"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Мова системи"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Налаштування системи за умовчанням"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Вибір мови для цього додатка в налаштуваннях неможливий"</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -1470,15 +1469,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Заставка"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Використовувати заставку"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Під час заряджання чи в док-станції"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Завжди"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Під час заряджання"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Коли в док-станції"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Ніколи"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Вимк."</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Щоб контролювати поведінку телефона, коли він у док-станції та/або в режимі сну, увімкніть заставку."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Коли почати"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Поточна заставка"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Налаштування"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Автоматична яскравість"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Підняти, щоб активувати"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Активація екрана"</string>
@@ -3489,6 +3485,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Видалити"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Усі додатки й дані з цього сеансу буде видалено."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Вийти"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Гість (ви)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Користувачі"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Інші користувачі"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Видалити дії в режимі гостя"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Видалити всі додатки й дані гостя під час виходу з режиму гостя"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Видалити дії в режимі гостя?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Додатки й дані з цього сеансу в режимі гостя буде видалено зараз, а всі майбутні дії гостя видалятимуться під час кожного виходу з цього режиму"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Увімкнути телефонні дзвінки"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Увімкнути телефонні дзвінки й SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Видалити користувача"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index d8ab650..3c38aad 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -227,8 +227,7 @@
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"سسٹم کی زبان"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"سسٹم ڈیفالٹ"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"اس ایپ کے لیے زبان کا انتخاب ترتیبات سے دستیاب نہیں ہے۔"</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"زبان ایپ میں دستیاب زبانوں سے مختلف ہو سکتی ہے۔ ہو سکتا ہے کچھ ایپس اس ترتیب کو سپورٹ نہ کریں۔"</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="other">منتخب کردہ زبانیں ہٹائیں؟</item>
<item quantity="one">منتخب کردہ زبان ہٹائیں؟</item>
@@ -1429,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"اسکرین سیور"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"اسکرین سیور کا استعمال کریں"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ڈاک سے منسلک یا چارج ہونے کے دوران"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"دونوں صورتوں میں"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"چارج ہوتے وقت"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"ڈاک کیے ہونے پر"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"کبھی نہیں"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"آف"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"فون ڈاک کیے ہونے اور/یا سوئے ہوئے ہونے کے دوران کیا ہو اسے کنٹرول کرنے کیلئے، اسکرین سیور آن کریں۔"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"وقت آغاز"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"موجودہ اسکرین سیور"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"ترتیبات"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"خود کار چمک"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"جگانے کیلئے اٹھائیں"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"ايمبيئنٹ ڈسپلے"</string>
@@ -3400,6 +3396,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"حذف کریں"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"اس سیشن میں موجود سبھی ایپس اور ڈیٹا کو حذف کر دیا جائے گا۔"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"ہٹائیں"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"مہمان (آپ)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"صارفین"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"دیگر صارفین"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"مہمان کی سرگرمی کو حذف کریں"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"مہمان وضع سے باہر نکلتے وقت تمام مہمان ایپس اور ڈیٹا کو حذف کریں"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"مہمان کی سرگرمی کو حذف کریں؟"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"اس مہمان سیشن سے ایپس اور ڈیٹا کو اب حذف کر دیا جائے گا اور جب بھی آپ مہمان وضع سے باہر نکلیں گے تو تمام مستقبل کی مہمان کی سرگرمیاں حذف کر دی جائیں گی"</string>
<string name="user_enable_calling" msgid="264875360626905535">"فون کالز آن کریں"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"فون کالز اور SMS آن کریں"</string>
<string name="user_remove_user" msgid="8468203789739693845">"صارف کو حذف کریں"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 2be5f50..6724e80 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Tavsiya etilgan tillar"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Barcha tillar"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Tizim tili"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Tizim standarti"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Bu ilova uchun Sozlamalardan tilni tanlash imkonsiz"</string>
<string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Bu til ilovadagi tillardan farq qilishi mumkin. Ayrim ilovalarda bu sozlama ishlamaydi."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
@@ -1431,15 +1430,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekran lavhasi"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Ekran lavhasidan foydalanish"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Quvvat yoki dok-stansiya"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Har doim"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Quvvat olayotganda"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Dok-stansiyaga ulanganda"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Hech qachon"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Yoqilmagan"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Telefon dok-stansiyaga ulanganda yoki uyqu rejimiga o‘tganida uning ekranida nima ko‘rinishini sozlash uchun ekran lavhasini yoqing."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Qachon boshlansin"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Joriy ekran lavhasi"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Sozlamalar"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Avtomatik yorqinlik"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Tik holatda faollashtirish"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Sezgir ekran"</string>
@@ -1766,7 +1762,7 @@
<string name="main_clear_desc" product="default" msgid="6984348811887162647">"Telefonning "<b>"ichki xotirasidagi"</b>" hamma narsa tozalab tashlanadi, jumladan:\n\n"<li>"Google hisobingiz"</li>\n<li>"Tizim va ilovalar sozlamalari"</li>\n<li>"Yuklab olingan ilovalar"</li></string>
<string name="main_clear_accounts" product="default" msgid="7675859115108318537">\n\n"Siz hozir tizimga quyidagi hisoblardan kirgansiz:\n"</string>
<string name="main_clear_other_users_present" product="default" msgid="2672976674798019077">\n\n"Bu qurilmada boshqa foydalanuvchilar ham bor.\n"</string>
- <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musiqalar"</li>\n<li>"Rasmlar"</li>\n<li>"Foydalanuvchining boshqa ma\'lumotlari"</li></string>
+ <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musiqalar"</li>\n<li>"Suratlar"</li>\n<li>"Foydalanuvchining boshqa ma\'lumotlari"</li></string>
<string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM kartalar"</li></string>
<string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Bunda, mobil aloqa xizmatiga hech narsa qilinmaydi."</string>
<string name="main_clear_desc_erase_external_storage" product="nosdcard" msgid="4441604184663452046">\n\n"Musiqa, rasm va boshqa maʼlumotlarni tozalash uchun "<b>"USB xotirani"</b>" tozalash kerak."</string>
@@ -1863,7 +1859,7 @@
<string name="location_category_recent_location_access" msgid="2558063524482178146">"Oxirgi kirish"</string>
<string name="location_recent_location_access_see_all" msgid="4203102419355323325">"Hammasi"</string>
<string name="location_recent_location_access_view_details" msgid="5803264082558504544">"Tafsilotlar"</string>
- <string name="location_no_recent_apps" msgid="6814206631456177033">"Yaqin-orada hech qanday ilova joylashuv axborotini talab qilmadi"</string>
+ <string name="location_no_recent_apps" msgid="6814206631456177033">"Yaqin-orada hech qanday ilova joylashuv axborotini talab qilmagan"</string>
<string name="location_no_recent_accesses" msgid="6031735777805464247">"Hech qanday ilova yaqinda joylashuv axborotidan foydalanmagan"</string>
<string name="location_high_battery_use" msgid="4277318891200626524">"Yuqori batareya sarfi"</string>
<string name="location_low_battery_use" msgid="5218950289737996431">"Batareya sarfi kam"</string>
@@ -3402,6 +3398,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"O‘chirib tashlash"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Ushbu seansdagi barcha ilovalar va ma’lumotlar o‘chirib tashlanadi."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Olib tashlash"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Mehmon (Siz)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Foydalanuvchilar"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Boshqa foydalanuvchilar"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Mehmon faoliyatini tozalash"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Mehmon rejimidan chiqishda barcha mehmon ilovalari va maʼlumotlarini oʻchirish"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Mehmon faoliyati tozalansinmi?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Joriy mehmon seansidagi ilova va maʼlumotlar hozir tozalanadi va har safar mehmon rejimidan chiqish vaqtida barcha keyingi mehmon faolliklari tozalanadi"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Telefon chaqiruvlari"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Telefon chaqiruvlari va SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Foydalanuvchini olib tashlash"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 61960cf..6a2c911 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -225,8 +225,7 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Ngôn ngữ đề xuất"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Tất cả ngôn ngữ"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Ngôn ngữ hệ thống"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Theo chế độ mặc định của hệ thống"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Bạn chưa thể chọn ngôn ngữ cho ứng dụng này trong phần Cài đặt."</string>
<!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
<skip />
@@ -1432,15 +1431,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Trình bảo vệ màn hình"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Sử dụng trình bảo vệ màn hình"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Khi sạc hoặc gắn vào đế sạc"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Khi gắn đế và sạc"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Trong khi sạc"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Khi gắn vào đế sạc"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Không bao giờ"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Tắt"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Để kiểm soát những gì diễn ra khi điện thoại được gắn đế và/hoặc ở chế độ ngủ, hãy bật trình bảo vệ màn hình."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Thời điểm khởi động"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Trình bảo vệ màn hình hiện tại"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Cài đặt"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Độ sáng tự động"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Nhấc lên để đánh thức"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Màn hình sáng"</string>
@@ -3403,6 +3399,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Xóa"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Tất cả ứng dụng và dữ liệu trong phiên này sẽ bị xóa."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Xóa"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Khách (Bạn)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Người dùng"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Người dùng khác"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Xoá hoạt động ở chế độ khách"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Xoá mọi ứng dụng và dữ liệu ở chế độ khách khi thoát khỏi chế độ khách"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Xoá hoạt động ở chế độ khách?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Các ứng dụng và dữ liệu trong phiên khách này sẽ bị xoá ngay bây giờ, và tất cả hoạt động sau này ở chế độ khách sẽ bị xoá mỗi khi bạn thoát khỏi chế độ khách"</string>
<string name="user_enable_calling" msgid="264875360626905535">"Bật cuộc gọi điện thoại"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Bật cuộc gọi điện thoại và SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Xóa người dùng"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 3390345..6030043 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1429,15 +1429,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"屏保"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"使用屏保"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充电或插入基座时"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"以上任一情况"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"充电时"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"插入基座时"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"一律不"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"已关闭"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"要控制手机在插入基座时和/或休眠状态下的行为,请开启屏保功能。"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"启用时机"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"当前的屏保"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"设置"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"自动调整亮度"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"拿起设备时唤醒"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"主动显示"</string>
@@ -3400,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"删除"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"此会话中的所有应用和数据都将被删除。"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"移除"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"访客(您)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"用户"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"其他用户"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"删除访客活动记录"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"退出访客模式时删除所有访客应用和数据"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"要删除访客活动记录吗?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"此访客会话中的应用和数据将会立即删除;日后您每次退出访客模式时,系统都会删除访客活动记录"</string>
<string name="user_enable_calling" msgid="264875360626905535">"开启通话功能"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"开启通话和短信功能"</string>
<string name="user_remove_user" msgid="8468203789739693845">"删除用户"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 8439146..78f0784 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -1431,15 +1431,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"螢幕保護程式"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"使用螢幕保護程式"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充電或放上插座時"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"任何一個狀態"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"充電時"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"放上插座時"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"永不"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"關閉"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"如要控制手機在插座上和/或休眠時的操作,請開啟螢幕保護程式。"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"啟用時間"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"目前的螢幕保護程式"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"設定"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"自動調整亮度"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"拿起即可喚醒"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"微光螢幕"</string>
@@ -3403,6 +3400,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"刪除"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"這個工作階段中的所有應用程式和資料都會被刪除。"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"移除"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"訪客 (您)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"使用者"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"其他使用者"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"刪除訪客活動"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"結束訪客模式時刪除所有訪客應用程式和資料"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"要刪除訪客活動嗎?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"系統現在會刪除此訪客工作階段中的應用程式和資料;日後每次結束訪客模式時,系統都會刪除所有未來的訪客活動"</string>
<string name="user_enable_calling" msgid="264875360626905535">"開啟通話功能"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"開啟通話和短訊功能"</string>
<string name="user_remove_user" msgid="8468203789739693845">"刪除使用者"</string>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index 1e6a3ca..6cd3522 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -579,7 +579,7 @@
<!-- no translation found for rtt_setting_mode:2 (8525285145696236811) -->
<!-- no translation found for rtt_setting_mode:3 (7725394146877517088) -->
<string-array name="nfc_payment_favor">
- <item msgid="9104058551372383947">"一律開啟"</item>
+ <item msgid="9104058551372383947">"一律使用"</item>
<item msgid="5283665583617307336">"其他付款應用程式開啟時除外"</item>
</string-array>
<string-array name="nfc_payment_favor_values">
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index fc6f5d7..da7bde7 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -1431,15 +1431,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"螢幕保護程式"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"使用螢幕保護程式"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充電或安置於座架上時"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"以上任一情況"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"充電時"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"安置於座架上時"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"永遠不要"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"關閉"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"如要控制手機安置於座架上和/或休眠時的設定,請開啟螢幕保護程式。"</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"啟用時機"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"目前的螢幕保護程式"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"設定"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"自動調整亮度"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"舉起即可喚醒"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"微光螢幕"</string>
@@ -3402,6 +3399,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"刪除"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"這個工作階段中的所有應用程式和資料都會遭到刪除。"</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"移除"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"訪客 (你)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"使用者"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"其他使用者"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"刪除訪客活動"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"離開訪客模式時刪除所有訪客應用程式和資料"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"要刪除訪客活動嗎?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"系統將立即刪除這個訪客工作階段中的應用程式和資料,日後只要你離開訪客模式,系統也都會刪除所有未來的訪客活動"</string>
<string name="user_enable_calling" msgid="264875360626905535">"開啟通話功能"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"開啟通話和簡訊功能"</string>
<string name="user_remove_user" msgid="8468203789739693845">"刪除使用者"</string>
@@ -5395,8 +5399,8 @@
<string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"正在停用 SIM 卡<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
<string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"無法停用電信業者"</string>
<string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"發生錯誤,無法停用你的電信業者。"</string>
- <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"要使用 2 張 SIM 卡嗎?"</string>
- <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"這部裝置可以同時使用 2 張 SIM 卡。如果不想同時使用 2 張 SIM 卡,請輕觸 [不用了,謝謝]。"</string>
+ <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"要使用兩張 SIM 卡嗎?"</string>
+ <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"這部裝置可以同時使用兩張 SIM 卡。如果不想同時使用兩張 SIM 卡,請輕觸「不用了,謝謝」。"</string>
<string name="sim_action_restart_title" msgid="7054617569121993825">"要重新啟動裝置嗎?"</string>
<string name="sim_action_restart_text" msgid="8019300474703571013">"如要開始使用,請重新啟動你的裝置。重新啟動後即可新增其他 SIM 卡。"</string>
<string name="sim_action_continue" msgid="1688813133152389943">"繼續"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index d5b37ad..4c20892 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -225,11 +225,9 @@
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Izilimi eziphakanyisiwe"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Zonke izilimi"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Ulimi lwesistimu"</string>
- <!-- no translation found for preference_of_system_locale_summary (5612241394431188535) -->
- <skip />
+ <string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Okuzenzakalelayo kwesistimu"</string>
<string name="desc_no_available_supported_locale" msgid="7883271726226947273">"Ukukhetha ulimi kwale app akutholakali Kumasethingi."</string>
- <!-- no translation found for desc_app_locale_disclaimer (5295933110644789052) -->
- <skip />
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"Ulimi lungahluka ezilimini ezitholakala ku-app. Amanye ama-app angase angalisekeli leli sethingi."</string>
<plurals name="dlg_remove_locales_title" formatted="false" msgid="2845515796732609837">
<item quantity="one">Susa izilimi ezikhethiwe?</item>
<item quantity="other">Susa izilimi ezikhethiwe?</item>
@@ -1430,15 +1428,12 @@
<string name="screensaver_settings_title" msgid="3588535639672365395">"Isigcini sihenqo"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Sebenzisa isilondolozi sesikrini"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Ngenkathi ishaja noma idokhiwe"</string>
- <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Noma"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Ngenkathi ishaja"</string>
<string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Ngenkathi idokhiwe"</string>
<string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Akusoze"</string>
<string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Valiwe"</string>
- <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Ukuze ulawule ukuthi kwenzakale ini uma ifoni idokhiwe kanye/noma ilele, vula isilondolozi sikrini."</string>
<string name="screensaver_settings_when_to_dream" msgid="8145025742428940520">"Iqala nini"</string>
<string name="screensaver_settings_current" msgid="390472865895976891">"Isithombe-skrini samanje"</string>
- <string name="screensaver_settings_button" msgid="6159236558934930238">"Izilungiselelo"</string>
<string name="automatic_brightness" msgid="4599827881929079513">"Ukukhanya okuzenzakalelayo"</string>
<string name="lift_to_wake_title" msgid="8994218158737714046">"Ilifti yokuvuka"</string>
<string name="ambient_display_screen_title" msgid="8615947016991429325">"Isibonisi esi-Ambient"</string>
@@ -3402,6 +3397,13 @@
<string name="user_delete_button" msgid="3833498650182594653">"Susa"</string>
<string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Zonke izinhlelo zokusebenza nedatha kulesi sikhathi zizosuswa."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Susa"</string>
+ <string name="guest_category_title" msgid="5562663588315329152">"Isihambeli (Wena)"</string>
+ <string name="user_category_title" msgid="4368580529662699083">"Abasebenzisi"</string>
+ <string name="other_user_category_title" msgid="7089976887307643217">"Abanye abasebenzisi"</string>
+ <string name="remove_guest_on_exit" msgid="8202972371459611066">"Sula umsebenzi wesihambeli"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Sula wonke ama-app wesihambeli nedatha lapho uphuma kwimodi yesivakashi"</string>
+ <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Sula umsebenzi wesihambeli?"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Ama-app nedatha okusuka kulesi sikhathi sesihambeli kuzosulwa manje, wonke umsebenzi wesihambeli wesikhathi esizayo uzosulwa njalo lapho uphuma kwimodi yesivakashi."</string>
<string name="user_enable_calling" msgid="264875360626905535">"Vula amakholi wamafoni"</string>
<string name="user_enable_calling_sms" msgid="8546430559552381324">"Vula amakholi wefoni ne-SMS"</string>
<string name="user_remove_user" msgid="8468203789739693845">"Susa umsebenzisi"</string>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index b88d01d..f03794a 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -141,6 +141,7 @@
<dimen name="avatar_margin_top">56dp</dimen>
<dimen name="avatar_margin_end">24dp</dimen>
<dimen name="multiple_users_avatar_size">20dp</dimen>
+ <dimen name="multiple_users_user_icon_size">40dp</dimen>
<!-- Homepage -->
<dimen name="homepage_title_margin_bottom">8dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 49695cb..aca3ce2 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1036,7 +1036,11 @@
<!-- Introduction description message shown in fingerprint enrollment introduction screen in setup wizard when asking for parental consent. [CHAR LIMIT=NONE] -->
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4">You and your child can delete their fingerprint images and model, or turn off Fingerprint Unlock at any time in Settings. Fingerprint images and models are stored on the phone until they\u2019re deleted.</string>
<!-- Introduction description message shown in fingerprint enrollment introduction screen in setup wizard. [CHAR LIMIT=NONE] -->
- <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_5">Your phone can be unlocked when you don\u2019t intend to, like if someone holds it up to your finger.</string>
+ <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_5" product="default">Your phone can be unlocked when you don\u2019t intend to, like if someone holds it up to your finger.</string>
+ <!-- Introduction description message shown in fingerprint enrollment introduction screen in setup wizard. [CHAR LIMIT=NONE] -->
+ <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_5" product="tablet">Your tablet can be unlocked when you don\u2019t intend to, like if someone holds it up to your finger.</string>
+ <!-- Introduction description message shown in fingerprint enrollment introduction screen in setup wizard. [CHAR LIMIT=NONE] -->
+ <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_5" product="device">Your device can be unlocked when you don\u2019t intend to, like if someone holds it up to your finger.</string>
<!-- Introduction description message shown in fingerprint enrollment introduction screen in setup wizard when asking for parental consent. [CHAR LIMIT=NONE] -->
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5">Your child\u2019s phone can be unlocked when they don\u2019t intend to, like if someone holds it up to their finger.</string>
<!-- Introduction description message shown in fingerprint enrollment introduction screen in setup wizard. [CHAR LIMIT=NONE] -->
@@ -1140,6 +1144,8 @@
<string name="security_settings_fingerprint_enroll_dialog_name_label">Name</string>
<!-- Button text shown in fingerprint dialog that allows the user to rename a fingerprint template [CHAR LIMIT=22] -->
<string name="security_settings_fingerprint_enroll_dialog_ok">OK</string>
+ <!-- Button text shown in fingerprint dialog that allows the user to try and enroll again[CHAR LIMIT=22] -->
+ <string name="security_settings_fingerprint_enroll_dialog_try_again">Try again</string>
<!-- Button text shown in fingerprint dialog that allows the user to delete the fingerprint template [CHAR LIMIT=22] -->
<string name="security_settings_fingerprint_enroll_dialog_delete">Delete</string>
<!-- Title shown in fingerprint enrollment dialog to begin enrollment [CHAR LIMIT=29]-->
@@ -1296,9 +1302,9 @@
<!-- Dialog message for dialog which shows when user touches the icon on the screen, instead of the sensor at the back [CHAR LIMIT=NONE] -->
<string name="security_settings_fingerprint_enroll_touch_dialog_message">Touch the sensor on the back of your phone. Use your index finger.</string>
<!-- Dialog message for dialog which shows when finger cannot be enrolled. [CHAR LIMIT=45] -->
- <string name="security_settings_fingerprint_enroll_error_dialog_title">Enrollment was not completed</string>
+ <string name="security_settings_fingerprint_enroll_error_dialog_title">Fingerprint setup timed out</string>
<!-- Dialog message for dialog which shows when finger cannot be enrolled due to being idle too long. -->
- <string name="security_settings_fingerprint_enroll_error_timeout_dialog_message">Fingerprint enrollment time limit reached. Try again.</string>
+ <string name="security_settings_fingerprint_enroll_error_timeout_dialog_message">Try again now or set up your fingerprint later in Settings</string>
<!-- Dialog message for dialog which shows when finger cannot be enrolled due to an internal error or fingerprint can't be read. -->
<string name="security_settings_fingerprint_enroll_error_generic_dialog_message">Fingerprint enrollment didn\'t work. Try again or use a different finger.</string>
<!-- Button text shown at the end of enrollment that allows the user to add another fingerprint -->
@@ -3230,30 +3236,26 @@
<string name="style_suggestion_title">Customize your phone</string>
<!-- Styles and Wallpapers summary [CHAR_LIMIT=70] -->
<string name="style_suggestion_summary">Try different styles, wallpapers, and more</string>
- <!-- Display settings screen, trigger for screen saver options -->
+ <!-- Display settings screen, trigger for screen saver options [CHAR LIMIT=30] -->
<string name="screensaver_settings_title">Screen saver</string>
+ <!-- List of synonyms used in the settings search bar to find the “Screen saver”. [CHAR LIMIT=NONE] -->
+ <string name="keywords_screensaver">screensaver</string>
<!-- The title for the toggle which disables/enables screen savers [CHAR_LIMIT=30] -->
<string name="screensaver_settings_toggle_title">Use screen saver</string>
- <!-- Display settings screen, summary fragment for screen saver options, activated when docked or asleep and charging -->
+ <!-- Display settings screen, summary fragment for screen saver options, activated when docked or asleep and charging [CHAR LIMIT=35] -->
<string name="screensaver_settings_summary_either_long">While charging or docked</string>
- <!-- Dream settings screen, dialog option, activated when docked or asleep and charging -->
- <string name="screensaver_settings_summary_either_short">Either</string>
- <!-- Display settings screen, summary fragment for screen saver options, activated when asleep and charging -->
+ <!-- Display settings screen, summary fragment for screen saver options, activated when asleep and charging [CHAR LIMIT=35] -->
<string name="screensaver_settings_summary_sleep">While charging</string>
- <!-- Display settings screen, summary fragment for screen saver options, activated when docked -->
+ <!-- Display settings screen, summary fragment for screen saver options, activated when docked [CHAR LIMIT=35] -->
<string name="screensaver_settings_summary_dock">While docked</string>
- <!-- Display settings screen, summary fragment for screen saver options, activated never -->
+ <!-- Display settings screen, summary fragment for screen saver options, activated never [CHAR LIMIT=35] -->
<string name="screensaver_settings_summary_never">Never</string>
- <!-- Display settings screen, summary for screen saver options, screen saver is turned off -->
+ <!-- Display settings screen, summary for screen saver options, screen saver is turned off [CHAR LIMIT=20] -->
<string name="screensaver_settings_summary_off">Off</string>
- <!-- Dream settings screen, caption for when dreams are disabled -->
- <string name="screensaver_settings_disabled_prompt">To control what happens when the phone is docked and/or sleeping, turn screen saver on.</string>
- <!-- Dream settings screen, action label, when to dream -->
+ <!-- Dream settings screen, action label, when to dream [CHAR LIMIT=20] -->
<string name="screensaver_settings_when_to_dream">When to start</string>
- <!-- Dream settings screen, action label, current selected screen saver -->
+ <!-- Dream settings screen, action label, current selected screen saver [CHAR LIMIT=35] -->
<string name="screensaver_settings_current">Current screen saver</string>
- <!-- Dream settings screen, button label for settings for a specific screensaver -->
- <string name="screensaver_settings_button">Settings</string>
<!-- Sound & display settings screen, setting option name to change whether the screen adjusts automatically based on lighting conditions -->
<string name="automatic_brightness">Automatic brightness</string>
<!-- [CHAR LIMIT=40] Display settings screen, setting option name to change whether the device wakes up when a lift gesture is detected. -->
@@ -4775,7 +4777,7 @@
<!-- [CHAR LIMIT=NONE] Manage applications screen, menu item. Title of dialog to confirm resetting user's app preferences. -->
<string name="reset_app_preferences_title">Reset app preferences?</string>
<!-- [CHAR LIMIT=NONE] Manage applications screen, menu item. Body of dialog to confirm resetting user's app preferences. -->
- <string name="reset_app_preferences_desc">This will reset all preferences for:\n\n<li>Disabled apps</li>\n<li>Disabled app notifications</li>\n<li>Default applications for actions</li>\n<li>Background data restrictions for apps</li>\n<li>Any permission restrictions</li>\n\nYou will not lose any app data.</string>
+ <string name="reset_app_preferences_desc">This will reset all preferences for:\n\n<li>Disabled apps</li>\n<li>Disabled app notifications</li>\n<li>Default applications for actions</li>\n<li>Background data restrictions for apps</li>\n<li>Any permission restrictions</li>\n<li>Battery usage settings</li>\n\nYou will not lose any app data.</string>
<!-- [CHAR LIMIT=25] Manage applications screen, menu item. Confirmation button of dialog to confirm resetting user's app preferences. -->
<string name="reset_app_preferences_button">Reset apps</string>
<!-- Manage applications screen, individual app screen, button label when the user wants to manage the space taken up by an app. -->
@@ -5350,7 +5352,9 @@
<!-- Title for the confirm dialog of reset settings. [CHAR LIMIT=NONE] -->
<string name="accessibility_text_reading_confirm_dialog_title">Reset display size and text?</string>
<!-- Message for the confirm dialog of reset settings. [CHAR LIMIT=NONE] -->
- <string name="accessibility_text_reading_confirm_dialog_message">Your display size and text preferences will reset to the phone\u2019s original settings</string>
+ <string name="accessibility_text_reading_confirm_dialog_message" product="default">Your display size and text preferences will reset to the phone\u2019s original settings</string>
+ <!-- Message for the confirm dialog of reset settings. [CHAR LIMIT=NONE] -->
+ <string name="accessibility_text_reading_confirm_dialog_message" product="tablet">Your display size and text preferences will reset to the tablet\u2019s original settings</string>
<!-- Title for the reset button of the confirm dialog of reset settings. [CHAR LIMIT=25] -->
<string name="accessibility_text_reading_confirm_dialog_reset_button">Reset</string>
<!-- Conversation message for the messaging app preview screen. [CHAR LIMIT=NONE] -->
@@ -7749,6 +7753,22 @@
<string name="user_exit_guest_confirm_message">All apps and data in this session will be deleted.</string>
<!-- Label for button in confirmation dialog when exiting guest session [CHAR LIMIT=35] -->
<string name="user_exit_guest_dialog_remove">Remove</string>
+ <!-- Title for guest category in guest mode [CHAR LIMIT=35] -->
+ <string name="guest_category_title">Guest (You)</string>
+ <!-- Title for users preference [CHAR LIMIT=35] -->
+ <string name="user_category_title">Users</string>
+ <!-- Title for users preference when in guest mode [CHAR LIMIT=35] -->
+ <string name="other_user_category_title">Other users</string>
+ <!-- Title of preference to remove guest on exit option[CHAR LIMIT=35] -->
+ <string name="remove_guest_on_exit">Delete guest activity</string>
+ <!-- Summary of preference to remove guest on exit option[CHAR LIMIT=NONE] -->
+ <string name="remove_guest_on_exit_summary">Delete all guest apps and data
+ when exiting guest mode</string>
+ <!-- Title of dialog shown when remove_guest_on_exit toggle is ON [CHAR LIMIT=35] -->
+ <string name="remove_guest_on_exit_dialog_title">Delete guest activity?</string>
+ <!-- Message of dialog shown when remove_guest_on_exit toggle is ON [CHAR LIMIT=NONE] -->
+ <string name="remove_guest_on_exit_dialog_message">Apps and data from this guest session will be
+ deleted now, and all future guest activity will be deleted each time you exit guest mode</string>
<!-- Title of preference to enable calling[CHAR LIMIT=40] -->
<string name="user_enable_calling">Turn on phone calls</string>
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index 2336c15..1b5e6c0 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -145,7 +145,8 @@
<Preference
android:key="screensaver"
android:title="@string/screensaver_settings_title"
- android:fragment="com.android.settings.dream.DreamSettings"/>
+ android:fragment="com.android.settings.dream.DreamSettings"
+ settings:keywords="@string/keywords_screensaver"/>
<SwitchPreference
android:key="camera_gesture"
diff --git a/res/xml/dream_fragment_overview.xml b/res/xml/dream_fragment_overview.xml
index 9a401a3..a7b5492 100644
--- a/res/xml/dream_fragment_overview.xml
+++ b/res/xml/dream_fragment_overview.xml
@@ -17,7 +17,9 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
- android:title="@string/screensaver_settings_title">
+ android:key="screensaver_settings_screen"
+ android:title="@string/screensaver_settings_title"
+ settings:keywords="@string/keywords_screensaver">
<com.android.settingslib.widget.MainSwitchPreference
android:key="dream_main_settings_switch"
diff --git a/res/xml/power_usage_advanced.xml b/res/xml/power_usage_advanced.xml
index 7a9c44b..e9274ce 100644
--- a/res/xml/power_usage_advanced.xml
+++ b/res/xml/power_usage_advanced.xml
@@ -21,7 +21,7 @@
android:title="@string/advanced_battery_title"
settings:keywords="@string/keywords_battery_usage">
- <com.android.settings.fuelgauge.BatteryHistoryPreference
+ <com.android.settings.fuelgauge.batteryusage.BatteryHistoryPreference
android:key="battery_graph"/>
<PreferenceCategory
diff --git a/res/xml/power_usage_summary.xml b/res/xml/power_usage_summary.xml
index 58327c0..9e86bf5 100644
--- a/res/xml/power_usage_summary.xml
+++ b/res/xml/power_usage_summary.xml
@@ -39,7 +39,7 @@
settings:controller="com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController" />
<Preference
- android:fragment="com.android.settings.fuelgauge.PowerUsageAdvanced"
+ android:fragment="com.android.settings.fuelgauge.batteryusage.PowerUsageAdvanced"
android:key="battery_usage_summary"
android:title="@string/advanced_battery_preference_title"
settings:keywords="@string/keywords_battery_usage" />
diff --git a/res/xml/top_level_settings.xml b/res/xml/top_level_settings.xml
index c9e6017..5fbc735 100644
--- a/res/xml/top_level_settings.xml
+++ b/res/xml/top_level_settings.xml
@@ -59,7 +59,7 @@
settings:highlightableMenuKey="@string/menu_key_notifications"/>
<com.android.settings.widget.HomepagePreference
- android:fragment="com.android.settings.fuelgauge.PowerUsageSummary"
+ android:fragment="com.android.settings.fuelgauge.batteryusage.PowerUsageSummary"
android:icon="@drawable/ic_settings_battery_white"
android:key="top_level_battery"
android:order="-110"
diff --git a/res/xml/user_settings.xml b/res/xml/user_settings.xml
index ab54989..5cbfe43 100644
--- a/res/xml/user_settings.xml
+++ b/res/xml/user_settings.xml
@@ -26,27 +26,58 @@
settings:controller="com.android.settings.users.MultiUserTopIntroPreferenceController"/>
<PreferenceCategory
- android:key="user_list"
- android:title="@string/user_list_title"
- android:order="10"
- settings:searchable="false">
- </PreferenceCategory>
+ android:key="guest_category"
+ android:title="@string/guest_category_title"
+ android:order="2"
+ settings:searchable="false"/>
- <com.android.settingslib.RestrictedPreference
- android:key="guest_add"
- android:title="@string/guest_new_guest"
- android:order="15"/>
+ <Preference
+ android:key="guest_exit"
+ android:title="@string/guest_exit_button"
+ android:icon="@drawable/ic_guest_exit"
+ android:order="3"/>
+
+ <Preference
+ android:key="guest_reset"
+ android:title="@string/guest_reset_button"
+ android:icon="@drawable/ic_guest_reset"
+ android:order="4"/>
+
+ <PreferenceCategory
+ android:key="user_list"
+ android:title="@string/user_category_title"
+ android:order="10"
+ settings:searchable="false"/>
<com.android.settingslib.RestrictedPreference
android:key="user_add"
android:title="@string/user_add_user_or_profile_menu"
+ android:icon="@drawable/ic_add_40dp"
android:order="20"/>
<com.android.settingslib.RestrictedPreference
android:key="supervised_user_add"
android:title="@*android:string/supervised_user_creation_label"
+ android:icon="@drawable/ic_add_40dp"
android:order="25"/>
+ <PreferenceCategory
+ android:key="guest_user_category"
+ android:title="@*android:string/guest_name"
+ android:order="50"/>
+
+ <com.android.settingslib.RestrictedPreference
+ android:key="guest_add"
+ android:title="@string/guest_new_guest"
+ android:icon="@drawable/ic_add_40dp"
+ android:order="55"/>
+
+ <com.android.settingslib.RestrictedSwitchPreference
+ android:key="remove_guest_on_exit"
+ android:title="@string/remove_guest_on_exit"
+ android:summary="@string/remove_guest_on_exit_summary"
+ android:order="60"/>
+
<com.android.settingslib.RestrictedSwitchPreference
android:key="user_settings_add_users_when_locked"
android:title="@string/user_add_on_lockscreen_menu"
diff --git a/src/com/android/settings/ChangeIds.java b/src/com/android/settings/ChangeIds.java
new file mode 100644
index 0000000..1f77201
--- /dev/null
+++ b/src/com/android/settings/ChangeIds.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings;
+
+import android.compat.annotation.ChangeId;
+import android.compat.annotation.LoggingOnly;
+
+/**
+ * All the {@link ChangeId} used for Settings App.
+ */
+public class ChangeIds {
+ /**
+ * Intents with action {@code android.settings.MANAGE_APP_OVERLAY_PERMISSION}
+ * and data URI scheme {@code package} don't go to the app-specific screen for managing the
+ * permission anymore. Instead, they redirect to this screen for managing all the apps that have
+ * requested such permission.
+ */
+ @ChangeId
+ @LoggingOnly
+ public static final long CHANGE_RESTRICT_SAW_INTENT = 135920175L;
+}
diff --git a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
index d69c2c8..99c630d 100644
--- a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
@@ -38,12 +38,12 @@
import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
-import com.android.settings.fuelgauge.BatteryChartPreferenceController;
-import com.android.settings.fuelgauge.BatteryDiffEntry;
-import com.android.settings.fuelgauge.BatteryEntry;
-import com.android.settings.fuelgauge.BatteryUsageStatsLoader;
import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
+import com.android.settings.fuelgauge.batteryusage.BatteryChartPreferenceController;
+import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry;
+import com.android.settings.fuelgauge.batteryusage.BatteryEntry;
+import com.android.settings.fuelgauge.batteryusage.BatteryUsageStatsLoader;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.core.lifecycle.Lifecycle;
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index ead9840..e12bc1c 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -18,6 +18,7 @@
import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
+import static com.android.settings.ChangeIds.CHANGE_RESTRICT_SAW_INTENT;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_ALL;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_BLOCKED;
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_DISABLED;
@@ -37,8 +38,6 @@
import android.app.ActivityManager;
import android.app.settings.SettingsEnums;
import android.app.usage.IUsageStatsManager;
-import android.compat.annotation.ChangeId;
-import android.compat.annotation.LoggingOnly;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
@@ -190,16 +189,6 @@
public static final int STORAGE_TYPE_DEFAULT = 0; // Show all apps that are not categorized.
public static final int STORAGE_TYPE_LEGACY = 1; // Show apps even if they can be categorized.
- /**
- * Intents with action {@code android.settings.MANAGE_APP_OVERLAY_PERMISSION}
- * and data URI scheme {@code package} don't go to the app-specific screen for managing the
- * permission anymore. Instead, they redirect to this screen for managing all the apps that have
- * requested such permission.
- */
- @ChangeId
- @LoggingOnly
- private static final long CHANGE_RESTRICT_SAW_INTENT = 135920175L;
-
// sort order
@VisibleForTesting
int mSortOrder = R.id.sort_order_alpha;
diff --git a/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java b/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
index 9cb5a3f..708f8b7 100644
--- a/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
+++ b/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
@@ -38,6 +38,7 @@
import androidx.appcompat.app.AlertDialog;
import com.android.settings.R;
+import com.android.settings.fuelgauge.BatteryOptimizeUtils;
import java.util.Arrays;
import java.util.List;
@@ -152,6 +153,7 @@
} catch (RemoteException e) {
}
mAom.resetAllModes();
+ BatteryOptimizeUtils.resetAppOptimizationMode(mContext, mIPm, mAom);
final int[] restrictedUids = mNpm.getUidsWithPolicy(
POLICY_REJECT_METERED_BACKGROUND);
final int currentUserId = ActivityManager.getCurrentUser();
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 98210b3..bf04d5f 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -508,7 +508,6 @@
public void onEnrollmentProgressChange(int steps, int remaining) {
updateProgress(true /* animate */);
updateTitleAndDescription();
- clearError();
animateFlash();
if (!mCanAssumeUdfps) {
mErrorText.removeCallbacks(mTouchAgainRunnable);
@@ -537,6 +536,11 @@
int progress = getProgress(
mSidecar.getEnrollmentSteps(), mSidecar.getEnrollmentRemaining());
+ // Only clear the error when progress has been made.
+ // TODO (b/234772728) Add tests.
+ if (mProgressBar != null && mProgressBar.getProgress() < progress) {
+ clearError();
+ }
if (animate) {
animateProgress(progress);
} else {
@@ -635,13 +639,17 @@
new Animator.AnimatorListener() {
@Override
- public void onAnimationStart(Animator animation) { }
+ public void onAnimationStart(Animator animation) {
+ startIconAnimation();
+ }
@Override
public void onAnimationRepeat(Animator animation) { }
@Override
public void onAnimationEnd(Animator animation) {
+ stopIconAnimation();
+
if (mProgressBar.getProgress() >= PROGRESS_BAR_MAX) {
mProgressBar.postDelayed(mDelayedFinishRunnable, getFinishDelay());
}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java b/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
index a238119..cea44ba 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
@@ -16,20 +16,78 @@
package com.android.settings.biometrics.fingerprint;
+import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED;
+import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_TIMEOUT;
+
+import android.app.Activity;
+import android.app.Dialog;
import android.app.settings.SettingsEnums;
+import android.content.DialogInterface;
+import android.hardware.biometrics.BiometricConstants;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
+import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentManager;
import com.android.settings.R;
import com.android.settings.biometrics.BiometricEnrollBase;
-import com.android.settings.biometrics.BiometricErrorDialog;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-/**
- * Fingerprint error dialog, will be shown when an error occurs during fingerprint enrollment.
- */
-public class FingerprintErrorDialog extends BiometricErrorDialog {
+/** Fingerprint error dialog, will be shown when an error occurs during fingerprint enrollment. */
+public class FingerprintErrorDialog extends InstrumentedDialogFragment {
+
+ public static final String KEY_ERROR_MSG = "error_msg";
+ public static final String KEY_ERROR_ID = "error_id";
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ CharSequence errorString = getArguments().getCharSequence(KEY_ERROR_MSG);
+ final int errMsgId = getArguments().getInt(KEY_ERROR_ID);
+ boolean wasTimeout = errMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT;
+
+ builder.setTitle(R.string.security_settings_fingerprint_enroll_error_dialog_title)
+ .setMessage(errorString)
+ .setCancelable(false)
+ .setPositiveButton(
+ R.string.security_settings_fingerprint_enroll_dialog_ok,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ Activity activity = getActivity();
+ activity.setResult(RESULT_FINISHED);
+ activity.finish();
+ }
+ });
+ if (wasTimeout) {
+ builder.setPositiveButton(
+ R.string.security_settings_fingerprint_enroll_dialog_try_again,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ getActivity().recreate();
+ }
+ })
+ .setNegativeButton(
+ R.string.security_settings_fingerprint_enroll_dialog_ok,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ Activity activity = getActivity();
+ activity.setResult(RESULT_TIMEOUT);
+ activity.finish();
+ }
+ });
+ }
+ AlertDialog dialog = builder.create();
+ dialog.setCanceledOnTouchOutside(false);
+ return dialog;
+ }
+
public static void showErrorDialog(BiometricEnrollBase host, int errMsgId) {
if (host.isFinishing()) {
return;
@@ -48,8 +106,8 @@
private static int getErrorMessage(int errMsgId) {
switch (errMsgId) {
case FingerprintManager.FINGERPRINT_ERROR_TIMEOUT:
- // This message happens when the underlying crypto layer decides to revoke the
- // enrollment auth token.
+ // This message happens when the underlying crypto layer decides to revoke
+ // the enrollment auth token.
return R.string.security_settings_fingerprint_enroll_error_timeout_dialog_message;
case FingerprintManager.FINGERPRINT_ERROR_BAD_CALIBRATION:
return R.string.security_settings_fingerprint_bad_calibration;
@@ -69,16 +127,6 @@
}
@Override
- public int getTitleResId() {
- return R.string.security_settings_fingerprint_enroll_error_dialog_title;
- }
-
- @Override
- public int getOkButtonTextResId() {
- return R.string.security_settings_fingerprint_enroll_dialog_ok;
- }
-
- @Override
public int getMetricsCategory() {
return SettingsEnums.DIALOG_FINGERPINT_ERROR;
}
diff --git a/src/com/android/settings/bluetooth/QrCodeScanModeActivity.java b/src/com/android/settings/bluetooth/QrCodeScanModeActivity.java
index 5c5b61f..690c07e 100644
--- a/src/com/android/settings/bluetooth/QrCodeScanModeActivity.java
+++ b/src/com/android/settings/bluetooth/QrCodeScanModeActivity.java
@@ -30,7 +30,15 @@
import com.android.settingslib.bluetooth.BluetoothBroadcastUtils;
import com.android.settingslib.bluetooth.BluetoothUtils;
-//TODO (b/232365943): Add test case for tthe QrCode UI.
+/**
+ * Finding a broadcast through QR code.
+ *
+ * To use intent action {@link BluetoothBroadcastUtils#ACTION_BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER},
+ * specify the bluetooth device sink of the broadcast to be provisioned in
+ * {@link BluetoothBroadcastUtils#EXTRA_BLUETOOTH_DEVICE_SINK} and check the operation for all
+ * coordinated set members throughout one session or not by
+ * {@link BluetoothBroadcastUtils#EXTRA_BLUETOOTH_SINK_IS_GROUP}.
+ */
public class QrCodeScanModeActivity extends QrCodeScanModeBaseActivity {
private static final boolean DEBUG = BluetoothUtils.D;
private static final String TAG = "QrCodeScanModeActivity";
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 11ceeaf..dc746ce 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -99,9 +99,9 @@
import com.android.settings.dream.DreamSettings;
import com.android.settings.enterprise.EnterprisePrivacySettings;
import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
-import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.fuelgauge.batterysaver.BatterySaverScheduleSettings;
import com.android.settings.fuelgauge.batterysaver.BatterySaverSettings;
+import com.android.settings.fuelgauge.batteryusage.PowerUsageSummary;
import com.android.settings.gestures.AssistGestureSettings;
import com.android.settings.gestures.ButtonNavigationSettingsFragment;
import com.android.settings.gestures.DoubleTapPowerSettings;
diff --git a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
index eb04f3c..c2b5198 100644
--- a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
+++ b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
@@ -31,9 +31,9 @@
import com.android.settings.display.NightDisplaySettings;
import com.android.settings.emergency.EmergencyDashboardFragment;
import com.android.settings.enterprise.EnterprisePrivacySettings;
-import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.fuelgauge.SmartBatterySettings;
import com.android.settings.fuelgauge.batterysaver.BatterySaverSettings;
+import com.android.settings.fuelgauge.batteryusage.PowerUsageSummary;
import com.android.settings.gestures.GestureSettings;
import com.android.settings.homepage.TopLevelSettings;
import com.android.settings.language.LanguageAndInputSettings;
diff --git a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
index 4426bde..98629b4 100644
--- a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
@@ -16,14 +16,22 @@
package com.android.settings.datetime;
-import android.content.Context;
-import android.provider.Settings;
+import static android.app.time.Capabilities.CAPABILITY_NOT_ALLOWED;
+import static android.app.time.Capabilities.CAPABILITY_NOT_APPLICABLE;
+import static android.app.time.Capabilities.CAPABILITY_NOT_SUPPORTED;
+import static android.app.time.Capabilities.CAPABILITY_POSSESSED;
+import android.app.time.TimeManager;
+import android.app.time.TimeZoneCapabilities;
+import android.app.time.TimeZoneCapabilitiesAndConfig;
+import android.app.time.TimeZoneConfiguration;
+import android.content.Context;
+
+import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.Utils;
import com.android.settingslib.core.AbstractPreferenceController;
public class AutoTimeZonePreferenceController extends AbstractPreferenceController
@@ -33,17 +41,37 @@
private final boolean mIsFromSUW;
private final UpdateTimeAndDateCallback mCallback;
+ private final TimeManager mTimeManager;
public AutoTimeZonePreferenceController(Context context, UpdateTimeAndDateCallback callback,
boolean isFromSUW) {
super(context);
+ mTimeManager = context.getSystemService(TimeManager.class);
mCallback = callback;
mIsFromSUW = isFromSUW;
}
@Override
public boolean isAvailable() {
- return !(Utils.isWifiOnly(mContext) || mIsFromSUW);
+ if (mIsFromSUW) {
+ return false;
+ }
+
+ TimeZoneCapabilities timeZoneCapabilities =
+ getTimeZoneCapabilitiesAndConfig().getCapabilities();
+ int capability = timeZoneCapabilities.getConfigureAutoDetectionEnabledCapability();
+
+ // The preference only has two states: present and not present. The preference is never
+ // present but disabled.
+ if (capability == CAPABILITY_NOT_SUPPORTED
+ || capability == CAPABILITY_NOT_ALLOWED
+ || capability == CAPABILITY_NOT_APPLICABLE) {
+ return false;
+ } else if (capability == CAPABILITY_POSSESSED) {
+ return true;
+ } else {
+ throw new IllegalStateException("Unknown capability=" + capability);
+ }
}
@Override
@@ -62,14 +90,22 @@
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean autoZoneEnabled = (Boolean) newValue;
- Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AUTO_TIME_ZONE,
- autoZoneEnabled ? 1 : 0);
+ TimeZoneConfiguration configuration = new TimeZoneConfiguration.Builder()
+ .setAutoDetectionEnabled(autoZoneEnabled)
+ .build();
+ boolean result = mTimeManager.updateTimeZoneConfiguration(configuration);
+
mCallback.updateTimeAndDateDisplay(mContext);
- return true;
+ return result;
}
- public boolean isEnabled() {
- return isAvailable() && Settings.Global.getInt(mContext.getContentResolver(),
- Settings.Global.AUTO_TIME_ZONE, 0) > 0;
+ @VisibleForTesting
+ boolean isEnabled() {
+ TimeZoneConfiguration config = getTimeZoneCapabilitiesAndConfig().getConfiguration();
+ return config.isAutoDetectionEnabled();
+ }
+
+ private TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig() {
+ return mTimeManager.getTimeZoneCapabilitiesAndConfig();
}
}
diff --git a/src/com/android/settings/datetime/DateTimeSettings.java b/src/com/android/settings/datetime/DateTimeSettings.java
index d74847f..169455a 100644
--- a/src/com/android/settings/datetime/DateTimeSettings.java
+++ b/src/com/android/settings/datetime/DateTimeSettings.java
@@ -85,8 +85,7 @@
controllers.add(new TimeFormatPreferenceController(
activity, this /* UpdateTimeAndDateCallback */, isFromSUW));
- controllers.add(new TimeZonePreferenceController(
- activity, autoTimeZonePreferenceController));
+ controllers.add(new TimeZonePreferenceController(activity));
controllers.add(new TimePreferenceController(
activity, this /* UpdateTimeAndDateCallback */, autoTimePreferenceController));
controllers.add(new DatePreferenceController(
diff --git a/src/com/android/settings/datetime/TimeZonePreferenceController.java b/src/com/android/settings/datetime/TimeZonePreferenceController.java
index a19f055..a26c7bf 100644
--- a/src/com/android/settings/datetime/TimeZonePreferenceController.java
+++ b/src/com/android/settings/datetime/TimeZonePreferenceController.java
@@ -16,6 +16,10 @@
package com.android.settings.datetime;
+import static android.app.time.Capabilities.CAPABILITY_POSSESSED;
+
+import android.app.time.TimeManager;
+import android.app.time.TimeZoneCapabilities;
import android.content.Context;
import androidx.annotation.VisibleForTesting;
@@ -33,12 +37,11 @@
private static final String KEY_TIMEZONE = "timezone";
- private final AutoTimeZonePreferenceController mAutoTimeZonePreferenceController;
+ private final TimeManager mTimeManager;
- public TimeZonePreferenceController(Context context,
- AutoTimeZonePreferenceController autoTimeZonePreferenceController) {
+ public TimeZonePreferenceController(Context context) {
super(context);
- mAutoTimeZonePreferenceController = autoTimeZonePreferenceController;
+ mTimeManager = context.getSystemService(TimeManager.class);
}
@Override
@@ -47,8 +50,9 @@
return;
}
preference.setSummary(getTimeZoneOffsetAndName());
- if( !((RestrictedPreference) preference).isDisabledByAdmin()) {
- preference.setEnabled(!mAutoTimeZonePreferenceController.isEnabled());
+ if (!((RestrictedPreference) preference).isDisabledByAdmin()) {
+ boolean enableManualTimeZoneSelection = shouldEnableManualTimeZoneSelection();
+ preference.setEnabled(enableManualTimeZoneSelection);
}
}
@@ -68,4 +72,12 @@
return ZoneGetter.getTimeZoneOffsetAndName(mContext,
now.getTimeZone(), now.getTime());
}
+
+ private boolean shouldEnableManualTimeZoneSelection() {
+ TimeZoneCapabilities timeZoneCapabilities =
+ mTimeManager.getTimeZoneCapabilitiesAndConfig().getCapabilities();
+ int suggestManualTimeZoneCapability =
+ timeZoneCapabilities.getSuggestManualTimeZoneCapability();
+ return suggestManualTimeZoneCapability == CAPABILITY_POSSESSED;
+ }
}
diff --git a/src/com/android/settings/display/ScreenSaverPreferenceController.java b/src/com/android/settings/display/ScreenSaverPreferenceController.java
index c1b0b4e..676a567 100644
--- a/src/com/android/settings/display/ScreenSaverPreferenceController.java
+++ b/src/com/android/settings/display/ScreenSaverPreferenceController.java
@@ -14,6 +14,7 @@
package com.android.settings.display;
import android.content.Context;
+import android.os.UserManager;
import androidx.preference.Preference;
@@ -32,8 +33,11 @@
@Override
public boolean isAvailable() {
- return mContext.getResources().getBoolean(
+ final boolean dreamsSupported = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_dreamsSupported);
+ final boolean dreamsOnlyEnabledForSystemUser = mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_dreamsOnlyEnabledForSystemUser);
+ return dreamsSupported && (!dreamsOnlyEnabledForSystemUser || isSystemUser());
}
@Override
@@ -45,4 +49,9 @@
public void updateState(Preference preference) {
preference.setSummary(DreamSettings.getSummaryTextWithDreamName(mContext));
}
+
+ private boolean isSystemUser() {
+ final UserManager userManager = mContext.getSystemService(UserManager.class);
+ return userManager.isSystemUser();
+ }
}
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index 48825c8..d096d49 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -45,6 +45,9 @@
import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry;
+import com.android.settings.fuelgauge.batteryusage.BatteryEntry;
+import com.android.settings.fuelgauge.batteryusage.BatteryHistEntry;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.HelpUtils;
import com.android.settingslib.applications.AppUtils;
diff --git a/src/com/android/settings/fuelgauge/BatteryBackupHelper.java b/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
index f5e21dd..9860240 100644
--- a/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
+++ b/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
@@ -24,16 +24,13 @@
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;
-import android.content.pm.PackageManager;
-import android.content.pm.ParceledListSlice;
-import android.content.pm.UserInfo;
import android.os.Build;
import android.os.IDeviceIdleController;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
-import android.os.UserManager;
+import android.util.ArraySet;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
@@ -53,22 +50,13 @@
private static final String DEVICE_IDLE_SERVICE = "deviceidle";
private static final boolean DEBUG = Build.TYPE.equals("userdebug");
- // Only the owner can see all apps.
- private static final int RETRIEVE_FLAG_ADMIN =
- PackageManager.MATCH_ANY_USER |
- PackageManager.MATCH_DISABLED_COMPONENTS |
- PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS;
- private static final int RETRIEVE_FLAG =
- PackageManager.MATCH_DISABLED_COMPONENTS |
- PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS;
-
static final String DELIMITER = ",";
static final String DELIMITER_MODE = ":";
static final String KEY_FULL_POWER_LIST = "full_power_list";
static final String KEY_OPTIMIZATION_LIST = "optimization_mode_list";
@VisibleForTesting
- List<ApplicationInfo> mTestApplicationInfoList = null;
+ ArraySet<ApplicationInfo> mTestApplicationInfoList = null;
@VisibleForTesting
PowerAllowlistBackend mPowerAllowlistBackend;
@@ -146,7 +134,7 @@
@VisibleForTesting
void backupOptimizationMode(BackupDataOutput data, List<String> allowlistedApps) {
final long timestamp = System.currentTimeMillis();
- final List<ApplicationInfo> applications = getInstalledApplications();
+ final ArraySet<ApplicationInfo> applications = getInstalledApplications();
if (applications == null || applications.isEmpty()) {
Log.w(TAG, "no data found in the getInstalledApplications()");
return;
@@ -269,36 +257,11 @@
|| powerAllowlistBackend.isDefaultActiveApp(packageName);
}
- private List<ApplicationInfo> getInstalledApplications() {
+ private ArraySet<ApplicationInfo> getInstalledApplications() {
if (mTestApplicationInfoList != null) {
return mTestApplicationInfoList;
}
- final List<ApplicationInfo> applications = new ArrayList<>();
- final UserManager um = mContext.getSystemService(UserManager.class);
- for (UserInfo userInfo : um.getProfiles(UserHandle.myUserId())) {
- try {
- @SuppressWarnings("unchecked")
- final ParceledListSlice<ApplicationInfo> infoList =
- getIPackageManager().getInstalledApplications(
- userInfo.isAdmin() ? RETRIEVE_FLAG_ADMIN : RETRIEVE_FLAG,
- userInfo.id);
- if (infoList != null) {
- applications.addAll(infoList.getList());
- }
- } catch (Exception e) {
- Log.e(TAG, "getInstalledApplications() is failed", e);
- return null;
- }
- }
- // Removes the application which is disabled by the system.
- for (int index = applications.size() - 1; index >= 0; index--) {
- final ApplicationInfo info = applications.get(index);
- if (info.enabledSetting != PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
- && !info.enabled) {
- applications.remove(index);
- }
- }
- return applications;
+ return BatteryOptimizeUtils.getInstalledApplications(mContext, getIPackageManager());
}
private void debugLog(String debugContent) {
diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
index 9306a34..dbfacc6 100644
--- a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
@@ -19,7 +19,15 @@
import android.annotation.IntDef;
import android.app.AppOpsManager;
import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
+import android.content.pm.ParceledListSlice;
+import android.content.pm.UserInfo;
import android.os.AsyncTask;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.ArraySet;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
@@ -43,6 +51,15 @@
private final String mPackageName;
private final int mUid;
+ // If current user is admin, match apps from all users. Otherwise, only match the currect user.
+ private static final int RETRIEVE_FLAG_ADMIN =
+ PackageManager.MATCH_ANY_USER
+ | PackageManager.MATCH_DISABLED_COMPONENTS
+ | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS;
+ private static final int RETRIEVE_FLAG =
+ PackageManager.MATCH_DISABLED_COMPONENTS
+ | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS;
+
// Optimization modes.
static final int MODE_UNKNOWN = 0;
static final int MODE_RESTRICTED = 1;
@@ -90,28 +107,20 @@
return getAppOptimizationMode(mMode, mAllowListed);
}
+ /** Resets optimization mode for all applications. */
+ public static void resetAppOptimizationMode(
+ Context context, IPackageManager ipm, AppOpsManager aom) {
+ resetAppOptimizationMode(context, ipm, aom,
+ PowerAllowlistBackend.getInstance(context), BatteryUtils.getInstance(context));
+ }
+
/** Sets the {@link OptimizationMode} for associated app. */
public void setAppUsageState(@OptimizationMode int mode) {
if (getAppOptimizationMode(mMode, mAllowListed) == mode) {
Log.w(TAG, "set the same optimization mode for: " + mPackageName);
return;
}
-
- AsyncTask.execute(() -> {
- switch (mode) {
- case MODE_RESTRICTED:
- setAppOptimizationMode(AppOpsManager.MODE_IGNORED, /* allowListed */ false);
- break;
- case MODE_UNRESTRICTED:
- setAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ true);
- break;
- case MODE_OPTIMIZED:
- setAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
- break;
- default:
- Log.d(TAG, "set unknown app optimization mode.");
- }
- });
+ setAppUsageStateInternal(mode, mUid, mPackageName, mBatteryUtils, mPowerAllowListBackend);
}
/**
@@ -126,25 +135,111 @@
*/
public boolean isSystemOrDefaultApp() {
mPowerAllowListBackend.refreshList();
+ return isSystemOrDefaultApp(mPowerAllowListBackend, mPackageName);
+ }
- return mPowerAllowListBackend.isSysAllowlisted(mPackageName)
- || mPowerAllowListBackend.isDefaultActiveApp(mPackageName);
+ /**
+ * Gets the list of installed applications.
+ */
+ public static ArraySet<ApplicationInfo> getInstalledApplications(
+ Context context, IPackageManager ipm) {
+ final ArraySet<ApplicationInfo> applications = new ArraySet<>();
+ final UserManager um = context.getSystemService(UserManager.class);
+ for (UserInfo userInfo : um.getProfiles(UserHandle.myUserId())) {
+ try {
+ @SuppressWarnings("unchecked")
+ final ParceledListSlice<ApplicationInfo> infoList = ipm.getInstalledApplications(
+ userInfo.isAdmin() ? RETRIEVE_FLAG_ADMIN : RETRIEVE_FLAG,
+ userInfo.id);
+ if (infoList != null) {
+ applications.addAll(infoList.getList());
+ }
+ } catch (Exception e) {
+ Log.e(TAG, "getInstalledApplications() is failed", e);
+ return null;
+ }
+ }
+ // Removes the application which is disabled by the system.
+ applications.removeIf(
+ info -> info.enabledSetting != PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
+ && !info.enabled);
+ return applications;
+ }
+
+ @VisibleForTesting
+ static void resetAppOptimizationMode(
+ Context context, IPackageManager ipm, AppOpsManager aom,
+ PowerAllowlistBackend allowlistBackend, BatteryUtils batteryUtils) {
+ final ArraySet<ApplicationInfo> applications = getInstalledApplications(context, ipm);
+ if (applications == null || applications.isEmpty()) {
+ Log.w(TAG, "no data found in the getInstalledApplications()");
+ return;
+ }
+
+ allowlistBackend.refreshList();
+ // Resets optimization mode for each application.
+ for (ApplicationInfo info : applications) {
+ final int mode = aom.checkOpNoThrow(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, info.uid, info.packageName);
+ @OptimizationMode
+ final int optimizationMode = getAppOptimizationMode(
+ mode, allowlistBackend.isAllowlisted(info.packageName));
+ // Ignores default optimized/unknown state or system/default apps.
+ if (optimizationMode == MODE_OPTIMIZED
+ || optimizationMode == MODE_UNKNOWN
+ || isSystemOrDefaultApp(allowlistBackend, info.packageName)) {
+ continue;
+ }
+
+ // Resets to the default mode: MODE_OPTIMIZED.
+ setAppUsageStateInternal(MODE_OPTIMIZED, info.uid, info.packageName, batteryUtils,
+ allowlistBackend);
+ }
}
String getPackageName() {
return mPackageName == null ? UNKNOWN_PACKAGE : mPackageName;
}
- private void setAppOptimizationMode(int appStandbyMode, boolean allowListed) {
+ private static boolean isSystemOrDefaultApp(
+ PowerAllowlistBackend powerAllowlistBackend, String packageName) {
+ return powerAllowlistBackend.isSysAllowlisted(packageName)
+ || powerAllowlistBackend.isDefaultActiveApp(packageName);
+ }
+
+ private static void setAppUsageStateInternal(
+ @OptimizationMode int mode, int uid, String packageName, BatteryUtils batteryUtils,
+ PowerAllowlistBackend powerAllowlistBackend) {
+ if (mode == MODE_UNKNOWN) {
+ Log.d(TAG, "set unknown app optimization mode.");
+ return;
+ }
+
+ // MODE_RESTRICTED = AppOpsManager.MODE_IGNORED + !allowListed
+ // MODE_UNRESTRICTED = AppOpsManager.MODE_ALLOWED + allowListed
+ // MODE_OPTIMIZED = AppOpsManager.MODE_ALLOWED + !allowListed
+ final int appOpsManagerMode =
+ mode == MODE_RESTRICTED ? AppOpsManager.MODE_IGNORED : AppOpsManager.MODE_ALLOWED;
+ final boolean allowListed = mode == MODE_UNRESTRICTED;
+
+ AsyncTask.execute(() -> {
+ setAppOptimizationModeInternal(appOpsManagerMode, allowListed, uid, packageName,
+ batteryUtils, powerAllowlistBackend);
+ });
+ }
+
+ private static void setAppOptimizationModeInternal(
+ int appStandbyMode, boolean allowListed, int uid, String packageName,
+ BatteryUtils batteryUtils, PowerAllowlistBackend powerAllowlistBackend) {
try {
- mBatteryUtils.setForceAppStandby(mUid, mPackageName, appStandbyMode);
+ batteryUtils.setForceAppStandby(uid, packageName, appStandbyMode);
if (allowListed) {
- mPowerAllowListBackend.addApp(mPackageName);
+ powerAllowlistBackend.addApp(packageName);
} else {
- mPowerAllowListBackend.removeApp(mPackageName);
+ powerAllowlistBackend.removeApp(packageName);
}
} catch (Exception e) {
- Log.e(TAG, "set OPTIMIZED failed for " + mPackageName, e);
+ Log.e(TAG, "set OPTIMIZATION MODE failed for " + packageName, e);
}
}
@@ -154,8 +249,6 @@
mMode = mAppOpsManager
.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, mUid, mPackageName);
Log.d(TAG, String.format("refresh %s state, allowlisted = %s, mode = %d",
- mPackageName,
- mAllowListed,
- mMode));
+ mPackageName, mAllowListed, mMode));
}
}
diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java
index 29c2fc9..3f6c165 100644
--- a/src/com/android/settings/fuelgauge/BatteryUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryUtils.java
@@ -190,7 +190,7 @@
* Returns true if the specified battery consumer should be excluded from
* battery consumption lists, either short or full.
*/
- boolean shouldHideUidBatteryConsumerUnconditionally(UidBatteryConsumer consumer,
+ public boolean shouldHideUidBatteryConsumerUnconditionally(UidBatteryConsumer consumer,
String[] packages) {
final int uid = consumer.getUid();
return uid == UID_TETHERING
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index ef201e4..ee53d7f 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@
import android.net.Uri;
import android.util.SparseIntArray;
+import com.android.settings.fuelgauge.batteryusage.BatteryHistEntry;
import com.android.settingslib.fuelgauge.Estimate;
import java.util.Map;
@@ -73,6 +74,7 @@
/**
* Returns an improved projection curve for future battery level.
+ *
* @param zeroTime timestamps (array keys) are shifted by this amount
*/
SparseIntArray getEnhancedBatteryPredictionCurve(Context context, long zeroTime);
@@ -84,21 +86,20 @@
/**
* Checks whether debugging should be enabled for battery estimates.
- * @return
*/
boolean isEstimateDebugEnabled();
/**
* Converts the provided string containing the remaining time into a debug string for enhanced
* estimates.
- * @param timeRemaining
+ *
* @return A string containing the estimate and a label indicating it is an enhanced estimate
*/
String getEnhancedEstimateDebugString(String timeRemaining);
/**
* Converts the provided string containing the remaining time into a debug string.
- * @param timeRemaining
+ *
* @return A string containing the estimate and a label indicating it is a normal estimate
*/
String getOldEstimateDebugString(String timeRemaining);
@@ -114,7 +115,7 @@
* to their next charging time.
*
* @param id Optional string used to identify the caller for metrics. Usually the class name of
- * the caller
+ * the caller
*/
boolean getEarlyWarningSignal(Context context, String id);
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index bc25381..8c8fd96 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,11 +26,13 @@
import com.android.internal.util.ArrayUtils;
import com.android.settings.R;
+import com.android.settings.fuelgauge.batteryusage.BatteryHistEntry;
import com.android.settingslib.fuelgauge.Estimate;
import java.util.Map;
import java.util.Set;
+/** Implementation of {@code PowerUsageFeatureProvider} */
public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider {
private static final String PACKAGE_CALENDAR_PROVIDER = "com.android.providers.calendar";
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java
index a0e470f..3c560f8 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java
@@ -21,12 +21,13 @@
import androidx.annotation.VisibleForTesting;
+import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
import com.android.settings.fuelgauge.batterytip.AppInfo;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
/**
* Tip to suggest user to remove app restriction. This is the empty tip and it is only used in
- * {@link com.android.settings.fuelgauge.AdvancedPowerUsageDetail} to create dialog.
+ * {@link AdvancedPowerUsageDetail} to create dialog.
*/
public class UnrestrictAppTip extends BatteryTip {
private AppInfo mAppInfo;
diff --git a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryAppListPreferenceController.java
similarity index 97%
rename from src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
rename to src/com/android/settings/fuelgauge/batteryusage/BatteryAppListPreferenceController.java
index 9731ab7..f752dad 100644
--- a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryAppListPreferenceController.java
@@ -1,5 +1,6 @@
/*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -11,11 +12,9 @@
* 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.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.app.Activity;
import android.content.Context;
@@ -35,8 +34,8 @@
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.util.ArrayMap;
-import android.util.SparseArray;
import android.util.Log;
+import android.util.SparseArray;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
@@ -48,6 +47,8 @@
import com.android.settings.SettingsActivity;
import com.android.settings.core.InstrumentedPreferenceFragment;
import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
+import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -72,6 +73,7 @@
private static final int MAX_ITEMS_TO_LIST = USE_FAKE_DATA ? 30 : 20;
private static final int MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP = 10;
private static final String MEDIASERVER_PACKAGE_NAME = "mediaserver";
+ private static final String NOT_AVAILABLE = "not_available";
@VisibleForTesting
PreferenceGroup mAppListGroup;
@@ -230,7 +232,7 @@
if (sConfig.shouldShowBatteryAttributionList(mContext)) {
final int dischargePercentage = getDischargePercentage(batteryUsageStats);
final List<BatteryEntry> usageList =
- getCoalescedUsageList(showAllApps, /*loadDataInBackground=*/ true);
+ getCoalescedUsageList(showAllApps, /*loadDataInBackground=*/ true);
final double totalPower = batteryUsageStats.getConsumedPower();
final int numSippers = usageList.size();
for (int i = 0; i < numSippers; i++) {
@@ -292,7 +294,7 @@
}
final int dischargePercentage = getDischargePercentage(batteryUsageStats);
final List<BatteryEntry> usageList =
- getCoalescedUsageList(showAllApps, /*loadDataInBackground=*/ false);
+ getCoalescedUsageList(showAllApps, /*loadDataInBackground=*/ false);
final double totalPower = batteryUsageStats.getConsumedPower();
for (int i = 0; i < usageList.size(); i++) {
final BatteryEntry entry = usageList.get(i);
@@ -458,8 +460,8 @@
private void cacheRemoveAllPrefs(PreferenceGroup group) {
mPreferenceCache = new ArrayMap<>();
- final int N = group.getPreferenceCount();
- for (int i = 0; i < N; i++) {
+ final int n = group.getPreferenceCount();
+ for (int i = 0; i < n; i++) {
Preference p = group.getPreference(i);
if (TextUtils.isEmpty(p.getKey())) {
continue;
@@ -563,7 +565,6 @@
}
private void addNotAvailableMessage() {
- final String NOT_AVAILABLE = "not_available";
Preference notAvailable = getCachedPreference(NOT_AVAILABLE);
if (notAvailable == null) {
notAvailable = new Preference(mPrefContext);
diff --git a/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
similarity index 81%
rename from src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java
rename to src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
index 02248c9..d363308 100644
--- a/src/com/android/settings/fuelgauge/BatteryChartPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
@@ -1,5 +1,6 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -11,10 +12,9 @@
* 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.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.app.settings.SettingsEnums;
import android.content.Context;
@@ -38,6 +38,8 @@
import com.android.settings.SettingsActivity;
import com.android.settings.core.InstrumentedPreferenceFragment;
import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
+import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -60,8 +62,8 @@
/** Controls the update for chart graph and the list items. */
public class BatteryChartPreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin, LifecycleObserver, OnCreate, OnDestroy,
- OnSaveInstanceState, BatteryChartView.OnSelectListener, OnResume,
- ExpandDividerPreference.OnExpandListener {
+ OnSaveInstanceState, BatteryChartView.OnSelectListener, OnResume,
+ ExpandDividerPreference.OnExpandListener {
private static final String TAG = "BatteryChartPreferenceController";
private static final String KEY_FOOTER_PREF = "battery_graph_footer";
private static final String PACKAGE_NAME_NONE = "none";
@@ -82,16 +84,25 @@
@VisibleForTesting
Map<Integer, List<BatteryDiffEntry>> mBatteryIndexedMap;
- @VisibleForTesting Context mPrefContext;
- @VisibleForTesting BatteryUtils mBatteryUtils;
- @VisibleForTesting PreferenceGroup mAppListPrefGroup;
- @VisibleForTesting BatteryChartView mBatteryChartView;
- @VisibleForTesting ExpandDividerPreference mExpandDividerPreference;
+ @VisibleForTesting
+ Context mPrefContext;
+ @VisibleForTesting
+ BatteryUtils mBatteryUtils;
+ @VisibleForTesting
+ PreferenceGroup mAppListPrefGroup;
+ @VisibleForTesting
+ BatteryChartView mBatteryChartView;
+ @VisibleForTesting
+ ExpandDividerPreference mExpandDividerPreference;
- @VisibleForTesting boolean mIsExpanded = false;
- @VisibleForTesting int[] mBatteryHistoryLevels;
- @VisibleForTesting long[] mBatteryHistoryKeys;
- @VisibleForTesting int mTrapezoidIndex = BatteryChartView.SELECTED_INDEX_INVALID;
+ @VisibleForTesting
+ boolean mIsExpanded = false;
+ @VisibleForTesting
+ int[] mBatteryHistoryLevels;
+ @VisibleForTesting
+ long[] mBatteryHistoryKeys;
+ @VisibleForTesting
+ int mTrapezoidIndex = BatteryChartView.SELECTED_INDEX_INVALID;
private boolean mIs24HourFormat = false;
private boolean mIsFooterPrefAdded = false;
@@ -122,15 +133,15 @@
mPreferenceKey = preferenceKey;
mIs24HourFormat = DateFormat.is24HourFormat(context);
mMetricsFeatureProvider =
- FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+ FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
mNotAllowShowEntryPackages =
- FeatureFactory.getFactory(context)
- .getPowerUsageFeatureProvider(context)
- .getHideApplicationEntries(context);
+ FeatureFactory.getFactory(context)
+ .getPowerUsageFeatureProvider(context)
+ .getHideApplicationEntries(context);
mNotAllowShowSummaryPackages =
- FeatureFactory.getFactory(context)
- .getPowerUsageFeatureProvider(context)
- .getHideApplicationSummary(context);
+ FeatureFactory.getFactory(context)
+ .getPowerUsageFeatureProvider(context)
+ .getHideApplicationSummary(context);
if (lifecycle != null) {
lifecycle.addObserver(this);
}
@@ -142,18 +153,18 @@
return;
}
mTrapezoidIndex =
- savedInstanceState.getInt(KEY_CURRENT_TIME_SLOT, mTrapezoidIndex);
+ savedInstanceState.getInt(KEY_CURRENT_TIME_SLOT, mTrapezoidIndex);
mIsExpanded =
- savedInstanceState.getBoolean(KEY_EXPAND_SYSTEM_INFO, mIsExpanded);
+ savedInstanceState.getBoolean(KEY_EXPAND_SYSTEM_INFO, mIsExpanded);
Log.d(TAG, String.format("onCreate() slotIndex=%d isExpanded=%b",
- mTrapezoidIndex, mIsExpanded));
+ mTrapezoidIndex, mIsExpanded));
}
@Override
public void onResume() {
final int currentUiMode =
- mContext.getResources().getConfiguration().uiMode
- & Configuration.UI_MODE_NIGHT_MASK;
+ mContext.getResources().getConfiguration().uiMode
+ & Configuration.UI_MODE_NIGHT_MASK;
if (sUiMode != currentUiMode) {
sUiMode = currentUiMode;
BatteryDiffEntry.clearCache();
@@ -171,7 +182,7 @@
savedInstance.putInt(KEY_CURRENT_TIME_SLOT, mTrapezoidIndex);
savedInstance.putBoolean(KEY_EXPAND_SYSTEM_INFO, mIsExpanded);
Log.d(TAG, String.format("onSaveInstanceState() slotIndex=%d isExpanded=%b",
- mTrapezoidIndex, mIsExpanded));
+ mTrapezoidIndex, mIsExpanded));
}
@Override
@@ -194,7 +205,7 @@
mAppListPrefGroup = screen.findPreference(mPreferenceKey);
mAppListPrefGroup.setOrderingAsAdded(false);
mAppListPrefGroup.setTitle(
- mPrefContext.getString(R.string.battery_app_usage_for_past_24));
+ mPrefContext.getString(R.string.battery_app_usage_for_past_24));
mFooterPreference = screen.findPreference(KEY_FOOTER_PREF);
// Removes footer first until usage data is loaded to avoid flashing.
if (mFooterPreference != null) {
@@ -243,19 +254,19 @@
Log.d(TAG, "onChartSelect:" + trapezoidIndex);
refreshUi(trapezoidIndex, /*isForce=*/ false);
mMetricsFeatureProvider.action(
- mPrefContext,
- trapezoidIndex == BatteryChartView.SELECTED_INDEX_ALL
- ? SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL
- : SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT);
+ mPrefContext,
+ trapezoidIndex == BatteryChartView.SELECTED_INDEX_ALL
+ ? SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL
+ : SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT);
}
@Override
public void onExpand(boolean isExpanded) {
mIsExpanded = isExpanded;
mMetricsFeatureProvider.action(
- mPrefContext,
- SettingsEnums.ACTION_BATTERY_USAGE_EXPAND_ITEM,
- isExpanded);
+ mPrefContext,
+ SettingsEnums.ACTION_BATTERY_USAGE_EXPAND_ITEM,
+ isExpanded);
refreshExpandUi();
}
@@ -276,7 +287,7 @@
final Map<String, BatteryHistEntry> entryMap = batteryHistoryMap.get(timestamp);
if (entryMap == null || entryMap.isEmpty()) {
Log.e(TAG, "abnormal entry list in the timestamp:"
- + ConvertUtils.utcToLocalTime(mPrefContext, timestamp));
+ + ConvertUtils.utcToLocalTime(mPrefContext, timestamp));
continue;
}
// Averages the battery level in each time slot to avoid corner conditions.
@@ -285,15 +296,15 @@
batteryLevelCounter += entry.mBatteryLevel;
}
mBatteryHistoryLevels[index] =
- Math.round(batteryLevelCounter / entryMap.size());
+ Math.round(batteryLevelCounter / entryMap.size());
}
forceRefreshUi();
Log.d(TAG, String.format(
- "setBatteryHistoryMap() size=%d key=%s\nlevels=%s",
- batteryHistoryMap.size(),
- ConvertUtils.utcToLocalTime(mPrefContext,
- mBatteryHistoryKeys[mBatteryHistoryKeys.length - 1]),
- Arrays.toString(mBatteryHistoryLevels)));
+ "setBatteryHistoryMap() size=%d key=%s\nlevels=%s",
+ batteryHistoryMap.size(),
+ ConvertUtils.utcToLocalTime(mPrefContext,
+ mBatteryHistoryKeys[mBatteryHistoryKeys.length - 1]),
+ Arrays.toString(mBatteryHistoryLevels)));
// Loads item icon and label in the background.
new LoadAllItemsInfoTask(batteryHistoryMap).execute();
@@ -313,9 +324,9 @@
private void forceRefreshUi() {
final int refreshIndex =
- mTrapezoidIndex == BatteryChartView.SELECTED_INDEX_INVALID
- ? BatteryChartView.SELECTED_INDEX_ALL
- : mTrapezoidIndex;
+ mTrapezoidIndex == BatteryChartView.SELECTED_INDEX_INVALID
+ ? BatteryChartView.SELECTED_INDEX_ALL
+ : mTrapezoidIndex;
if (mBatteryChartView != null) {
mBatteryChartView.setLevels(mBatteryHistoryLevels);
mBatteryChartView.setSelectedIndex(refreshIndex);
@@ -333,7 +344,7 @@
return false;
}
Log.d(TAG, String.format("refreshUi: index=%d size=%d isForce:%b",
- trapezoidIndex, mBatteryIndexedMap.size(), isForce));
+ trapezoidIndex, mBatteryIndexedMap.size(), isForce));
mTrapezoidIndex = trapezoidIndex;
mHandler.post(() -> {
@@ -349,7 +360,7 @@
private void addAllPreferences() {
final List<BatteryDiffEntry> entries =
- mBatteryIndexedMap.get(Integer.valueOf(mTrapezoidIndex));
+ mBatteryIndexedMap.get(Integer.valueOf(mTrapezoidIndex));
addFooterPreferenceIfNeeded(entries != null && !entries.isEmpty());
if (entries == null) {
Log.w(TAG, "cannot find BatteryDiffEntry for:" + mTrapezoidIndex);
@@ -377,7 +388,7 @@
Collections.sort(appEntries, BatteryDiffEntry.COMPARATOR);
Collections.sort(mSystemEntries, BatteryDiffEntry.COMPARATOR);
Log.d(TAG, String.format("addAllPreferences() app=%d system=%d",
- appEntries.size(), mSystemEntries.size()));
+ appEntries.size(), mSystemEntries.size()));
// Adds app entries to the list if it is not empty.
if (!appEntries.isEmpty()) {
@@ -391,7 +402,7 @@
mExpandDividerPreference.setIsExpanded(mIsExpanded);
}
mExpandDividerPreference.setOrder(
- mAppListPrefGroup.getPreferenceCount());
+ mAppListPrefGroup.getPreferenceCount());
mAppListPrefGroup.addPreference(mExpandDividerPreference);
}
refreshExpandUi();
@@ -479,11 +490,11 @@
Log.d(TAG, String.format("refreshCategoryTitle:%s", slotInformation));
if (mAppListPrefGroup != null) {
mAppListPrefGroup.setTitle(
- getSlotInformation(/*isApp=*/ true, slotInformation));
+ getSlotInformation(/*isApp=*/ true, slotInformation));
}
if (mExpandDividerPreference != null) {
mExpandDividerPreference.setTitle(
- getSlotInformation(/*isApp=*/ false, slotInformation));
+ getSlotInformation(/*isApp=*/ false, slotInformation));
}
}
@@ -491,12 +502,12 @@
// Null means we show all information without a specific time slot.
if (slotInformation == null) {
return isApp
- ? mPrefContext.getString(R.string.battery_app_usage_for_past_24)
- : mPrefContext.getString(R.string.battery_system_usage_for_past_24);
+ ? mPrefContext.getString(R.string.battery_app_usage_for_past_24)
+ : mPrefContext.getString(R.string.battery_system_usage_for_past_24);
} else {
return isApp
- ? mPrefContext.getString(R.string.battery_app_usage_for, slotInformation)
- : mPrefContext.getString(R.string.battery_system_usage_for ,slotInformation);
+ ? mPrefContext.getString(R.string.battery_app_usage_for, slotInformation)
+ : mPrefContext.getString(R.string.battery_system_usage_for, slotInformation);
}
}
@@ -505,12 +516,12 @@
return null;
}
final String fromHour = ConvertUtils.utcToLocalTimeHour(mPrefContext,
- mBatteryHistoryKeys[mTrapezoidIndex * 2], mIs24HourFormat);
+ mBatteryHistoryKeys[mTrapezoidIndex * 2], mIs24HourFormat);
final String toHour = ConvertUtils.utcToLocalTimeHour(mPrefContext,
- mBatteryHistoryKeys[(mTrapezoidIndex + 1) * 2], mIs24HourFormat);
+ mBatteryHistoryKeys[(mTrapezoidIndex + 1) * 2], mIs24HourFormat);
return mIs24HourFormat
- ? String.format("%s–%s", fromHour, toHour)
- : String.format("%s – %s", fromHour, toHour);
+ ? String.format("%s–%s", fromHour, toHour)
+ : String.format("%s – %s", fromHour, toHour);
}
@VisibleForTesting
@@ -528,10 +539,10 @@
// Not shows summary for some system components without usage time.
if (totalUsageTimeInMs == 0) {
preference.setSummary(null);
- // Shows background summary only if we don't have foreground usage time.
+ // Shows background summary only if we don't have foreground usage time.
} else if (foregroundUsageTimeInMs == 0 && backgroundUsageTimeInMs != 0) {
usageTimeSummary = buildUsageTimeInfo(backgroundUsageTimeInMs, true);
- // Shows total usage summary only if total usage time is small.
+ // Shows total usage summary only if total usage time is small.
} else if (totalUsageTimeInMs < DateUtils.MINUTE_IN_MILLIS) {
usageTimeSummary = buildUsageTimeInfo(totalUsageTimeInMs, false);
} else {
@@ -539,7 +550,7 @@
// Shows background usage time if it is larger than a minute.
if (backgroundUsageTimeInMs > 0) {
usageTimeSummary +=
- "\n" + buildUsageTimeInfo(backgroundUsageTimeInMs, true);
+ "\n" + buildUsageTimeInfo(backgroundUsageTimeInMs, true);
}
}
preference.setSummary(usageTimeSummary);
@@ -548,17 +559,17 @@
private String buildUsageTimeInfo(long usageTimeInMs, boolean isBackground) {
if (usageTimeInMs < DateUtils.MINUTE_IN_MILLIS) {
return mPrefContext.getString(
- isBackground
- ? R.string.battery_usage_background_less_than_one_minute
- : R.string.battery_usage_total_less_than_one_minute);
+ isBackground
+ ? R.string.battery_usage_background_less_than_one_minute
+ : R.string.battery_usage_total_less_than_one_minute);
}
final CharSequence timeSequence =
- StringUtil.formatElapsedTime(mPrefContext, usageTimeInMs,
- /*withSeconds=*/ false, /*collapseTimeUnit=*/ false);
+ StringUtil.formatElapsedTime(mPrefContext, usageTimeInMs,
+ /*withSeconds=*/ false, /*collapseTimeUnit=*/ false);
final int resourceId =
- isBackground
- ? R.string.battery_usage_for_background_time
- : R.string.battery_usage_for_total_time;
+ isBackground
+ ? R.string.battery_usage_for_background_time
+ : R.string.battery_usage_for_total_time;
return mPrefContext.getString(resourceId, timeSequence);
}
@@ -578,7 +589,7 @@
return;
}
final long latestTimestamp =
- mBatteryHistoryKeys[mBatteryHistoryKeys.length - 1];
+ mBatteryHistoryKeys[mBatteryHistoryKeys.length - 1];
mBatteryChartView.setLatestTimestamp(latestTimestamp);
}
@@ -588,9 +599,9 @@
}
mIsFooterPrefAdded = true;
mFooterPreference.setTitle(mPrefContext.getString(
- containAppItems
- ? R.string.battery_usage_screen_footer
- : R.string.battery_usage_screen_footer_empty));
+ containAppItems
+ ? R.string.battery_usage_screen_footer
+ : R.string.battery_usage_screen_footer_empty));
mHandler.post(() -> mPreferenceScreen.addPreference(mFooterPreference));
}
@@ -623,21 +634,21 @@
public static List<BatteryDiffEntry> getBatteryLast24HrUsageData(Context context) {
final long start = System.currentTimeMillis();
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
- FeatureFactory.getFactory(context)
- .getPowerUsageFeatureProvider(context)
- .getBatteryHistory(context);
+ FeatureFactory.getFactory(context)
+ .getPowerUsageFeatureProvider(context)
+ .getBatteryHistory(context);
if (batteryHistoryMap == null || batteryHistoryMap.isEmpty()) {
return null;
}
Log.d(TAG, String.format("getBatteryLast24HrData() size=%d time=&d/ms",
- batteryHistoryMap.size(), (System.currentTimeMillis() - start)));
+ batteryHistoryMap.size(), (System.currentTimeMillis() - start)));
final Map<Integer, List<BatteryDiffEntry>> batteryIndexedMap =
- ConvertUtils.getIndexedUsageMap(
- context,
- /*timeSlotSize=*/ CHART_LEVEL_ARRAY_SIZE - 1,
- getBatteryHistoryKeys(batteryHistoryMap),
- batteryHistoryMap,
- /*purgeLowPercentageAndFakeData=*/ true);
+ ConvertUtils.getIndexedUsageMap(
+ context,
+ /*timeSlotSize=*/ CHART_LEVEL_ARRAY_SIZE - 1,
+ getBatteryHistoryKeys(batteryHistoryMap),
+ batteryHistoryMap,
+ /*purgeLowPercentageAndFakeData=*/ true);
return batteryIndexedMap.get(BatteryChartView.SELECTED_INDEX_ALL);
}
@@ -666,7 +677,7 @@
private static long[] getBatteryHistoryKeys(
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
final List<Long> batteryHistoryKeyList =
- new ArrayList<>(batteryHistoryMap.keySet());
+ new ArrayList<>(batteryHistoryMap.keySet());
Collections.sort(batteryHistoryKeyList);
final long[] batteryHistoryKeys = new long[CHART_KEY_ARRAY_SIZE];
for (int index = 0; index < CHART_KEY_ARRAY_SIZE; index++) {
@@ -695,16 +706,16 @@
}
final long startTime = System.currentTimeMillis();
final Map<Integer, List<BatteryDiffEntry>> indexedUsageMap =
- ConvertUtils.getIndexedUsageMap(
- mPrefContext, /*timeSlotSize=*/ CHART_LEVEL_ARRAY_SIZE - 1,
- mBatteryHistoryKeysCache, mBatteryHistoryMap,
- /*purgeLowPercentageAndFakeData=*/ true);
+ ConvertUtils.getIndexedUsageMap(
+ mPrefContext, /*timeSlotSize=*/ CHART_LEVEL_ARRAY_SIZE - 1,
+ mBatteryHistoryKeysCache, mBatteryHistoryMap,
+ /*purgeLowPercentageAndFakeData=*/ true);
// Pre-loads each BatteryDiffEntry relative icon and label for all slots.
for (List<BatteryDiffEntry> entries : indexedUsageMap.values()) {
entries.forEach(entry -> entry.loadLabelAndIcon());
}
Log.d(TAG, String.format("execute LoadAllItemsInfoTask in %d/ms",
- (System.currentTimeMillis() - startTime)));
+ (System.currentTimeMillis() - startTime)));
return indexedUsageMap;
}
diff --git a/src/com/android/settings/fuelgauge/BatteryChartView.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
similarity index 82%
rename from src/com/android/settings/fuelgauge/BatteryChartView.java
rename to src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
index ff61fce..427388b 100644
--- a/src/com/android/settings/fuelgauge/BatteryChartView.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
@@ -1,22 +1,24 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
+ * 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.
+ * 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.fuelgauge;
-
-import static java.lang.Math.round;
+package com.android.settings.fuelgauge.batteryusage;
import static com.android.settings.Utils.formatPercentage;
+import static java.lang.Math.round;
+
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.Context;
import android.content.res.Resources;
@@ -37,8 +39,8 @@
import android.view.accessibility.AccessibilityManager;
import android.widget.TextView;
-import androidx.appcompat.widget.AppCompatImageView;
import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.widget.AppCompatImageView;
import com.android.settings.R;
import com.android.settings.overlay.FeatureFactory;
@@ -54,7 +56,7 @@
AccessibilityManager.AccessibilityStateChangeListener {
private static final String TAG = "BatteryChartView";
private static final List<String> ACCESSIBILITY_SERVICE_NAMES =
- Arrays.asList("SwitchAccessService", "TalkBackService", "JustSpeakService");
+ Arrays.asList("SwitchAccessService", "TalkBackService", "JustSpeakService");
private static final int DEFAULT_TRAPEZOID_COUNT = 12;
private static final int DEFAULT_TIMESTAMP_COUNT = 4;
@@ -68,6 +70,7 @@
/** A callback listener for selected group index is updated. */
public interface OnSelectListener {
+ /** The callback function for selected group index is updated. */
void onSelect(int trapezoidIndex);
}
@@ -79,9 +82,12 @@
private boolean mIsSlotsClickabled;
private String[] mPercentages = getPercentages();
- @VisibleForTesting int mHoveredIndex = SELECTED_INDEX_INVALID;
- @VisibleForTesting int mSelectedIndex = SELECTED_INDEX_INVALID;
- @VisibleForTesting String[] mTimestamps;
+ @VisibleForTesting
+ int mHoveredIndex = SELECTED_INDEX_INVALID;
+ @VisibleForTesting
+ int mSelectedIndex = SELECTED_INDEX_INVALID;
+ @VisibleForTesting
+ String[] mTimestamps;
// Colors for drawing the trapezoid shape and dividers.
private int mTrapezoidColor;
@@ -91,10 +97,10 @@
private int mTextPadding;
private final Rect mIndent = new Rect();
private final Rect[] mPercentageBounds =
- new Rect[] {new Rect(), new Rect(), new Rect()};
+ new Rect[]{new Rect(), new Rect(), new Rect()};
// For drawing the timestamp information.
private final Rect[] mTimestampsBounds =
- new Rect[] {new Rect(), new Rect(), new Rect(), new Rect()};
+ new Rect[]{new Rect(), new Rect(), new Rect(), new Rect()};
@VisibleForTesting
Handler mHandler = new Handler();
@@ -202,14 +208,15 @@
mTimestamps = new String[DEFAULT_TIMESTAMP_COUNT];
}
final long timeSlotOffset =
- DateUtils.HOUR_IN_MILLIS * (/*total 24 hours*/ 24 / TIMESTAMP_GAPS_COUNT);
+ DateUtils.HOUR_IN_MILLIS * (/*total 24 hours*/ 24 / TIMESTAMP_GAPS_COUNT);
final boolean is24HourFormat = DateFormat.is24HourFormat(getContext());
for (int index = 0; index < DEFAULT_TIMESTAMP_COUNT; index++) {
mTimestamps[index] =
- ConvertUtils.utcToLocalTimeHour(
- getContext(),
- latestTimestamp - (TIMESTAMP_GAPS_COUNT - index) * timeSlotOffset,
- is24HourFormat);
+ ConvertUtils.utcToLocalTimeHour(
+ getContext(),
+ latestTimestamp - (TIMESTAMP_GAPS_COUNT - index)
+ * timeSlotOffset,
+ is24HourFormat);
}
requestLayout();
}
@@ -221,8 +228,8 @@
if (mTextPaint != null) {
for (int index = 0; index < mPercentages.length; index++) {
mTextPaint.getTextBounds(
- mPercentages[index], 0, mPercentages[index].length(),
- mPercentageBounds[index]);
+ mPercentages[index], 0, mPercentages[index].length(),
+ mPercentageBounds[index]);
}
// Updates the indent configurations.
mIndent.top = mPercentageBounds[0].height();
@@ -232,8 +239,8 @@
int maxHeight = 0;
for (int index = 0; index < DEFAULT_TIMESTAMP_COUNT; index++) {
mTextPaint.getTextBounds(
- mTimestamps[index], 0, mTimestamps[index].length(),
- mTimestampsBounds[index]);
+ mTimestamps[index], 0, mTimestamps[index].length(),
+ mTimestampsBounds[index]);
maxHeight = Math.max(maxHeight, mTimestampsBounds[index].height());
}
mIndent.bottom = maxHeight + round(mTextPadding * 1.5f);
@@ -318,14 +325,14 @@
super.onAttachedToWindow();
updateClickableState();
mContext.getSystemService(AccessibilityManager.class)
- .addAccessibilityStateChangeListener(/*listener=*/ this);
+ .addAccessibilityStateChangeListener(/*listener=*/ this);
}
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
mContext.getSystemService(AccessibilityManager.class)
- .removeAccessibilityStateChangeListener(/*listener=*/ this);
+ .removeAccessibilityStateChangeListener(/*listener=*/ this);
mHandler.removeCallbacks(mUpdateClickableStateRun);
}
@@ -336,16 +343,16 @@
// We should delay it a while since accessibility manager will spend
// some times to bind with new enabled accessibility services.
mHandler.postDelayed(
- mUpdateClickableStateRun, UPDATE_STATE_DELAYED_TIME);
+ mUpdateClickableStateRun, UPDATE_STATE_DELAYED_TIME);
}
private void updateClickableState() {
final Context context = mContext;
mIsSlotsClickabled =
- FeatureFactory.getFactory(context)
- .getPowerUsageFeatureProvider(context)
- .isChartGraphSlotsEnabled(context)
- && !isAccessibilityEnabled(context);
+ FeatureFactory.getFactory(context)
+ .getPowerUsageFeatureProvider(context)
+ .isChartGraphSlotsEnabled(context)
+ && !isAccessibilityEnabled(context);
Log.d(TAG, "isChartGraphSlotsEnabled:" + mIsSlotsClickabled);
setClickable(isClickable());
// Initializes the trapezoid curve paint for non-clickable case.
@@ -378,7 +385,7 @@
mTrapezoidSolidColor = Utils.getColorAccentDefaultColor(context);
mTrapezoidColor = Utils.getDisabled(context, mTrapezoidSolidColor);
mTrapezoidHoverColor = Utils.getColorAttrDefaultColor(context,
- com.android.internal.R.attr.colorAccentSecondaryVariant);
+ com.android.internal.R.attr.colorAccentSecondaryVariant);
// Initializes the divider line paint.
final Resources resources = getContext().getResources();
mDividerWidth = resources.getDimensionPixelSize(R.dimen.chartview_divider_width);
@@ -398,8 +405,8 @@
mTrapezoidPaint.setColor(mTrapezoidSolidColor);
mTrapezoidPaint.setStyle(Paint.Style.FILL);
mTrapezoidPaint.setPathEffect(
- new CornerPathEffect(
- resources.getDimensionPixelSize(R.dimen.chartview_trapezoid_radius)));
+ new CornerPathEffect(
+ resources.getDimensionPixelSize(R.dimen.chartview_trapezoid_radius)));
// Initializes for drawing text information.
mTextPadding = resources.getDimensionPixelSize(R.dimen.chartview_text_padding);
}
@@ -414,7 +421,7 @@
// Draws the center divider line for 50% curve.
final float availableSpace =
- height - mDividerWidth * 2 - mTrapezoidVOffset - mDividerHeight;
+ height - mDividerWidth * 2 - mTrapezoidVOffset - mDividerHeight;
offsetY = mIndent.top + mDividerWidth + availableSpace * .5f;
canvas.drawLine(0, offsetY, width, offsetY, mDividerPaint);
drawPercentage(canvas, /*index=*/ 1, offsetY);
@@ -428,10 +435,11 @@
private void drawPercentage(Canvas canvas, int index, float offsetY) {
if (mTextPaint != null) {
canvas.drawText(
- mPercentages[index],
- getWidth() - mPercentageBounds[index].width() - mPercentageBounds[index].left,
- offsetY + mPercentageBounds[index].height() *.5f,
- mTextPaint);
+ mPercentages[index],
+ getWidth() - mPercentageBounds[index].width()
+ - mPercentageBounds[index].left,
+ offsetY + mPercentageBounds[index].height() * .5f,
+ mTextPaint);
}
}
@@ -471,31 +479,32 @@
private void drawTimestamp(Canvas canvas, float[] xOffsets) {
// Draws the 1st timestamp info.
canvas.drawText(
- mTimestamps[0],
- xOffsets[0] - mTimestampsBounds[0].left,
- getTimestampY(0), mTextPaint);
+ mTimestamps[0],
+ xOffsets[0] - mTimestampsBounds[0].left,
+ getTimestampY(0), mTextPaint);
final int latestIndex = DEFAULT_TIMESTAMP_COUNT - 1;
// Draws the last timestamp info.
canvas.drawText(
- mTimestamps[latestIndex],
- xOffsets[latestIndex] - mTimestampsBounds[latestIndex].width()
- - mTimestampsBounds[latestIndex].left,
- getTimestampY(latestIndex), mTextPaint);
+ mTimestamps[latestIndex],
+ xOffsets[latestIndex] - mTimestampsBounds[latestIndex].width()
+ - mTimestampsBounds[latestIndex].left,
+ getTimestampY(latestIndex), mTextPaint);
// Draws the rest of timestamp info since it is located in the center.
for (int index = 1; index <= DEFAULT_TIMESTAMP_COUNT - 2; index++) {
canvas.drawText(
- mTimestamps[index],
- xOffsets[index] -
- (mTimestampsBounds[index].width() - mTimestampsBounds[index].left) * .5f,
- getTimestampY(index), mTextPaint);
+ mTimestamps[index],
+ xOffsets[index]
+ - (mTimestampsBounds[index].width() - mTimestampsBounds[index].left)
+ * .5f,
+ getTimestampY(index), mTextPaint);
}
}
private int getTimestampY(int index) {
return getHeight() - mTimestampsBounds[index].height()
- + (mTimestampsBounds[index].height() + mTimestampsBounds[index].top)
- + round(mTextPadding * 1.5f);
+ + (mTimestampsBounds[index].height() + mTimestampsBounds[index].top)
+ + round(mTextPadding * 1.5f);
}
private void drawTrapezoids(Canvas canvas) {
@@ -504,8 +513,8 @@
return;
}
final float trapezoidBottom =
- getHeight() - mIndent.bottom - mDividerHeight - mDividerWidth
- - mTrapezoidVOffset;
+ getHeight() - mIndent.bottom - mDividerHeight - mDividerWidth
+ - mTrapezoidVOffset;
final float availableSpace = trapezoidBottom - mDividerWidth * .5f - mIndent.top;
final float unitHeight = availableSpace / 100f;
// Draws all trapezoid shapes into the canvas.
@@ -522,12 +531,12 @@
}
// Configures the trapezoid paint color.
final int trapezoidColor =
- !mIsSlotsClickabled
- ? mTrapezoidColor
- : mSelectedIndex == index || mSelectedIndex == SELECTED_INDEX_ALL
- ? mTrapezoidSolidColor : mTrapezoidColor;
+ !mIsSlotsClickabled
+ ? mTrapezoidColor
+ : mSelectedIndex == index || mSelectedIndex == SELECTED_INDEX_ALL
+ ? mTrapezoidSolidColor : mTrapezoidColor;
final boolean isHoverState =
- mIsSlotsClickabled && mHoveredIndex == index && isValidToDraw(mHoveredIndex);
+ mIsSlotsClickabled && mHoveredIndex == index && isValidToDraw(mHoveredIndex);
mTrapezoidPaint.setColor(isHoverState ? mTrapezoidHoverColor : trapezoidColor);
final float leftTop = round(trapezoidBottom - mLevels[index] * unitHeight);
@@ -546,7 +555,7 @@
// Generates path for non-clickable trapezoid curve.
if (mTrapezoidCurvePaint != null) {
if (trapezoidCurvePath == null) {
- trapezoidCurvePath= new Path();
+ trapezoidCurvePath = new Path();
trapezoidCurvePath.moveTo(mTrapezoidSlots[index].mLeft, leftTop);
} else {
trapezoidCurvePath.lineTo(mTrapezoidSlots[index].mLeft, leftTop);
@@ -582,23 +591,23 @@
}
private static String[] getPercentages() {
- return new String[] {
- formatPercentage(/*percentage=*/ 100, /*round=*/ true),
- formatPercentage(/*percentage=*/ 50, /*round=*/ true),
- formatPercentage(/*percentage=*/ 0, /*round=*/ true)};
+ return new String[]{
+ formatPercentage(/*percentage=*/ 100, /*round=*/ true),
+ formatPercentage(/*percentage=*/ 50, /*round=*/ true),
+ formatPercentage(/*percentage=*/ 0, /*round=*/ true)};
}
@VisibleForTesting
static boolean isAccessibilityEnabled(Context context) {
final AccessibilityManager accessibilityManager =
- context.getSystemService(AccessibilityManager.class);
+ context.getSystemService(AccessibilityManager.class);
if (!accessibilityManager.isEnabled()) {
return false;
}
final List<AccessibilityServiceInfo> serviceInfoList =
- accessibilityManager.getEnabledAccessibilityServiceList(
- AccessibilityServiceInfo.FEEDBACK_SPOKEN
- | AccessibilityServiceInfo.FEEDBACK_GENERIC);
+ accessibilityManager.getEnabledAccessibilityServiceList(
+ AccessibilityServiceInfo.FEEDBACK_SPOKEN
+ | AccessibilityServiceInfo.FEEDBACK_GENERIC);
for (AccessibilityServiceInfo info : serviceInfoList) {
for (String serviceName : ACCESSIBILITY_SERVICE_NAMES) {
final String serviceId = info.getId();
diff --git a/src/com/android/settings/fuelgauge/BatteryDiffEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
similarity index 73%
rename from src/com/android/settings/fuelgauge/BatteryDiffEntry.java
rename to src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
index 403f79c..8b995c8 100644
--- a/src/com/android/settings/fuelgauge/BatteryDiffEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
@@ -1,17 +1,19 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
+ * 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.
+ * 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.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.content.Context;
import android.content.pm.ApplicationInfo;
@@ -26,6 +28,7 @@
import androidx.annotation.VisibleForTesting;
import com.android.settings.R;
+import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settingslib.utils.StringUtil;
import java.util.Comparator;
@@ -61,11 +64,16 @@
private UserManager mUserManager;
private String mDefaultPackageName = null;
- @VisibleForTesting int mAppIconId;
- @VisibleForTesting String mAppLabel = null;
- @VisibleForTesting Drawable mAppIcon = null;
- @VisibleForTesting boolean mIsLoaded = false;
- @VisibleForTesting boolean mValidForRestriction = true;
+ @VisibleForTesting
+ int mAppIconId;
+ @VisibleForTesting
+ String mAppLabel = null;
+ @VisibleForTesting
+ Drawable mAppIcon = null;
+ @VisibleForTesting
+ boolean mIsLoaded = false;
+ @VisibleForTesting
+ boolean mValidForRestriction = true;
public BatteryDiffEntry(
Context context,
@@ -85,7 +93,7 @@
public void setTotalConsumePower(double totalConsumePower) {
mTotalConsumePower = totalConsumePower;
mPercentOfTotal = totalConsumePower == 0
- ? 0 : (mConsumePower / mTotalConsumePower) * 100.0;
+ ? 0 : (mConsumePower / mTotalConsumePower) * 100.0;
}
/** Gets the percentage of total consumed power. */
@@ -96,11 +104,11 @@
/** Clones a new instance. */
public BatteryDiffEntry clone() {
return new BatteryDiffEntry(
- this.mContext,
- this.mForegroundUsageTimeInMs,
- this.mBackgroundUsageTimeInMs,
- this.mConsumePower,
- this.mBatteryHistEntry /*same instance*/);
+ this.mContext,
+ this.mForegroundUsageTimeInMs,
+ this.mBackgroundUsageTimeInMs,
+ this.mConsumePower,
+ this.mBatteryHistEntry /*same instance*/);
}
/** Gets the app label name for this entry. */
@@ -108,8 +116,8 @@
loadLabelAndIcon();
// Returns default applicationn label if we cannot find it.
return mAppLabel == null || mAppLabel.length() == 0
- ? mBatteryHistEntry.mAppLabel
- : mAppLabel;
+ ? mBatteryHistEntry.mAppLabel
+ : mAppLabel;
}
/** Gets the app icon {@link Drawable} for this entry. */
@@ -129,15 +137,15 @@
/** Gets the searching package name for UID battery type. */
public String getPackageName() {
final String packageName = mDefaultPackageName != null
- ? mDefaultPackageName : mBatteryHistEntry.mPackageName;
+ ? mDefaultPackageName : mBatteryHistEntry.mPackageName;
if (packageName == null) {
return packageName;
}
// Removes potential appended process name in the PackageName.
// From "com.opera.browser:privileged_process0" to "com.opera.browser"
- final String[] splittedPackageNames = packageName.split(":");
- return splittedPackageNames != null && splittedPackageNames.length > 0
- ? splittedPackageNames[0] : packageName;
+ final String[] splitPackageNames = packageName.split(":");
+ return splitPackageNames != null && splitPackageNames.length > 0
+ ? splitPackageNames[0] : packageName;
}
/** Whether this item is valid for users to launch restriction page? */
@@ -196,20 +204,20 @@
switch (mBatteryHistEntry.mConsumerType) {
case ConvertUtils.CONSUMER_TYPE_USER_BATTERY:
final BatteryEntry.NameAndIcon nameAndIconForUser =
- BatteryEntry.getNameAndIconFromUserId(
- mContext, (int) mBatteryHistEntry.mUserId);
+ BatteryEntry.getNameAndIconFromUserId(
+ mContext, (int) mBatteryHistEntry.mUserId);
if (nameAndIconForUser != null) {
mAppIcon = nameAndIconForUser.mIcon;
mAppLabel = nameAndIconForUser.mName;
sResourceCache.put(
- getKey(),
- new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, /*iconId=*/ 0));
+ getKey(),
+ new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, /*iconId=*/ 0));
}
break;
case ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY:
final BatteryEntry.NameAndIcon nameAndIconForSystem =
- BatteryEntry.getNameAndIconFromPowerComponent(
- mContext, mBatteryHistEntry.mDrainType);
+ BatteryEntry.getNameAndIconFromPowerComponent(
+ mContext, mBatteryHistEntry.mDrainType);
if (nameAndIconForSystem != null) {
mAppLabel = nameAndIconForSystem.mName;
if (nameAndIconForSystem.mIconId != 0) {
@@ -217,8 +225,8 @@
mAppIcon = mContext.getDrawable(nameAndIconForSystem.mIconId);
}
sResourceCache.put(
- getKey(),
- new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, mAppIconId));
+ getKey(),
+ new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, mAppIconId));
}
break;
case ConvertUtils.CONSUMER_TYPE_UID_BATTERY:
@@ -231,8 +239,8 @@
mAppIcon = getBadgeIconForUser(mAppIcon);
if (mAppLabel != null || mAppIcon != null) {
sResourceCache.put(
- getKey(),
- new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, /*iconId=*/ 0));
+ getKey(),
+ new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, /*iconId=*/ 0));
}
break;
}
@@ -251,23 +259,23 @@
}
final boolean isValidPackage =
BatteryUtils.getInstance(mContext).getPackageUid(getPackageName())
- != BatteryUtils.UID_NULL;
+ != BatteryUtils.UID_NULL;
if (!isValidPackage) {
mValidForRestriction = false;
return;
}
try {
mValidForRestriction =
- mContext.getPackageManager().getPackageInfo(
- getPackageName(),
- PackageManager.MATCH_DISABLED_COMPONENTS
- | PackageManager.MATCH_ANY_USER
- | PackageManager.GET_SIGNATURES
- | PackageManager.GET_PERMISSIONS)
- != null;
+ mContext.getPackageManager().getPackageInfo(
+ getPackageName(),
+ PackageManager.MATCH_DISABLED_COMPONENTS
+ | PackageManager.MATCH_ANY_USER
+ | PackageManager.GET_SIGNATURES
+ | PackageManager.GET_PERMISSIONS)
+ != null;
} catch (Exception e) {
Log.e(TAG, String.format("getPackageInfo() error %s for package=%s",
- e.getCause(), getPackageName()));
+ e.getCause(), getPackageName()));
mValidForRestriction = false;
}
}
@@ -276,7 +284,7 @@
final Locale locale = Locale.getDefault();
if (sCurrentLocale != locale) {
Log.d(TAG, String.format("clearCache() locale is changed from %s to %s",
- sCurrentLocale, locale));
+ sCurrentLocale, locale));
sCurrentLocale = locale;
clearCache();
}
@@ -290,7 +298,7 @@
if (packageName != null && packageName.length() != 0) {
try {
final ApplicationInfo appInfo =
- packageManager.getApplicationInfo(packageName, /*no flags*/ 0);
+ packageManager.getApplicationInfo(packageName, /*no flags*/ 0);
if (appInfo != null) {
mAppLabel = packageManager.getApplicationLabel(appInfo).toString();
mAppIcon = packageManager.getApplicationIcon(appInfo);
@@ -310,15 +318,15 @@
// Loads special defined application label and icon if available.
if (packages == null || packages.length == 0) {
final BatteryEntry.NameAndIcon nameAndIcon =
- BatteryEntry.getNameAndIconFromUid(mContext, mAppLabel, uid);
+ BatteryEntry.getNameAndIconFromUid(mContext, mAppLabel, uid);
mAppLabel = nameAndIcon.mName;
mAppIcon = nameAndIcon.mIcon;
}
final BatteryEntry.NameAndIcon nameAndIcon =
- BatteryEntry.loadNameAndIcon(
- mContext, uid, /*handler=*/ null, /*batteryEntry=*/ null,
- packageName, mAppLabel, mAppIcon);
+ BatteryEntry.loadNameAndIcon(
+ mContext, uid, /*handler=*/ null, /*batteryEntry=*/ null,
+ packageName, mAppLabel, mAppIcon);
// Clears BatteryEntry internal cache since we will have another one.
BatteryEntry.clearUidCache();
if (nameAndIcon != null) {
@@ -328,7 +336,7 @@
if (mDefaultPackageName != null
&& !mDefaultPackageName.equals(nameAndIcon.mPackageName)) {
Log.w(TAG, String.format("found different package: %s | %s",
- mDefaultPackageName, nameAndIcon.mPackageName));
+ mDefaultPackageName, nameAndIcon.mPackageName));
}
}
}
@@ -336,19 +344,19 @@
@Override
public String toString() {
final StringBuilder builder = new StringBuilder()
- .append("BatteryDiffEntry{")
- .append(String.format("\n\tname=%s restrictable=%b",
- mAppLabel, mValidForRestriction))
- .append(String.format("\n\tconsume=%.2f%% %f/%f",
- mPercentOfTotal, mConsumePower, mTotalConsumePower))
- .append(String.format("\n\tforeground:%s background:%s",
- StringUtil.formatElapsedTime(mContext, mForegroundUsageTimeInMs,
- /*withSeconds=*/ true, /*collapseTimeUnit=*/ false),
- StringUtil.formatElapsedTime(mContext, mBackgroundUsageTimeInMs,
- /*withSeconds=*/ true, /*collapseTimeUnit=*/ false)))
- .append(String.format("\n\tpackage:%s|%s uid:%d userId:%d",
- mBatteryHistEntry.mPackageName, getPackageName(),
- mBatteryHistEntry.mUid, mBatteryHistEntry.mUserId));
+ .append("BatteryDiffEntry{")
+ .append(String.format("\n\tname=%s restrictable=%b",
+ mAppLabel, mValidForRestriction))
+ .append(String.format("\n\tconsume=%.2f%% %f/%f",
+ mPercentOfTotal, mConsumePower, mTotalConsumePower))
+ .append(String.format("\n\tforeground:%s background:%s",
+ StringUtil.formatElapsedTime(mContext, mForegroundUsageTimeInMs,
+ /*withSeconds=*/ true, /*collapseTimeUnit=*/ false),
+ StringUtil.formatElapsedTime(mContext, mBackgroundUsageTimeInMs,
+ /*withSeconds=*/ true, /*collapseTimeUnit=*/ false)))
+ .append(String.format("\n\tpackage:%s|%s uid:%d userId:%d",
+ mBatteryHistEntry.mPackageName, getPackageName(),
+ mBatteryHistEntry.mUid, mBatteryHistEntry.mUserId));
return builder.toString();
}
@@ -361,7 +369,7 @@
private Drawable getBadgeIconForUser(Drawable icon) {
final int userId = UserHandle.getUserId((int) mBatteryHistEntry.mUid);
return userId == UserHandle.USER_OWNER ? icon :
- mUserManager.getBadgedIconForUser(icon, new UserHandle(userId));
+ mUserManager.getBadgedIconForUser(icon, new UserHandle(userId));
}
private static boolean isSystemUid(int uid) {
diff --git a/src/com/android/settings/fuelgauge/BatteryEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
similarity index 92%
rename from src/com/android/settings/fuelgauge/BatteryEntry.java
rename to src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
index 9dcbd05..24d6dad 100644
--- a/src/com/android/settings/fuelgauge/BatteryEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.app.AppGlobals;
import android.content.Context;
@@ -36,9 +36,8 @@
import android.util.DebugUtils;
import android.util.Log;
-import androidx.annotation.NonNull;
-
import com.android.settings.R;
+import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settingslib.Utils;
import java.util.ArrayList;
@@ -52,6 +51,7 @@
*/
public class BatteryEntry {
+ /** The app name and icon in app list. */
public static final class NameAndIcon {
public final String mName;
public final String mPackageName;
@@ -84,10 +84,10 @@
static Locale sCurrentLocale = null;
- static private class NameAndIconLoader extends Thread {
+ private static class NameAndIconLoader extends Thread {
private boolean mAbort = false;
- public NameAndIconLoader() {
+ NameAndIconLoader() {
super("BatteryUsage Icon Loader");
}
@@ -109,9 +109,9 @@
be = sRequestQueue.remove(0);
}
final NameAndIcon nameAndIcon =
- BatteryEntry.loadNameAndIcon(
- be.mContext, be.getUid(), sHandler, be,
- be.mDefaultPackageName, be.mName, be.mIcon);
+ BatteryEntry.loadNameAndIcon(
+ be.mContext, be.getUid(), sHandler, be,
+ be.mDefaultPackageName, be.mName, be.mIcon);
if (nameAndIcon != null) {
be.mIcon = nameAndIcon.mIcon;
be.mName = nameAndIcon.mName;
@@ -121,35 +121,38 @@
}
}
- private static NameAndIconLoader mRequestThread;
+ private static NameAndIconLoader sRequestThread;
+ /** Starts the request queue. */
public static void startRequestQueue() {
if (sHandler != null) {
synchronized (sRequestQueue) {
if (!sRequestQueue.isEmpty()) {
- if (mRequestThread != null) {
- mRequestThread.abort();
+ if (sRequestThread != null) {
+ sRequestThread.abort();
}
- mRequestThread = new NameAndIconLoader();
- mRequestThread.setPriority(Thread.MIN_PRIORITY);
- mRequestThread.start();
+ sRequestThread = new NameAndIconLoader();
+ sRequestThread.setPriority(Thread.MIN_PRIORITY);
+ sRequestThread.start();
sRequestQueue.notify();
}
}
}
}
+ /** Stops the request queue. */
public static void stopRequestQueue() {
synchronized (sRequestQueue) {
- if (mRequestThread != null) {
- mRequestThread.abort();
- mRequestThread = null;
+ if (sRequestThread != null) {
+ sRequestThread.abort();
+ sRequestThread = null;
sRequestQueue.clear();
sHandler = null;
}
}
}
+ /** Clears the UID cache. */
public static void clearUidCache() {
sUidCache.clear();
}
@@ -252,14 +255,14 @@
mIsHidden = false;
mPowerComponentId = powerComponentId;
mConsumedPower =
- powerComponentId == BatteryConsumer.POWER_COMPONENT_SCREEN
- ? devicePowerMah
- : devicePowerMah - appsPowerMah;
+ powerComponentId == BatteryConsumer.POWER_COMPONENT_SCREEN
+ ? devicePowerMah
+ : devicePowerMah - appsPowerMah;
mUsageDurationMs = usageDurationMs;
mConsumerType = ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY;
final NameAndIcon nameAndIcon =
- getNameAndIconFromPowerComponent(context, powerComponentId);
+ getNameAndIconFromPowerComponent(context, powerComponentId);
mIconId = nameAndIcon.mIconId;
mName = nameAndIcon.mName;
if (mIconId != 0) {
@@ -280,9 +283,9 @@
mIcon = context.getDrawable(mIconId);
mName = powerComponentName;
mConsumedPower =
- powerComponentId == BatteryConsumer.POWER_COMPONENT_SCREEN
- ? devicePowerMah
- : devicePowerMah - appsPowerMah;
+ powerComponentId == BatteryConsumer.POWER_COMPONENT_SCREEN
+ ? devicePowerMah
+ : devicePowerMah - appsPowerMah;
mConsumerType = ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY;
}
@@ -354,7 +357,7 @@
final PackageManager pm = context.getPackageManager();
final String[] packages = isSystemUid(uid)
- ? new String[] {PACKAGE_SYSTEM} : pm.getPackagesForUid(uid);
+ ? new String[]{PACKAGE_SYSTEM} : pm.getPackagesForUid(uid);
if (packages != null) {
final String[] packageLabels = new String[packages.length];
System.arraycopy(packages, 0, packageLabels, 0, packages.length);
@@ -552,8 +555,8 @@
name = context.getResources().getString(R.string.process_network_tethering);
} else if ("mediaserver".equals(name)) {
name = context.getResources().getString(R.string.process_mediaserver_label);
- } else if ("dex2oat".equals(name) || "dex2oat32".equals(name) ||
- "dex2oat64".equals(name)) {
+ } else if ("dex2oat".equals(name) || "dex2oat32".equals(name)
+ || "dex2oat64".equals(name)) {
name = context.getResources().getString(R.string.process_dex2oat_label);
}
return new NameAndIcon(name, icon, 0 /* iconId */);
@@ -612,7 +615,8 @@
return new NameAndIcon(name, null /* icon */, iconId);
}
- static boolean isSystemUid(int uid) {
+ /** Whether the uid is system uid. */
+ public static boolean isSystemUid(int uid) {
return uid == Process.SYSTEM_UID;
}
}
diff --git a/src/com/android/settings/fuelgauge/BatteryHistEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntry.java
similarity index 78%
rename from src/com/android/settings/fuelgauge/BatteryHistEntry.java
rename to src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntry.java
index 45f9e9f..b88b2f6 100644
--- a/src/com/android/settings/fuelgauge/BatteryHistEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntry.java
@@ -1,17 +1,19 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
+ * 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.
+ * 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.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.content.ContentValues;
import android.database.Cursor;
@@ -117,14 +119,14 @@
}
private BatteryHistEntry(
- BatteryHistEntry fromEntry,
- long bootTimestamp,
- long timestamp,
- double totalPower,
- double consumePower,
- long foregroundUsageTimeInMs,
- long backgroundUsageTimeInMs,
- int batteryLevel) {
+ BatteryHistEntry fromEntry,
+ long bootTimestamp,
+ long timestamp,
+ double totalPower,
+ double consumePower,
+ long foregroundUsageTimeInMs,
+ long backgroundUsageTimeInMs,
+ int batteryLevel) {
mUid = fromEntry.mUid;
mUserId = fromEntry.mUserId;
mAppLabel = fromEntry.mAppLabel;
@@ -186,28 +188,28 @@
@Override
public String toString() {
final String recordAtDateTime =
- ConvertUtils.utcToLocalTime(/*context=*/ null, mTimestamp);
+ ConvertUtils.utcToLocalTime(/*context=*/ null, mTimestamp);
final StringBuilder builder = new StringBuilder()
- .append("\nBatteryHistEntry{")
- .append(String.format("\n\tpackage=%s|label=%s|uid=%d|userId=%d|isHidden=%b",
- mPackageName, mAppLabel, mUid, mUserId, mIsHidden))
- .append(String.format("\n\ttimestamp=%s|zoneId=%s|bootTimestamp=%d",
- recordAtDateTime, mZoneId, Duration.ofMillis(mBootTimestamp).getSeconds()))
- .append(String.format("\n\tusage=%f|total=%f|consume=%f|elapsedTime=%d|%d",
- mPercentOfTotal, mTotalPower, mConsumePower,
- Duration.ofMillis(mForegroundUsageTimeInMs).getSeconds(),
- Duration.ofMillis(mBackgroundUsageTimeInMs).getSeconds()))
- .append(String.format("\n\tdrainType=%d|consumerType=%d",
- mDrainType, mConsumerType))
- .append(String.format("\n\tbattery=%d|status=%d|health=%d\n}",
- mBatteryLevel, mBatteryStatus, mBatteryHealth));
+ .append("\nBatteryHistEntry{")
+ .append(String.format("\n\tpackage=%s|label=%s|uid=%d|userId=%d|isHidden=%b",
+ mPackageName, mAppLabel, mUid, mUserId, mIsHidden))
+ .append(String.format("\n\ttimestamp=%s|zoneId=%s|bootTimestamp=%d",
+ recordAtDateTime, mZoneId, Duration.ofMillis(mBootTimestamp).getSeconds()))
+ .append(String.format("\n\tusage=%f|total=%f|consume=%f|elapsedTime=%d|%d",
+ mPercentOfTotal, mTotalPower, mConsumePower,
+ Duration.ofMillis(mForegroundUsageTimeInMs).getSeconds(),
+ Duration.ofMillis(mBackgroundUsageTimeInMs).getSeconds()))
+ .append(String.format("\n\tdrainType=%d|consumerType=%d",
+ mDrainType, mConsumerType))
+ .append(String.format("\n\tbattery=%d|status=%d|health=%d\n}",
+ mBatteryLevel, mBatteryStatus, mBatteryHealth));
return builder.toString();
}
private int getInteger(ContentValues values, String key) {
if (values != null && values.containsKey(key)) {
return values.getAsInteger(key);
- };
+ }
mIsValidEntry = false;
return 0;
}
@@ -298,21 +300,21 @@
BatteryHistEntry lowerHistEntry,
BatteryHistEntry upperHistEntry) {
final double totalPower = interpolate(
- lowerHistEntry == null ? 0 : lowerHistEntry.mTotalPower,
- upperHistEntry.mTotalPower,
- ratio);
+ lowerHistEntry == null ? 0 : lowerHistEntry.mTotalPower,
+ upperHistEntry.mTotalPower,
+ ratio);
final double consumePower = interpolate(
- lowerHistEntry == null ? 0 : lowerHistEntry.mConsumePower,
- upperHistEntry.mConsumePower,
- ratio);
+ lowerHistEntry == null ? 0 : lowerHistEntry.mConsumePower,
+ upperHistEntry.mConsumePower,
+ ratio);
final double foregroundUsageTimeInMs = interpolate(
- lowerHistEntry == null ? 0 : lowerHistEntry.mForegroundUsageTimeInMs,
- upperHistEntry.mForegroundUsageTimeInMs,
- ratio);
+ lowerHistEntry == null ? 0 : lowerHistEntry.mForegroundUsageTimeInMs,
+ upperHistEntry.mForegroundUsageTimeInMs,
+ ratio);
final double backgroundUsageTimeInMs = interpolate(
- lowerHistEntry == null ? 0 : lowerHistEntry.mBackgroundUsageTimeInMs,
- upperHistEntry.mBackgroundUsageTimeInMs,
- ratio);
+ lowerHistEntry == null ? 0 : lowerHistEntry.mBackgroundUsageTimeInMs,
+ upperHistEntry.mBackgroundUsageTimeInMs,
+ ratio);
// Checks whether there is any abnoaml cases!
if (upperHistEntry.mConsumePower < consumePower
|| upperHistEntry.mForegroundUsageTimeInMs < foregroundUsageTimeInMs
@@ -324,22 +326,22 @@
}
}
final double batteryLevel =
- lowerHistEntry == null
- ? upperHistEntry.mBatteryLevel
- : interpolate(
- lowerHistEntry.mBatteryLevel,
- upperHistEntry.mBatteryLevel,
- ratio);
+ lowerHistEntry == null
+ ? upperHistEntry.mBatteryLevel
+ : interpolate(
+ lowerHistEntry.mBatteryLevel,
+ upperHistEntry.mBatteryLevel,
+ ratio);
return new BatteryHistEntry(
- upperHistEntry,
- /*bootTimestamp=*/ upperHistEntry.mBootTimestamp
+ upperHistEntry,
+ /*bootTimestamp=*/ upperHistEntry.mBootTimestamp
- (upperTimestamp - slotTimestamp),
- /*timestamp=*/ slotTimestamp,
- totalPower,
- consumePower,
- Math.round(foregroundUsageTimeInMs),
- Math.round(backgroundUsageTimeInMs),
- (int) Math.round(batteryLevel));
+ /*timestamp=*/ slotTimestamp,
+ totalPower,
+ consumePower,
+ Math.round(foregroundUsageTimeInMs),
+ Math.round(backgroundUsageTimeInMs),
+ (int) Math.round(batteryLevel));
}
private static double interpolate(double v1, double v2, double ratio) {
diff --git a/src/com/android/settings/fuelgauge/BatteryHistoryLoader.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java
similarity index 84%
rename from src/com/android/settings/fuelgauge/BatteryHistoryLoader.java
rename to src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java
index ddf3bf4..34606a5 100644
--- a/src/com/android/settings/fuelgauge/BatteryHistoryLoader.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,10 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.content.Context;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.utils.AsyncLoaderCompat;
@@ -41,7 +42,7 @@
@Override
public Map<Long, Map<String, BatteryHistEntry>> loadInBackground() {
final PowerUsageFeatureProvider powerUsageFeatureProvider =
- FeatureFactory.getFactory(mContext).getPowerUsageFeatureProvider(mContext);
+ FeatureFactory.getFactory(mContext).getPowerUsageFeatureProvider(mContext);
return powerUsageFeatureProvider.getBatteryHistory(mContext);
}
}
diff --git a/src/com/android/settings/fuelgauge/BatteryHistoryPreference.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java
similarity index 84%
rename from src/com/android/settings/fuelgauge/BatteryHistoryPreference.java
rename to src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java
index b2818bf..e125d17 100644
--- a/src/com/android/settings/fuelgauge/BatteryHistoryPreference.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.content.Context;
import android.os.BatteryUsageStats;
@@ -29,6 +29,8 @@
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
+import com.android.settings.fuelgauge.BatteryInfo;
+import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.UsageView;
@@ -38,8 +40,10 @@
public class BatteryHistoryPreference extends Preference {
private static final String TAG = "BatteryHistoryPreference";
- @VisibleForTesting boolean mHideSummary;
- @VisibleForTesting BatteryInfo mBatteryInfo;
+ @VisibleForTesting
+ boolean mHideSummary;
+ @VisibleForTesting
+ BatteryInfo mBatteryInfo;
private boolean mIsChartGraphEnabled;
@@ -51,16 +55,17 @@
public BatteryHistoryPreference(Context context, AttributeSet attrs) {
super(context, attrs);
mIsChartGraphEnabled =
- FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context)
- .isChartGraphEnabled(context);
+ FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context)
+ .isChartGraphEnabled(context);
Log.i(TAG, "isChartGraphEnabled: " + mIsChartGraphEnabled);
setLayoutResource(
- mIsChartGraphEnabled
- ? R.layout.battery_chart_graph
- : R.layout.battery_usage_graph);
+ mIsChartGraphEnabled
+ ? R.layout.battery_chart_graph
+ : R.layout.battery_usage_graph);
setSelectable(false);
}
+ /** Sets the text of bottom summary. */
public void setBottomSummary(CharSequence text) {
mSummaryContent = text;
if (mSummaryView != null) {
@@ -70,6 +75,7 @@
mHideSummary = false;
}
+ /** Hides the bottom summary. */
public void hideBottomSummary() {
if (mSummaryView != null) {
mSummaryView.setVisibility(View.GONE);
@@ -101,7 +107,7 @@
if (mIsChartGraphEnabled) {
mBatteryChartView = (BatteryChartView) view.findViewById(R.id.battery_chart);
mBatteryChartView.setCompanionTextView(
- (TextView) view.findViewById(R.id.companion_text));
+ (TextView) view.findViewById(R.id.companion_text));
if (mChartPreferenceController != null) {
mChartPreferenceController.setBatteryChartView(mBatteryChartView);
}
diff --git a/src/com/android/settings/fuelgauge/BatteryUsageStatsLoader.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoader.java
similarity index 94%
rename from src/com/android/settings/fuelgauge/BatteryUsageStatsLoader.java
rename to src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoader.java
index 65f2ddb..d61b276 100644
--- a/src/com/android/settings/fuelgauge/BatteryUsageStatsLoader.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.content.Context;
import android.os.BatteryStatsManager;
diff --git a/src/com/android/settings/fuelgauge/ConvertUtils.java b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
similarity index 77%
rename from src/com/android/settings/fuelgauge/ConvertUtils.java
rename to src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
index 696147b..76f9419 100644
--- a/src/com/android/settings/fuelgauge/ConvertUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
@@ -1,17 +1,19 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
+ * 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.
+ * 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.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.annotation.IntDef;
import android.content.ContentValues;
@@ -46,7 +48,7 @@
private static final String TAG = "ConvertUtils";
private static final Map<String, BatteryHistEntry> EMPTY_BATTERY_MAP = new HashMap<>();
private static final BatteryHistEntry EMPTY_BATTERY_HIST_ENTRY =
- new BatteryHistEntry(new ContentValues());
+ new BatteryHistEntry(new ContentValues());
// Maximum total time value for each slot cumulative data at most 2 hours.
private static final float TOTAL_TIME_THRESHOLD = DateUtils.HOUR_IN_MILLIS * 2;
@@ -64,21 +66,24 @@
public static final String FAKE_PACKAGE_NAME = "fake_package";
@IntDef(prefix = {"CONSUMER_TYPE"}, value = {
- CONSUMER_TYPE_UNKNOWN,
- CONSUMER_TYPE_UID_BATTERY,
- CONSUMER_TYPE_USER_BATTERY,
- CONSUMER_TYPE_SYSTEM_BATTERY,
+ CONSUMER_TYPE_UNKNOWN,
+ CONSUMER_TYPE_UID_BATTERY,
+ CONSUMER_TYPE_USER_BATTERY,
+ CONSUMER_TYPE_SYSTEM_BATTERY,
})
@Retention(RetentionPolicy.SOURCE)
- public static @interface ConsumerType {}
+ public static @interface ConsumerType {
+ }
public static final int CONSUMER_TYPE_UNKNOWN = 0;
public static final int CONSUMER_TYPE_UID_BATTERY = 1;
public static final int CONSUMER_TYPE_USER_BATTERY = 2;
public static final int CONSUMER_TYPE_SYSTEM_BATTERY = 3;
- private ConvertUtils() {}
+ private ConvertUtils() {
+ }
+ /** Converts to content values */
public static ContentValues convert(
BatteryEntry entry,
BatteryUsageStats batteryUsageStats,
@@ -91,25 +96,25 @@
if (entry != null && batteryUsageStats != null) {
values.put(BatteryHistEntry.KEY_UID, Long.valueOf(entry.getUid()));
values.put(BatteryHistEntry.KEY_USER_ID,
- Long.valueOf(UserHandle.getUserId(entry.getUid())));
+ Long.valueOf(UserHandle.getUserId(entry.getUid())));
values.put(BatteryHistEntry.KEY_APP_LABEL, entry.getLabel());
values.put(BatteryHistEntry.KEY_PACKAGE_NAME,
- entry.getDefaultPackageName());
+ entry.getDefaultPackageName());
values.put(BatteryHistEntry.KEY_IS_HIDDEN, Boolean.valueOf(entry.isHidden()));
values.put(BatteryHistEntry.KEY_TOTAL_POWER,
- Double.valueOf(batteryUsageStats.getConsumedPower()));
+ Double.valueOf(batteryUsageStats.getConsumedPower()));
values.put(BatteryHistEntry.KEY_CONSUME_POWER,
- Double.valueOf(entry.getConsumedPower()));
+ Double.valueOf(entry.getConsumedPower()));
values.put(BatteryHistEntry.KEY_PERCENT_OF_TOTAL,
- Double.valueOf(entry.mPercent));
+ Double.valueOf(entry.mPercent));
values.put(BatteryHistEntry.KEY_FOREGROUND_USAGE_TIME,
- Long.valueOf(entry.getTimeInForegroundMs()));
+ Long.valueOf(entry.getTimeInForegroundMs()));
values.put(BatteryHistEntry.KEY_BACKGROUND_USAGE_TIME,
- Long.valueOf(entry.getTimeInBackgroundMs()));
+ Long.valueOf(entry.getTimeInBackgroundMs()));
values.put(BatteryHistEntry.KEY_DRAIN_TYPE,
- Integer.valueOf(entry.getPowerComponentId()));
+ Integer.valueOf(entry.getPowerComponentId()));
values.put(BatteryHistEntry.KEY_CONSUMER_TYPE,
- Integer.valueOf(entry.getConsumerType()));
+ Integer.valueOf(entry.getConsumerType()));
} else {
values.put(BatteryHistEntry.KEY_PACKAGE_NAME, FAKE_PACKAGE_NAME);
}
@@ -126,7 +131,7 @@
public static String utcToLocalTime(Context context, long timestamp) {
final Locale locale = getLocale(context);
final String pattern =
- DateFormat.getBestDateTimePattern(locale, "MMM dd,yyyy HH:mm:ss");
+ DateFormat.getBestDateTimePattern(locale, "MMM dd,yyyy HH:mm:ss");
return DateFormat.format(pattern, timestamp).toString();
}
@@ -159,18 +164,18 @@
final int timestampStride = 2;
for (int index = 0; index < timeSlotSize; index++) {
final Long currentTimestamp =
- Long.valueOf(batteryHistoryKeys[index * timestampStride]);
+ Long.valueOf(batteryHistoryKeys[index * timestampStride]);
final Long nextTimestamp =
- Long.valueOf(batteryHistoryKeys[index * timestampStride + 1]);
+ Long.valueOf(batteryHistoryKeys[index * timestampStride + 1]);
final Long nextTwoTimestamp =
- Long.valueOf(batteryHistoryKeys[index * timestampStride + 2]);
+ Long.valueOf(batteryHistoryKeys[index * timestampStride + 2]);
// Fetches BatteryHistEntry data from corresponding time slot.
final Map<String, BatteryHistEntry> currentBatteryHistMap =
- batteryHistoryMap.getOrDefault(currentTimestamp, EMPTY_BATTERY_MAP);
+ batteryHistoryMap.getOrDefault(currentTimestamp, EMPTY_BATTERY_MAP);
final Map<String, BatteryHistEntry> nextBatteryHistMap =
- batteryHistoryMap.getOrDefault(nextTimestamp, EMPTY_BATTERY_MAP);
+ batteryHistoryMap.getOrDefault(nextTimestamp, EMPTY_BATTERY_MAP);
final Map<String, BatteryHistEntry> nextTwoBatteryHistMap =
- batteryHistoryMap.getOrDefault(nextTwoTimestamp, EMPTY_BATTERY_MAP);
+ batteryHistoryMap.getOrDefault(nextTwoTimestamp, EMPTY_BATTERY_MAP);
// We should not get the empty list since we have at least one fake data to record
// the battery level and status in each time slot, the empty list is used to
// represent there is no enough data to apply interpolation arithmetic.
@@ -195,27 +200,27 @@
// Calculates all packages diff usage data in a specific time slot.
for (String key : allBatteryHistEntryKeys) {
final BatteryHistEntry currentEntry =
- currentBatteryHistMap.getOrDefault(key, EMPTY_BATTERY_HIST_ENTRY);
+ currentBatteryHistMap.getOrDefault(key, EMPTY_BATTERY_HIST_ENTRY);
final BatteryHistEntry nextEntry =
- nextBatteryHistMap.getOrDefault(key, EMPTY_BATTERY_HIST_ENTRY);
+ nextBatteryHistMap.getOrDefault(key, EMPTY_BATTERY_HIST_ENTRY);
final BatteryHistEntry nextTwoEntry =
- nextTwoBatteryHistMap.getOrDefault(key, EMPTY_BATTERY_HIST_ENTRY);
+ nextTwoBatteryHistMap.getOrDefault(key, EMPTY_BATTERY_HIST_ENTRY);
// Cumulative values is a specific time slot for a specific app.
long foregroundUsageTimeInMs =
- getDiffValue(
- currentEntry.mForegroundUsageTimeInMs,
- nextEntry.mForegroundUsageTimeInMs,
- nextTwoEntry.mForegroundUsageTimeInMs);
+ getDiffValue(
+ currentEntry.mForegroundUsageTimeInMs,
+ nextEntry.mForegroundUsageTimeInMs,
+ nextTwoEntry.mForegroundUsageTimeInMs);
long backgroundUsageTimeInMs =
- getDiffValue(
- currentEntry.mBackgroundUsageTimeInMs,
- nextEntry.mBackgroundUsageTimeInMs,
- nextTwoEntry.mBackgroundUsageTimeInMs);
+ getDiffValue(
+ currentEntry.mBackgroundUsageTimeInMs,
+ nextEntry.mBackgroundUsageTimeInMs,
+ nextTwoEntry.mBackgroundUsageTimeInMs);
double consumePower =
- getDiffValue(
- currentEntry.mConsumePower,
- nextEntry.mConsumePower,
- nextTwoEntry.mConsumePower);
+ getDiffValue(
+ currentEntry.mConsumePower,
+ nextEntry.mConsumePower,
+ nextTwoEntry.mConsumePower);
// Excludes entry since we don't have enough data to calculate.
if (foregroundUsageTimeInMs == 0
&& backgroundUsageTimeInMs == 0
@@ -223,14 +228,14 @@
continue;
}
final BatteryHistEntry selectedBatteryEntry =
- selectBatteryHistEntry(currentEntry, nextEntry, nextTwoEntry);
+ selectBatteryHistEntry(currentEntry, nextEntry, nextTwoEntry);
if (selectedBatteryEntry == null) {
continue;
}
// Forces refine the cumulative value since it may introduce deviation
// error since we will apply the interpolation arithmetic.
final float totalUsageTimeInMs =
- foregroundUsageTimeInMs + backgroundUsageTimeInMs;
+ foregroundUsageTimeInMs + backgroundUsageTimeInMs;
if (totalUsageTimeInMs > TOTAL_TIME_THRESHOLD) {
final float ratio = TOTAL_TIME_THRESHOLD / totalUsageTimeInMs;
if (DEBUG) {
@@ -240,19 +245,19 @@
currentEntry));
}
foregroundUsageTimeInMs =
- Math.round(foregroundUsageTimeInMs * ratio);
+ Math.round(foregroundUsageTimeInMs * ratio);
backgroundUsageTimeInMs =
- Math.round(backgroundUsageTimeInMs * ratio);
+ Math.round(backgroundUsageTimeInMs * ratio);
consumePower = consumePower * ratio;
}
totalConsumePower += consumePower;
batteryDiffEntryList.add(
- new BatteryDiffEntry(
- context,
- foregroundUsageTimeInMs,
- backgroundUsageTimeInMs,
- consumePower,
- selectedBatteryEntry));
+ new BatteryDiffEntry(
+ context,
+ foregroundUsageTimeInMs,
+ backgroundUsageTimeInMs,
+ consumePower,
+ selectedBatteryEntry));
}
// Sets total consume power data into all BatteryDiffEntry in the same slot.
for (BatteryDiffEntry diffEntry : batteryDiffEntryList) {
@@ -282,9 +287,9 @@
} else {
// Sums up some fields data into the existing one.
oldBatteryDiffEntry.mForegroundUsageTimeInMs +=
- entry.mForegroundUsageTimeInMs;
+ entry.mForegroundUsageTimeInMs;
oldBatteryDiffEntry.mBackgroundUsageTimeInMs +=
- entry.mBackgroundUsageTimeInMs;
+ entry.mBackgroundUsageTimeInMs;
oldBatteryDiffEntry.mConsumePower += entry.mConsumePower;
}
totalConsumePower += entry.mConsumePower;
@@ -318,7 +323,7 @@
if (packageName != null
&& !backgroundUsageTimeHideList.isEmpty()
&& backgroundUsageTimeHideList.contains(packageName)) {
- entry.mBackgroundUsageTimeInMs = 0;
+ entry.mBackgroundUsageTimeInMs = 0;
}
}
}
@@ -342,7 +347,7 @@
return entry2;
} else {
return entry3 != null && entry3 != EMPTY_BATTERY_HIST_ENTRY
- ? entry3 : null;
+ ? entry3 : null;
}
}
@@ -352,8 +357,8 @@
return Locale.getDefault();
}
final LocaleList locales =
- context.getResources().getConfiguration().getLocales();
+ context.getResources().getConfiguration().getLocales();
return locales != null && !locales.isEmpty() ? locales.get(0)
- : Locale.getDefault();
+ : Locale.getDefault();
}
}
diff --git a/src/com/android/settings/fuelgauge/ExpandDividerPreference.java b/src/com/android/settings/fuelgauge/batteryusage/ExpandDividerPreference.java
similarity index 91%
rename from src/com/android/settings/fuelgauge/ExpandDividerPreference.java
rename to src/com/android/settings/fuelgauge/batteryusage/ExpandDividerPreference.java
index 4517177..8af842b 100644
--- a/src/com/android/settings/fuelgauge/ExpandDividerPreference.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/ExpandDividerPreference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,11 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.content.Context;
import android.util.AttributeSet;
-import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
@@ -33,8 +32,10 @@
@VisibleForTesting
static final String PREFERENCE_KEY = "expandable_divider";
- @VisibleForTesting TextView mTextView;
- @VisibleForTesting ImageView mImageView;
+ @VisibleForTesting
+ TextView mTextView;
+ @VisibleForTesting
+ ImageView mImageView;
private OnExpandListener mOnExpandListener;
private boolean mIsExpanded = false;
@@ -42,6 +43,7 @@
/** A callback listener for expand state is changed by users. */
public interface OnExpandListener {
+ /** Callback function for expand state is changed by users. */
void onExpand(boolean isExpanded);
}
diff --git a/src/com/android/settings/fuelgauge/PowerGaugePreference.java b/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreference.java
similarity index 91%
rename from src/com/android/settings/fuelgauge/PowerGaugePreference.java
rename to src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreference.java
index ea79d11..5a4f672 100644
--- a/src/com/android/settings/fuelgauge/PowerGaugePreference.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import android.content.Context;
import android.graphics.drawable.Drawable;
@@ -67,34 +67,41 @@
mShowAnomalyIcon = false;
}
+ /** Sets the content description. */
public void setContentDescription(String name) {
mContentDescription = name;
notifyChanged();
}
+ /** Sets the percent of total. */
public void setPercent(double percentOfTotal) {
mProgress = Utils.formatPercentage(percentOfTotal, true);
notifyChanged();
}
+ /** Gets the percent of total. */
public String getPercent() {
return mProgress.toString();
}
+ /** Sets the subtitle. */
public void setSubtitle(CharSequence subtitle) {
mProgress = subtitle;
notifyChanged();
}
+ /** Gets the subtitle. */
public CharSequence getSubtitle() {
return mProgress;
}
+ /** Sets whether to show anomaly icon */
public void shouldShowAnomalyIcon(boolean showAnomalyIcon) {
mShowAnomalyIcon = showAnomalyIcon;
notifyChanged();
}
+ /** Gets whether to show anomaly icon */
public boolean showAnomalyIcon() {
return mShowAnomalyIcon;
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
similarity index 88%
rename from src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
rename to src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
index afbb71f..b88d85d 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
@@ -1,17 +1,19 @@
/*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
+ * 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.
+ * 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.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType;
@@ -35,6 +37,7 @@
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.fuelgauge.BatteryBroadcastReceiver;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -45,6 +48,7 @@
import java.util.List;
import java.util.Map;
+/** Advanced power usage. */
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class PowerUsageAdvanced extends PowerUsageBase {
private static final String TAG = "AdvancedBatteryUsage";
@@ -69,14 +73,14 @@
private final ContentObserver mBatteryObserver =
new ContentObserver(new Handler()) {
- @Override
- public void onChange(boolean selfChange) {
- Log.d(TAG, "onBatteryContentChange: " + selfChange);
- mIsChartDataLoaded = false;
- restartBatteryStatsLoader(
- BatteryBroadcastReceiver.BatteryUpdateType.MANUAL);
- }
- };
+ @Override
+ public void onChange(boolean selfChange) {
+ Log.d(TAG, "onBatteryContentChange: " + selfChange);
+ mIsChartDataLoaded = false;
+ restartBatteryStatsLoader(
+ BatteryBroadcastReceiver.BatteryUpdateType.MANUAL);
+ }
+ };
@Override
public void onCreate(Bundle icicle) {
@@ -87,7 +91,7 @@
if (mIsChartGraphEnabled) {
setBatteryChartPreferenceController();
} else {
- updateHistPrefSummary(context);
+ updateHistPrefSummary(context);
}
}
@@ -143,13 +147,13 @@
if (mIsChartGraphEnabled) {
mBatteryChartPreferenceController =
new BatteryChartPreferenceController(context, KEY_APP_LIST,
- getSettingsLifecycle(), (SettingsActivity) getActivity(), this);
+ getSettingsLifecycle(), (SettingsActivity) getActivity(), this);
controllers.add(mBatteryChartPreferenceController);
setBatteryChartPreferenceController();
} else {
mBatteryAppListPreferenceController =
new BatteryAppListPreferenceController(context, KEY_APP_LIST,
- getSettingsLifecycle(), (SettingsActivity) getActivity(), this);
+ getSettingsLifecycle(), (SettingsActivity) getActivity(), this);
controllers.add(mBatteryAppListPreferenceController);
}
return controllers;
@@ -185,7 +189,7 @@
if (mIsChartGraphEnabled && !mIsChartDataLoaded) {
mIsChartDataLoaded = true;
getLoaderManager().restartLoader(LOADER_BATTERY_USAGE_STATS, bundle,
- mBatteryHistoryLoaderCallbacks);
+ mBatteryHistoryLoaderCallbacks);
} else if (!mIsChartGraphEnabled) {
super.restartBatteryStatsLoader(refreshType);
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageBase.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBase.java
similarity index 95%
rename from src/com/android/settings/fuelgauge/PowerUsageBase.java
rename to src/com/android/settings/fuelgauge/batteryusage/PowerUsageBase.java
index 6563155..ccefdf2 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageBase.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType;
@@ -23,7 +23,6 @@
import android.os.Bundle;
import android.os.UserManager;
import android.util.Log;
-import android.view.Menu;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
@@ -31,6 +30,8 @@
import androidx.loader.content.Loader;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.fuelgauge.BatteryBroadcastReceiver;
+import com.android.settings.fuelgauge.BatteryUtils;
/**
* Common base class for things that need to show the battery usage graph.
@@ -99,6 +100,7 @@
}
protected abstract void refreshUi(@BatteryUpdateType int refreshType);
+
protected abstract boolean isBatteryHistoryNeeded();
protected void updatePreference(BatteryHistoryPreference historyPref) {
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
similarity index 94%
rename from src/com/android/settings/fuelgauge/PowerUsageSummary.java
rename to src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
index 19a8011..405d855 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType;
@@ -34,6 +34,11 @@
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
+import com.android.settings.fuelgauge.BatteryHeaderPreferenceController;
+import com.android.settings.fuelgauge.BatteryInfo;
+import com.android.settings.fuelgauge.BatteryInfoLoader;
+import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.fuelgauge.batterytip.BatteryTipLoader;
import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
@@ -255,9 +260,9 @@
void initPreference() {
mBatteryUsagePreference = findPreference(KEY_BATTERY_USAGE);
mBatteryUsagePreference.setSummary(
- mPowerFeatureProvider.isChartGraphEnabled(getContext()) ?
- getString(R.string.advanced_battery_preference_summary_with_hours) :
- getString(R.string.advanced_battery_preference_summary));
+ mPowerFeatureProvider.isChartGraphEnabled(getContext())
+ ? getString(R.string.advanced_battery_preference_summary_with_hours)
+ : getString(R.string.advanced_battery_preference_summary));
mHelpPreference = findPreference(KEY_BATTERY_ERROR);
mHelpPreference.setVisible(false);
diff --git a/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java b/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
index f10a2d7..33dcd4e 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
@@ -44,11 +44,11 @@
import com.android.settings.R;
import com.android.settings.SubSettings;
import com.android.settings.Utils;
-import com.android.settings.fuelgauge.BatteryUsageStatsLoader;
-import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.fuelgauge.batterytip.BatteryTipLoader;
import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
+import com.android.settings.fuelgauge.batteryusage.BatteryUsageStatsLoader;
+import com.android.settings.fuelgauge.batteryusage.PowerUsageSummary;
import com.android.settings.slices.CustomSliceable;
import com.android.settings.slices.SliceBackgroundWorker;
import com.android.settings.slices.SliceBuilderUtils;
diff --git a/src/com/android/settings/network/ProviderModelSlice.java b/src/com/android/settings/network/ProviderModelSlice.java
index 0aae349..86ba563 100644
--- a/src/com/android/settings/network/ProviderModelSlice.java
+++ b/src/com/android/settings/network/ProviderModelSlice.java
@@ -34,6 +34,7 @@
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.telephony.SubscriptionManager;
+import android.util.EventLog;
import android.util.Log;
import android.view.WindowManager.LayoutParams;
@@ -103,6 +104,12 @@
// Fifth section: Add the Wi-Fi items which are not connected.
// Sixth section: Add the See All item.
final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
+ if (isGuestUser(mContext)) {
+ Log.e(TAG, "Guest user is not allowed to configure Internet!");
+ EventLog.writeEvent(0x534e4554, "227470877", -1 /* UID */, "User is a guest");
+ return listBuilder.build();
+ }
+
int maxListSize = 0;
final NetworkProviderWorker worker = getWorker();
if (worker != null) {
@@ -297,6 +304,8 @@
@Override
public Class getBackgroundWorkerClass() {
+ if (isGuestUser(mContext)) return null;
+
return NetworkProviderWorker.class;
}
diff --git a/src/com/android/settings/search/CustomSiteMapRegistry.java b/src/com/android/settings/search/CustomSiteMapRegistry.java
index ab33fa2..1777cb8 100644
--- a/src/com/android/settings/search/CustomSiteMapRegistry.java
+++ b/src/com/android/settings/search/CustomSiteMapRegistry.java
@@ -21,8 +21,8 @@
import com.android.settings.backup.UserBackupSettingsActivity;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.connecteddevice.usb.UsbDetailsFragment;
-import com.android.settings.fuelgauge.PowerUsageAdvanced;
-import com.android.settings.fuelgauge.PowerUsageSummary;
+import com.android.settings.fuelgauge.batteryusage.PowerUsageAdvanced;
+import com.android.settings.fuelgauge.batteryusage.PowerUsageSummary;
import com.android.settings.gestures.GestureNavigationSettingsFragment;
import com.android.settings.gestures.SystemNavigationGestureSettings;
import com.android.settings.location.LocationSettings;
diff --git a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
index c871e9f..89ee19b 100644
--- a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
+++ b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
@@ -46,6 +46,7 @@
import com.android.settings.R;
import com.android.settings.Settings;
import com.android.settings.Settings.TetherSettingsActivity;
+import com.android.settings.activityembedding.ActivityEmbeddingUtils;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.gestures.OneHandedSettingsUtils;
import com.android.settings.overlay.FeatureFactory;
@@ -127,7 +128,7 @@
return false;
}
final Intent shortcutIntent = createResultIntent(
- buildShortcutIntent(info),
+ buildShortcutIntent(uiContext, info),
info, clickTarget.getTitle());
mHost.setResult(Activity.RESULT_OK, shortcutIntent);
logCreateShortcut(info);
@@ -210,10 +211,14 @@
info.activityInfo.name);
}
- private static Intent buildShortcutIntent(ResolveInfo info) {
- return new Intent(SHORTCUT_PROBE)
+ private static Intent buildShortcutIntent(Context context, ResolveInfo info) {
+ Intent intent = new Intent(SHORTCUT_PROBE)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP)
.setClassName(info.activityInfo.packageName, info.activityInfo.name);
+ if (ActivityEmbeddingUtils.isEmbeddingActivityEnabled(context)) {
+ intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
+ }
+ return intent;
}
private static ShortcutInfo createShortcutInfo(Context context, Intent shortcutIntent,
@@ -277,8 +282,8 @@
ResolveInfo ri = context.getPackageManager().resolveActivity(si.getIntent(), 0);
if (ri != null) {
- updatedShortcuts.add(createShortcutInfo(context, buildShortcutIntent(ri), ri,
- si.getShortLabel()));
+ updatedShortcuts.add(createShortcutInfo(context,
+ buildShortcutIntent(context, ri), ri, si.getShortLabel()));
}
}
}
diff --git a/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java b/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java
new file mode 100644
index 0000000..182494c
--- /dev/null
+++ b/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java
@@ -0,0 +1,246 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.users;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.pm.UserInfo;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.util.FeatureFlagUtils;
+import android.util.Log;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+/**
+ * Controller to control the preference toggle for "remove guest on exit"
+ *
+ * Note, class is not 'final' since we need to mock it for unit tests
+ */
+public class RemoveGuestOnExitPreferenceController extends BasePreferenceController
+ implements Preference.OnPreferenceChangeListener {
+
+ private static final String TAG = RemoveGuestOnExitPreferenceController.class.getSimpleName();
+ private static final String TAG_CONFIRM_GUEST_REMOVE = "confirmGuestRemove";
+ private static final int REMOVE_GUEST_ON_EXIT_DEFAULT = 1;
+
+ private final UserCapabilities mUserCaps;
+ private final UserManager mUserManager;
+ private final Fragment mParentFragment;
+ private final Handler mHandler;
+
+ public RemoveGuestOnExitPreferenceController(Context context, String key,
+ Fragment parent, Handler handler) {
+ super(context, key);
+ mUserCaps = UserCapabilities.create(context);
+ mUserManager = context.getSystemService(UserManager.class);
+ mParentFragment = parent;
+ mHandler = handler;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ mUserCaps.updateAddUserCapabilities(mContext);
+ final RestrictedSwitchPreference restrictedSwitchPreference =
+ (RestrictedSwitchPreference) preference;
+ restrictedSwitchPreference.setChecked(isChecked());
+ if (!isAvailable()) {
+ restrictedSwitchPreference.setVisible(false);
+ } else {
+ restrictedSwitchPreference.setDisabledByAdmin(
+ mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
+ restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
+ }
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ // if guest is forced to be ephemeral via config_guestUserEphemeral
+ // then disable this controller
+ // also disable this controller for non-admin users
+ // also disable when config_guestUserAllowEphemeralStateChange is false
+ if (mUserManager.isGuestUserAlwaysEphemeral()
+ || !UserManager.isGuestUserAllowEphemeralStateChange()
+ || !mUserCaps.isAdmin()
+ || mUserCaps.disallowAddUser()
+ || mUserCaps.disallowAddUserSetByAdmin()
+ || !FeatureFlagUtils.isEnabled(mContext,
+ FeatureFlagUtils.SETTINGS_GUEST_MODE_UX_CHANGES)) {
+ return DISABLED_FOR_USER;
+ } else {
+ return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ }
+ }
+
+ private boolean isChecked() {
+ return Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.REMOVE_GUEST_ON_EXIT, REMOVE_GUEST_ON_EXIT_DEFAULT) != 0;
+ }
+
+ private static boolean setChecked(Context context, boolean isChecked) {
+ Settings.Global.putInt(context.getContentResolver(),
+ Settings.Global.REMOVE_GUEST_ON_EXIT, isChecked ? 1 : 0);
+ return true;
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ boolean enable = (boolean) newValue;
+ UserInfo guestInfo = mUserManager.findCurrentGuestUser();
+
+ // no guest do the setting and return
+ // guest ephemeral state will take effect on guest create
+ if (guestInfo == null) {
+ return setChecked(mContext, enable);
+ }
+ // if guest has never been initialized or started
+ // we can change guest ephemeral state
+ if (!guestInfo.isInitialized()) {
+ boolean isSuccess = mUserManager.setUserEphemeral(guestInfo.id, enable);
+ if (isSuccess) {
+ return setChecked(mContext, enable);
+ } else {
+ Log.w(TAG, "Unused guest, id=" + guestInfo.id
+ + ". Mark ephemeral as " + enable + " failed !!!");
+ return false;
+ }
+ }
+ // if guest has been used before and is not ephemeral
+ // but now we are making reset guest on exit preference as enabled
+ // then show confirmation dialog box and remove this guest if confirmed by user
+ if (guestInfo.isInitialized() && !guestInfo.isEphemeral() && enable) {
+ ConfirmGuestRemoveFragment.show(mParentFragment,
+ mHandler,
+ enable,
+ guestInfo.id,
+ (RestrictedSwitchPreference) preference);
+ return false;
+ }
+ // all other cases, there should be none, don't change state
+ return false;
+ }
+
+
+ /**
+ * Dialog to confirm guest removal on toggle clicked set to true
+ *
+ * Fragment must be a public static class to be properly recreated from instance state
+ * else we will get "AndroidRuntime: java.lang.IllegalStateException"
+ */
+ public static final class ConfirmGuestRemoveFragment extends InstrumentedDialogFragment
+ implements DialogInterface.OnClickListener {
+
+ private static final String TAG = ConfirmGuestRemoveFragment.class.getSimpleName();
+ private static final String SAVE_ENABLING = "enabling";
+ private static final String SAVE_GUEST_USER_ID = "guestUserId";
+
+ private boolean mEnabling;
+ private int mGuestUserId;
+ private RestrictedSwitchPreference mPreference;
+ private Handler mHandler;
+
+ private static void show(Fragment parent,
+ Handler handler,
+ boolean enabling, int guestUserId,
+ RestrictedSwitchPreference preference) {
+ if (!parent.isAdded()) return;
+
+ final ConfirmGuestRemoveFragment dialog = new ConfirmGuestRemoveFragment();
+ dialog.mHandler = handler;
+ dialog.mEnabling = enabling;
+ dialog.mGuestUserId = guestUserId;
+ dialog.setTargetFragment(parent, 0);
+ dialog.mPreference = preference;
+ dialog.show(parent.getFragmentManager(), TAG_CONFIRM_GUEST_REMOVE);
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ final Context context = getActivity();
+ if (savedInstanceState != null) {
+ mEnabling = savedInstanceState.getBoolean(SAVE_ENABLING);
+ mGuestUserId = savedInstanceState.getInt(SAVE_GUEST_USER_ID);
+ }
+
+ final AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ builder.setTitle(R.string.remove_guest_on_exit_dialog_title);
+ builder.setMessage(R.string.remove_guest_on_exit_dialog_message);
+ builder.setPositiveButton(
+ com.android.settingslib.R.string.guest_exit_clear_data_button, this);
+ builder.setNegativeButton(android.R.string.cancel, null);
+
+ return builder.create();
+ }
+
+ @Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ outState.putBoolean(SAVE_ENABLING, mEnabling);
+ outState.putInt(SAVE_GUEST_USER_ID, mGuestUserId);
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ return SettingsEnums.DIALOG_USER_REMOVE;
+ }
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (which != DialogInterface.BUTTON_POSITIVE) {
+ return;
+ }
+ UserManager userManager = getContext().getSystemService(UserManager.class);
+ if (userManager == null) {
+ Log.e(TAG, "Unable to get user manager service");
+ return;
+ }
+ UserInfo guestUserInfo = userManager.getUserInfo(mGuestUserId);
+ // only do action for guests and when enabling the preference
+ if (guestUserInfo == null || !guestUserInfo.isGuest() || !mEnabling) {
+ Log.w(TAG, "Removing guest user ... failed, id=" + mGuestUserId);
+ return;
+ }
+ if (mPreference != null) {
+ // Using markGuestForDeletion allows us to create a new guest before this one is
+ // fully removed.
+ boolean isSuccess = userManager.markGuestForDeletion(guestUserInfo.id);
+ if (!isSuccess) {
+ Log.w(TAG, "Couldn't mark the guest for deletion for user "
+ + guestUserInfo.id);
+ return;
+ }
+ userManager.removeUser(guestUserInfo.id);
+ if (setChecked(getContext(), mEnabling)) {
+ mPreference.setChecked(mEnabling);
+ mHandler.sendEmptyMessage(
+ UserSettings
+ .MESSAGE_REMOVE_GUEST_ON_EXIT_CONTROLLER_GUEST_REMOVED);
+ }
+ }
+ }
+ }
+}
diff --git a/src/com/android/settings/users/UserCapabilities.java b/src/com/android/settings/users/UserCapabilities.java
index 620738f..cf0e10b 100644
--- a/src/com/android/settings/users/UserCapabilities.java
+++ b/src/com/android/settings/users/UserCapabilities.java
@@ -34,6 +34,7 @@
boolean mCanAddRestrictedProfile;
boolean mIsAdmin;
boolean mIsGuest;
+ boolean mIsEphemeral;
boolean mUserSwitcherEnabled;
boolean mCanAddGuest;
boolean mDisallowAddUser;
@@ -56,6 +57,7 @@
final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId());
caps.mIsGuest = myUserInfo.isGuest();
caps.mIsAdmin = myUserInfo.isAdmin();
+ caps.mIsEphemeral = myUserInfo.isEphemeral();
DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
Context.DEVICE_POLICY_SERVICE);
diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java
index 9976040..3f51b83 100644
--- a/src/com/android/settings/users/UserDetailsSettings.java
+++ b/src/com/android/settings/users/UserDetailsSettings.java
@@ -73,6 +73,7 @@
private static final int DIALOG_CONFIRM_ENABLE_CALLING_AND_SMS = 3;
private static final int DIALOG_SETUP_USER = 4;
private static final int DIALOG_CONFIRM_RESET_GUEST = 5;
+ private static final int DIALOG_CONFIRM_RESET_GUEST_AND_SWITCH_USER = 6;
/** Whether to enable the app_copying fragment. */
private static final boolean SHOW_APP_COPYING_PREF = false;
@@ -142,6 +143,11 @@
if (canSwitchUserNow()) {
if (shouldShowSetupPromptDialog()) {
showDialog(DIALOG_SETUP_USER);
+ } else if (mUserCaps.mIsGuest && mUserCaps.mIsEphemeral) {
+ // if we are switching away from a ephemeral guest then,
+ // show a dialog that guest user will be reset and then switch
+ // the user
+ showDialog(DIALOG_CONFIRM_RESET_GUEST_AND_SWITCH_USER);
} else {
switchUser();
}
@@ -173,6 +179,7 @@
switch (dialogId) {
case DIALOG_CONFIRM_REMOVE:
case DIALOG_CONFIRM_RESET_GUEST:
+ case DIALOG_CONFIRM_RESET_GUEST_AND_SWITCH_USER:
return SettingsEnums.DIALOG_USER_REMOVE;
case DIALOG_CONFIRM_ENABLE_CALLING:
return SettingsEnums.DIALOG_USER_ENABLE_CALLING;
@@ -216,6 +223,14 @@
return UserDialogs.createRemoveGuestDialog(getActivity(),
(dialog, which) -> resetGuest());
}
+ case DIALOG_CONFIRM_RESET_GUEST_AND_SWITCH_USER:
+ if (mGuestUserAutoCreated) {
+ return UserDialogs.createResetGuestDialog(getActivity(),
+ (dialog, which) -> switchUser());
+ } else {
+ return UserDialogs.createRemoveGuestDialog(getActivity(),
+ (dialog, which) -> switchUser());
+ }
}
throw new IllegalArgumentException("Unsupported dialogId " + dialogId);
}
@@ -361,6 +376,16 @@
if (mUserInfo.isGuest()) {
mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_SWITCH_TO_GUEST);
}
+ if (mUserCaps.mIsGuest && mUserCaps.mIsEphemeral) {
+ int guestUserId = UserHandle.myUserId();
+ // Using markGuestForDeletion allows us to create a new guest before this one is
+ // fully removed.
+ boolean marked = mUserManager.markGuestForDeletion(guestUserId);
+ if (!marked) {
+ Log.w(TAG, "Couldn't mark the guest for deletion for user " + guestUserId);
+ return;
+ }
+ }
ActivityManager.getService().switchUser(mUserInfo.id);
} catch (RemoteException re) {
Log.e(TAG, "Error while switching to other user.");
diff --git a/src/com/android/settings/users/UserDialogs.java b/src/com/android/settings/users/UserDialogs.java
index 8549ffe..faaff4c 100644
--- a/src/com/android/settings/users/UserDialogs.java
+++ b/src/com/android/settings/users/UserDialogs.java
@@ -189,7 +189,7 @@
DialogInterface.OnClickListener onConfirmListener) {
return new AlertDialog.Builder(context)
.setTitle(com.android.settingslib.R.string.guest_reset_guest_dialog_title)
- .setMessage(R.string.user_exit_guest_confirm_message)
+ .setMessage(com.android.settingslib.R.string.guest_exit_dialog_message)
.setPositiveButton(
com.android.settingslib.R.string.guest_reset_guest_confirm_button,
onConfirmListener)
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index 358b87b..ca03e3f 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -47,13 +47,16 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.ContactsContract;
+import android.provider.Settings;
import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
import android.util.Log;
import android.util.SparseArray;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
+import android.view.WindowManagerGlobal;
import android.widget.SimpleAdapter;
import android.widget.Toast;
@@ -95,6 +98,7 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
/**
* Screen that manages the list of users on the device.
@@ -123,6 +127,13 @@
private static final String KEY_ADD_USER_WHEN_LOCKED = "user_settings_add_users_when_locked";
private static final String KEY_MULTIUSER_TOP_INTRO = "multiuser_top_intro";
private static final String KEY_TIMEOUT_TO_USER_ZERO = "timeout_to_user_zero_preference";
+ private static final String KEY_GUEST_CATEGORY = "guest_category";
+ private static final String KEY_GUEST_RESET = "guest_reset";
+ private static final String KEY_GUEST_EXIT = "guest_exit";
+ private static final String KEY_REMOVE_GUEST_ON_EXIT = "remove_guest_on_exit";
+ private static final String KEY_GUEST_USER_CATEGORY = "guest_user_category";
+
+ private static final String SETTING_GUEST_HAS_LOGGED_IN = "systemui.guest_has_logged_in";
private static final int MENU_REMOVE_USER = Menu.FIRST;
@@ -134,14 +145,18 @@
private static final int DIALOG_USER_CANNOT_MANAGE = 5;
private static final int DIALOG_CHOOSE_USER_TYPE = 6;
private static final int DIALOG_NEED_LOCKSCREEN = 7;
- private static final int DIALOG_CONFIRM_EXIT_GUEST = 8;
+ private static final int DIALOG_CONFIRM_REMOVE_GUEST = 8;
private static final int DIALOG_USER_PROFILE_EDITOR = 9;
private static final int DIALOG_USER_PROFILE_EDITOR_ADD_USER = 10;
private static final int DIALOG_USER_PROFILE_EDITOR_ADD_RESTRICTED_PROFILE = 11;
- private static final int DIALOG_CONFIRM_RESET_GUEST = 12;
+ private static final int DIALOG_CONFIRM_REMOVE_GUEST_WITH_AUTO_CREATE = 12;
+ private static final int DIALOG_CONFIRM_RESET_AND_RESTART_GUEST = 13;
+ private static final int DIALOG_CONFIRM_EXIT_GUEST_EPHEMERAL = 14;
+ private static final int DIALOG_CONFIRM_EXIT_GUEST_NON_EPHEMERAL = 15;
private static final int MESSAGE_UPDATE_LIST = 1;
private static final int MESSAGE_USER_CREATED = 2;
+ static final int MESSAGE_REMOVE_GUEST_ON_EXIT_CONTROLLER_GUEST_REMOVED = 3;
private static final int USER_TYPE_USER = 1;
private static final int USER_TYPE_RESTRICTED_PROFILE = 2;
@@ -165,6 +180,14 @@
@VisibleForTesting
PreferenceGroup mUserListCategory;
@VisibleForTesting
+ PreferenceGroup mGuestUserCategory;
+ @VisibleForTesting
+ PreferenceGroup mGuestCategory;
+ @VisibleForTesting
+ Preference mGuestResetPreference;
+ @VisibleForTesting
+ Preference mGuestExitPreference;
+ @VisibleForTesting
UserPreference mMePreference;
@VisibleForTesting
RestrictedPreference mAddGuest;
@@ -189,6 +212,7 @@
private EditUserInfoController mEditUserInfoController =
new EditUserInfoController(Utils.FILE_PROVIDER_AUTHORITY);
private AddUserWhenLockedPreferenceController mAddUserWhenLockedPreferenceController;
+ private RemoveGuestOnExitPreferenceController mRemoveGuestOnExitPreferenceController;
private MultiUserTopIntroPreferenceController mMultiUserTopIntroPreferenceController;
private TimeoutToUserZeroPreferenceController mTimeoutToUserZeroPreferenceController;
private UserCreatingDialog mUserCreatingDialog;
@@ -213,6 +237,12 @@
case MESSAGE_USER_CREATED:
onUserCreated(msg.arg1);
break;
+ case MESSAGE_REMOVE_GUEST_ON_EXIT_CONTROLLER_GUEST_REMOVED:
+ updateUserList();
+ if (mGuestUserAutoCreated) {
+ scheduleGuestCreation();
+ }
+ break;
}
}
};
@@ -245,7 +275,11 @@
final SettingsActivity activity = (SettingsActivity) getActivity();
final SettingsMainSwitchBar switchBar = activity.getSwitchBar();
switchBar.setTitle(getContext().getString(R.string.multiple_users_main_switch_title));
- switchBar.show();
+ if (mUserCaps.mIsAdmin) {
+ switchBar.show();
+ } else {
+ switchBar.hide();
+ }
mSwitchBarController = new MultiUserSwitchBarController(activity,
new MainSwitchBarController(switchBar), this /* listener */);
getSettingsLifecycle().addObserver(mSwitchBarController);
@@ -267,6 +301,9 @@
mAddUserWhenLockedPreferenceController = new AddUserWhenLockedPreferenceController(
activity, KEY_ADD_USER_WHEN_LOCKED);
+ mRemoveGuestOnExitPreferenceController = new RemoveGuestOnExitPreferenceController(
+ activity, KEY_REMOVE_GUEST_ON_EXIT, this, mHandler);
+
mMultiUserTopIntroPreferenceController = new MultiUserTopIntroPreferenceController(activity,
KEY_MULTIUSER_TOP_INTRO);
@@ -275,12 +312,16 @@
final PreferenceScreen screen = getPreferenceScreen();
mAddUserWhenLockedPreferenceController.displayPreference(screen);
+ mRemoveGuestOnExitPreferenceController.displayPreference(screen);
mMultiUserTopIntroPreferenceController.displayPreference(screen);
mTimeoutToUserZeroPreferenceController.displayPreference(screen);
screen.findPreference(mAddUserWhenLockedPreferenceController.getPreferenceKey())
.setOnPreferenceChangeListener(mAddUserWhenLockedPreferenceController);
+ screen.findPreference(mRemoveGuestOnExitPreferenceController.getPreferenceKey())
+ .setOnPreferenceChangeListener(mRemoveGuestOnExitPreferenceController);
+
if (icicle != null) {
if (icicle.containsKey(SAVE_REMOVING_USER)) {
mRemovingUserId = icicle.getInt(SAVE_REMOVING_USER);
@@ -304,6 +345,16 @@
mMePreference.setSummary(R.string.user_admin);
}
+ mGuestCategory = findPreference(KEY_GUEST_CATEGORY);
+
+ mGuestResetPreference = findPreference(KEY_GUEST_RESET);
+ mGuestResetPreference.setOnPreferenceClickListener(this);
+
+ mGuestExitPreference = findPreference(KEY_GUEST_EXIT);
+ mGuestExitPreference.setOnPreferenceClickListener(this);
+
+ mGuestUserCategory = findPreference(KEY_GUEST_USER_CATEGORY);
+
mAddGuest = findPreference(KEY_ADD_GUEST);
mAddGuest.setOnPreferenceClickListener(this);
@@ -339,7 +390,8 @@
mAddUserWhenLockedPreferenceController.getPreferenceKey()));
mTimeoutToUserZeroPreferenceController.updateState(screen.findPreference(
mTimeoutToUserZeroPreferenceController.getPreferenceKey()));
-
+ mRemoveGuestOnExitPreferenceController.updateState(screen.findPreference(
+ mRemoveGuestOnExitPreferenceController.getPreferenceKey()));
if (mShouldUpdateUserList) {
updateUI();
}
@@ -418,6 +470,11 @@
updateUserList();
}
+ private boolean isEnableGuestModeUxChanges() {
+ return FeatureFlagUtils.isEnabled(getContext(),
+ FeatureFlagUtils.SETTINGS_GUEST_MODE_UX_CHANGES);
+ }
+
/**
* Loads profile information for the current user.
*/
@@ -460,7 +517,7 @@
int myUserId = UserHandle.myUserId();
Bitmap b = mUserManager.getUserIcon(myUserId);
if (b != null) {
- mMePreference.setIcon(encircle(b));
+ mMePreference.setIcon(encircleUserIcon(b));
mUserIcons.put(myUserId, b);
}
}
@@ -702,7 +759,7 @@
.create();
return dlg;
}
- case DIALOG_CONFIRM_EXIT_GUEST: {
+ case DIALOG_CONFIRM_REMOVE_GUEST: {
Dialog dlg = new AlertDialog.Builder(context)
.setTitle(com.android.settingslib.R.string.guest_remove_guest_dialog_title)
.setMessage(R.string.user_exit_guest_confirm_message)
@@ -710,13 +767,56 @@
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- exitGuest();
+ clearAndExitGuest();
}
})
.setNegativeButton(android.R.string.cancel, null)
.create();
return dlg;
}
+ case DIALOG_CONFIRM_EXIT_GUEST_EPHEMERAL: {
+ Dialog dlg = new AlertDialog.Builder(context)
+ .setTitle(com.android.settingslib.R.string.guest_exit_dialog_title)
+ .setMessage(com.android.settingslib.R.string.guest_exit_dialog_message)
+ .setPositiveButton(
+ com.android.settingslib.R.string.guest_exit_dialog_button,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ clearAndExitGuest();
+ }
+ })
+ .setNeutralButton(android.R.string.cancel, null)
+ .create();
+ return dlg;
+ }
+ case DIALOG_CONFIRM_EXIT_GUEST_NON_EPHEMERAL: {
+ Dialog dlg = new AlertDialog.Builder(context)
+ .setTitle(
+ com.android.settingslib.R.string.guest_exit_dialog_title_non_ephemeral)
+ .setMessage(
+ com.android.settingslib
+ .R.string.guest_exit_dialog_message_non_ephemeral)
+ .setPositiveButton(
+ com.android.settingslib.R.string.guest_exit_save_data_button,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ exitGuest();
+ }
+ })
+ .setNegativeButton(
+ com.android.settingslib.R.string.guest_exit_clear_data_button,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ clearAndExitGuest();
+ }
+ })
+ .setNeutralButton(android.R.string.cancel, null)
+ .create();
+ return dlg;
+ }
case DIALOG_USER_PROFILE_EDITOR: {
return buildEditCurrentUserDialog();
}
@@ -736,14 +836,27 @@
}
return buildAddUserDialog(USER_TYPE_RESTRICTED_PROFILE);
}
- case DIALOG_CONFIRM_RESET_GUEST: {
- if (mGuestUserAutoCreated) {
- return UserDialogs.createResetGuestDialog(getActivity(),
- (dialog, which) -> resetGuest());
- } else {
- return UserDialogs.createRemoveGuestDialog(getActivity(),
- (dialog, which) -> resetGuest());
- }
+ case DIALOG_CONFIRM_REMOVE_GUEST_WITH_AUTO_CREATE: {
+ return UserDialogs.createResetGuestDialog(getActivity(),
+ (dialog, which) -> clearAndExitGuest());
+ }
+ case DIALOG_CONFIRM_RESET_AND_RESTART_GUEST: {
+ Dialog dlg = new AlertDialog.Builder(context)
+ .setTitle(
+ com.android.settingslib.R.string.guest_reset_and_restart_dialog_title)
+ .setMessage(
+ com.android.settingslib.R.string.guest_reset_and_restart_dialog_message)
+ .setPositiveButton(
+ com.android.settingslib.R.string.guest_reset_guest_confirm_button,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ resetAndRestartGuest();
+ }
+ })
+ .setNeutralButton(android.R.string.cancel, null)
+ .create();
+ return dlg;
}
default:
return null;
@@ -821,8 +934,11 @@
return SettingsEnums.DIALOG_USER_CHOOSE_TYPE;
case DIALOG_NEED_LOCKSCREEN:
return SettingsEnums.DIALOG_USER_NEED_LOCKSCREEN;
- case DIALOG_CONFIRM_EXIT_GUEST:
- case DIALOG_CONFIRM_RESET_GUEST:
+ case DIALOG_CONFIRM_REMOVE_GUEST:
+ case DIALOG_CONFIRM_REMOVE_GUEST_WITH_AUTO_CREATE:
+ case DIALOG_CONFIRM_EXIT_GUEST_EPHEMERAL:
+ case DIALOG_CONFIRM_EXIT_GUEST_NON_EPHEMERAL:
+ case DIALOG_CONFIRM_RESET_AND_RESTART_GUEST:
return SettingsEnums.DIALOG_USER_CONFIRM_EXIT_GUEST;
case DIALOG_USER_PROFILE_EDITOR:
case DIALOG_USER_PROFILE_EDITOR_ADD_USER:
@@ -864,6 +980,18 @@
}
}
+ private void switchToUserId(int userId) {
+ if (!canSwitchUserNow()) {
+ Log.w(TAG, "Cannot switch current user when switching is disabled");
+ return;
+ }
+ try {
+ ActivityManager.getService().switchUser(userId);
+ } catch (RemoteException re) {
+ Log.e(TAG, "Unable to switch user");
+ }
+ }
+
private void addUserNow(final int userType) {
Trace.beginAsyncSection("UserSettings.addUserNow", 0);
synchronized (mUserLock) {
@@ -945,36 +1073,91 @@
* Erase the current user (guest) and switch to another user.
*/
@VisibleForTesting
- void exitGuest() {
+ void clearAndExitGuest() {
// Just to be safe
if (!isCurrentUserGuest()) {
return;
}
mMetricsFeatureProvider.action(getActivity(),
SettingsEnums.ACTION_USER_GUEST_EXIT_CONFIRMED);
- removeThisUser();
- }
- /**
- * Erase the current user (assuming it is a guest user), and create a new one in the background
- */
- @VisibleForTesting
- void resetGuest() {
- // Just to be safe
- if (!isCurrentUserGuest()) {
- return;
- }
int guestUserId = UserHandle.myUserId();
// Using markGuestForDeletion allows us to create a new guest before this one is
- // fully removed. This could happen if someone calls scheduleGuestCreation()
- // immediately after calling this method.
+ // fully removed.
boolean marked = mUserManager.markGuestForDeletion(guestUserId);
if (!marked) {
Log.w(TAG, "Couldn't mark the guest for deletion for user " + guestUserId);
return;
}
- exitGuest();
- scheduleGuestCreation();
+
+ removeThisUser();
+ if (mGuestUserAutoCreated) {
+ scheduleGuestCreation();
+ }
+ }
+
+ /**
+ * Switch to another user.
+ */
+ private void exitGuest() {
+ // Just to be safe
+ if (!isCurrentUserGuest()) {
+ return;
+ }
+ mMetricsFeatureProvider.action(getActivity(),
+ SettingsEnums.ACTION_USER_GUEST_EXIT_CONFIRMED);
+ switchToUserId(UserHandle.USER_SYSTEM);
+ }
+
+ private int createGuest() {
+ UserInfo guest;
+ Context context = getPrefContext();
+ try {
+ guest = mUserManager.createGuest(context);
+ } catch (UserManager.UserOperationException e) {
+ Log.e(TAG, "Couldn't create guest user", e);
+ return UserHandle.USER_NULL;
+ }
+ if (guest == null) {
+ Log.e(TAG, "Couldn't create guest, most likely because there already exists one");
+ return UserHandle.USER_NULL;
+ }
+ return guest.id;
+ }
+
+ /**
+ * Remove current guest and start a new guest session
+ */
+ private void resetAndRestartGuest() {
+ // Just to be safe
+ if (!isCurrentUserGuest()) {
+ return;
+ }
+ int oldGuestUserId = UserHandle.myUserId();
+ // Using markGuestForDeletion allows us to create a new guest before this one is
+ // fully removed.
+ boolean marked = mUserManager.markGuestForDeletion(oldGuestUserId);
+ if (!marked) {
+ Log.w(TAG, "Couldn't mark the guest for deletion for user " + oldGuestUserId);
+ return;
+ }
+
+ try {
+ // Create a new guest in the foreground, and then immediately switch to it
+ int newGuestUserId = createGuest();
+ if (newGuestUserId == UserHandle.USER_NULL) {
+ Log.e(TAG, "Could not create new guest, switching back to system user");
+ switchToUserId(UserHandle.USER_SYSTEM);
+ mUserManager.removeUser(oldGuestUserId);
+ WindowManagerGlobal.getWindowManagerService().lockNow(/* options= */ null);
+ return;
+ }
+ switchToUserId(newGuestUserId);
+ mUserManager.removeUser(oldGuestUserId);
+ } catch (RemoteException e) {
+ Log.e(TAG, "Couldn't remove guest because ActivityManager or WindowManager is dead");
+ return;
+ }
}
/**
@@ -1009,18 +1192,28 @@
if (context == null) {
return;
}
- final List<UserInfo> users = mUserManager.getAliveUsers();
-
+ final List<UserInfo> users = mUserManager.getAliveUsers()
+ // Only users that can be switched to should show up here.
+ // e.g. Managed profiles appear under Accounts Settings instead
+ .stream().filter(UserInfo::supportsSwitchToByUser)
+ .collect(Collectors.toList());
final ArrayList<Integer> missingIcons = new ArrayList<>();
final ArrayList<UserPreference> userPreferences = new ArrayList<>();
- userPreferences.add(mMePreference);
+
+ // mMePreference shows a icon for current user. However when current user is a guest, we
+ // don't show the guest user icon, instead we show two preferences for guest user to
+ // exit and reset itself. Hence we don't add mMePreference, i.e. guest user to the
+ // list of users visible in the UI.
+ if (!mUserCaps.mIsGuest) {
+ userPreferences.add(mMePreference);
+ }
boolean canOpenUserDetails =
mUserCaps.mIsAdmin || (canSwitchUserNow() && !mUserCaps.mDisallowSwitchUser);
for (UserInfo user : users) {
- if (!user.supportsSwitchToByUser()) {
- // Only users that can be switched to should show up here.
- // e.g. Managed profiles appear under Accounts Settings instead
+ if (user.isGuest()) {
+ // Guest user is added to guest category via updateGuestCategory
+ // and not to user list so skip guest here
continue;
}
UserPreference pref;
@@ -1033,21 +1226,9 @@
pref.setOnPreferenceClickListener(this);
pref.setEnabled(canOpenUserDetails);
pref.setSelectable(true);
-
- if (user.isGuest()) {
- pref.setIcon(getEncircledDefaultIcon());
- pref.setKey(KEY_USER_GUEST);
- if (mUserCaps.mDisallowSwitchUser) {
- pref.setDisabledByAdmin(
- RestrictedLockUtilsInternal.getDeviceOwner(context));
- } else {
- pref.setDisabledByAdmin(null);
- }
- } else {
- pref.setKey("id=" + user.id);
- if (user.isAdmin()) {
- pref.setSummary(R.string.user_admin);
- }
+ pref.setKey("id=" + user.id);
+ if (user.isAdmin()) {
+ pref.setSummary(R.string.user_admin);
}
}
if (pref == null) {
@@ -1102,12 +1283,13 @@
loadIconsAsync(missingIcons);
}
- // If profiles are supported, mUserListCategory will have a special title
+ // If restricted profiles are supported, mUserListCategory will have a special title
if (mUserCaps.mCanAddRestrictedProfile) {
mUserListCategory.setTitle(R.string.user_list_title);
+ } else if (isCurrentUserGuest()) {
+ mUserListCategory.setTitle(R.string.other_user_category_title);
} else {
- mUserListCategory.setTitle(null);
- mUserListCategory.setLayoutResource(R.layout.empty_view);
+ mUserListCategory.setTitle(R.string.user_category_title);
}
// Remove everything from mUserListCategory and add new users.
@@ -1122,8 +1304,8 @@
mMultiUserTopIntroPreferenceController.getPreferenceKey());
mMultiUserTopIntroPreferenceController.updateState(multiUserTopIntroPrefence);
mUserListCategory.setVisible(mUserCaps.mUserSwitcherEnabled);
-
- updateAddGuest(context, users.stream().anyMatch(UserInfo::isGuest));
+ updateGuestPreferences();
+ updateGuestCategory(context, users);
updateAddUser(context);
updateAddSupervisedUser(context);
@@ -1152,14 +1334,130 @@
return mUserManager.getUserSwitchability() == UserManager.SWITCHABILITY_STATUS_OK;
}
- private void updateAddGuest(Context context, boolean isGuestAlreadyCreated) {
+ private void updateGuestPreferences() {
+ // reset guest and exit guest preferences are shown only in guest mode.
+ // For all other users these are not visible.
+ mGuestCategory.setVisible(false);
+ mGuestResetPreference.setVisible(false);
+ mGuestExitPreference.setVisible(false);
+ if (!isCurrentUserGuest()) {
+ return;
+ }
+ mGuestCategory.setVisible(true);
+ mGuestExitPreference.setVisible(true);
+ if (isEnableGuestModeUxChanges()) {
+ mGuestResetPreference.setVisible(true);
+
+ boolean isGuestFirstLogin = Settings.Secure.getIntForUser(
+ getContext().getContentResolver(),
+ SETTING_GUEST_HAS_LOGGED_IN,
+ 0,
+ UserHandle.myUserId()) <= 1;
+ String guestExitSummary;
+ if (mUserCaps.mIsEphemeral) {
+ guestExitSummary = getContext().getString(
+ R.string.guest_notification_ephemeral);
+ } else if (isGuestFirstLogin) {
+ guestExitSummary = getContext().getString(
+ R.string.guest_notification_non_ephemeral);
+ } else {
+ guestExitSummary = getContext().getString(
+ R.string.guest_notification_non_ephemeral_non_first_login);
+ }
+ mGuestExitPreference.setSummary(guestExitSummary);
+ } else {
+ mGuestExitPreference.setIcon(getEncircledDefaultIcon());
+ mGuestExitPreference.setTitle(
+ mGuestUserAutoCreated
+ ? com.android.settingslib.R.string.guest_reset_guest
+ : com.android.settingslib.R.string.guest_exit_guest);
+ }
+ }
+
+ private void updateGuestCategory(Context context, List<UserInfo> users) {
+ // show guest category title and related guest preferences
+ // - if guest is created, then show guest user preference
+ // - if guest is not created and its allowed to create guest,
+ // then show "add guest" preference
+ // - if allowed, show "reset guest on exit" preference
+ // - if there is nothing to show, then make the guest category as not visible
+ // - guest category is not visible for guest user.
+ UserPreference pref = null;
+ boolean isGuestAlreadyCreated = false;
+ boolean canOpenUserDetails =
+ mUserCaps.mIsAdmin || (canSwitchUserNow() && !mUserCaps.mDisallowSwitchUser);
+
+ mGuestUserCategory.removeAll();
+ mGuestUserCategory.setVisible(false);
+ for (UserInfo user : users) {
+ if (!user.isGuest() || !user.isEnabled()) {
+ // Only look at enabled, guest users
+ continue;
+ }
+ final Context prefContext = getPrefContext();
+ pref = new UserPreference(prefContext, null, user.id);
+ pref.setTitle(user.name);
+ pref.setOnPreferenceClickListener(this);
+ pref.setEnabled(canOpenUserDetails);
+ pref.setSelectable(true);
+ if (isEnableGuestModeUxChanges()) {
+ Drawable icon = getContext().getDrawable(R.drawable.ic_account_circle_outline);
+ icon.setTint(
+ getColorAttrDefaultColor(getContext(), android.R.attr.colorControlNormal));
+ pref.setIcon(encircleUserIcon(
+ UserIcons.convertToBitmapAtUserIconSize(
+ getContext().getResources(), icon)));
+ } else {
+ pref.setIcon(getEncircledDefaultIcon());
+ }
+ pref.setKey(KEY_USER_GUEST);
+ pref.setOrder(Preference.DEFAULT_ORDER);
+ if (mUserCaps.mDisallowSwitchUser) {
+ pref.setDisabledByAdmin(
+ RestrictedLockUtilsInternal.getDeviceOwner(context));
+ } else {
+ pref.setDisabledByAdmin(null);
+ }
+ if (mUserCaps.mUserSwitcherEnabled) {
+ mGuestUserCategory.addPreference(pref);
+ // guest user preference is shown hence also make guest category visible
+ mGuestUserCategory.setVisible(true);
+ }
+ isGuestAlreadyCreated = true;
+ }
+ boolean isVisible = updateAddGuestPreference(context, isGuestAlreadyCreated);
+ if (isVisible) {
+ // "add guest" preference is shown hence also make guest category visible
+ mGuestUserCategory.setVisible(true);
+ }
+ final Preference removeGuestOnExit = getPreferenceScreen().findPreference(
+ mRemoveGuestOnExitPreferenceController.getPreferenceKey());
+ mRemoveGuestOnExitPreferenceController.updateState(removeGuestOnExit);
+ if (mRemoveGuestOnExitPreferenceController.isAvailable()) {
+ // "reset guest on exit" preference is shown hence also make guest category visible
+ mGuestUserCategory.setVisible(true);
+ }
+ if (mUserCaps.mIsGuest) {
+ // guest category is not visible for guest user.
+ mGuestUserCategory.setVisible(false);
+ }
+ }
+
+ private boolean updateAddGuestPreference(Context context, boolean isGuestAlreadyCreated) {
+ boolean isVisible = false;
if (!isGuestAlreadyCreated && mUserCaps.mCanAddGuest
&& mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_GUEST)
&& WizardManagerHelper.isDeviceProvisioned(context)
&& mUserCaps.mUserSwitcherEnabled) {
+ isVisible = true;
mAddGuest.setVisible(true);
- Drawable icon = context.getDrawable(R.drawable.ic_account_circle);
- mAddGuest.setIcon(centerAndTint(icon));
+ // when isEnableGuestModeUxChanges() is true, the icon is set via the layout xml
+ // In com.android.settings.users.UserSettingsTest
+ // we disable the check for setIcon being called
+ if (!isEnableGuestModeUxChanges()) {
+ Drawable icon = context.getDrawable(R.drawable.ic_account_circle);
+ mAddGuest.setIcon(centerAndTint(icon));
+ }
mAddGuest.setSelectable(true);
if (mGuestUserAutoCreated && mGuestCreationScheduled.get()) {
mAddGuest.setTitle(com.android.internal.R.string.guest_name);
@@ -1172,19 +1470,26 @@
} else {
mAddGuest.setVisible(false);
}
+ return isVisible;
}
private void updateAddUser(Context context) {
updateAddUserCommon(context, mAddUser, mUserCaps.mCanAddRestrictedProfile);
- Drawable icon = context.getDrawable(R.drawable.ic_account_circle_filled);
- mAddUser.setIcon(centerAndTint(icon));
+ // when isEnableGuestModeUxChanges() is true, the icon is set via the layout xml
+ if (!isEnableGuestModeUxChanges()) {
+ Drawable icon = context.getDrawable(R.drawable.ic_account_circle_filled);
+ mAddUser.setIcon(centerAndTint(icon));
+ }
}
private void updateAddSupervisedUser(Context context) {
if (!TextUtils.isEmpty(mConfigSupervisedUserCreationPackage)) {
updateAddUserCommon(context, mAddSupervisedUser, false);
- Drawable icon = context.getDrawable(R.drawable.ic_add_supervised_user);
- mAddSupervisedUser.setIcon(centerAndTint(icon));
+ // when isEnableGuestModeUxChanges() is true, the icon is set via the layout xml
+ if (!isEnableGuestModeUxChanges()) {
+ Drawable icon = context.getDrawable(R.drawable.ic_add_supervised_user);
+ mAddSupervisedUser.setIcon(centerAndTint(icon));
+ }
} else {
mAddSupervisedUser.setVisible(false);
}
@@ -1265,7 +1570,7 @@
private Drawable getEncircledDefaultIcon() {
if (mDefaultIconDrawable == null) {
- mDefaultIconDrawable = encircle(
+ mDefaultIconDrawable = encircleUserIcon(
getDefaultUserIconAsBitmap(getContext().getResources(), UserHandle.USER_NULL));
}
return mDefaultIconDrawable;
@@ -1274,23 +1579,42 @@
private void setPhotoId(Preference pref, UserInfo user) {
Bitmap bitmap = mUserIcons.get(user.id);
if (bitmap != null) {
- pref.setIcon(encircle(bitmap));
+ pref.setIcon(encircleUserIcon(bitmap));
}
}
@Override
public boolean onPreferenceClick(Preference pref) {
- if (pref == mMePreference) {
- if (isCurrentUserGuest()) {
- if (mGuestUserAutoCreated) {
- showDialog(DIALOG_CONFIRM_RESET_GUEST);
- } else {
- showDialog(DIALOG_CONFIRM_EXIT_GUEST);
+ if (isCurrentUserGuest()) {
+ if (isEnableGuestModeUxChanges()) {
+ if (mGuestResetPreference != null && pref == mGuestResetPreference) {
+ showDialog(DIALOG_CONFIRM_RESET_AND_RESTART_GUEST);
+ return true;
+ }
+ if (mGuestExitPreference != null && pref == mGuestExitPreference) {
+ if (mUserCaps.mIsEphemeral) {
+ showDialog(DIALOG_CONFIRM_EXIT_GUEST_EPHEMERAL);
+ } else {
+ showDialog(DIALOG_CONFIRM_EXIT_GUEST_NON_EPHEMERAL);
+ }
+ return true;
}
} else {
- showDialog(DIALOG_USER_PROFILE_EDITOR);
+ if (mGuestExitPreference != null && pref == mGuestExitPreference) {
+ if (mGuestUserAutoCreated) {
+ showDialog(DIALOG_CONFIRM_REMOVE_GUEST_WITH_AUTO_CREATE);
+ } else {
+ showDialog(DIALOG_CONFIRM_REMOVE_GUEST);
+ }
+ return true;
+ }
}
- return true;
+ }
+ if (pref == mMePreference) {
+ if (!isCurrentUserGuest()) {
+ showDialog(DIALOG_USER_PROFILE_EDITOR);
+ return true;
+ }
} else if (pref instanceof UserPreference) {
UserInfo userInfo = mUserManager.getUserInfo(((UserPreference) pref).getUserId());
openUserDetails(userInfo, false);
@@ -1318,9 +1642,11 @@
return false;
}
- private Drawable encircle(Bitmap icon) {
- Drawable circled = CircleFramedDrawable.getInstance(getActivity(), icon);
- return circled;
+ private Drawable encircleUserIcon(Bitmap icon) {
+ return new CircleFramedDrawable(
+ icon,
+ getActivity().getResources().getDimensionPixelSize(
+ R.dimen.multiple_users_user_icon_size));
}
@Override
diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java
index 6bb4389..33f2827 100644
--- a/src/com/android/settings/wifi/ConfigureWifiSettings.java
+++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java
@@ -15,19 +15,21 @@
*/
package com.android.settings.wifi;
-import static android.content.Context.WIFI_SERVICE;
-
+import android.annotation.Nullable;
import android.app.settings.SettingsEnums;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiManager;
import android.os.Bundle;
-import android.util.FeatureFlagUtils;
+import android.os.UserManager;
+import android.util.EventLog;
import android.util.Log;
+import android.view.View;
+import android.widget.TextView;
+import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
@@ -43,7 +45,8 @@
public class ConfigureWifiSettings extends DashboardFragment {
private static final String TAG = "ConfigureWifiSettings";
- private static final String KEY_INSTALL_CREDENTIALS = "install_credentials";
+ @VisibleForTesting
+ static final String KEY_INSTALL_CREDENTIALS = "install_credentials";
private static final String ACTION_INSTALL_CERTS = "android.credentials.INSTALL";
private static final String PACKAGE_INSTALL_CERTS = "com.android.certinstaller";
private static final String CLASS_INSTALL_CERTS = "com.android.certinstaller.CertInstallerMain";
@@ -53,16 +56,26 @@
public static final int WIFI_WAKEUP_REQUEST_CODE = 600;
private WifiWakeupPreferenceController mWifiWakeupPreferenceController;
- private Preference mCertinstallerPreference;
+
+ @Override
+ public void onAttach(Context context) {
+ super.onAttach(context);
+ if (isGuestUser(context)) return;
+
+ mWifiWakeupPreferenceController = use(WifiWakeupPreferenceController.class);
+ mWifiWakeupPreferenceController.setFragment(this);
+ }
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
getActivity().setTitle(R.string.network_and_internet_preferences_title);
- mCertinstallerPreference = findPreference(KEY_INSTALL_CREDENTIALS);
- if (mCertinstallerPreference != null) {
- mCertinstallerPreference.setOnPreferenceClickListener(preference -> {
+ if (isGuestUser(getContext())) return;
+
+ final Preference installCredentialsPref = findPreference(KEY_INSTALL_CREDENTIALS);
+ if (installCredentialsPref != null) {
+ installCredentialsPref.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(ACTION_INSTALL_CERTS);
intent.setFlags(
Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -78,6 +91,23 @@
}
@Override
+ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ if (!isGuestUser(getContext())) return;
+
+ Log.w(TAG, "Displays the restricted UI because the user is a guest.");
+ EventLog.writeEvent(0x534e4554, "231987122", -1 /* UID */, "User is a guest");
+
+ // Restricted UI
+ final TextView emptyView = getActivity().findViewById(android.R.id.empty);
+ if (emptyView != null) {
+ emptyView.setVisibility(View.VISIBLE);
+ emptyView.setText(R.string.wifi_empty_list_user_restricted);
+ }
+ getPreferenceScreen().removeAll();
+ }
+
+ @Override
public int getMetricsCategory() {
return SettingsEnums.CONFIGURE_WIFI;
}
@@ -94,7 +124,9 @@
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
- final WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
+ if (isGuestUser(context)) return null;
+
+ final WifiManager wifiManager = getSystemService(WifiManager.class);
final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new WifiP2pPreferenceController(context, getSettingsLifecycle(),
wifiManager));
@@ -102,17 +134,8 @@
}
@Override
- public void onAttach(Context context) {
- super.onAttach(context);
-
-
- mWifiWakeupPreferenceController = use(WifiWakeupPreferenceController.class);
- mWifiWakeupPreferenceController.setFragment(this);
- }
-
- @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == WIFI_WAKEUP_REQUEST_CODE) {
+ if (mWifiWakeupPreferenceController != null && requestCode == WIFI_WAKEUP_REQUEST_CODE) {
mWifiWakeupPreferenceController.onActivityResult(requestCode, resultCode);
return;
}
@@ -122,8 +145,16 @@
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.wifi_configure_settings) {
protected boolean isPageSearchEnabled(Context context) {
+ if (isGuestUser(context)) return false;
return context.getResources()
.getBoolean(R.bool.config_show_wifi_settings);
}
};
+
+ private static boolean isGuestUser(Context context) {
+ if (context == null) return false;
+ final UserManager userManager = context.getSystemService(UserManager.class);
+ if (userManager == null) return false;
+ return userManager.isGuestUser();
+ }
}
diff --git a/src/com/android/settings/wifi/WifiDialogActivity.java b/src/com/android/settings/wifi/WifiDialogActivity.java
index 67f291d..8a46c9d 100644
--- a/src/com/android/settings/wifi/WifiDialogActivity.java
+++ b/src/com/android/settings/wifi/WifiDialogActivity.java
@@ -17,6 +17,7 @@
package com.android.settings.wifi;
import static android.Manifest.permission.ACCESS_FINE_LOCATION;
+import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
import android.content.DialogInterface;
import android.content.Intent;
@@ -31,6 +32,7 @@
import android.os.Process;
import android.os.SimpleClock;
import android.os.SystemClock;
+import android.os.UserManager;
import android.text.TextUtils;
import android.util.EventLog;
import android.util.Log;
@@ -115,6 +117,10 @@
}
super.onCreate(savedInstanceState);
+ if (!isConfigWifiAllowed()) {
+ finish();
+ return;
+ }
mIsWifiTrackerLib = !TextUtils.isEmpty(mIntent.getStringExtra(KEY_CHOSEN_WIFIENTRY_KEY));
@@ -361,6 +367,19 @@
}
}
+ @VisibleForTesting
+ boolean isConfigWifiAllowed() {
+ UserManager userManager = getSystemService(UserManager.class);
+ if (userManager == null) return true;
+ final boolean isConfigWifiAllowed = !userManager.hasUserRestriction(DISALLOW_CONFIG_WIFI);
+ if (!isConfigWifiAllowed) {
+ Log.e(TAG, "The user is not allowed to configure Wi-Fi.");
+ EventLog.writeEvent(0x534e4554, "226133034", getApplicationContext().getUserId(),
+ "The user is not allowed to configure Wi-Fi.");
+ }
+ return isConfigWifiAllowed;
+ }
+
private boolean hasWifiManager() {
if (mWifiManager != null) return true;
mWifiManager = getSystemService(WifiManager.class);
diff --git a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java
index 169bcb3..c52f75e 100644
--- a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java
+++ b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java
@@ -18,11 +18,14 @@
import android.app.ActivityManager;
import android.app.IActivityManager;
+import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.RemoteException;
+import android.os.UserManager;
import android.provider.Settings;
import android.text.TextUtils;
+import android.util.EventLog;
import android.util.Log;
import android.view.Gravity;
import android.view.Window;
@@ -85,7 +88,13 @@
}
@VisibleForTesting
- protected boolean showAddNetworksFragment() {
+ boolean showAddNetworksFragment() {
+ if (isGuestUser(getApplicationContext())) {
+ Log.e(TAG, "Guest user is not allowed to configure Wi-Fi!");
+ EventLog.writeEvent(0x534e4554, "224772678", -1 /* UID */, "User is a guest");
+ return false;
+ }
+
if (!isAddWifiConfigAllow()) {
Log.d(TAG, "Not allowed by Enterprise Restriction");
return false;
@@ -130,4 +139,11 @@
boolean isAddWifiConfigAllow() {
return WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(this);
}
+
+ private static boolean isGuestUser(Context context) {
+ if (context == null) return false;
+ final UserManager userManager = context.getSystemService(UserManager.class);
+ if (userManager == null) return false;
+ return userManager.isGuestUser();
+ }
}
diff --git a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
index ecaf9ee..e6f0b31 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
@@ -17,13 +17,16 @@
package com.android.settings.wifi.dpp;
import android.app.settings.SettingsEnums;
+import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
+import android.os.UserManager;
import android.provider.Settings;
+import android.util.EventLog;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
@@ -116,6 +119,13 @@
@Override
protected void handleIntent(Intent intent) {
+ if (isGuestUser(getApplicationContext())) {
+ Log.e(TAG, "Guest user is not allowed to configure Wi-Fi!");
+ EventLog.writeEvent(0x534e4554, "224772890", -1 /* UID */, "User is a guest");
+ finish();
+ return;
+ }
+
String action = intent != null ? intent.getAction() : null;
if (action == null) {
finish();
@@ -185,7 +195,8 @@
}
}
- private void showQrCodeScannerFragment() {
+ @VisibleForTesting
+ void showQrCodeScannerFragment() {
WifiDppQrCodeScannerFragment fragment =
(WifiDppQrCodeScannerFragment) mFragmentManager.findFragmentByTag(
WifiDppUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
@@ -384,4 +395,11 @@
return null;
}
+
+ private static boolean isGuestUser(Context context) {
+ if (context == null) return false;
+ final UserManager userManager = context.getSystemService(UserManager.class);
+ if (userManager == null) return false;
+ return userManager.isGuestUser();
+ }
}
diff --git a/src/com/android/settings/wifi/slice/WifiSlice.java b/src/com/android/settings/wifi/slice/WifiSlice.java
index 76dfab8..2e5524e 100644
--- a/src/com/android/settings/wifi/slice/WifiSlice.java
+++ b/src/com/android/settings/wifi/slice/WifiSlice.java
@@ -34,7 +34,9 @@
import android.net.wifi.WifiManager;
import android.os.Binder;
import android.os.Bundle;
+import android.os.UserManager;
import android.text.TextUtils;
+import android.util.EventLog;
import android.util.Log;
import androidx.annotation.Nullable;
@@ -96,10 +98,18 @@
@Override
public Slice getSlice() {
+ final boolean isWifiEnabled = isWifiEnabled();
+ // If user is a guest just return a slice without a toggle.
+ if (isGuestUser(mContext)) {
+ Log.e(TAG, "Guest user is not allowed to configure Wi-Fi!");
+ EventLog.writeEvent(0x534e4554, "232798363", -1 /* UID */, "User is a guest");
+ return getListBuilder(isWifiEnabled, null /* wifiSliceItem */,
+ false /* isWiFiPermissionGranted */).build();
+ }
+
// If external calling package doesn't have Wi-Fi permission.
final boolean isPermissionGranted =
Utils.isSettingsIntelligence(mContext) || isPermissionGranted(mContext);
- final boolean isWifiEnabled = isWifiEnabled();
ListBuilder listBuilder = getListBuilder(isWifiEnabled, null /* wifiSliceItem */,
isPermissionGranted);
// If the caller doesn't have the permission granted, just return a slice without a toggle.
@@ -139,6 +149,13 @@
return listBuilder.build();
}
+ protected static boolean isGuestUser(Context context) {
+ if (context == null) return false;
+ final UserManager userManager = context.getSystemService(UserManager.class);
+ if (userManager == null) return false;
+ return userManager.isGuestUser();
+ }
+
private static boolean isPermissionGranted(Context settingsContext) {
final int callingUid = Binder.getCallingUid();
final String callingPackage = settingsContext.getPackageManager()
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
index 03b3a47..a75663b 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
@@ -40,8 +40,8 @@
import androidx.preference.PreferenceScreen;
import com.android.settings.SettingsActivity;
-import com.android.settings.fuelgauge.BatteryDiffEntry;
import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry;
import com.android.settingslib.applications.ApplicationsState;
import org.junit.Before;
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
index 3fa306f..86829b4 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
@@ -109,6 +109,7 @@
/* deviceProfile */ "",
/* selfManaged */ false,
/* notifyOnDeviceNearby */ true,
+ /* revoked */ false,
/* timeApprovedMs */ System.currentTimeMillis(),
/* lastTimeConnected */ Long.MAX_VALUE);
diff --git a/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
index eb29b7c..f2ba580 100644
--- a/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
@@ -22,9 +22,13 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.app.time.Capabilities;
+import android.app.time.TimeManager;
+import android.app.time.TimeZoneCapabilities;
+import android.app.time.TimeZoneCapabilitiesAndConfig;
+import android.app.time.TimeZoneConfiguration;
import android.content.Context;
-import android.provider.Settings;
-import android.telephony.TelephonyManager;
+import android.os.UserHandle;
import androidx.preference.Preference;
@@ -32,6 +36,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
+import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
@@ -46,7 +51,7 @@
private AutoTimeZonePreferenceController mController;
private Preference mPreference;
@Mock
- private TelephonyManager mTelephonyManager;
+ private TimeManager mTimeManager;
@Before
public void setUp() {
@@ -55,12 +60,15 @@
mPreference = new Preference(mContext);
- when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
- when(mTelephonyManager.isDataCapable()).thenReturn(true);
+ when(mContext.getSystemService(TimeManager.class)).thenReturn(mTimeManager);
}
@Test
public void isFromSUW_notAvailable() {
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* autoSupported= */true, /* autoEnabled= */false);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
mController = new AutoTimeZonePreferenceController(
mContext, null /* callback */, true /* isFromSUW */);
@@ -69,6 +77,10 @@
@Test
public void notFromSUW_isAvailable() {
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* autoSupported= */true, /* autoEnabled= */false);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
mController = new AutoTimeZonePreferenceController(
mContext, null /* callback */, false /* isFromSUW */);
@@ -76,8 +88,11 @@
}
@Test
- public void isWifiOnly_notAvailable() {
- when(mTelephonyManager.isDataCapable()).thenReturn(false);
+ public void autoTimeZoneNotSupported_notAvailable() {
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* autoSupported= */false, /* autoEnabled= */false);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
mController = new AutoTimeZonePreferenceController(
mContext, null /* callback */, false /* fromSUW */);
@@ -86,54 +101,134 @@
@Test
public void isFromSUW_notEnable() {
- mController =
- new AutoTimeZonePreferenceController(mContext, null /* callback */, true /* fromSUW */);
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* autoSupported= */false, /* autoEnabled= */false);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
+ mController = new AutoTimeZonePreferenceController(
+ mContext, null /* callback */, true /* fromSUW */);
assertThat(mController.isEnabled()).isFalse();
}
@Test
- public void isWifiOnly_notEnable() {
- when(mTelephonyManager.isDataCapable()).thenReturn(false);
+ public void isFromSUW_isEnable() {
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* autoSupported= */false, /* autoEnabled= */true);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
mController = new AutoTimeZonePreferenceController(
- mContext, null /* callback */, false /* fromSUW */);
+ mContext, null /* callback */, true /* fromSUW */);
- assertThat(mController.isEnabled()).isFalse();
- }
-
- @Test
- public void testIsEnabled_shouldReadFromSettingsProvider() {
- mController = new AutoTimeZonePreferenceController(
- mContext, null /* callback */, false /* fromSUW */);
-
- // Disabled
- Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AUTO_TIME_ZONE, 0);
- assertThat(mController.isEnabled()).isFalse();
-
- // Enabled
- Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AUTO_TIME_ZONE, 1);
assertThat(mController.isEnabled()).isTrue();
}
@Test
+ public void autoTimeZoneNotSupported_notEnable() {
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* autoSupported= */false, /* autoEnabled= */false);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
+ mController = new AutoTimeZonePreferenceController(
+ mContext, null /* callback */, false /* fromSUW */);
+
+ assertThat(mController.isEnabled()).isFalse();
+ }
+
+ @Test
+ public void testIsEnabled_shouldReadFromTimeManagerConfig() {
+ mController = new AutoTimeZonePreferenceController(
+ mContext, null /* callback */, false /* fromSUW */);
+
+ {
+ // Disabled
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* autoSupported= */true, /* autoEnabled= */false);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
+ assertThat(mController.isEnabled()).isFalse();
+ }
+
+ {
+ // Enabled
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* autoSupported= */true, /* autoEnabled= */true);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
+ assertThat(mController.isEnabled()).isTrue();
+ }
+ }
+
+ @Test
public void updatePreferenceChange_prefIsChecked_shouldUpdatePreferenceAndNotifyCallback() {
- mController =
- new AutoTimeZonePreferenceController(mContext, mCallback, false /* fromSUW */);
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* autoSupported= */true, /* autoEnabled= */false);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+ when(mTimeManager.updateTimeZoneConfiguration(Mockito.any())).thenReturn(true);
- mController.onPreferenceChange(mPreference, true);
+ mController = new AutoTimeZonePreferenceController(
+ mContext, mCallback, false /* fromSUW */);
+
+ assertThat(mController.onPreferenceChange(mPreference, true)).isTrue();
+ verify(mCallback).updateTimeAndDateDisplay(mContext);
+
+ // Check the service was asked to change the configuration correctly.
+ TimeZoneConfiguration timeZoneConfiguration = new TimeZoneConfiguration.Builder()
+ .setAutoDetectionEnabled(true)
+ .build();
+ verify(mTimeManager).updateTimeZoneConfiguration(timeZoneConfiguration);
+
+ // Update the mTimeManager mock so that it now returns the expected updated config.
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfigAfterUpdate =
+ createCapabilitiesAndConfig(/* autoSupported= */true, /* autoEnabled= */true);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig())
+ .thenReturn(capabilitiesAndConfigAfterUpdate);
assertThat(mController.isEnabled()).isTrue();
- verify(mCallback).updateTimeAndDateDisplay(mContext);
}
@Test
public void updatePreferenceChange_prefIsUnchecked_shouldUpdatePreferenceAndNotifyCallback() {
- mController =
- new AutoTimeZonePreferenceController(mContext, mCallback, false /* fromSUW */);
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* autoSupported= */true, /* autoEnabled= */true);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+ when(mTimeManager.updateTimeZoneConfiguration(Mockito.any())).thenReturn(true);
- mController.onPreferenceChange(mPreference, false);
+ mController = new AutoTimeZonePreferenceController(
+ mContext, mCallback, false /* fromSUW */);
+
+ assertThat(mController.onPreferenceChange(mPreference, false)).isTrue();
+ verify(mCallback).updateTimeAndDateDisplay(mContext);
+
+ // Check the service was asked to change the configuration correctly.
+ TimeZoneConfiguration timeZoneConfiguration = new TimeZoneConfiguration.Builder()
+ .setAutoDetectionEnabled(false)
+ .build();
+ verify(mTimeManager).updateTimeZoneConfiguration(timeZoneConfiguration);
+
+ // Update the mTimeManager mock so that it now returns the expected updated config.
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfigAfterUpdate =
+ createCapabilitiesAndConfig(/* autoSupported= */true, /* autoEnabled= */false);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig())
+ .thenReturn(capabilitiesAndConfigAfterUpdate);
assertThat(mController.isEnabled()).isFalse();
- verify(mCallback).updateTimeAndDateDisplay(mContext);
+ }
+
+ private static TimeZoneCapabilitiesAndConfig createCapabilitiesAndConfig(
+ boolean autoSupported, boolean autoEnabled) {
+ int configureAutoDetectionEnabledCapability =
+ autoSupported ? Capabilities.CAPABILITY_POSSESSED
+ : Capabilities.CAPABILITY_NOT_SUPPORTED;
+ TimeZoneCapabilities capabilities = new TimeZoneCapabilities.Builder(UserHandle.SYSTEM)
+ .setConfigureAutoDetectionEnabledCapability(configureAutoDetectionEnabledCapability)
+ .setConfigureGeoDetectionEnabledCapability(Capabilities.CAPABILITY_NOT_SUPPORTED)
+ .setSuggestManualTimeZoneCapability(Capabilities.CAPABILITY_POSSESSED)
+ .build();
+ TimeZoneConfiguration config = new TimeZoneConfiguration.Builder()
+ .setAutoDetectionEnabled(autoEnabled)
+ .setGeoDetectionEnabled(false)
+ .build();
+ return new TimeZoneCapabilitiesAndConfig(capabilities, config);
}
}
diff --git a/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java
index f94e8d1..6767b4e 100644
--- a/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java
@@ -22,7 +22,13 @@
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
+import android.app.time.Capabilities;
+import android.app.time.TimeManager;
+import android.app.time.TimeZoneCapabilities;
+import android.app.time.TimeZoneCapabilitiesAndConfig;
+import android.app.time.TimeZoneConfiguration;
import android.content.Context;
+import android.os.UserHandle;
import com.android.settingslib.RestrictedPreference;
@@ -38,8 +44,7 @@
public class TimeZonePreferenceControllerTest {
@Mock
- private AutoTimeZonePreferenceController mAutoTimeZonePreferenceController;
-
+ private TimeManager mTimeManager;
private Context mContext;
private TimeZonePreferenceController mController;
private RestrictedPreference mPreference;
@@ -47,10 +52,14 @@
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
+
+ mContext = spy(RuntimeEnvironment.application);
+ doReturn(mTimeManager).when(mContext).getSystemService(TimeManager.class);
+
mPreference = new RestrictedPreference(mContext);
- mController = spy(new TimeZonePreferenceController(mContext,
- mAutoTimeZonePreferenceController));
+
+ mController = spy(new TimeZonePreferenceController(mContext));
+ doReturn("test timezone").when(mController).getTimeZoneOffsetAndName();
}
@Test
@@ -59,26 +68,46 @@
}
@Test
- public void updateState_autoTimeZoneEnabled_shouldDisablePref() {
+ public void updateState_suggestManualNotAllowed_shouldDisablePref() {
// Make sure not disabled by admin.
mPreference.setDisabledByAdmin(null);
- doReturn("test timezone").when(mController).getTimeZoneOffsetAndName();
- when(mAutoTimeZonePreferenceController.isEnabled()).thenReturn(true);
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* suggestManualAllowed= */false);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
mController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isFalse();
}
@Test
- public void updateState_autoTimeZoneDisabled_shouldEnablePref() {
+ public void updateState_suggestManualAllowed_shouldEnablePref() {
// Make sure not disabled by admin.
mPreference.setDisabledByAdmin(null);
- doReturn("test timezone").when(mController).getTimeZoneOffsetAndName();
- when(mAutoTimeZonePreferenceController.isEnabled()).thenReturn(false);
+ TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+ /* suggestManualAllowed= */true);
+ when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
mController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isTrue();
}
+
+ private static TimeZoneCapabilitiesAndConfig createCapabilitiesAndConfig(
+ boolean suggestManualAllowed) {
+ int suggestManualCapability = suggestManualAllowed ? Capabilities.CAPABILITY_POSSESSED
+ : Capabilities.CAPABILITY_NOT_SUPPORTED;
+ TimeZoneCapabilities capabilities = new TimeZoneCapabilities.Builder(UserHandle.SYSTEM)
+ .setConfigureAutoDetectionEnabledCapability(Capabilities.CAPABILITY_POSSESSED)
+ .setConfigureGeoDetectionEnabledCapability(Capabilities.CAPABILITY_NOT_SUPPORTED)
+ .setSuggestManualTimeZoneCapability(suggestManualCapability)
+ .build();
+ TimeZoneConfiguration config = new TimeZoneConfiguration.Builder()
+ .setAutoDetectionEnabled(!suggestManualAllowed)
+ .setGeoDetectionEnabled(false)
+ .build();
+ return new TimeZoneCapabilitiesAndConfig(capabilities, config);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index 269c810..b06932a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -45,7 +45,6 @@
import android.os.Bundle;
import android.os.Process;
import android.os.UserHandle;
-import android.util.Pair;
import androidx.fragment.app.FragmentActivity;
import androidx.loader.app.LoaderManager;
@@ -54,6 +53,7 @@
import com.android.settings.R;
import com.android.settings.SettingsActivity;
+import com.android.settings.fuelgauge.batteryusage.BatteryEntry;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowActivityManager;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java
index ca1797a..14bbeea 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java
@@ -25,6 +25,7 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
@@ -48,6 +49,7 @@
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserManager;
+import android.util.ArraySet;
import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
@@ -193,7 +195,7 @@
doReturn(Arrays.asList(userInfo)).when(mUserManager).getProfiles(anyInt());
doThrow(new RuntimeException())
.when(mIPackageManager)
- .getInstalledApplications(anyInt(), anyInt());
+ .getInstalledApplications(anyLong(), anyInt());
mBatteryBackupHelper.backupOptimizationMode(mBackupDataOutput, null);
@@ -369,7 +371,7 @@
doReturn(new ParceledListSlice<ApplicationInfo>(
Arrays.asList(applicationInfo1, applicationInfo2, applicationInfo3)))
.when(mIPackageManager)
- .getInstalledApplications(anyInt(), anyInt());
+ .getInstalledApplications(anyLong(), anyInt());
// Sets the AppOpsManager for checkOpNoThrow() method.
doReturn(AppOpsManager.MODE_ALLOWED)
.when(mAppOpsManager)
@@ -384,7 +386,7 @@
applicationInfo2.uid,
applicationInfo2.packageName);
mBatteryBackupHelper.mTestApplicationInfoList =
- Arrays.asList(applicationInfo1, applicationInfo2, applicationInfo3);
+ new ArraySet<>(Arrays.asList(applicationInfo1, applicationInfo2, applicationInfo3));
}
@Implements(UserHandle.class)
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
index c154f42..b223d0b 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
@@ -22,26 +22,43 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;
import android.app.AppOpsManager;
import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
+import android.content.pm.ParceledListSlice;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+import android.util.ArraySet;
import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.InOrder;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
+import java.util.Arrays;
import java.util.concurrent.TimeUnit;
@RunWith(RobolectricTestRunner.class)
@@ -50,9 +67,11 @@
private static final int UID = 12345;
private static final String PACKAGE_NAME = "com.android.app";
- @Mock BatteryUtils mMockBatteryUtils;
- @Mock AppOpsManager mMockAppOpsManager;
- @Mock PowerAllowlistBackend mMockBackend;
+ @Mock private BatteryUtils mMockBatteryUtils;
+ @Mock private AppOpsManager mMockAppOpsManager;
+ @Mock private PowerAllowlistBackend mMockBackend;
+ @Mock private IPackageManager mMockIPackageManager;
+ @Mock private UserManager mMockUserManager;
private Context mContext;
private BatteryOptimizeUtils mBatteryOptimizeUtils;
@@ -68,6 +87,7 @@
// Sets the default mode as MODE_RESTRICTED.
mBatteryOptimizeUtils.mMode = AppOpsManager.MODE_IGNORED;
mBatteryOptimizeUtils.mAllowListed = false;
+ doReturn(mMockUserManager).when(mContext).getSystemService(UserManager.class);
}
@Test
@@ -135,9 +155,7 @@
mBatteryOptimizeUtils.setAppUsageState(MODE_RESTRICTED);
TimeUnit.SECONDS.sleep(1);
- verify(mMockBatteryUtils).setForceAppStandby(UID,
- PACKAGE_NAME, AppOpsManager.MODE_IGNORED);
- verify(mMockBackend).removeApp(PACKAGE_NAME);
+ verifySetAppOptimizationMode(AppOpsManager.MODE_IGNORED, /* allowListed */ false);
}
@Test
@@ -145,9 +163,7 @@
mBatteryOptimizeUtils.setAppUsageState(MODE_UNRESTRICTED);
TimeUnit.SECONDS.sleep(1);
- verify(mMockBatteryUtils).setForceAppStandby(UID,
- PACKAGE_NAME, AppOpsManager.MODE_ALLOWED);
- verify(mMockBackend).addApp(PACKAGE_NAME);
+ verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ true);
}
@Test
@@ -155,9 +171,7 @@
mBatteryOptimizeUtils.setAppUsageState(MODE_OPTIMIZED);
TimeUnit.SECONDS.sleep(1);
- verify(mMockBatteryUtils).setForceAppStandby(UID,
- PACKAGE_NAME, AppOpsManager.MODE_ALLOWED);
- verify(mMockBackend).removeApp(PACKAGE_NAME);
+ verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
}
@Test
@@ -172,4 +186,148 @@
verifyZeroInteractions(mMockBackend);
verifyZeroInteractions(mMockBatteryUtils);
}
+
+ @Test
+ public void testGetInstalledApplications_returnEmptyArray() {
+ assertTrue(BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager)
+ .isEmpty());
+ }
+
+ @Test
+ public void testGetInstalledApplications_returnNull() throws Exception {
+ final UserInfo userInfo =
+ new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+ doReturn(Arrays.asList(userInfo)).when(mMockUserManager).getProfiles(anyInt());
+ doThrow(new RuntimeException())
+ .when(mMockIPackageManager)
+ .getInstalledApplications(anyLong(), anyInt());
+
+ assertNull(BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager));
+ }
+
+ @Test
+ public void testGetInstalledApplications_returnInstalledApps() throws Exception {
+ final UserInfo userInfo =
+ new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+ doReturn(Arrays.asList(userInfo)).when(mMockUserManager).getProfiles(anyInt());
+
+ final ApplicationInfo applicationInfo1 = new ApplicationInfo();
+ applicationInfo1.enabled = true;
+ applicationInfo1.uid = 1;
+ final ApplicationInfo applicationInfo2 = new ApplicationInfo();
+ applicationInfo2.enabled = false;
+ applicationInfo2.uid = 2;
+ applicationInfo2.enabledSetting = PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER;
+ final ApplicationInfo applicationInfo3 = new ApplicationInfo();
+ applicationInfo3.enabled = false;
+ applicationInfo3.uid = 3;
+ applicationInfo3.enabledSetting = PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
+ final ApplicationInfo applicationInfo4 = new ApplicationInfo();
+ applicationInfo4.enabled = true;
+ applicationInfo4.uid = 4;
+ applicationInfo4.enabledSetting = PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER;
+ doReturn(new ParceledListSlice<ApplicationInfo>(
+ Arrays.asList(applicationInfo1, applicationInfo2, applicationInfo3, applicationInfo4)))
+ .when(mMockIPackageManager)
+ .getInstalledApplications(anyLong(), anyInt());
+
+ final ArraySet<ApplicationInfo> applications =
+ BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager);
+ assertThat(applications.size()).isEqualTo(3);
+ // applicationInfo3 should be filtered.
+ assertTrue(applications.contains(applicationInfo1));
+ assertTrue(applications.contains(applicationInfo2));
+ assertFalse(applications.contains(applicationInfo3));
+ assertTrue(applications.contains(applicationInfo4));
+ }
+
+ @Test
+ public void testResetAppOptimizationMode_Optimized_verifyAction() throws Exception {
+ runTestForResetWithMode(
+ AppOpsManager.MODE_ALLOWED, /* allowListed */ false,
+ /* isSystemOrDefaultApp */ false);
+
+ verifyZeroInteractions(mMockBatteryUtils);
+
+ final InOrder inOrder = inOrder(mMockBackend);
+ inOrder.verify(mMockBackend).refreshList();
+ inOrder.verify(mMockBackend).isAllowlisted(PACKAGE_NAME);
+ verifyNoMoreInteractions(mMockBackend);
+ }
+
+ @Test
+ public void testResetAppOptimizationMode_SystemOrDefault_verifyAction() throws Exception {
+ runTestForResetWithMode(
+ AppOpsManager.MODE_ALLOWED, /* allowListed */ true,
+ /* isSystemOrDefaultApp */ true);
+
+ verifyZeroInteractions(mMockBatteryUtils);
+
+ final InOrder inOrder = inOrder(mMockBackend);
+ inOrder.verify(mMockBackend).refreshList();
+ inOrder.verify(mMockBackend).isAllowlisted(PACKAGE_NAME);
+ inOrder.verify(mMockBackend).isSysAllowlisted(PACKAGE_NAME);
+ verifyNoMoreInteractions(mMockBackend);
+ }
+
+ @Test
+ public void testResetAppOptimizationMode_Restricted_verifyAction() throws Exception {
+ runTestForResetWithMode(
+ AppOpsManager.MODE_IGNORED, /* allowListed */ false,
+ /* isSystemOrDefaultApp */ false);
+
+ verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
+ }
+
+ @Test
+ public void testResetAppOptimizationMode_Unrestricted_verifyAction() throws Exception {
+ runTestForResetWithMode(
+ AppOpsManager.MODE_ALLOWED, /* allowListed */ true,
+ /* isSystemOrDefaultApp */ false);
+
+ verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
+ }
+
+ private void runTestForResetWithMode(
+ int appStandbyMode, boolean allowListed, boolean isSystemOrDefaultApp)
+ throws Exception {
+ final UserInfo userInfo =
+ new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+ doReturn(Arrays.asList(userInfo)).when(mMockUserManager).getProfiles(anyInt());
+ final ApplicationInfo applicationInfo = new ApplicationInfo();
+ applicationInfo.uid = UID;
+ applicationInfo.packageName = PACKAGE_NAME;
+ applicationInfo.enabled = true;
+ doReturn(new ParceledListSlice<ApplicationInfo>(
+ Arrays.asList(applicationInfo)))
+ .when(mMockIPackageManager)
+ .getInstalledApplications(anyLong(), anyInt());
+
+ doReturn(appStandbyMode)
+ .when(mMockAppOpsManager)
+ .checkOpNoThrow(anyInt(), anyInt(), anyString());
+ doReturn(allowListed)
+ .when(mMockBackend)
+ .isAllowlisted(anyString());
+ doReturn(isSystemOrDefaultApp)
+ .when(mMockBackend)
+ .isSysAllowlisted(anyString());
+ doReturn(isSystemOrDefaultApp)
+ .when(mMockBackend)
+ .isDefaultActiveApp(anyString());
+
+ BatteryOptimizeUtils.resetAppOptimizationMode(
+ mContext, mMockIPackageManager, mMockAppOpsManager, mMockBackend,
+ mMockBatteryUtils);
+ TimeUnit.SECONDS.sleep(1);
+ }
+
+ private void verifySetAppOptimizationMode(int appStandbyMode, boolean allowListed) {
+ verify(mMockBatteryUtils).setForceAppStandby(UID, PACKAGE_NAME, appStandbyMode);
+ if (allowListed) {
+ verify(mMockBackend).addApp(PACKAGE_NAME);
+ } else {
+ verify(mMockBackend).removeApp(PACKAGE_NAME);
+ }
+ }
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
index d4c4406..66a5e7f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryAppListPreferenceControllerTest.java
similarity index 95%
rename from tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryAppListPreferenceControllerTest.java
index 46773c9..da397fd 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryAppListPreferenceControllerTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
@@ -35,6 +35,7 @@
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.core.InstrumentedPreferenceFragment;
+import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
@@ -81,9 +82,9 @@
when(mContext.getPackageManager()).thenReturn(mPackageManager);
when(mContext.getApplicationContext()).thenReturn(mContext);
when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
- when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[] {});
+ when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[]{});
when(mFeatureFactory.powerUsageFeatureProvider.getHideApplicationSummary(mContext))
- .thenReturn(new String[] {"com.android.googlequicksearchbox"});
+ .thenReturn(new String[]{"com.android.googlequicksearchbox"});
mPreference = new PowerGaugePreference(mContext);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
similarity index 75%
rename from tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
index 1d74491..75b7fe1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,22 +14,20 @@
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyLong;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
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.content.Context;
import android.content.ContentValues;
+import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
@@ -37,15 +35,14 @@
import android.os.Bundle;
import android.os.LocaleList;
import android.text.format.DateUtils;
-import android.util.Pair;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceGroup;
-import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.core.InstrumentedPreferenceFragment;
+import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -58,11 +55,10 @@
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
-import java.util.Arrays;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Locale;
-import java.util.List;
import java.util.Map;
@RunWith(RobolectricTestRunner.class)
@@ -70,20 +66,24 @@
private static final String PREF_KEY = "pref_key";
private static final String PREF_SUMMARY = "fake preference summary";
private static final int DESIRED_HISTORY_SIZE =
- BatteryChartPreferenceController.DESIRED_HISTORY_SIZE;
+ BatteryChartPreferenceController.DESIRED_HISTORY_SIZE;
- @Mock private InstrumentedPreferenceFragment mFragment;
- @Mock private SettingsActivity mSettingsActivity;
- @Mock private PreferenceGroup mAppListGroup;
- @Mock private PackageManager mPackageManager;
- @Mock private Drawable mDrawable;
- @Mock private BatteryHistEntry mBatteryHistEntry;
- @Mock private BatteryChartView mBatteryChartView;
- @Mock private PowerGaugePreference mPowerGaugePreference;
- @Mock private ExpandDividerPreference mExpandDividerPreference;
- @Mock private BatteryUtils mBatteryUtils;
- @Mock private Configuration mConfiguration;
- @Mock private Resources mResources;
+ @Mock
+ private InstrumentedPreferenceFragment mFragment;
+ @Mock
+ private SettingsActivity mSettingsActivity;
+ @Mock
+ private PreferenceGroup mAppListGroup;
+ @Mock
+ private Drawable mDrawable;
+ @Mock
+ private BatteryHistEntry mBatteryHistEntry;
+ @Mock
+ private BatteryChartView mBatteryChartView;
+ @Mock
+ private PowerGaugePreference mPowerGaugePreference;
+ @Mock
+ private BatteryUtils mBatteryUtils;
private Context mContext;
private FakeFeatureFactory mFeatureFactory;
@@ -102,29 +102,29 @@
final Resources resources = spy(mContext.getResources());
resources.getConfiguration().setLocales(new LocaleList(new Locale("en_US")));
doReturn(resources).when(mContext).getResources();
- doReturn(new String[] {"com.android.googlequicksearchbox"})
- .when(mFeatureFactory.powerUsageFeatureProvider)
- .getHideApplicationSummary(mContext);
- doReturn(new String[] {"com.android.gms.persistent"})
- .when(mFeatureFactory.powerUsageFeatureProvider)
- .getHideApplicationEntries(mContext);
+ doReturn(new String[]{"com.android.googlequicksearchbox"})
+ .when(mFeatureFactory.powerUsageFeatureProvider)
+ .getHideApplicationSummary(mContext);
+ doReturn(new String[]{"com.android.gms.persistent"})
+ .when(mFeatureFactory.powerUsageFeatureProvider)
+ .getHideApplicationEntries(mContext);
mBatteryChartPreferenceController = createController();
mBatteryChartPreferenceController.mPrefContext = mContext;
mBatteryChartPreferenceController.mAppListPrefGroup = mAppListGroup;
mBatteryChartPreferenceController.mBatteryChartView = mBatteryChartView;
mBatteryDiffEntry = new BatteryDiffEntry(
- mContext,
- /*foregroundUsageTimeInMs=*/ 1,
- /*backgroundUsageTimeInMs=*/ 2,
- /*consumePower=*/ 3,
- mBatteryHistEntry);
+ mContext,
+ /*foregroundUsageTimeInMs=*/ 1,
+ /*backgroundUsageTimeInMs=*/ 2,
+ /*consumePower=*/ 3,
+ mBatteryHistEntry);
mBatteryDiffEntry = spy(mBatteryDiffEntry);
// Adds fake testing data.
BatteryDiffEntry.sResourceCache.put(
- "fakeBatteryDiffEntryKey",
- new BatteryEntry.NameAndIcon("fakeName", /*icon=*/ null, /*iconId=*/ 1));
+ "fakeBatteryDiffEntryKey",
+ new BatteryEntry.NameAndIcon("fakeName", /*icon=*/ null, /*iconId=*/ 1));
mBatteryChartPreferenceController.setBatteryHistoryMap(
- createBatteryHistoryMap());
+ createBatteryHistoryMap());
}
@Test
@@ -151,7 +151,7 @@
public void testOnDestroy_clearPreferenceCache() {
// Ensures the testing environment is correct.
mBatteryChartPreferenceController.mPreferenceCache.put(
- PREF_KEY, mPowerGaugePreference);
+ PREF_KEY, mPowerGaugePreference);
assertThat(mBatteryChartPreferenceController.mPreferenceCache).hasSize(1);
mBatteryChartPreferenceController.onDestroy();
@@ -168,19 +168,19 @@
@Test
public void testSetBatteryHistoryMap_createExpectedKeysAndLevels() {
mBatteryChartPreferenceController.setBatteryHistoryMap(
- createBatteryHistoryMap());
+ createBatteryHistoryMap());
// Verifies the created battery keys array.
for (int index = 0; index < DESIRED_HISTORY_SIZE; index++) {
assertThat(mBatteryChartPreferenceController.mBatteryHistoryKeys[index])
- // These values is are calculated by hand from createBatteryHistoryMap().
- .isEqualTo(index + 1);
+ // These values is are calculated by hand from createBatteryHistoryMap().
+ .isEqualTo(index + 1);
}
// Verifies the created battery levels array.
for (int index = 0; index < 13; index++) {
assertThat(mBatteryChartPreferenceController.mBatteryHistoryLevels[index])
- // These values is are calculated by hand from createBatteryHistoryMap().
- .isEqualTo(100 - index * 2);
+ // These values is are calculated by hand from createBatteryHistoryMap().
+ .isEqualTo(100 - index * 2);
}
assertThat(mBatteryChartPreferenceController.mBatteryIndexedMap).hasSize(13);
}
@@ -188,19 +188,19 @@
@Test
public void testSetBatteryHistoryMap_largeSize_createExpectedKeysAndLevels() {
mBatteryChartPreferenceController.setBatteryHistoryMap(
- createBatteryHistoryMap());
+ createBatteryHistoryMap());
// Verifies the created battery keys array.
for (int index = 0; index < DESIRED_HISTORY_SIZE; index++) {
- assertThat(mBatteryChartPreferenceController.mBatteryHistoryKeys[index])
- // These values is are calculated by hand from createBatteryHistoryMap().
- .isEqualTo(index + 1);
+ assertThat(mBatteryChartPreferenceController.mBatteryHistoryKeys[index])
+ // These values is are calculated by hand from createBatteryHistoryMap().
+ .isEqualTo(index + 1);
}
// Verifies the created battery levels array.
for (int index = 0; index < 13; index++) {
- assertThat(mBatteryChartPreferenceController.mBatteryHistoryLevels[index])
- // These values is are calculated by hand from createBatteryHistoryMap().
- .isEqualTo(100 - index * 2);
+ assertThat(mBatteryChartPreferenceController.mBatteryHistoryLevels[index])
+ // These values is are calculated by hand from createBatteryHistoryMap().
+ .isEqualTo(100 - index * 2);
}
assertThat(mBatteryChartPreferenceController.mBatteryIndexedMap).hasSize(13);
}
@@ -209,14 +209,14 @@
public void testRefreshUi_batteryIndexedMapIsNull_ignoreRefresh() {
mBatteryChartPreferenceController.setBatteryHistoryMap(null);
assertThat(mBatteryChartPreferenceController.refreshUi(
- /*trapezoidIndex=*/ 1, /*isForce=*/ false)).isFalse();
+ /*trapezoidIndex=*/ 1, /*isForce=*/ false)).isFalse();
}
@Test
public void testRefreshUi_batteryChartViewIsNull_ignoreRefresh() {
mBatteryChartPreferenceController.mBatteryChartView = null;
assertThat(mBatteryChartPreferenceController.refreshUi(
- /*trapezoidIndex=*/ 1, /*isForce=*/ false)).isFalse();
+ /*trapezoidIndex=*/ 1, /*isForce=*/ false)).isFalse();
}
@Test
@@ -224,7 +224,7 @@
final int trapezoidIndex = 1;
mBatteryChartPreferenceController.mTrapezoidIndex = trapezoidIndex;
assertThat(mBatteryChartPreferenceController.refreshUi(
- trapezoidIndex, /*isForce=*/ false)).isFalse();
+ trapezoidIndex, /*isForce=*/ false)).isFalse();
}
@Test
@@ -232,18 +232,18 @@
final int trapezoidIndex = 1;
mBatteryChartPreferenceController.mTrapezoidIndex = trapezoidIndex;
assertThat(mBatteryChartPreferenceController.refreshUi(
- trapezoidIndex, /*isForce=*/ true)).isTrue();
+ trapezoidIndex, /*isForce=*/ true)).isTrue();
}
@Test
public void testForceRefreshUi_updateTrapezoidIndexIntoSelectAll() {
mBatteryChartPreferenceController.mTrapezoidIndex =
- BatteryChartView.SELECTED_INDEX_INVALID;
+ BatteryChartView.SELECTED_INDEX_INVALID;
mBatteryChartPreferenceController.setBatteryHistoryMap(
- createBatteryHistoryMap());
+ createBatteryHistoryMap());
assertThat(mBatteryChartPreferenceController.mTrapezoidIndex)
- .isEqualTo(BatteryChartView.SELECTED_INDEX_ALL);
+ .isEqualTo(BatteryChartView.SELECTED_INDEX_ALL);
}
@Test
@@ -252,7 +252,7 @@
doReturn(0).when(mAppListGroup).getPreferenceCount();
mBatteryChartPreferenceController.refreshUi(
- trapezoidIndex, /*isForce=*/ true);
+ trapezoidIndex, /*isForce=*/ true);
verify(mAppListGroup, never()).removeAll();
}
@@ -266,17 +266,17 @@
assertThat(mBatteryChartPreferenceController.mPreferenceCache).isEmpty();
mBatteryChartPreferenceController.refreshUi(
- trapezoidIndex, /*isForce=*/ true);
+ trapezoidIndex, /*isForce=*/ true);
assertThat(mBatteryChartPreferenceController.mPreferenceCache.get(PREF_KEY))
- .isEqualTo(mPowerGaugePreference);
+ .isEqualTo(mPowerGaugePreference);
verify(mAppListGroup).removeAll();
}
@Test
public void testAddPreferenceToScreen_emptyContent_ignoreAddPreference() {
mBatteryChartPreferenceController.addPreferenceToScreen(
- new ArrayList<BatteryDiffEntry>());
+ new ArrayList<BatteryDiffEntry>());
verify(mAppListGroup, never()).addPreference(any());
}
@@ -291,12 +291,12 @@
doReturn(false).when(mBatteryDiffEntry).validForRestriction();
mBatteryChartPreferenceController.addPreferenceToScreen(
- Arrays.asList(mBatteryDiffEntry));
+ Arrays.asList(mBatteryDiffEntry));
// Verifies the preference cache.
final PowerGaugePreference pref =
- (PowerGaugePreference) mBatteryChartPreferenceController.mPreferenceCache
- .get(PREF_KEY);
+ (PowerGaugePreference) mBatteryChartPreferenceController.mPreferenceCache
+ .get(PREF_KEY);
assertThat(pref).isNotNull();
// Verifies the added preference configuration.
verify(mAppListGroup).addPreference(pref);
@@ -319,7 +319,7 @@
doReturn(mPowerGaugePreference).when(mAppListGroup).findPreference(PREF_KEY);
mBatteryChartPreferenceController.addPreferenceToScreen(
- Arrays.asList(mBatteryDiffEntry));
+ Arrays.asList(mBatteryDiffEntry));
verify(mAppListGroup, never()).addPreference(any());
}
@@ -327,12 +327,12 @@
@Test
public void testHandlePreferenceTreeiClick_notPowerGaugePreference_returnFalse() {
assertThat(mBatteryChartPreferenceController.handlePreferenceTreeClick(mAppListGroup))
- .isFalse();
+ .isFalse();
verify(mMetricsFeatureProvider, never())
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM);
+ .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM);
verify(mMetricsFeatureProvider, never())
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM);
+ .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM);
}
@Test
@@ -341,7 +341,7 @@
doReturn(mBatteryDiffEntry).when(mPowerGaugePreference).getBatteryDiffEntry();
assertThat(mBatteryChartPreferenceController.handlePreferenceTreeClick(
- mPowerGaugePreference)).isTrue();
+ mPowerGaugePreference)).isTrue();
verify(mMetricsFeatureProvider)
.action(
SettingsEnums.OPEN_BATTERY_USAGE,
@@ -358,7 +358,7 @@
doReturn(mBatteryDiffEntry).when(mPowerGaugePreference).getBatteryDiffEntry();
assertThat(mBatteryChartPreferenceController.handlePreferenceTreeClick(
- mPowerGaugePreference)).isTrue();
+ mPowerGaugePreference)).isTrue();
verify(mMetricsFeatureProvider)
.action(
SettingsEnums.OPEN_BATTERY_USAGE,
@@ -374,9 +374,9 @@
pref.setSummary(PREF_SUMMARY);
mBatteryChartPreferenceController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ 0));
+ pref, createBatteryDiffEntry(
+ /*foregroundUsageTimeInMs=*/ 0,
+ /*backgroundUsageTimeInMs=*/ 0));
assertThat(pref.getSummary()).isNull();
}
@@ -386,9 +386,9 @@
pref.setSummary(PREF_SUMMARY);
mBatteryChartPreferenceController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS));
+ pref, createBatteryDiffEntry(
+ /*foregroundUsageTimeInMs=*/ 0,
+ /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS));
assertThat(pref.getSummary()).isEqualTo("Background: 1 min");
}
@@ -398,9 +398,9 @@
pref.setSummary(PREF_SUMMARY);
mBatteryChartPreferenceController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ 100,
- /*backgroundUsageTimeInMs=*/ 200));
+ pref, createBatteryDiffEntry(
+ /*foregroundUsageTimeInMs=*/ 100,
+ /*backgroundUsageTimeInMs=*/ 200));
assertThat(pref.getSummary()).isEqualTo("Total: less than a min");
}
@@ -410,11 +410,11 @@
pref.setSummary(PREF_SUMMARY);
mBatteryChartPreferenceController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
- /*backgroundUsageTimeInMs=*/ 200));
+ pref, createBatteryDiffEntry(
+ /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
+ /*backgroundUsageTimeInMs=*/ 200));
assertThat(pref.getSummary())
- .isEqualTo("Total: 1 min\nBackground: less than a min");
+ .isEqualTo("Total: 1 min\nBackground: less than a min");
}
@Test
@@ -423,9 +423,9 @@
pref.setSummary(PREF_SUMMARY);
mBatteryChartPreferenceController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
- /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS));
+ pref, createBatteryDiffEntry(
+ /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
+ /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS));
assertThat(pref.getSummary()).isEqualTo("Total: 2 min\nBackground: 1 min");
}
@@ -434,11 +434,11 @@
final PowerGaugePreference pref = new PowerGaugePreference(mContext);
pref.setSummary(PREF_SUMMARY);
final BatteryDiffEntry batteryDiffEntry =
- spy(createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
- /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS));
+ spy(createBatteryDiffEntry(
+ /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
+ /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS));
doReturn("com.android.googlequicksearchbox").when(batteryDiffEntry)
- .getPackageName();
+ .getPackageName();
mBatteryChartPreferenceController.setPreferenceSummary(pref, batteryDiffEntry);
assertThat(pref.getSummary()).isNull();
@@ -447,28 +447,28 @@
@Test
public void testValidateUsageTime_returnTrueIfBatteryDiffEntryIsValid() {
assertThat(BatteryChartPreferenceController.validateUsageTime(
- createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
- /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS)))
- .isTrue();
+ createBatteryDiffEntry(
+ /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
+ /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS)))
+ .isTrue();
}
@Test
public void testValidateUsageTime_foregroundTimeExceedThreshold_returnFalse() {
assertThat(BatteryChartPreferenceController.validateUsageTime(
- createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ DateUtils.HOUR_IN_MILLIS * 3,
- /*backgroundUsageTimeInMs=*/ 0)))
- .isFalse();
+ createBatteryDiffEntry(
+ /*foregroundUsageTimeInMs=*/ DateUtils.HOUR_IN_MILLIS * 3,
+ /*backgroundUsageTimeInMs=*/ 0)))
+ .isFalse();
}
@Test
public void testValidateUsageTime_backgroundTimeExceedThreshold_returnFalse() {
assertThat(BatteryChartPreferenceController.validateUsageTime(
- createBatteryDiffEntry(
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ DateUtils.HOUR_IN_MILLIS * 3)))
- .isFalse();
+ createBatteryDiffEntry(
+ /*foregroundUsageTimeInMs=*/ 0,
+ /*backgroundUsageTimeInMs=*/ DateUtils.HOUR_IN_MILLIS * 3)))
+ .isFalse();
}
@Test
@@ -486,10 +486,10 @@
// Verifies the added preference.
assertThat(captor.getValue().getKey()).isEqualTo(PREF_KEY);
verify(mMetricsFeatureProvider)
- .action(
- mContext,
- SettingsEnums.ACTION_BATTERY_USAGE_EXPAND_ITEM,
- true /*isExpanded*/);
+ .action(
+ mContext,
+ SettingsEnums.ACTION_BATTERY_USAGE_EXPAND_ITEM,
+ true /*isExpanded*/);
}
@Test
@@ -506,10 +506,10 @@
verify(mAppListGroup).removePreference(mPowerGaugePreference);
assertThat(mBatteryChartPreferenceController.mPreferenceCache).hasSize(1);
verify(mMetricsFeatureProvider)
- .action(
- mContext,
- SettingsEnums.ACTION_BATTERY_USAGE_EXPAND_ITEM,
- false /*isExpanded*/);
+ .action(
+ mContext,
+ SettingsEnums.ACTION_BATTERY_USAGE_EXPAND_ITEM,
+ false /*isExpanded*/);
}
@Test
@@ -517,16 +517,16 @@
mBatteryChartPreferenceController.onSelect(1 /*slot index*/);
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT);
+ .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT);
}
@Test
public void testOnSelect_selectAll_logMetric() {
mBatteryChartPreferenceController.onSelect(
- BatteryChartView.SELECTED_INDEX_ALL /*slot index*/);
+ BatteryChartView.SELECTED_INDEX_ALL /*slot index*/);
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL);
+ .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL);
}
@Test
@@ -534,9 +534,9 @@
mBatteryChartPreferenceController = createController();
setUpBatteryHistoryKeys();
mBatteryChartPreferenceController.mAppListPrefGroup =
- spy(new PreferenceCategory(mContext));
+ spy(new PreferenceCategory(mContext));
mBatteryChartPreferenceController.mExpandDividerPreference =
- spy(new ExpandDividerPreference(mContext));
+ spy(new ExpandDividerPreference(mContext));
// Simulates select the first slot.
mBatteryChartPreferenceController.mTrapezoidIndex = 0;
@@ -545,12 +545,12 @@
ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
// Verifies the title in the preference group.
verify(mBatteryChartPreferenceController.mAppListPrefGroup)
- .setTitle(captor.capture());
+ .setTitle(captor.capture());
assertThat(captor.getValue()).isNotEqualTo("App usage for past 24 hr");
// Verifies the title in the expandable divider.
captor = ArgumentCaptor.forClass(String.class);
verify(mBatteryChartPreferenceController.mExpandDividerPreference)
- .setTitle(captor.capture());
+ .setTitle(captor.capture());
assertThat(captor.getValue()).isNotEqualTo("System usage for past 24 hr");
}
@@ -558,27 +558,27 @@
public void testRefreshCategoryTitle_setLast24HrIntoBothTitleTextView() {
mBatteryChartPreferenceController = createController();
mBatteryChartPreferenceController.mAppListPrefGroup =
- spy(new PreferenceCategory(mContext));
+ spy(new PreferenceCategory(mContext));
mBatteryChartPreferenceController.mExpandDividerPreference =
- spy(new ExpandDividerPreference(mContext));
+ spy(new ExpandDividerPreference(mContext));
// Simulates select all condition.
mBatteryChartPreferenceController.mTrapezoidIndex =
- BatteryChartView.SELECTED_INDEX_ALL;
+ BatteryChartView.SELECTED_INDEX_ALL;
mBatteryChartPreferenceController.refreshCategoryTitle();
ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
// Verifies the title in the preference group.
verify(mBatteryChartPreferenceController.mAppListPrefGroup)
- .setTitle(captor.capture());
+ .setTitle(captor.capture());
assertThat(captor.getValue())
- .isEqualTo("App usage for past 24 hr");
+ .isEqualTo("App usage for past 24 hr");
// Verifies the title in the expandable divider.
captor = ArgumentCaptor.forClass(String.class);
verify(mBatteryChartPreferenceController.mExpandDividerPreference)
- .setTitle(captor.capture());
+ .setTitle(captor.capture());
assertThat(captor.getValue())
- .isEqualTo("System usage for past 24 hr");
+ .isEqualTo("System usage for past 24 hr");
}
@Test
@@ -586,37 +586,37 @@
mBatteryChartPreferenceController = createController();
mBatteryChartPreferenceController.mBatteryHistoryKeys = null;
mBatteryChartPreferenceController.mBatteryChartView =
- spy(new BatteryChartView(mContext));
+ spy(new BatteryChartView(mContext));
mBatteryChartPreferenceController.setTimestampLabel();
verify(mBatteryChartPreferenceController.mBatteryChartView, never())
- .setLatestTimestamp(anyLong());
+ .setLatestTimestamp(anyLong());
}
@Test
public void testSetTimestampLabel_setExpectedTimestampData() {
mBatteryChartPreferenceController = createController();
mBatteryChartPreferenceController.mBatteryChartView =
- spy(new BatteryChartView(mContext));
+ spy(new BatteryChartView(mContext));
setUpBatteryHistoryKeys();
mBatteryChartPreferenceController.setTimestampLabel();
verify(mBatteryChartPreferenceController.mBatteryChartView)
- .setLatestTimestamp(1619247636826L);
+ .setLatestTimestamp(1619247636826L);
}
@Test
public void testSetTimestampLabel_withoutValidTimestamp_setExpectedTimestampData() {
mBatteryChartPreferenceController = createController();
mBatteryChartPreferenceController.mBatteryChartView =
- spy(new BatteryChartView(mContext));
- mBatteryChartPreferenceController.mBatteryHistoryKeys = new long[] {0L};
+ spy(new BatteryChartView(mContext));
+ mBatteryChartPreferenceController.mBatteryHistoryKeys = new long[]{0L};
mBatteryChartPreferenceController.setTimestampLabel();
verify(mBatteryChartPreferenceController.mBatteryChartView)
- .setLatestTimestamp(anyLong());
+ .setLatestTimestamp(anyLong());
}
@Test
@@ -633,10 +633,10 @@
mBatteryChartPreferenceController.onCreate(bundle);
mBatteryChartPreferenceController.setBatteryHistoryMap(
- createBatteryHistoryMap());
+ createBatteryHistoryMap());
assertThat(mBatteryChartPreferenceController.mTrapezoidIndex)
- .isEqualTo(expectedIndex);
+ .isEqualTo(expectedIndex);
assertThat(mBatteryChartPreferenceController.mIsExpanded).isTrue();
}
@@ -644,24 +644,24 @@
public void testIsValidToShowSummary_returnExpectedResult() {
assertThat(mBatteryChartPreferenceController
.isValidToShowSummary("com.google.android.apps.scone"))
- .isTrue();
+ .isTrue();
// Verifies the item which is defined in the array list.
assertThat(mBatteryChartPreferenceController
.isValidToShowSummary("com.android.googlequicksearchbox"))
- .isFalse();
+ .isFalse();
}
@Test
public void testIsValidToShowEntry_returnExpectedResult() {
assertThat(mBatteryChartPreferenceController
.isValidToShowEntry("com.google.android.apps.scone"))
- .isTrue();
+ .isTrue();
// Verifies the items which are defined in the array list.
assertThat(mBatteryChartPreferenceController
.isValidToShowEntry("com.android.gms.persistent"))
- .isFalse();
+ .isFalse();
}
private static Map<Long, Map<String, BatteryHistEntry>> createBatteryHistoryMap() {
@@ -680,22 +680,22 @@
private BatteryDiffEntry createBatteryDiffEntry(
long foregroundUsageTimeInMs, long backgroundUsageTimeInMs) {
return new BatteryDiffEntry(
- mContext, foregroundUsageTimeInMs, backgroundUsageTimeInMs,
- /*consumePower=*/ 0, mBatteryHistEntry);
+ mContext, foregroundUsageTimeInMs, backgroundUsageTimeInMs,
+ /*consumePower=*/ 0, mBatteryHistEntry);
}
private void setUpBatteryHistoryKeys() {
mBatteryChartPreferenceController.mBatteryHistoryKeys =
- new long[] {1619196786769L, 0L, 1619247636826L};
+ new long[]{1619196786769L, 0L, 1619247636826L};
ConvertUtils.utcToLocalTimeHour(
- mContext, /*timestamp=*/ 0, /*is24HourFormat=*/ false);
+ mContext, /*timestamp=*/ 0, /*is24HourFormat=*/ false);
}
private BatteryChartPreferenceController createController() {
final BatteryChartPreferenceController controller =
- new BatteryChartPreferenceController(
- mContext, "app_list", /*lifecycle=*/ null,
- mSettingsActivity, mFragment);
+ new BatteryChartPreferenceController(
+ mContext, "app_list", /*lifecycle=*/ null,
+ mSettingsActivity, mFragment);
controller.mPrefContext = mContext;
return controller;
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartViewTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
similarity index 72%
rename from tests/robotests/src/com/android/settings/fuelgauge/BatteryChartViewTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
index 0b75e79..a2d8ca9 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartViewTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
@@ -1,5 +1,6 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -11,14 +12,11 @@
* 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.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
@@ -30,6 +28,7 @@
import android.os.LocaleList;
import android.view.accessibility.AccessibilityManager;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
@@ -40,8 +39,8 @@
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
-import java.util.Arrays;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Locale;
@RunWith(RobolectricTestRunner.class)
@@ -52,8 +51,10 @@
private FakeFeatureFactory mFeatureFactory;
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
- @Mock private AccessibilityServiceInfo mockAccessibilityServiceInfo;
- @Mock private AccessibilityManager mockAccessibilityManager;
+ @Mock
+ private AccessibilityServiceInfo mMockAccessibilityServiceInfo;
+ @Mock
+ private AccessibilityManager mMockAccessibilityManager;
@Before
public void setUp() {
@@ -62,64 +63,64 @@
mPowerUsageFeatureProvider = mFeatureFactory.powerUsageFeatureProvider;
mContext = spy(RuntimeEnvironment.application);
mContext.getResources().getConfiguration().setLocales(
- new LocaleList(new Locale("en_US")));
+ new LocaleList(new Locale("en_US")));
mBatteryChartView = new BatteryChartView(mContext);
- doReturn(mockAccessibilityManager).when(mContext)
- .getSystemService(AccessibilityManager.class);
- doReturn("TalkBackService").when(mockAccessibilityServiceInfo).getId();
- doReturn(Arrays.asList(mockAccessibilityServiceInfo))
- .when(mockAccessibilityManager)
- .getEnabledAccessibilityServiceList(anyInt());
+ doReturn(mMockAccessibilityManager).when(mContext)
+ .getSystemService(AccessibilityManager.class);
+ doReturn("TalkBackService").when(mMockAccessibilityServiceInfo).getId();
+ doReturn(Arrays.asList(mMockAccessibilityServiceInfo))
+ .when(mMockAccessibilityManager)
+ .getEnabledAccessibilityServiceList(anyInt());
}
@Test
public void testIsAccessibilityEnabled_disable_returnFalse() {
- doReturn(false).when(mockAccessibilityManager).isEnabled();
+ doReturn(false).when(mMockAccessibilityManager).isEnabled();
assertThat(BatteryChartView.isAccessibilityEnabled(mContext)).isFalse();
}
@Test
public void testIsAccessibilityEnabled_emptyInfo_returnFalse() {
- doReturn(true).when(mockAccessibilityManager).isEnabled();
+ doReturn(true).when(mMockAccessibilityManager).isEnabled();
doReturn(new ArrayList<AccessibilityServiceInfo>())
- .when(mockAccessibilityManager)
- .getEnabledAccessibilityServiceList(anyInt());
+ .when(mMockAccessibilityManager)
+ .getEnabledAccessibilityServiceList(anyInt());
assertThat(BatteryChartView.isAccessibilityEnabled(mContext)).isFalse();
}
@Test
public void testIsAccessibilityEnabled_validServiceId_returnTrue() {
- doReturn(true).when(mockAccessibilityManager).isEnabled();
+ doReturn(true).when(mMockAccessibilityManager).isEnabled();
assertThat(BatteryChartView.isAccessibilityEnabled(mContext)).isTrue();
}
@Test
public void testSetSelectedIndex_invokesCallback() {
- final int selectedIndex[] = new int[1];
+ final int[] selectedIndex = new int[1];
final int expectedIndex = 2;
mBatteryChartView.mSelectedIndex = 1;
mBatteryChartView.setOnSelectListener(
- trapezoidIndex -> {
- selectedIndex[0] = trapezoidIndex;
- });
+ trapezoidIndex -> {
+ selectedIndex[0] = trapezoidIndex;
+ });
mBatteryChartView.setSelectedIndex(expectedIndex);
assertThat(mBatteryChartView.mSelectedIndex)
- .isEqualTo(expectedIndex);
+ .isEqualTo(expectedIndex);
assertThat(selectedIndex[0]).isEqualTo(expectedIndex);
}
@Test
public void testSetSelectedIndex_sameIndex_notInvokesCallback() {
- final int selectedIndex[] = new int[1];
+ final int[] selectedIndex = new int[1];
final int expectedIndex = 1;
mBatteryChartView.mSelectedIndex = expectedIndex;
mBatteryChartView.setOnSelectListener(
- trapezoidIndex -> {
- selectedIndex[0] = trapezoidIndex;
- });
+ trapezoidIndex -> {
+ selectedIndex[0] = trapezoidIndex;
+ });
mBatteryChartView.setSelectedIndex(expectedIndex);
@@ -130,7 +131,7 @@
public void testClickable_isChartGraphSlotsEnabledIsFalse_notClickable() {
mBatteryChartView.setClickableForce(true);
when(mPowerUsageFeatureProvider.isChartGraphSlotsEnabled(mContext))
- .thenReturn(false);
+ .thenReturn(false);
mBatteryChartView.onAttachedToWindow();
assertThat(mBatteryChartView.isClickable()).isFalse();
@@ -141,8 +142,8 @@
public void testClickable_accessibilityIsDisabled_clickable() {
mBatteryChartView.setClickableForce(true);
when(mPowerUsageFeatureProvider.isChartGraphSlotsEnabled(mContext))
- .thenReturn(true);
- doReturn(false).when(mockAccessibilityManager).isEnabled();
+ .thenReturn(true);
+ doReturn(false).when(mMockAccessibilityManager).isEnabled();
mBatteryChartView.onAttachedToWindow();
assertThat(mBatteryChartView.isClickable()).isTrue();
@@ -153,11 +154,11 @@
public void testClickable_accessibilityIsEnabledWithoutValidId_clickable() {
mBatteryChartView.setClickableForce(true);
when(mPowerUsageFeatureProvider.isChartGraphSlotsEnabled(mContext))
- .thenReturn(true);
- doReturn(true).when(mockAccessibilityManager).isEnabled();
+ .thenReturn(true);
+ doReturn(true).when(mMockAccessibilityManager).isEnabled();
doReturn(new ArrayList<AccessibilityServiceInfo>())
- .when(mockAccessibilityManager)
- .getEnabledAccessibilityServiceList(anyInt());
+ .when(mMockAccessibilityManager)
+ .getEnabledAccessibilityServiceList(anyInt());
mBatteryChartView.onAttachedToWindow();
assertThat(mBatteryChartView.isClickable()).isTrue();
@@ -168,8 +169,8 @@
public void testClickable_accessibilityIsEnabledWithValidId_notClickable() {
mBatteryChartView.setClickableForce(true);
when(mPowerUsageFeatureProvider.isChartGraphSlotsEnabled(mContext))
- .thenReturn(true);
- doReturn(true).when(mockAccessibilityManager).isEnabled();
+ .thenReturn(true);
+ doReturn(true).when(mMockAccessibilityManager).isEnabled();
mBatteryChartView.onAttachedToWindow();
assertThat(mBatteryChartView.isClickable()).isFalse();
@@ -186,13 +187,13 @@
mBatteryChartView.setLevels(levels);
mBatteryChartView.setClickableForce(true);
when(mPowerUsageFeatureProvider.isChartGraphSlotsEnabled(mContext))
- .thenReturn(true);
- doReturn(true).when(mockAccessibilityManager).isEnabled();
+ .thenReturn(true);
+ doReturn(true).when(mMockAccessibilityManager).isEnabled();
mBatteryChartView.onAttachedToWindow();
// Ensures the testing environment is correct.
assertThat(mBatteryChartView.isClickable()).isFalse();
// Turns off accessibility service.
- doReturn(false).when(mockAccessibilityManager).isEnabled();
+ doReturn(false).when(mMockAccessibilityManager).isEnabled();
mBatteryChartView.onAttachedToWindow();
@@ -202,23 +203,23 @@
@Test
public void testOnAttachedToWindow_addAccessibilityStateChangeListener() {
mBatteryChartView.onAttachedToWindow();
- verify(mockAccessibilityManager)
- .addAccessibilityStateChangeListener(mBatteryChartView);
+ verify(mMockAccessibilityManager)
+ .addAccessibilityStateChangeListener(mBatteryChartView);
}
@Test
public void testOnDetachedFromWindow_removeAccessibilityStateChangeListener() {
mBatteryChartView.onAttachedToWindow();
mBatteryChartView.mHandler.postDelayed(
- mBatteryChartView.mUpdateClickableStateRun, 1000);
+ mBatteryChartView.mUpdateClickableStateRun, 1000);
mBatteryChartView.onDetachedFromWindow();
- verify(mockAccessibilityManager)
- .removeAccessibilityStateChangeListener(mBatteryChartView);
+ verify(mMockAccessibilityManager)
+ .removeAccessibilityStateChangeListener(mBatteryChartView);
assertThat(mBatteryChartView.mHandler.hasCallbacks(
mBatteryChartView.mUpdateClickableStateRun))
- .isFalse();
+ .isFalse();
}
@Test
@@ -227,8 +228,8 @@
mBatteryChartView.onAccessibilityStateChanged(/*enabled=*/ true);
verify(mBatteryChartView.mHandler)
- .removeCallbacks(mBatteryChartView.mUpdateClickableStateRun);
+ .removeCallbacks(mBatteryChartView.mUpdateClickableStateRun);
verify(mBatteryChartView.mHandler)
- .postDelayed(mBatteryChartView.mUpdateClickableStateRun, 500L);
+ .postDelayed(mBatteryChartView.mUpdateClickableStateRun, 500L);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
similarity index 68%
rename from tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
index 6ea1390..bb19b5a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
@@ -35,6 +35,7 @@
import android.os.UserManager;
import com.android.settings.R;
+import com.android.settings.fuelgauge.BatteryUtils;
import org.junit.Before;
import org.junit.Test;
@@ -59,15 +60,24 @@
private Context mContext;
- @Mock private ApplicationInfo mockAppInfo;
- @Mock private PackageManager mockPackageManager;
- @Mock private UserManager mockUserManager;
- @Mock private Drawable mockDrawable;
- @Mock private Drawable mockDrawable2;
- @Mock private Drawable mockBadgedDrawable;
- @Mock private BatteryHistEntry mBatteryHistEntry;
- @Mock private PackageInfo mockPackageInfo;
- @Mock private ConstantState mockConstantState;
+ @Mock
+ private ApplicationInfo mMockAppInfo;
+ @Mock
+ private PackageManager mMockPackageManager;
+ @Mock
+ private UserManager mMockUserManager;
+ @Mock
+ private Drawable mMockDrawable;
+ @Mock
+ private Drawable mMockDrawable2;
+ @Mock
+ private Drawable mMockBadgedDrawable;
+ @Mock
+ private BatteryHistEntry mBatteryHistEntry;
+ @Mock
+ private PackageInfo mMockPackageInfo;
+ @Mock
+ private ConstantState mMockConstantState;
@Before
public void setUp() {
@@ -75,20 +85,20 @@
ShadowUserHandle.reset();
mContext = spy(RuntimeEnvironment.application);
doReturn(mContext).when(mContext).getApplicationContext();
- doReturn(mockUserManager).when(mContext).getSystemService(UserManager.class);
- doReturn(mockPackageManager).when(mContext).getPackageManager();
+ doReturn(mMockUserManager).when(mContext).getSystemService(UserManager.class);
+ doReturn(mMockPackageManager).when(mContext).getPackageManager();
BatteryDiffEntry.clearCache();
}
@Test
public void testSetTotalConsumePower_returnExpectedResult() {
final BatteryDiffEntry entry =
- new BatteryDiffEntry(
- mContext,
- /*foregroundUsageTimeInMs=*/ 10001L,
- /*backgroundUsageTimeInMs=*/ 20002L,
- /*consumePower=*/ 22.0,
- /*batteryHistEntry=*/ null);
+ new BatteryDiffEntry(
+ mContext,
+ /*foregroundUsageTimeInMs=*/ 10001L,
+ /*backgroundUsageTimeInMs=*/ 20002L,
+ /*consumePower=*/ 22.0,
+ /*batteryHistEntry=*/ null);
entry.setTotalConsumePower(100.0);
assertThat(entry.getPercentOfTotal()).isEqualTo(22.0);
@@ -97,12 +107,12 @@
@Test
public void testSetTotalConsumePower_setZeroValue_returnsZeroValue() {
final BatteryDiffEntry entry =
- new BatteryDiffEntry(
- mContext,
- /*foregroundUsageTimeInMs=*/ 10001L,
- /*backgroundUsageTimeInMs=*/ 20002L,
- /*consumePower=*/ 22.0,
- /*batteryHistEntry=*/ null);
+ new BatteryDiffEntry(
+ mContext,
+ /*foregroundUsageTimeInMs=*/ 10001L,
+ /*backgroundUsageTimeInMs=*/ 20002L,
+ /*consumePower=*/ 22.0,
+ /*batteryHistEntry=*/ null);
entry.setTotalConsumePower(0);
assertThat(entry.getPercentOfTotal()).isEqualTo(0);
@@ -127,9 +137,9 @@
final String expectedName = "Ambient display";
// Generates fake testing data.
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
values.put("drainType",
- Integer.valueOf(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY));
+ Integer.valueOf(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY));
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
final BatteryDiffEntry entry = createBatteryDiffEntry(10, batteryHistEntry);
@@ -139,7 +149,7 @@
assertThat(BatteryDiffEntry.sResourceCache).hasSize(1);
// Verifies the app label in the cache.
final BatteryEntry.NameAndIcon nameAndIcon =
- BatteryDiffEntry.sResourceCache.get(entry.getKey());
+ BatteryDiffEntry.sResourceCache.get(entry.getKey());
assertThat(nameAndIcon.mName).isEqualTo(expectedName);
assertThat(nameAndIcon.mIconId).isEqualTo(R.drawable.ic_settings_aod);
// Verifies the restrictable flag in the cache.
@@ -150,10 +160,10 @@
@Test
public void testLoadLabelAndIcon_forUserBattery_returnExpectedResult() {
final String expectedName = "Removed user";
- doReturn(null).when(mockUserManager).getUserInfo(1001);
+ doReturn(null).when(mMockUserManager).getUserInfo(1001);
// Generates fake testing data.
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_USER_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_USER_BATTERY);
values.put("userId", Integer.valueOf(1001));
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
@@ -165,7 +175,7 @@
assertThat(BatteryDiffEntry.sResourceCache).hasSize(1);
// Verifies the app label in the cache.
final BatteryEntry.NameAndIcon nameAndIcon =
- BatteryDiffEntry.sResourceCache.get(entry.getKey());
+ BatteryDiffEntry.sResourceCache.get(entry.getKey());
assertThat(nameAndIcon.mName).isEqualTo(expectedName);
assertThat(nameAndIcon.mIconId).isEqualTo(0);
// Verifies the restrictable flag in the cache.
@@ -178,13 +188,13 @@
final String expectedAppLabel = "fake app label";
final String fakePackageName = "com.fake.google.com";
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
values.put("uid", /*invalid uid*/ 10001);
values.put("packageName", fakePackageName);
- doReturn(mockAppInfo).when(mockPackageManager)
- .getApplicationInfo(fakePackageName, 0);
- doReturn(expectedAppLabel).when(mockPackageManager)
- .getApplicationLabel(mockAppInfo);
+ doReturn(mMockAppInfo).when(mMockPackageManager)
+ .getApplicationInfo(fakePackageName, 0);
+ doReturn(expectedAppLabel).when(mMockPackageManager)
+ .getApplicationLabel(mMockAppInfo);
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
final BatteryDiffEntry entry = createBatteryDiffEntry(10, batteryHistEntry);
@@ -194,7 +204,7 @@
assertThat(BatteryDiffEntry.sResourceCache).hasSize(1);
// Verifies the app label in the cache.
final BatteryEntry.NameAndIcon nameAndIcon =
- BatteryDiffEntry.sResourceCache.get(entry.getKey());
+ BatteryDiffEntry.sResourceCache.get(entry.getKey());
assertThat(nameAndIcon.mName).isEqualTo(expectedAppLabel);
// Verifies the restrictable flag in the cache.
assertThat(entry.mValidForRestriction).isFalse();
@@ -205,7 +215,7 @@
public void testGetAppLabel_loadDataFromPreDefinedNameAndUid() {
final String expectedAppLabel = "Android OS";
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
final BatteryDiffEntry entry = createBatteryDiffEntry(10, batteryHistEntry);
@@ -214,7 +224,7 @@
assertThat(BatteryDiffEntry.sResourceCache).hasSize(1);
// Verifies the app label in the cache.
final BatteryEntry.NameAndIcon nameAndIcon =
- BatteryDiffEntry.sResourceCache.get(entry.getKey());
+ BatteryDiffEntry.sResourceCache.get(entry.getKey());
assertThat(nameAndIcon.mName).isEqualTo(expectedAppLabel);
}
@@ -222,7 +232,7 @@
public void testGetAppLabel_nullAppLabel_returnAppLabelInBatteryHistEntry() {
final String expectedAppLabel = "fake app label";
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
values.put("appLabel", expectedAppLabel);
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
@@ -236,15 +246,15 @@
@Test
public void testGetAppIcon_nonUidConsumer_returnAppIconInBatteryDiffEntry() {
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
- mockConstantState(mockDrawable);
+ mockConstantState(mMockDrawable);
final BatteryDiffEntry entry = createBatteryDiffEntry(10, batteryHistEntry);
entry.mIsLoaded = true;
- entry.mAppIcon = mockDrawable;
- assertThat(entry.getAppIcon()).isEqualTo(mockDrawable);
+ entry.mAppIcon = mMockDrawable;
+ assertThat(entry.getAppIcon()).isEqualTo(mMockDrawable);
assertThat(BatteryDiffEntry.sResourceCache).isEmpty();
}
@@ -252,38 +262,38 @@
public void testGetAppIcon_uidConsumerForNonOwner_returnDefaultActivityIconWithBadge()
throws Exception {
ShadowUserHandle.setUid(10);
- final BatteryDiffEntry entry = createBatteryDiffEntry(mockDrawable);
- mockConstantState(mockDrawable);
- mockConstantState(mockBadgedDrawable);
- doReturn(mockBadgedDrawable).when(mockUserManager)
- .getBadgedIconForUser(eq(mockDrawable), any());
+ final BatteryDiffEntry entry = createBatteryDiffEntry(mMockDrawable);
+ mockConstantState(mMockDrawable);
+ mockConstantState(mMockBadgedDrawable);
+ doReturn(mMockBadgedDrawable).when(mMockUserManager)
+ .getBadgedIconForUser(eq(mMockDrawable), any());
entry.mAppIcon = null;
- assertThat(entry.getAppIcon()).isEqualTo(mockBadgedDrawable);
+ assertThat(entry.getAppIcon()).isEqualTo(mMockBadgedDrawable);
}
@Test
public void testGetAppIcon_uidConsumerWithNullIcon_returnDefaultActivityIcon()
throws Exception {
- final BatteryDiffEntry entry = createBatteryDiffEntry(mockDrawable);
- mockConstantState(mockDrawable);
+ final BatteryDiffEntry entry = createBatteryDiffEntry(mMockDrawable);
+ mockConstantState(mMockDrawable);
entry.mAppIcon = null;
- assertThat(entry.getAppIcon()).isEqualTo(mockDrawable);
+ assertThat(entry.getAppIcon()).isEqualTo(mMockDrawable);
assertThat(BatteryDiffEntry.sResourceCache).hasSize(1);
// Verifies the app label in the cache.
final BatteryEntry.NameAndIcon nameAndIcon =
- BatteryDiffEntry.sResourceCache.get(entry.getKey());
- assertThat(nameAndIcon.mIcon).isEqualTo(mockDrawable);
+ BatteryDiffEntry.sResourceCache.get(entry.getKey());
+ assertThat(nameAndIcon.mIcon).isEqualTo(mMockDrawable);
}
@Test
public void testClearCache_clearDataForResourcesAndFlags() {
BatteryDiffEntry.sResourceCache.put(
- "fake application key",
- new BatteryEntry.NameAndIcon("app label", null, /*iconId=*/ 0));
+ "fake application key",
+ new BatteryEntry.NameAndIcon("app label", null, /*iconId=*/ 0));
BatteryDiffEntry.sValidForRestriction.put(
- "fake application key", Boolean.valueOf(false));
+ "fake application key", Boolean.valueOf(false));
BatteryDiffEntry.clearCache();
@@ -295,83 +305,83 @@
public void testClearCache_switchLocale_clearCacheIconAndLabel() throws Exception {
final int userId = UserHandle.getUserId(1001);
Locale.setDefault(new Locale("en_US"));
- final BatteryDiffEntry entry1 = createBatteryDiffEntry(mockDrawable);
- mockConstantState(mockDrawable);
- assertThat(entry1.getAppIcon()).isEqualTo(mockDrawable);
+ final BatteryDiffEntry entry1 = createBatteryDiffEntry(mMockDrawable);
+ mockConstantState(mMockDrawable);
+ assertThat(entry1.getAppIcon()).isEqualTo(mMockDrawable);
// Switch the locale into another one.
Locale.setDefault(new Locale("zh_TW"));
- final BatteryDiffEntry entry2 = createBatteryDiffEntry(mockDrawable2);
+ final BatteryDiffEntry entry2 = createBatteryDiffEntry(mMockDrawable2);
// We should get new drawable without caching.
- mockConstantState(mockDrawable2);
- assertThat(entry2.getAppIcon()).isEqualTo(mockDrawable2);
+ mockConstantState(mMockDrawable2);
+ assertThat(entry2.getAppIcon()).isEqualTo(mMockDrawable2);
// Verifies the cache is updated into the new drawable.
final BatteryEntry.NameAndIcon nameAndIcon =
- BatteryDiffEntry.sResourceCache.get(entry2.getKey());
- assertThat(nameAndIcon.mIcon).isEqualTo(mockDrawable2);
+ BatteryDiffEntry.sResourceCache.get(entry2.getKey());
+ assertThat(nameAndIcon.mIcon).isEqualTo(mMockDrawable2);
}
@Test
public void testIsSystemEntry_userBattery_returnTrue() {
final BatteryDiffEntry entry =
- createBatteryDiffEntry(
- ConvertUtils.CONSUMER_TYPE_USER_BATTERY,
- /*uid=*/ 0, /*isHidden=*/ false);
+ createBatteryDiffEntry(
+ ConvertUtils.CONSUMER_TYPE_USER_BATTERY,
+ /*uid=*/ 0, /*isHidden=*/ false);
assertThat(entry.isSystemEntry()).isTrue();
}
@Test
public void testIsSystemEntry_systemBattery_returnTrue() {
final BatteryDiffEntry entry =
- createBatteryDiffEntry(
- ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
- /*uid=*/ 0, /*isHidden=*/ false);
+ createBatteryDiffEntry(
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+ /*uid=*/ 0, /*isHidden=*/ false);
assertThat(entry.isSystemEntry()).isTrue();
}
@Test
public void testIsSystemEntry_uidBattery_returnFalse() {
final BatteryDiffEntry entry =
- createBatteryDiffEntry(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
- /*uid=*/ 123, /*isHidden=*/ false);
+ createBatteryDiffEntry(
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /*uid=*/ 123, /*isHidden=*/ false);
assertThat(entry.isSystemEntry()).isFalse();
}
@Test
public void testIsSystemEntry_uidBatteryWithHiddenState_returnTrue() {
final BatteryDiffEntry entry =
- createBatteryDiffEntry(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
- /*uid=*/ 123, /*isHidden=*/ true);
+ createBatteryDiffEntry(
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /*uid=*/ 123, /*isHidden=*/ true);
assertThat(entry.isSystemEntry()).isTrue();
}
@Test
public void testIsSystemEntry_uidBatteryWithSystemProcess_returnFalse() {
final BatteryDiffEntry entry =
- createBatteryDiffEntry(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
- /*uid=*/ 1230, /*isHidden=*/ false);
+ createBatteryDiffEntry(
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /*uid=*/ 1230, /*isHidden=*/ false);
assertThat(entry.isSystemEntry()).isFalse();
}
@Test
public void testIsSystemEntry_uidBatteryWithTetheringProcess_returnTrue() {
final BatteryDiffEntry entry =
- createBatteryDiffEntry(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
- /*uid=*/ BatteryUtils.UID_TETHERING, /*isHidden=*/ false);
+ createBatteryDiffEntry(
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /*uid=*/ BatteryUtils.UID_TETHERING, /*isHidden=*/ false);
assertThat(entry.isSystemEntry()).isTrue();
}
@Test
public void testIsSystemEntry_uidBatteryWithRemovedAppsProcess_returnTrue() {
final BatteryDiffEntry entry =
- createBatteryDiffEntry(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
- /*uid=*/ BatteryUtils.UID_REMOVED_APPS, /*isHidden=*/ false);
+ createBatteryDiffEntry(
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /*uid=*/ BatteryUtils.UID_REMOVED_APPS, /*isHidden=*/ false);
assertThat(entry.isSystemEntry()).isTrue();
}
@@ -380,30 +390,30 @@
final String expectedAppLabel = "fake app label";
final String fakePackageName = "com.fake.google.com";
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
values.put("uid", /*invalid uid*/ 10001);
values.put("packageName", fakePackageName);
final BatteryDiffEntry entry =
- createBatteryDiffEntry(10, new BatteryHistEntry(values));
+ createBatteryDiffEntry(10, new BatteryHistEntry(values));
entry.updateRestrictionFlagState();
// Sets false if the app entry cannot be found.
assertThat(entry.mValidForRestriction).isFalse();
- doReturn(BatteryUtils.UID_NULL).when(mockPackageManager).getPackageUid(
- entry.getPackageName(), PackageManager.GET_META_DATA);
+ doReturn(BatteryUtils.UID_NULL).when(mMockPackageManager).getPackageUid(
+ entry.getPackageName(), PackageManager.GET_META_DATA);
entry.updateRestrictionFlagState();
// Sets false if the app is invalid package name.
assertThat(entry.mValidForRestriction).isFalse();
- doReturn(1000).when(mockPackageManager).getPackageUid(
- entry.getPackageName(), PackageManager.GET_META_DATA);
+ doReturn(1000).when(mMockPackageManager).getPackageUid(
+ entry.getPackageName(), PackageManager.GET_META_DATA);
entry.updateRestrictionFlagState();
// Sets false if the app PackageInfo cannot be found.
assertThat(entry.mValidForRestriction).isFalse();
- doReturn(mockPackageInfo).when(mockPackageManager).getPackageInfo(
- eq(entry.getPackageName()), anyInt());
+ doReturn(mMockPackageInfo).when(mMockPackageManager).getPackageInfo(
+ eq(entry.getPackageName()), anyInt());
entry.updateRestrictionFlagState();
// Sets true if package is valid and PackageInfo can be found.
assertThat(entry.mValidForRestriction).isTrue();
@@ -413,10 +423,10 @@
public void testGetPackageName_returnExpectedResult() {
final String expectedPackageName = "com.fake.google.com";
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
values.put("packageName", expectedPackageName);
final BatteryDiffEntry entry =
- createBatteryDiffEntry(10, new BatteryHistEntry(values));
+ createBatteryDiffEntry(10, new BatteryHistEntry(values));
assertThat(entry.getPackageName()).isEqualTo(expectedPackageName);
}
@@ -425,12 +435,12 @@
public void testGetPackageName_withProcessName_returnExpectedResult() {
final String expectedPackageName = "com.fake.google.com";
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
values.put(
- "packageName",
- expectedPackageName + ":privileged_process0");
+ "packageName",
+ expectedPackageName + ":privileged_process0");
final BatteryDiffEntry entry =
- createBatteryDiffEntry(10, new BatteryHistEntry(values));
+ createBatteryDiffEntry(10, new BatteryHistEntry(values));
assertThat(entry.getPackageName()).isEqualTo(expectedPackageName);
}
@@ -441,21 +451,21 @@
values.put("isHidden", isHidden);
values.put("uid", uid);
return new BatteryDiffEntry(
- mContext,
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ 0,
- /*consumePower=*/ 0,
- new BatteryHistEntry(values));
+ mContext,
+ /*foregroundUsageTimeInMs=*/ 0,
+ /*backgroundUsageTimeInMs=*/ 0,
+ /*consumePower=*/ 0,
+ new BatteryHistEntry(values));
}
private BatteryDiffEntry createBatteryDiffEntry(
- double consumePower, BatteryHistEntry batteryHistEntry) {
+ double consumePower, BatteryHistEntry batteryHistEntry) {
final BatteryDiffEntry entry = new BatteryDiffEntry(
- mContext,
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ 0,
- consumePower,
- batteryHistEntry);
+ mContext,
+ /*foregroundUsageTimeInMs=*/ 0,
+ /*backgroundUsageTimeInMs=*/ 0,
+ consumePower,
+ batteryHistEntry);
entry.setTotalConsumePower(100.0);
return entry;
}
@@ -468,20 +478,20 @@
private BatteryDiffEntry createBatteryDiffEntry(Drawable drawable) throws Exception {
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
values.put("uid", 1001);
values.put("packageName", "com.a.b.c");
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
- doReturn(drawable).when(mockPackageManager).getDefaultActivityIcon();
- doReturn(null).when(mockPackageManager).getApplicationInfo("com.a.b.c", 0);
- doReturn(new String[] {"com.a.b.c"}).when(mockPackageManager)
- .getPackagesForUid(1001);
+ doReturn(drawable).when(mMockPackageManager).getDefaultActivityIcon();
+ doReturn(null).when(mMockPackageManager).getApplicationInfo("com.a.b.c", 0);
+ doReturn(new String[]{"com.a.b.c"}).when(mMockPackageManager)
+ .getPackagesForUid(1001);
return createBatteryDiffEntry(10, batteryHistEntry);
}
private void mockConstantState(Drawable drawable) {
- doReturn(mockConstantState).when(drawable).getConstantState();
- doReturn(drawable).when(mockConstantState).newDrawable();
+ doReturn(mMockConstantState).when(drawable).getConstantState();
+ doReturn(drawable).when(mMockConstantState).newDrawable();
}
@Implements(UserHandle.class)
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
similarity index 88%
rename from tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
index 707a658..5ca3aca 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
@@ -37,7 +37,8 @@
import android.os.UserManager;
import com.android.settings.R;
-import com.android.settings.fuelgauge.BatteryEntry.NameAndIcon;
+import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.fuelgauge.batteryusage.BatteryEntry.NameAndIcon;
import org.junit.Before;
import org.junit.Rule;
@@ -62,31 +63,36 @@
private static final String HIGH_DRAIN_PACKAGE = "com.android.test.screen";
private static final String ANDROID_PACKAGE = "android";
- @Rule public MockitoRule mocks = MockitoJUnit.rule();
+ @Rule
+ public MockitoRule mocks = MockitoJUnit.rule();
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mMockContext;
private Context mContext;
- @Mock private Handler mockHandler;
- @Mock private PackageManager mockPackageManager;
- @Mock private UserManager mockUserManager;
- @Mock private UidBatteryConsumer mUidBatteryConsumer;
+ @Mock
+ private Handler mMockHandler;
+ @Mock
+ private PackageManager mMockPackageManager;
+ @Mock
+ private UserManager mMockUserManager;
+ @Mock
+ private UidBatteryConsumer mUidBatteryConsumer;
@Before
public void stubContextToReturnMockPackageManager() {
mContext = spy(RuntimeEnvironment.application);
- when(mMockContext.getPackageManager()).thenReturn(mockPackageManager);
+ when(mMockContext.getPackageManager()).thenReturn(mMockPackageManager);
}
@Before
public void stubPackageManagerToReturnAppPackageAndName() throws NameNotFoundException {
- when(mockPackageManager.getApplicationInfo(anyString(), eq(0) /* no flags */))
+ when(mMockPackageManager.getApplicationInfo(anyString(), eq(0) /* no flags */))
.thenAnswer(invocation -> {
ApplicationInfo info = new ApplicationInfo();
info.packageName = invocation.getArgument(0);
return info;
});
- when(mockPackageManager.getApplicationLabel(any(ApplicationInfo.class)))
+ when(mMockPackageManager.getApplicationLabel(any(ApplicationInfo.class)))
.thenAnswer(invocation -> LABEL_PREFIX
+ ((ApplicationInfo) invocation.getArgument(0)).packageName);
}
@@ -96,7 +102,7 @@
UidBatteryConsumer consumer = mock(UidBatteryConsumer.class);
when(consumer.getUid()).thenReturn(APP_UID);
when(consumer.getPackageWithHighestDrain()).thenReturn(highDrainPackage);
- return new BatteryEntry(mMockContext, mockHandler, mockUserManager,
+ return new BatteryEntry(mMockContext, mMockHandler, mMockUserManager,
consumer, false, APP_UID, packages, packageName);
}
@@ -111,7 +117,7 @@
private BatteryEntry createUserBatteryConsumer(int userId) {
UserBatteryConsumer consumer = mock(UserBatteryConsumer.class);
when(consumer.getUserId()).thenReturn(userId);
- return new BatteryEntry(mMockContext, mockHandler, mockUserManager,
+ return new BatteryEntry(mMockContext, mMockHandler, mMockUserManager,
consumer, false, 0, null, null);
}
@@ -127,7 +133,7 @@
@Test
public void batteryEntryForApp_shouldSetLabelAsPackageName_whenPackageCannotBeFound()
throws Exception {
- when(mockPackageManager.getApplicationInfo(APP_DEFAULT_PACKAGE_NAME, 0 /* no flags */))
+ when(mMockPackageManager.getApplicationInfo(APP_DEFAULT_PACKAGE_NAME, 0 /* no flags */))
.thenThrow(new NameNotFoundException());
BatteryEntry entry = createBatteryEntryForApp(null, APP_DEFAULT_PACKAGE_NAME, null);
@@ -137,7 +143,7 @@
@Test
public void batteryEntryForApp_shouldSetHighestDrainPackage_whenPackagesCannotBeFoundForUid() {
- when(mockPackageManager.getPackagesForUid(APP_UID)).thenReturn(null);
+ when(mMockPackageManager.getPackagesForUid(APP_UID)).thenReturn(null);
BatteryEntry entry = createBatteryEntryForApp(null, null, HIGH_DRAIN_PACKAGE);
@@ -147,7 +153,7 @@
@Test
public void batteryEntryForApp_shouldSetHighestDrainPackage_whenMultiplePackagesFoundForUid() {
BatteryEntry entry = createBatteryEntryForApp(
- new String[] {APP_DEFAULT_PACKAGE_NAME, "package2", "package3"}, null,
+ new String[]{APP_DEFAULT_PACKAGE_NAME, "package2", "package3"}, null,
HIGH_DRAIN_PACKAGE);
assertThat(entry.getLabel()).isEqualTo(LABEL_PREFIX + HIGH_DRAIN_PACKAGE);
@@ -176,8 +182,8 @@
when(mUidBatteryConsumer.getTimeInStateMs(UidBatteryConsumer.STATE_FOREGROUND))
.thenReturn(100L);
- final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application, mockHandler,
- mockUserManager, mUidBatteryConsumer, false, 0, null, null);
+ final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application, mMockHandler,
+ mMockUserManager, mUidBatteryConsumer, false, 0, null, null);
assertThat(entry.getTimeInForegroundMs()).isEqualTo(100L);
}
@@ -195,8 +201,8 @@
when(mUidBatteryConsumer.getTimeInStateMs(UidBatteryConsumer.STATE_BACKGROUND))
.thenReturn(100L);
- final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application, mockHandler,
- mockUserManager, mUidBatteryConsumer, false, 0, null, null);
+ final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application, mMockHandler,
+ mMockUserManager, mUidBatteryConsumer, false, 0, null, null);
assertThat(entry.getTimeInBackgroundMs()).isEqualTo(100L);
}
@@ -247,7 +253,7 @@
@Test
public void getKey_UserBatteryConsumer_returnUserId() {
- doReturn(mockUserManager).when(mMockContext).getSystemService(UserManager.class);
+ doReturn(mMockUserManager).when(mMockContext).getSystemService(UserManager.class);
final BatteryEntry entry = createUserBatteryConsumer(2);
final String key = entry.getKey();
assertThat(key).isEqualTo("U|2");
@@ -256,8 +262,8 @@
@Test
public void getNameAndIconFromUserId_nullUserInfo_returnDefaultNameAndIcon() {
final int userId = 1001;
- doReturn(mockUserManager).when(mContext).getSystemService(UserManager.class);
- doReturn(null).when(mockUserManager).getUserInfo(userId);
+ doReturn(mMockUserManager).when(mContext).getSystemService(UserManager.class);
+ doReturn(null).when(mMockUserManager).getUserInfo(userId);
final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUserId(
mContext, userId);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java
similarity index 65%
rename from tests/robotests/src/com/android/settings/fuelgauge/BatteryHistEntryTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java
index 3acb8f3..553c089 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
@@ -38,7 +38,7 @@
public final class BatteryHistEntryTest {
@Mock
- private BatteryEntry mockBatteryEntry;
+ private BatteryEntry mMockBatteryEntry;
@Mock
private BatteryUsageStats mBatteryUsageStats;
@@ -50,33 +50,33 @@
@Test
public void testConstructor_contentValues_returnsExpectedResult() {
final int expectedType = 3;
- when(mockBatteryEntry.getUid()).thenReturn(1001);
- when(mockBatteryEntry.getLabel()).thenReturn("Settings");
- when(mockBatteryEntry.getDefaultPackageName())
- .thenReturn("com.google.android.settings.battery");
- when(mockBatteryEntry.isHidden()).thenReturn(true);
+ when(mMockBatteryEntry.getUid()).thenReturn(1001);
+ when(mMockBatteryEntry.getLabel()).thenReturn("Settings");
+ when(mMockBatteryEntry.getDefaultPackageName())
+ .thenReturn("com.google.android.settings.battery");
+ when(mMockBatteryEntry.isHidden()).thenReturn(true);
when(mBatteryUsageStats.getConsumedPower()).thenReturn(5.1);
- when(mockBatteryEntry.getConsumedPower()).thenReturn(1.1);
- mockBatteryEntry.mPercent = 0.3;
- when(mockBatteryEntry.getTimeInForegroundMs()).thenReturn(1234L);
- when(mockBatteryEntry.getTimeInBackgroundMs()).thenReturn(5689L);
- when(mockBatteryEntry.getPowerComponentId()).thenReturn(expectedType);
- when(mockBatteryEntry.getConsumerType())
- .thenReturn(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+ when(mMockBatteryEntry.getConsumedPower()).thenReturn(1.1);
+ mMockBatteryEntry.mPercent = 0.3;
+ when(mMockBatteryEntry.getTimeInForegroundMs()).thenReturn(1234L);
+ when(mMockBatteryEntry.getTimeInBackgroundMs()).thenReturn(5689L);
+ when(mMockBatteryEntry.getPowerComponentId()).thenReturn(expectedType);
+ when(mMockBatteryEntry.getConsumerType())
+ .thenReturn(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
final ContentValues values =
- ConvertUtils.convert(
- mockBatteryEntry,
- mBatteryUsageStats,
- /*batteryLevel=*/ 12,
- /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
- /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L);
+ ConvertUtils.convert(
+ mMockBatteryEntry,
+ mBatteryUsageStats,
+ /*batteryLevel=*/ 12,
+ /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
+ /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
+ /*bootTimestamp=*/ 101L,
+ /*timestamp=*/ 10001L);
assertBatteryHistEntry(
- new BatteryHistEntry(values),
- /*drainType=*/ expectedType,
- /*percentOfTotal=*/ mockBatteryEntry.mPercent);
+ new BatteryHistEntry(values),
+ /*drainType=*/ expectedType,
+ /*percentOfTotal=*/ mMockBatteryEntry.mPercent);
}
@Test
@@ -88,22 +88,22 @@
@Test
public void testConstructor_cursor_returnsExpectedResult() {
assertBatteryHistEntry(
- createBatteryHistEntry(
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L,
- /*totalPower=*/ 5.1,
- /*consumePower=*/ 1.1,
- /*foregroundUsageTimeInMs=*/ 1234L,
- /*backgroundUsageTimeInMs=*/ 5689L,
- /*batteryLevel=*/ 12),
- /*drainType=*/ 3,
- /*percentOfTotal=*/ 0.3);
+ createBatteryHistEntry(
+ /*bootTimestamp=*/ 101L,
+ /*timestamp=*/ 10001L,
+ /*totalPower=*/ 5.1,
+ /*consumePower=*/ 1.1,
+ /*foregroundUsageTimeInMs=*/ 1234L,
+ /*backgroundUsageTimeInMs=*/ 5689L,
+ /*batteryLevel=*/ 12),
+ /*drainType=*/ 3,
+ /*percentOfTotal=*/ 0.3);
}
@Test
public void testGetKey_consumerUidType_returnExpectedString() {
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
values.put(BatteryHistEntry.KEY_UID, 3);
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
@@ -113,7 +113,7 @@
@Test
public void testGetKey_consumerUserType_returnExpectedString() {
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_USER_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_USER_BATTERY);
values.put(BatteryHistEntry.KEY_USER_ID, 2);
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
@@ -123,7 +123,7 @@
@Test
public void testGetKey_consumerSystemType_returnExpectedString() {
final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
values.put(BatteryHistEntry.KEY_DRAIN_TYPE, 1);
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
@@ -133,31 +133,31 @@
@Test
public void testIsAppEntry_returnExpectedResult() {
assertThat(createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY).isAppEntry())
- .isFalse();
+ .isFalse();
assertThat(createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).isAppEntry())
- .isFalse();
+ .isFalse();
assertThat(createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).isAppEntry())
- .isTrue();
+ .isTrue();
}
@Test
public void testIsUserEntry_returnExpectedResult() {
assertThat(createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY).isUserEntry())
- .isFalse();
+ .isFalse();
assertThat(createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).isUserEntry())
- .isTrue();
+ .isTrue();
assertThat(createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).isUserEntry())
- .isFalse();
+ .isFalse();
}
@Test
public void testIsSystemEntry_returnExpectedResult() {
assertThat(createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY).isSystemEntry())
- .isTrue();
+ .isTrue();
assertThat(createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).isSystemEntry())
- .isFalse();
+ .isFalse();
assertThat(createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).isSystemEntry())
- .isFalse();
+ .isFalse();
}
@Test
@@ -167,39 +167,39 @@
final long lowerTimestamp = 100L;
final double ratio = 0.5;
final BatteryHistEntry lowerHistEntry = createBatteryHistEntry(
- /*bootTimestamp=*/ 1000L,
- lowerTimestamp,
- /*totalPower=*/ 50,
- /*consumePower=*/ 10,
- /*foregroundUsageTimeInMs=*/ 100,
- /*backgroundUsageTimeInMs=*/ 200,
- /*batteryLevel=*/ 90);
+ /*bootTimestamp=*/ 1000L,
+ lowerTimestamp,
+ /*totalPower=*/ 50,
+ /*consumePower=*/ 10,
+ /*foregroundUsageTimeInMs=*/ 100,
+ /*backgroundUsageTimeInMs=*/ 200,
+ /*batteryLevel=*/ 90);
final BatteryHistEntry upperHistEntry = createBatteryHistEntry(
- /*bootTimestamp=*/ 1200L,
- upperTimestamp,
- /*totalPower=*/ 80,
- /*consumePower=*/ 20,
- /*foregroundUsageTimeInMs=*/ 200,
- /*backgroundUsageTimeInMs=*/ 300,
- /*batteryLevel=*/ 80);
+ /*bootTimestamp=*/ 1200L,
+ upperTimestamp,
+ /*totalPower=*/ 80,
+ /*consumePower=*/ 20,
+ /*foregroundUsageTimeInMs=*/ 200,
+ /*backgroundUsageTimeInMs=*/ 300,
+ /*batteryLevel=*/ 80);
final BatteryHistEntry newEntry =
- BatteryHistEntry.interpolate(
- slotTimestamp,
- upperTimestamp,
- ratio,
- lowerHistEntry,
- upperHistEntry);
+ BatteryHistEntry.interpolate(
+ slotTimestamp,
+ upperTimestamp,
+ ratio,
+ lowerHistEntry,
+ upperHistEntry);
assertBatteryHistEntry(
- newEntry, 3, upperHistEntry.mPercentOfTotal,
- /*bootTimestamp=*/ 1200 - 100,
- /*timestamp=*/ slotTimestamp,
- /*totalPower=*/ 50 + 0.5 * (80 - 50),
- /*consumePower=*/ 10 + 0.5 * (20 - 10),
- /*foregroundUsageTimeInMs=*/ Math.round(100 + 0.5 * (200 - 100)),
- /*backgroundUsageTimeInMs=*/ Math.round(200 + 0.5 * (300 - 200)),
- /*batteryLevel=*/ (int) Math.round(90 + 0.5 * (80 - 90)));
+ newEntry, 3, upperHistEntry.mPercentOfTotal,
+ /*bootTimestamp=*/ 1200 - 100,
+ /*timestamp=*/ slotTimestamp,
+ /*totalPower=*/ 50 + 0.5 * (80 - 50),
+ /*consumePower=*/ 10 + 0.5 * (20 - 10),
+ /*foregroundUsageTimeInMs=*/ Math.round(100 + 0.5 * (200 - 100)),
+ /*backgroundUsageTimeInMs=*/ Math.round(200 + 0.5 * (300 - 200)),
+ /*batteryLevel=*/ (int) Math.round(90 + 0.5 * (80 - 90)));
}
@Test
@@ -209,31 +209,31 @@
final long lowerTimestamp = 100L;
final double ratio = 0.5;
final BatteryHistEntry upperHistEntry = createBatteryHistEntry(
- /*bootTimestamp=*/ 1200L,
- upperTimestamp,
- /*totalPower=*/ 80,
- /*consumePower=*/ 20,
- /*foregroundUsageTimeInMs=*/ 200,
- /*backgroundUsageTimeInMs=*/ 300,
- /*batteryLevel=*/ 80);
+ /*bootTimestamp=*/ 1200L,
+ upperTimestamp,
+ /*totalPower=*/ 80,
+ /*consumePower=*/ 20,
+ /*foregroundUsageTimeInMs=*/ 200,
+ /*backgroundUsageTimeInMs=*/ 300,
+ /*batteryLevel=*/ 80);
final BatteryHistEntry newEntry =
- BatteryHistEntry.interpolate(
- slotTimestamp,
- upperTimestamp,
- ratio,
- /*lowerHistEntry=*/ null,
- upperHistEntry);
+ BatteryHistEntry.interpolate(
+ slotTimestamp,
+ upperTimestamp,
+ ratio,
+ /*lowerHistEntry=*/ null,
+ upperHistEntry);
assertBatteryHistEntry(
- newEntry, 3, upperHistEntry.mPercentOfTotal,
- /*bootTimestamp=*/ 1200 - 100,
- /*timestamp=*/ slotTimestamp,
- /*totalPower=*/ 0.5 * 80,
- /*consumePower=*/ 0.5 * 20,
- /*foregroundUsageTimeInMs=*/ Math.round(0.5 * 200),
- /*backgroundUsageTimeInMs=*/ Math.round(0.5 * 300),
- /*batteryLevel=*/ upperHistEntry.mBatteryLevel);
+ newEntry, 3, upperHistEntry.mPercentOfTotal,
+ /*bootTimestamp=*/ 1200 - 100,
+ /*timestamp=*/ slotTimestamp,
+ /*totalPower=*/ 0.5 * 80,
+ /*consumePower=*/ 0.5 * 20,
+ /*foregroundUsageTimeInMs=*/ Math.round(0.5 * 200),
+ /*backgroundUsageTimeInMs=*/ Math.round(0.5 * 300),
+ /*batteryLevel=*/ upperHistEntry.mBatteryLevel);
}
private static BatteryHistEntry createEntry(int consumerType) {
@@ -243,21 +243,21 @@
private static ContentValues getContentValuesWithType(int consumerType) {
final ContentValues values = new ContentValues();
values.put(BatteryHistEntry.KEY_CONSUMER_TYPE,
- Integer.valueOf(consumerType));
+ Integer.valueOf(consumerType));
return values;
}
private void assertBatteryHistEntry(
BatteryHistEntry entry, int drainType, double percentOfTotal) {
assertBatteryHistEntry(
- entry, drainType, percentOfTotal,
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L,
- /*totalPower=*/ 5.1,
- /*consumePower=*/ 1.1,
- /*foregroundUsageTimeInMs=*/ 1234L,
- /*backgroundUsageTimeInMs=*/ 5689L,
- /*batteryLevel=*/ 12);
+ entry, drainType, percentOfTotal,
+ /*bootTimestamp=*/ 101L,
+ /*timestamp=*/ 10001L,
+ /*totalPower=*/ 5.1,
+ /*consumePower=*/ 1.1,
+ /*foregroundUsageTimeInMs=*/ 1234L,
+ /*backgroundUsageTimeInMs=*/ 5689L,
+ /*batteryLevel=*/ 12);
}
private void assertBatteryHistEntry(
@@ -276,7 +276,7 @@
assertThat(entry.mUserId).isEqualTo(UserHandle.getUserId(1001));
assertThat(entry.mAppLabel).isEqualTo("Settings");
assertThat(entry.mPackageName)
- .isEqualTo("com.google.android.settings.battery");
+ .isEqualTo("com.google.android.settings.battery");
assertThat(entry.mIsHidden).isTrue();
assertThat(entry.mBootTimestamp).isEqualTo(bootTimestamp);
assertThat(entry.mTimestamp).isEqualTo(timestamp);
@@ -288,12 +288,12 @@
assertThat(entry.mBackgroundUsageTimeInMs).isEqualTo(backgroundUsageTimeInMs);
assertThat(entry.mDrainType).isEqualTo(drainType);
assertThat(entry.mConsumerType)
- .isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+ .isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
assertThat(entry.mBatteryLevel).isEqualTo(batteryLevel);
assertThat(entry.mBatteryStatus)
- .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
+ .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
assertThat(entry.mBatteryHealth)
- .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
+ .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
}
private BatteryHistEntry createBatteryHistEntry(
@@ -305,7 +305,7 @@
long backgroundUsageTimeInMs,
int batteryLevel) {
final MatrixCursor cursor = new MatrixCursor(
- new String[] {
+ new String[]{
BatteryHistEntry.KEY_UID,
BatteryHistEntry.KEY_USER_ID,
BatteryHistEntry.KEY_APP_LABEL,
@@ -325,7 +325,7 @@
BatteryHistEntry.KEY_BATTERY_STATUS,
BatteryHistEntry.KEY_BATTERY_HEALTH});
cursor.addRow(
- new Object[] {
+ new Object[]{
Long.valueOf(1001),
Long.valueOf(UserHandle.getUserId(1001)),
"Settings",
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoryLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoaderTest.java
similarity index 94%
rename from tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoryLoaderTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoaderTest.java
index a0fd5fd..98a44de 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoryLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryLoaderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,18 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
+
import static org.mockito.Mockito.doReturn;
import android.content.Context;
import com.android.settings.testutils.FakeFeatureFactory;
-import java.util.HashMap;
-import java.util.Map;
-
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -32,6 +30,9 @@
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
+import java.util.HashMap;
+import java.util.Map;
+
@RunWith(RobolectricTestRunner.class)
public final class BatteryHistoryLoaderTest {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoryPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java
similarity index 95%
rename from tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoryPreferenceTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java
index 83fcbae..7017c43 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
@@ -31,6 +31,7 @@
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
+import com.android.settings.fuelgauge.BatteryInfo;
import com.android.settings.widget.UsageView;
import org.junit.Before;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUsageStatsLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java
similarity index 96%
rename from tests/robotests/src/com/android/settings/fuelgauge/BatteryUsageStatsLoaderTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java
index 8c47ff6..1d0bca4 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUsageStatsLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/ConvertUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
similarity index 71%
rename from tests/robotests/src/com/android/settings/fuelgauge/ConvertUtilsTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
index 42483d0..0b8a98a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/ConvertUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
@@ -27,6 +27,7 @@
import android.os.LocaleList;
import android.os.UserHandle;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
@@ -37,7 +38,6 @@
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
@@ -54,7 +54,7 @@
@Mock
private BatteryUsageStats mBatteryUsageStats;
@Mock
- private BatteryEntry mockBatteryEntry;
+ private BatteryEntry mMockBatteryEntry;
private FakeFeatureFactory mFeatureFactory;
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
@@ -70,115 +70,116 @@
@Test
public void convert_returnsExpectedContentValues() {
final int expectedType = 3;
- when(mockBatteryEntry.getUid()).thenReturn(1001);
- when(mockBatteryEntry.getLabel()).thenReturn("Settings");
- when(mockBatteryEntry.getDefaultPackageName())
- .thenReturn("com.google.android.settings.battery");
- when(mockBatteryEntry.isHidden()).thenReturn(true);
+ when(mMockBatteryEntry.getUid()).thenReturn(1001);
+ when(mMockBatteryEntry.getLabel()).thenReturn("Settings");
+ when(mMockBatteryEntry.getDefaultPackageName())
+ .thenReturn("com.google.android.settings.battery");
+ when(mMockBatteryEntry.isHidden()).thenReturn(true);
when(mBatteryUsageStats.getConsumedPower()).thenReturn(5.1);
- when(mockBatteryEntry.getConsumedPower()).thenReturn(1.1);
- mockBatteryEntry.mPercent = 0.3;
- when(mockBatteryEntry.getTimeInForegroundMs()).thenReturn(1234L);
- when(mockBatteryEntry.getTimeInBackgroundMs()).thenReturn(5689L);
- when(mockBatteryEntry.getPowerComponentId()).thenReturn(expectedType);
- when(mockBatteryEntry.getConsumerType())
- .thenReturn(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+ when(mMockBatteryEntry.getConsumedPower()).thenReturn(1.1);
+ mMockBatteryEntry.mPercent = 0.3;
+ when(mMockBatteryEntry.getTimeInForegroundMs()).thenReturn(1234L);
+ when(mMockBatteryEntry.getTimeInBackgroundMs()).thenReturn(5689L);
+ when(mMockBatteryEntry.getPowerComponentId()).thenReturn(expectedType);
+ when(mMockBatteryEntry.getConsumerType())
+ .thenReturn(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
final ContentValues values =
- ConvertUtils.convert(
- mockBatteryEntry,
- mBatteryUsageStats,
- /*batteryLevel=*/ 12,
- /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
- /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L);
+ ConvertUtils.convert(
+ mMockBatteryEntry,
+ mBatteryUsageStats,
+ /*batteryLevel=*/ 12,
+ /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
+ /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
+ /*bootTimestamp=*/ 101L,
+ /*timestamp=*/ 10001L);
assertThat(values.getAsLong(BatteryHistEntry.KEY_UID)).isEqualTo(1001L);
assertThat(values.getAsLong(BatteryHistEntry.KEY_USER_ID))
- .isEqualTo(UserHandle.getUserId(1001));
+ .isEqualTo(UserHandle.getUserId(1001));
assertThat(values.getAsString(BatteryHistEntry.KEY_APP_LABEL))
- .isEqualTo("Settings");
+ .isEqualTo("Settings");
assertThat(values.getAsString(BatteryHistEntry.KEY_PACKAGE_NAME))
- .isEqualTo("com.google.android.settings.battery");
+ .isEqualTo("com.google.android.settings.battery");
assertThat(values.getAsBoolean(BatteryHistEntry.KEY_IS_HIDDEN)).isTrue();
assertThat(values.getAsLong(BatteryHistEntry.KEY_BOOT_TIMESTAMP))
- .isEqualTo(101L);
+ .isEqualTo(101L);
assertThat(values.getAsLong(BatteryHistEntry.KEY_TIMESTAMP)).isEqualTo(10001L);
assertThat(values.getAsString(BatteryHistEntry.KEY_ZONE_ID))
- .isEqualTo(TimeZone.getDefault().getID());
+ .isEqualTo(TimeZone.getDefault().getID());
assertThat(values.getAsDouble(BatteryHistEntry.KEY_TOTAL_POWER)).isEqualTo(5.1);
assertThat(values.getAsDouble(BatteryHistEntry.KEY_CONSUME_POWER)).isEqualTo(1.1);
assertThat(values.getAsDouble(BatteryHistEntry.KEY_PERCENT_OF_TOTAL)).isEqualTo(0.3);
assertThat(values.getAsLong(BatteryHistEntry.KEY_FOREGROUND_USAGE_TIME))
- .isEqualTo(1234L);
+ .isEqualTo(1234L);
assertThat(values.getAsLong(BatteryHistEntry.KEY_BACKGROUND_USAGE_TIME))
- .isEqualTo(5689L);
+ .isEqualTo(5689L);
assertThat(values.getAsInteger(BatteryHistEntry.KEY_DRAIN_TYPE)).isEqualTo(expectedType);
assertThat(values.getAsInteger(BatteryHistEntry.KEY_CONSUMER_TYPE))
- .isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+ .isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
assertThat(values.getAsInteger(BatteryHistEntry.KEY_BATTERY_LEVEL)).isEqualTo(12);
assertThat(values.getAsInteger(BatteryHistEntry.KEY_BATTERY_STATUS))
- .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
+ .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
assertThat(values.getAsInteger(BatteryHistEntry.KEY_BATTERY_HEALTH))
- .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
+ .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
}
@Test
public void convert_nullBatteryEntry_returnsExpectedContentValues() {
final ContentValues values =
- ConvertUtils.convert(
- /*entry=*/ null,
- /*batteryUsageStats=*/ null,
- /*batteryLevel=*/ 12,
- /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
- /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L);
+ ConvertUtils.convert(
+ /*entry=*/ null,
+ /*batteryUsageStats=*/ null,
+ /*batteryLevel=*/ 12,
+ /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
+ /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
+ /*bootTimestamp=*/ 101L,
+ /*timestamp=*/ 10001L);
assertThat(values.getAsLong(BatteryHistEntry.KEY_BOOT_TIMESTAMP))
- .isEqualTo(101L);
+ .isEqualTo(101L);
assertThat(values.getAsLong(BatteryHistEntry.KEY_TIMESTAMP))
- .isEqualTo(10001L);
+ .isEqualTo(10001L);
assertThat(values.getAsString(BatteryHistEntry.KEY_ZONE_ID))
- .isEqualTo(TimeZone.getDefault().getID());
+ .isEqualTo(TimeZone.getDefault().getID());
assertThat(values.getAsInteger(BatteryHistEntry.KEY_BATTERY_LEVEL)).isEqualTo(12);
assertThat(values.getAsInteger(BatteryHistEntry.KEY_BATTERY_STATUS))
- .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
+ .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
assertThat(values.getAsInteger(BatteryHistEntry.KEY_BATTERY_HEALTH))
- .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
+ .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
assertThat(values.getAsString(BatteryHistEntry.KEY_PACKAGE_NAME))
- .isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
+ .isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
}
@Test
public void getIndexedUsageMap_nullOrEmptyHistoryMap_returnEmptyCollection() {
final int timeSlotSize = 2;
- final long[] batteryHistoryKeys = new long[] {101L, 102L, 103L, 104L, 105L};
+ final long[] batteryHistoryKeys = new long[]{101L, 102L, 103L, 104L, 105L};
assertThat(ConvertUtils.getIndexedUsageMap(
mContext, timeSlotSize, batteryHistoryKeys,
/*batteryHistoryMap=*/ null, /*purgeLowPercentageAndFakeData=*/ true))
- .isEmpty();
+ .isEmpty();
assertThat(ConvertUtils.getIndexedUsageMap(
mContext, timeSlotSize, batteryHistoryKeys,
new HashMap<Long, Map<String, BatteryHistEntry>>(),
/*purgeLowPercentageAndFakeData=*/ true))
- .isEmpty();
+ .isEmpty();
}
+
@Test
public void getIndexedUsageMap_returnsExpectedResult() {
// Creates the fake testing data.
final int timeSlotSize = 2;
- final long[] batteryHistoryKeys = new long[] {101L, 102L, 103L, 104L, 105L};
+ final long[] batteryHistoryKeys = new long[]{101L, 102L, 103L, 104L, 105L};
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
- new HashMap<>();
+ new HashMap<>();
final BatteryHistEntry fakeEntry = createBatteryHistEntry(
- ConvertUtils.FAKE_PACKAGE_NAME, "fake_label", 0, 0L, 0L, 0L);
+ ConvertUtils.FAKE_PACKAGE_NAME, "fake_label", 0, 0L, 0L, 0L);
// Adds the index = 0 data.
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
BatteryHistEntry entry = createBatteryHistEntry(
- "package1", "label1", 5.0, 1L, 10L, 20L);
+ "package1", "label1", 5.0, 1L, 10L, 20L);
entryMap.put(entry.getKey(), entry);
entryMap.put(fakeEntry.getKey(), fakeEntry);
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[0]), entryMap);
@@ -189,38 +190,38 @@
// Adds the index = 2 data.
entryMap = new HashMap<>();
entry = createBatteryHistEntry(
- "package2", "label2", 10.0, 2L, 15L, 25L);
+ "package2", "label2", 10.0, 2L, 15L, 25L);
entryMap.put(entry.getKey(), entry);
entryMap.put(fakeEntry.getKey(), fakeEntry);
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[2]), entryMap);
// Adds the index = 3 data.
entryMap = new HashMap<>();
entry = createBatteryHistEntry(
- "package2", "label2", 15.0, 2L, 25L, 35L);
+ "package2", "label2", 15.0, 2L, 25L, 35L);
entryMap.put(entry.getKey(), entry);
entry = createBatteryHistEntry(
- "package3", "label3", 5.0, 3L, 5L, 5L);
+ "package3", "label3", 5.0, 3L, 5L, 5L);
entryMap.put(entry.getKey(), entry);
entryMap.put(fakeEntry.getKey(), fakeEntry);
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[3]), entryMap);
// Adds the index = 4 data.
entryMap = new HashMap<>();
entry = createBatteryHistEntry(
- "package2", "label2", 30.0, 2L, 30L, 40L);
+ "package2", "label2", 30.0, 2L, 30L, 40L);
entryMap.put(entry.getKey(), entry);
entry = createBatteryHistEntry(
- "package2", "label2", 75.0, 4L, 40L, 50L);
+ "package2", "label2", 75.0, 4L, 40L, 50L);
entryMap.put(entry.getKey(), entry);
entry = createBatteryHistEntry(
- "package3", "label3", 5.0, 3L, 5L, 5L);
+ "package3", "label3", 5.0, 3L, 5L, 5L);
entryMap.put(entry.getKey(), entry);
entryMap.put(fakeEntry.getKey(), fakeEntry);
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[4]), entryMap);
final Map<Integer, List<BatteryDiffEntry>> resultMap =
- ConvertUtils.getIndexedUsageMap(
- mContext, timeSlotSize, batteryHistoryKeys, batteryHistoryMap,
- /*purgeLowPercentageAndFakeData=*/ false);
+ ConvertUtils.getIndexedUsageMap(
+ mContext, timeSlotSize, batteryHistoryKeys, batteryHistoryMap,
+ /*purgeLowPercentageAndFakeData=*/ false);
assertThat(resultMap).hasSize(3);
// Verifies the first timestamp result.
@@ -243,9 +244,9 @@
// Test getIndexedUsageMap() with purged data.
ConvertUtils.PERCENTAGE_OF_TOTAL_THRESHOLD = 50;
final Map<Integer, List<BatteryDiffEntry>> purgedResultMap =
- ConvertUtils.getIndexedUsageMap(
- mContext, timeSlotSize, batteryHistoryKeys, batteryHistoryMap,
- /*purgeLowPercentageAndFakeData=*/ true);
+ ConvertUtils.getIndexedUsageMap(
+ mContext, timeSlotSize, batteryHistoryKeys, batteryHistoryMap,
+ /*purgeLowPercentageAndFakeData=*/ true);
assertThat(purgedResultMap).hasSize(3);
// Verifies the first timestamp result.
@@ -260,7 +261,7 @@
assertThat(entryList).hasSize(1);
// Verifies the fake data is cleared out.
assertThat(entryList.get(0).getPackageName())
- .isNotEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
+ .isNotEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
// Adds lacked data into the battery history map.
final int remainingSize = 25 - batteryHistoryKeys.length;
@@ -268,10 +269,10 @@
batteryHistoryMap.put(105L + index + 1, new HashMap<>());
}
when(mPowerUsageFeatureProvider.getBatteryHistory(mContext))
- .thenReturn(batteryHistoryMap);
+ .thenReturn(batteryHistoryMap);
final List<BatteryDiffEntry> batteryDiffEntryList =
- BatteryChartPreferenceController.getBatteryLast24HrUsageData(mContext);
+ BatteryChartPreferenceController.getBatteryLast24HrUsageData(mContext);
assertThat(batteryDiffEntryList).isNotEmpty();
final BatteryDiffEntry resultEntry = batteryDiffEntryList.get(0);
@@ -281,11 +282,11 @@
@Test
public void getIndexedUsageMap_usageTimeExceed_returnsExpectedResult() {
final int timeSlotSize = 1;
- final long[] batteryHistoryKeys = new long[] {101L, 102L, 103L};
+ final long[] batteryHistoryKeys = new long[]{101L, 102L, 103L};
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
- new HashMap<>();
+ new HashMap<>();
final BatteryHistEntry fakeEntry = createBatteryHistEntry(
- ConvertUtils.FAKE_PACKAGE_NAME, "fake_label", 0, 0L, 0L, 0L);
+ ConvertUtils.FAKE_PACKAGE_NAME, "fake_label", 0, 0L, 0L, 0L);
// Adds the index = 0 data.
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
entryMap.put(fakeEntry.getKey(), fakeEntry);
@@ -297,14 +298,14 @@
// Adds the index = 2 data.
entryMap = new HashMap<>();
final BatteryHistEntry entry = createBatteryHistEntry(
- "package3", "label3", 500, 5L, 3600000L, 7200000L);
+ "package3", "label3", 500, 5L, 3600000L, 7200000L);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[2]), entryMap);
final Map<Integer, List<BatteryDiffEntry>> purgedResultMap =
- ConvertUtils.getIndexedUsageMap(
- mContext, timeSlotSize, batteryHistoryKeys, batteryHistoryMap,
- /*purgeLowPercentageAndFakeData=*/ true);
+ ConvertUtils.getIndexedUsageMap(
+ mContext, timeSlotSize, batteryHistoryKeys, batteryHistoryMap,
+ /*purgeLowPercentageAndFakeData=*/ true);
assertThat(purgedResultMap).hasSize(2);
final List<BatteryDiffEntry> entryList = purgedResultMap.get(0);
@@ -313,19 +314,19 @@
final float ratio = (float) (7200) / (float) (3600 + 7200);
final BatteryDiffEntry resultEntry = entryList.get(0);
assertThat(resultEntry.mForegroundUsageTimeInMs)
- .isEqualTo(Math.round(entry.mForegroundUsageTimeInMs * ratio));
+ .isEqualTo(Math.round(entry.mForegroundUsageTimeInMs * ratio));
assertThat(resultEntry.mBackgroundUsageTimeInMs)
- .isEqualTo(Math.round(entry.mBackgroundUsageTimeInMs * ratio));
+ .isEqualTo(Math.round(entry.mBackgroundUsageTimeInMs * ratio));
assertThat(resultEntry.mConsumePower)
- .isEqualTo(entry.mConsumePower * ratio);
+ .isEqualTo(entry.mConsumePower * ratio);
}
@Test
public void getIndexedUsageMap_hideBackgroundUsageTime_returnsExpectedResult() {
- final long[] batteryHistoryKeys = new long[] {101L, 102L, 103L};
+ final long[] batteryHistoryKeys = new long[]{101L, 102L, 103L};
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
final BatteryHistEntry fakeEntry = createBatteryHistEntry(
- ConvertUtils.FAKE_PACKAGE_NAME, "fake_label", 0, 0L, 0L, 0L);
+ ConvertUtils.FAKE_PACKAGE_NAME, "fake_label", 0, 0L, 0L, 0L);
// Adds the index = 0 data.
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
entryMap.put(fakeEntry.getKey(), fakeEntry);
@@ -337,16 +338,16 @@
// Adds the index = 2 data.
entryMap = new HashMap<>();
final BatteryHistEntry entry = createBatteryHistEntry(
- "package3", "label3", 500, 5L, 3600000L, 7200000L);
+ "package3", "label3", 500, 5L, 3600000L, 7200000L);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(Long.valueOf(batteryHistoryKeys[2]), entryMap);
when(mPowerUsageFeatureProvider.getHideBackgroundUsageTimeSet(mContext))
- .thenReturn(new HashSet(Arrays.asList((CharSequence) "package3")));
+ .thenReturn(new HashSet(Arrays.asList((CharSequence) "package3")));
final Map<Integer, List<BatteryDiffEntry>> purgedResultMap =
- ConvertUtils.getIndexedUsageMap(
- mContext, /*timeSlotSize=*/ 1, batteryHistoryKeys, batteryHistoryMap,
- /*purgeLowPercentageAndFakeData=*/ true);
+ ConvertUtils.getIndexedUsageMap(
+ mContext, /*timeSlotSize=*/ 1, batteryHistoryKeys, batteryHistoryMap,
+ /*purgeLowPercentageAndFakeData=*/ true);
final BatteryDiffEntry resultEntry = purgedResultMap.get(0).get(0);
assertThat(resultEntry.mBackgroundUsageTimeInMs).isEqualTo(0);
@@ -355,7 +356,7 @@
@Test
public void getLocale_nullContext_returnDefaultLocale() {
assertThat(ConvertUtils.getLocale(/*context=*/ null))
- .isEqualTo(Locale.getDefault());
+ .isEqualTo(Locale.getDefault());
}
@Test
@@ -379,12 +380,12 @@
values.put(BatteryHistEntry.KEY_APP_LABEL, appLabel);
values.put(BatteryHistEntry.KEY_UID, Long.valueOf(uid));
values.put(BatteryHistEntry.KEY_CONSUMER_TYPE,
- Integer.valueOf(ConvertUtils.CONSUMER_TYPE_UID_BATTERY));
+ Integer.valueOf(ConvertUtils.CONSUMER_TYPE_UID_BATTERY));
values.put(BatteryHistEntry.KEY_CONSUME_POWER, consumePower);
values.put(BatteryHistEntry.KEY_FOREGROUND_USAGE_TIME,
- Long.valueOf(foregroundUsageTimeInMs));
+ Long.valueOf(foregroundUsageTimeInMs));
values.put(BatteryHistEntry.KEY_BACKGROUND_USAGE_TIME,
- Long.valueOf(backgroundUsageTimeInMs));
+ Long.valueOf(backgroundUsageTimeInMs));
return new BatteryHistEntry(values);
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/ExpandDividerPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ExpandDividerPreferenceTest.java
similarity index 92%
rename from tests/robotests/src/com/android/settings/fuelgauge/ExpandDividerPreferenceTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ExpandDividerPreferenceTest.java
index 9e32da4..e36f948 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/ExpandDividerPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ExpandDividerPreferenceTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,14 +14,13 @@
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
import android.content.Context;
import android.widget.ImageView;
@@ -74,7 +73,7 @@
@Test
public void testOnClick_switchExpandStateAndInvokeCallback() {
- final boolean[] isExpandedArray = new boolean[] {false};
+ final boolean[] isExpandedArray = new boolean[]{false};
mExpandDividerPreference.mImageView = mImageView;
mExpandDividerPreference.setOnExpandListener(
isExpanded -> isExpandedArray[0] = isExpanded);
@@ -94,7 +93,7 @@
@Test
public void testSetIsExpanded_updateStateButNotInvokeCallback() {
- final boolean[] isExpandedArray = new boolean[] {false};
+ final boolean[] isExpandedArray = new boolean[]{false};
mExpandDividerPreference.mImageView = mImageView;
mExpandDividerPreference.setOnExpandListener(
isExpanded -> isExpandedArray[0] = isExpanded);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerGaugePreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
similarity index 94%
rename from tests/robotests/src/com/android/settings/fuelgauge/PowerGaugePreferenceTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
index 10b89a6..5d599fe 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerGaugePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static com.google.common.truth.Truth.assertThat;
@@ -55,7 +55,7 @@
mContext = RuntimeEnvironment.application;
mRootView = LayoutInflater.from(mContext).inflate(R.layout.preference_app, null);
mWidgetView =
- LayoutInflater.from(mContext).inflate(R.layout.preference_widget_summary, null);
+ LayoutInflater.from(mContext).inflate(R.layout.preference_widget_summary, null);
final LinearLayout widgetFrame = mRootView.findViewById(android.R.id.widget_frame);
assertThat(widgetFrame).isNotNull();
widgetFrame.addView(mWidgetView);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java
similarity index 95%
rename from tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java
index 451e605..2700930 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
similarity index 93%
rename from tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
index 843cc99..81b574a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 The Android Open Source Project
+ * Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.fuelgauge;
+package com.android.settings.fuelgauge.batteryusage;
-import static com.android.settings.fuelgauge.PowerUsageSummary.BATTERY_INFO_LOADER;
-import static com.android.settings.fuelgauge.PowerUsageSummary.KEY_BATTERY_ERROR;
-import static com.android.settings.fuelgauge.PowerUsageSummary.KEY_BATTERY_USAGE;
+import static com.android.settings.fuelgauge.batteryusage.PowerUsageSummary.BATTERY_INFO_LOADER;
+import static com.android.settings.fuelgauge.batteryusage.PowerUsageSummary.KEY_BATTERY_ERROR;
+import static com.android.settings.fuelgauge.batteryusage.PowerUsageSummary.KEY_BATTERY_USAGE;
import static com.google.common.truth.Truth.assertThat;
@@ -44,6 +44,8 @@
import com.android.settings.R;
import com.android.settings.SettingsActivity;
+import com.android.settings.fuelgauge.BatteryBroadcastReceiver;
+import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.XmlTestUtils;
@@ -55,6 +57,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
+import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
@@ -74,6 +77,7 @@
public static void beforeClass() {
sAdditionalBatteryInfoIntent = new Intent("com.example.app.ADDITIONAL_BATTERY_INFO");
}
+
@Mock
private SettingsActivity mSettingsActivity;
@Mock
@@ -111,7 +115,7 @@
.thenReturn(sAdditionalBatteryInfoIntent);
when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mRealContext))
.thenReturn(true);
- mFragment.mBatteryUtils = spy(new BatteryUtils(mRealContext));
+ mFragment.mBatteryUtils = Mockito.spy(new BatteryUtils(mRealContext));
ReflectionHelpers.setField(mFragment, "mVisibilityLoggerMixin", mVisibilityLoggerMixin);
ReflectionHelpers.setField(mFragment, "mBatteryBroadcastReceiver",
mBatteryBroadcastReceiver);
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSliceTest.java
index e4fc9fa..78541db 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSliceTest.java
@@ -31,13 +31,13 @@
import androidx.slice.widget.SliceLiveData;
import com.android.settings.R;
-import com.android.settings.fuelgauge.BatteryUsageStatsLoader;
import com.android.settings.fuelgauge.batterytip.AppInfo;
import com.android.settings.fuelgauge.batterytip.BatteryTipLoader;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
import com.android.settings.fuelgauge.batterytip.tips.EarlyWarningTip;
import com.android.settings.fuelgauge.batterytip.tips.HighUsageTip;
import com.android.settings.fuelgauge.batterytip.tips.LowBatteryTip;
+import com.android.settings.fuelgauge.batteryusage.BatteryUsageStatsLoader;
import com.android.settings.slices.SliceBackgroundWorker;
import org.junit.After;
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
index ea51370..b865ea6 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
@@ -226,4 +226,32 @@
return new UserInfo(PRIMARY_USER_ID, null, null,
UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_ADMIN | UserInfo.FLAG_PRIMARY);
}
+
+ protected boolean setUserEphemeral(@UserIdInt int userId, boolean enableEphemeral) {
+ UserInfo userInfo = mUserProfileInfos.stream()
+ .filter(user -> user.id == userId)
+ .findFirst()
+ .orElse(super.getUserInfo(userId));
+
+ boolean isSuccess = false;
+ boolean isEphemeralUser =
+ (userInfo.flags & UserInfo.FLAG_EPHEMERAL) != 0;
+ boolean isEphemeralOnCreateUser =
+ (userInfo.flags & UserInfo.FLAG_EPHEMERAL_ON_CREATE)
+ != 0;
+ // when user is created in ephemeral mode via FLAG_EPHEMERAL
+ // its state cannot be changed.
+ // FLAG_EPHEMERAL_ON_CREATE is used to keep track of this state
+ if (!isEphemeralOnCreateUser) {
+ isSuccess = true;
+ if (isEphemeralUser != enableEphemeral) {
+ if (enableEphemeral) {
+ userInfo.flags |= UserInfo.FLAG_EPHEMERAL;
+ } else {
+ userInfo.flags &= ~UserInfo.FLAG_EPHEMERAL;
+ }
+ }
+ }
+ return isSuccess;
+ }
}
diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
index bb7dd75..d1192c1 100644
--- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
@@ -56,6 +56,7 @@
import android.view.MenuItem;
import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
@@ -152,6 +153,8 @@
ReflectionHelpers.setField(mFragment, "mDefaultIconDrawable", mDefaultIconDrawable);
ReflectionHelpers.setField(mFragment, "mAddingUser", false);
ReflectionHelpers.setField(mFragment, "mMetricsFeatureProvider", mMetricsFeatureProvider);
+ ReflectionHelpers.setField(mFragment, "mRemoveGuestOnExitPreferenceController",
+ mock(RemoveGuestOnExitPreferenceController.class));
doReturn(mUserManager).when(mActivity).getSystemService(UserManager.class);
doReturn(mPackageManager).when(mActivity).getPackageManager();
@@ -178,6 +181,10 @@
mFragment.mAddSupervisedUser = mAddSupervisedUserPreference;
mFragment.mAddGuest = mAddGuestPreference;
mFragment.mUserListCategory = mock(PreferenceCategory.class);
+ mFragment.mGuestUserCategory = mock(PreferenceCategory.class);
+ mFragment.mGuestCategory = mock(PreferenceCategory.class);
+ mFragment.mGuestResetPreference = mock(Preference.class);
+ mFragment.mGuestExitPreference = mock(Preference.class);
}
@After
@@ -219,7 +226,7 @@
@Test
public void testExitGuest_ShouldLogAction() {
mUserCapabilities.mIsGuest = true;
- mFragment.exitGuest();
+ mFragment.clearAndExitGuest();
verify(mMetricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_USER_GUEST_EXIT_CONFIRMED));
}
@@ -227,7 +234,7 @@
@Test
public void testExitGuestWhenNotGuest_ShouldNotLogAction() {
mUserCapabilities.mIsGuest = false;
- mFragment.exitGuest();
+ mFragment.clearAndExitGuest();
verify(mMetricsFeatureProvider, never()).action(any(),
eq(SettingsEnums.ACTION_USER_GUEST_EXIT_CONFIRMED));
}
@@ -323,7 +330,6 @@
verify(mAddGuestPreference).setVisible(true);
verify(mAddGuestPreference).setEnabled(true);
- verify(mAddGuestPreference).setIcon(any(Drawable.class));
verify(mAddGuestPreference).setSelectable(true);
}
@@ -371,7 +377,6 @@
verify(mAddGuestPreference).setVisible(true);
verify(mAddGuestPreference).setEnabled(false);
- verify(mAddGuestPreference).setIcon(any(Drawable.class));
verify(mAddGuestPreference).setSelectable(true);
}
@@ -473,9 +478,9 @@
mFragment.updateUserList();
ArgumentCaptor<UserPreference> captor = ArgumentCaptor.forClass(UserPreference.class);
- verify(mFragment.mUserListCategory, times(2))
+ verify(mFragment.mGuestUserCategory, times(1))
.addPreference(captor.capture());
- UserPreference guestPref = captor.getAllValues().get(1);
+ UserPreference guestPref = captor.getAllValues().get(0);
assertThat(guestPref.getUserId()).isEqualTo(INACTIVE_GUEST_USER_ID);
assertThat(guestPref.getTitle()).isEqualTo("Guest");
assertThat(guestPref.getIcon()).isNotNull();
@@ -595,9 +600,9 @@
mFragment.updateUserList();
ArgumentCaptor<UserPreference> captor = ArgumentCaptor.forClass(UserPreference.class);
- verify(mFragment.mUserListCategory, times(2))
+ verify(mFragment.mGuestUserCategory, times(1))
.addPreference(captor.capture());
- UserPreference userPref = captor.getAllValues().get(1);
+ UserPreference userPref = captor.getAllValues().get(0);
assertThat(userPref.getUserId()).isEqualTo(INACTIVE_GUEST_USER_ID);
assertThat(userPref.getSummary()).isNull();
}
diff --git a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
index 89df035..5e3d715 100644
--- a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
@@ -1,41 +1,180 @@
package com.android.settings.wifi;
+import static com.android.settings.wifi.ConfigureWifiSettings.KEY_INSTALL_CREDENTIALS;
+
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import android.annotation.Nullable;
import android.content.Context;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.os.UserManager;
+import android.view.View;
+import android.widget.TextView;
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.testutils.XmlTestUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
public class ConfigureWifiSettingsTest {
- private Context mContext;
+ @Rule
+ public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ @Spy
+ Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock
+ UserManager mUserManager;
+ @Mock
+ WifiManager mWifiManager;
+ @Mock
+ FragmentActivity mActivity;
+ @Mock
+ WifiWakeupPreferenceController mWifiWakeupPreferenceController;
+ @Mock
+ Preference mInstallCredentialsPref;
+ @Mock
+ PreferenceScreen mPreferenceScreen;
+ @Mock
+ TextView mEmptyView;
+
+ TestConfigureWifiSettings mSettings;
@Before
public void setUp() {
- mContext = spy(RuntimeEnvironment.application);
+ when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
+ when(mUserManager.isGuestUser()).thenReturn(false);
+ when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+
+ mSettings = spy(new TestConfigureWifiSettings());
+ when(mSettings.getContext()).thenReturn(mContext);
+ when(mSettings.getActivity()).thenReturn(mActivity);
+ when(mSettings.use(WifiWakeupPreferenceController.class))
+ .thenReturn(mWifiWakeupPreferenceController);
+ when(mSettings.findPreference(KEY_INSTALL_CREDENTIALS)).thenReturn(mInstallCredentialsPref);
+ }
+
+ @Test
+ public void onAttach_isNotGuestUser_setupController() {
+ when(mUserManager.isGuestUser()).thenReturn(false);
+
+ mSettings.onAttach(mContext);
+
+ verify(mWifiWakeupPreferenceController).setFragment(any());
+ }
+
+ @Test
+ public void onAttach_isGuestUser_doNotSetupController() {
+ when(mUserManager.isGuestUser()).thenReturn(true);
+
+ mSettings.onAttach(mContext);
+
+ verify(mWifiWakeupPreferenceController, never()).setFragment(any());
+ }
+
+ @Test
+ @Config(shadows = ShadowDashboardFragment.class)
+ public void onCreate_isNotGuestUser_setupPreference() {
+ when(mUserManager.isGuestUser()).thenReturn(false);
+
+ mSettings.onCreate(null);
+
+ verify(mInstallCredentialsPref).setOnPreferenceClickListener(any());
+ }
+
+ @Test
+ @Config(shadows = ShadowDashboardFragment.class)
+ public void onCreate_isGuestUser_doNotSetupPreference() {
+ when(mUserManager.isGuestUser()).thenReturn(true);
+
+ mSettings.onCreate(null);
+
+ verify(mInstallCredentialsPref, never()).setOnPreferenceClickListener(any());
+ }
+
+ @Test
+ @Config(shadows = ShadowDashboardFragment.class)
+ public void onViewCreated_isNotGuestUser_doNotRestrictUi() {
+ when(mUserManager.isGuestUser()).thenReturn(false);
+ when(mActivity.findViewById(android.R.id.empty)).thenReturn(mEmptyView);
+ doReturn(mPreferenceScreen).when(mSettings).getPreferenceScreen();
+
+ mSettings.onViewCreated(mock(View.class), null);
+
+ verify(mEmptyView, never()).setVisibility(View.VISIBLE);
+ verify(mPreferenceScreen, never()).removeAll();
+ }
+
+ @Test
+ @Config(shadows = ShadowDashboardFragment.class)
+ public void onViewCreated_isGuestUser_restrictUi() {
+ when(mUserManager.isGuestUser()).thenReturn(true);
+ when(mActivity.findViewById(android.R.id.empty)).thenReturn(mEmptyView);
+ doReturn(mPreferenceScreen).when(mSettings).getPreferenceScreen();
+
+ mSettings.onViewCreated(mock(View.class), null);
+
+ verify(mEmptyView).setVisibility(View.VISIBLE);
+ verify(mPreferenceScreen).removeAll();
}
@Test
@Config(qualifiers = "mcc999")
- public void testNonIndexableKeys_ifPageDisabled_shouldNotIndexResource() {
+ public void getNonIndexableKeys_ifPageDisabled_shouldNotIndexResource() {
final List<String> niks =
ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
- final int xmlId = new ConfigureWifiSettings().getPreferenceScreenResId();
+ final int xmlId = mSettings.getPreferenceScreenResId();
final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(mContext, xmlId);
assertThat(keys).isNotNull();
assertThat(niks).containsAtLeastElementsIn(keys);
}
+
+ public static class TestConfigureWifiSettings extends ConfigureWifiSettings {
+ @Override
+ public <T extends AbstractPreferenceController> T use(Class<T> clazz) {
+ return super.use(clazz);
+ }
+ }
+
+ @Implements(DashboardFragment.class)
+ public static class ShadowDashboardFragment {
+ @Implementation
+ public void onCreate(Bundle icicle) {
+ // do nothing
+ }
+
+ @Implementation
+ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ // do nothing
+ }
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
index 4ceb1e3..28b7ecb 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
@@ -18,6 +18,7 @@
import static android.Manifest.permission.ACCESS_COARSE_LOCATION;
import static android.Manifest.permission.ACCESS_FINE_LOCATION;
+import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
import static com.android.settings.wifi.WifiDialogActivity.REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER;
import static com.android.settings.wifi.WifiDialogActivity.RESULT_CONNECTED;
@@ -36,6 +37,7 @@
import android.content.pm.PackageManager;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
+import android.os.UserManager;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.wifi.AccessPoint;
@@ -44,6 +46,7 @@
import com.google.android.setupcompat.util.WizardManagerHelper;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -58,6 +61,8 @@
static final int REQUEST_CODE = REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER;
@Mock
+ UserManager mUserManager;
+ @Mock
PackageManager mPackageManager;
@Mock
WifiManager mWifiManager;
@@ -92,6 +97,7 @@
FakeFeatureFactory.setupForTest();
mActivity = spy(Robolectric.setupActivity(WifiDialogActivity.class));
+ when(mActivity.getSystemService(UserManager.class)).thenReturn(mUserManager);
when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
}
@@ -212,6 +218,20 @@
}
@Test
+ public void isConfigWifiAllowed_hasNoUserRestriction_returnTrue() {
+ when(mUserManager.hasUserRestriction(DISALLOW_CONFIG_WIFI)).thenReturn(false);
+
+ assertThat(mActivity.isConfigWifiAllowed()).isTrue();
+ }
+
+ @Test
+ public void isConfigWifiAllowed_hasUserRestriction_returnFalse() {
+ when(mUserManager.hasUserRestriction(DISALLOW_CONFIG_WIFI)).thenReturn(true);
+
+ assertThat(mActivity.isConfigWifiAllowed()).isFalse();
+ }
+
+ @Test
public void hasPermissionForResult_noCallingPackage_returnFalse() {
when(mActivity.getCallingPackage()).thenReturn(null);
diff --git a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
index 8391b8a..dccd023 100644
--- a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
@@ -18,24 +18,38 @@
import static com.google.common.truth.Truth.assertThat;
-import android.annotation.Nullable;
-import android.app.IActivityManager;
-import android.os.RemoteException;
-
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
+import android.annotation.Nullable;
+import android.app.IActivityManager;
+import android.content.Context;
+import android.os.RemoteException;
+import android.os.UserManager;
+
+import androidx.test.core.app.ApplicationProvider;
+
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class AddAppNetworksActivityTest {
+ @Rule
+ public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ @Spy
+ Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock
+ UserManager mUserManager;
@Mock
private IActivityManager mIActivityManager;
@@ -43,10 +57,13 @@
@Before
public void setUp() {
- MockitoAnnotations.initMocks(this);
+ when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
+ when(mUserManager.isGuestUser()).thenReturn(false);
- mActivity = Robolectric.buildActivity(FakeAddAppNetworksActivity.class).create().get();
+ mActivity = spy(Robolectric.buildActivity(FakeAddAppNetworksActivity.class).create().get());
+ when(mActivity.getApplicationContext()).thenReturn(mContext);
mActivity.mActivityManager = mIActivityManager;
+ fakeCallingPackage("com.android.settings");
}
@Test
@@ -84,6 +101,20 @@
assertThat(mActivity.showAddNetworksFragment()).isFalse();
}
+ @Test
+ public void showAddNetworksFragment_isGuestUser_returnFalse() {
+ when(mUserManager.isGuestUser()).thenReturn(true);
+
+ assertThat(mActivity.showAddNetworksFragment()).isFalse();
+ }
+
+ @Test
+ public void showAddNetworksFragment_notGuestUser_returnTrue() {
+ when(mUserManager.isGuestUser()).thenReturn(false);
+
+ assertThat(mActivity.showAddNetworksFragment()).isTrue();
+ }
+
private void fakeCallingPackage(@Nullable String packageName) {
try {
when(mIActivityManager.getLaunchedFromPackage(any())).thenReturn(packageName);
diff --git a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
index 0c9bf37..d8605de 100644
--- a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
@@ -16,16 +16,78 @@
package com.android.settings.wifi.dpp;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.UserManager;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class WifiDppConfiguratorActivityTest {
+
+ @Rule
+ public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ @Spy
+ Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock
+ UserManager mUserManager;
+
+ WifiDppConfiguratorActivity mActivity;
+ Intent mIntent;
+
+ @Before
+ public void setUp() {
+ when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
+ when(mUserManager.isGuestUser()).thenReturn(false);
+
+ mIntent = new Intent(WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_SCANNER);
+ mIntent.putExtra(WifiDppUtils.EXTRA_WIFI_SSID, "GoogleGuest");
+ mIntent.putExtra(WifiDppUtils.EXTRA_WIFI_SECURITY, "WPA");
+ mIntent.putExtra(WifiDppUtils.EXTRA_WIFI_PRE_SHARED_KEY, "\\012345678,");
+
+ mActivity = spy(Robolectric.setupActivity(WifiDppConfiguratorActivity.class));
+ when(mActivity.getApplicationContext()).thenReturn(mContext);
+ }
+
@Test
public void launchActivity_noIntentAction_shouldNotFatalException() {
WifiDppConfiguratorActivity wifiDppConfiguratorActivity =
Robolectric.setupActivity(WifiDppConfiguratorActivity.class);
}
+
+ @Test
+ public void handleIntent_isGuestUser_shouldFinish() {
+ when(mUserManager.isGuestUser()).thenReturn(true);
+
+ mActivity.handleIntent(mIntent);
+
+ verify(mActivity).finish();
+ }
+
+ @Test
+ public void handleIntent_notGuestUser_shouldNotFinish() {
+ when(mUserManager.isGuestUser()).thenReturn(false);
+ doNothing().when(mActivity).showQrCodeScannerFragment();
+
+ mActivity.handleIntent(mIntent);
+
+ verify(mActivity, never()).finish();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java b/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java
index 8e42fcd..33302ce 100644
--- a/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java
@@ -33,6 +33,7 @@
import android.content.pm.PackageManager;
import android.net.Uri;
import android.net.wifi.WifiManager;
+import android.os.UserManager;
import androidx.slice.Slice;
import androidx.slice.SliceItem;
@@ -84,6 +85,8 @@
@Spy
Context mContext = ApplicationProvider.getApplicationContext();
@Mock
+ private UserManager mUserManager;
+ @Mock
private WifiManager mWifiManager;
@Mock
private PackageManager mPackageManager;
@@ -98,6 +101,8 @@
@Before
public void setUp() {
doReturn(mResolver).when(mContext).getContentResolver();
+ doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
+ doReturn(false).when(mUserManager).isGuestUser();
doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
doReturn(WifiManager.WIFI_STATE_ENABLED).when(mWifiManager).getWifiState();
when(mContext.getPackageManager()).thenReturn(mPackageManager);
@@ -114,6 +119,33 @@
}
@Test
+ public void getWifiSlice_isGuestUser_shouldReturnNoToggle() {
+ doReturn(true).when(mUserManager).isGuestUser();
+
+ final Slice wifiSlice = mWifiSlice.getSlice();
+ final SliceMetadata metadata = SliceMetadata.from(mContext, wifiSlice);
+ final List<SliceAction> toggles = metadata.getToggles();
+ assertThat(toggles).hasSize(0);
+
+ final int rows = SliceQuery.findAll(wifiSlice, FORMAT_SLICE, HINT_LIST_ITEM,
+ null /* nonHints */).size();
+ // Title row
+ assertThat(rows).isEqualTo(1);
+ }
+
+ @Test
+ public void getWifiSlice_isNotGuestUser_shouldHaveTitleAndToggle() {
+ doReturn(false).when(mUserManager).isGuestUser();
+
+ final Slice wifiSlice = mWifiSlice.getSlice();
+ assertThat(wifiSlice).isNotNull();
+
+ final SliceMetadata metadata = SliceMetadata.from(mContext, wifiSlice);
+ final List<SliceAction> toggles = metadata.getToggles();
+ assertThat(toggles).hasSize(1);
+ }
+
+ @Test
public void getWifiSlice_fromSIPackage_shouldHaveTitleAndToggle() {
when(mPackageManager.getPackagesForUid(USER_ID)).thenReturn(new String[]{mSIPackageName});
ShadowWifiSlice.setWifiPermissible(false);
diff --git a/tests/unit/src/com/android/settings/bluetooth/QrCodeScanModeActivityTest.java b/tests/unit/src/com/android/settings/bluetooth/QrCodeScanModeActivityTest.java
new file mode 100644
index 0000000..56764e3
--- /dev/null
+++ b/tests/unit/src/com/android/settings/bluetooth/QrCodeScanModeActivityTest.java
@@ -0,0 +1,72 @@
+/**
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.bluetooth;
+
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Intent;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+
+import com.android.settingslib.bluetooth.BluetoothBroadcastUtils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+@RunWith(AndroidJUnit4.class)
+public class QrCodeScanModeActivityTest {
+
+ @Mock
+ private Intent mIntent;
+ private QrCodeScanModeActivity mActivity;
+
+ @Before
+ public void setUp() {
+ mIntent = new Intent(BluetoothBroadcastUtils.ACTION_BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER);
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ try {
+ mActivity =
+ spy((QrCodeScanModeActivity) InstrumentationRegistry
+ .getInstrumentation().newActivity(
+ getClass().getClassLoader(),
+ QrCodeScanModeActivity.class.getName(), mIntent));
+ } catch (Exception e) {
+ throw new RuntimeException(e); // nothing to do
+ }
+ });
+ }
+
+ @Test
+ public void handleIntent_noIntentAction_shouldFinish() {
+ mIntent = new Intent();
+ mActivity.handleIntent(mIntent);
+ verify(mActivity).finish();
+ }
+
+ @Test
+ public void handleIntent_hasIntentExtra_shouldShowFragment() {
+ doNothing().when(mActivity).showQrCodeScannerFragment(mIntent);
+ mActivity.handleIntent(mIntent);
+ verify(mActivity).showQrCodeScannerFragment(mIntent);
+ }
+
+}
diff --git a/tests/unit/src/com/android/settings/display/ScreenSaverPreferenceControllerTest.java b/tests/unit/src/com/android/settings/display/ScreenSaverPreferenceControllerTest.java
new file mode 100644
index 0000000..3319e2a
--- /dev/null
+++ b/tests/unit/src/com/android/settings/display/ScreenSaverPreferenceControllerTest.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.display;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.UserManager;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+
+@RunWith(AndroidJUnit4.class)
+public class ScreenSaverPreferenceControllerTest {
+ @Spy
+ private final Context mContext = ApplicationProvider.getApplicationContext();
+ @Spy
+ private final Resources mResources = mContext.getResources();
+ @Mock
+ private UserManager mUserManager;
+
+ private ScreenSaverPreferenceController mController;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+
+ mController = new ScreenSaverPreferenceController(mContext);
+
+ when(mContext.getResources()).thenReturn(mResources);
+ when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
+ }
+
+ @Test
+ public void isAvailable_dreamsEnabledForAllUsers_shouldBeTrueForSystemUser() {
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_dreamsOnlyEnabledForSystemUser))
+ .thenReturn(false);
+ when(mUserManager.isSystemUser()).thenReturn(true);
+ assertTrue(mController.isAvailable());
+ }
+
+ @Test
+ public void isAvailable_dreamsEnabledForAllUsers_shouldBeTrueForNonSystemUser() {
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_dreamsOnlyEnabledForSystemUser))
+ .thenReturn(false);
+ when(mUserManager.isSystemUser()).thenReturn(false);
+ assertTrue(mController.isAvailable());
+ }
+
+ @Test
+ public void isAvailable_dreamsDisabled_shouldBeFalseForSystemUser() {
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_dreamsSupported)).thenReturn(false);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_dreamsOnlyEnabledForSystemUser))
+ .thenReturn(false);
+ when(mUserManager.isSystemUser()).thenReturn(true);
+ assertFalse(mController.isAvailable());
+ }
+
+ @Test
+ public void isAvailable_dreamsOnlyEnabledForSystemUser_shouldBeTrueForSystemUser() {
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_dreamsOnlyEnabledForSystemUser))
+ .thenReturn(true);
+ when(mUserManager.isSystemUser()).thenReturn(true);
+ assertTrue(mController.isAvailable());
+ }
+
+ @Test
+ public void isAvailable_dreamsOnlyEnabledForSystemUser_shouldBeFalseForNonSystemUser() {
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_dreamsSupported)).thenReturn(true);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_dreamsOnlyEnabledForSystemUser))
+ .thenReturn(true);
+ when(mUserManager.isSystemUser()).thenReturn(false);
+ assertFalse(mController.isAvailable());
+ }
+}
diff --git a/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java b/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java
index 66247d3..345631c 100644
--- a/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java
+++ b/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java
@@ -42,6 +42,7 @@
import android.net.ConnectivityManager;
import android.net.Uri;
import android.net.wifi.WifiManager;
+import android.os.UserManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -87,6 +88,8 @@
private MockNetworkProviderWorker mMockNetworkProviderWorker;
@Mock
+ private UserManager mUserManager;
+ @Mock
private SubscriptionManager mSubscriptionManager;
@Mock
private ConnectivityManager mConnectivityManager;
@@ -122,6 +125,8 @@
any(), any(), any(), any(), any(), anyLong(), anyLong(), any()))
.thenReturn(mWifiPickerTracker);
+ when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
+ when(mUserManager.isGuestUser()).thenReturn(false);
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
@@ -164,6 +169,17 @@
@Test
@UiThreadTest
+ public void getSlice_isGuestUser_shouldNotAddRow() {
+ when(mUserManager.isGuestUser()).thenReturn(true);
+
+ final Slice slice = mMockProviderModelSlice.getSlice();
+
+ assertThat(slice).isNotNull();
+ verify(mListBuilder, never()).addRow(any());
+ }
+
+ @Test
+ @UiThreadTest
public void getSlice_noWifiAndHasCarrierNoData_oneCarrier() {
mWifiList.clear();
mMockNetworkProviderWorker.updateSelfResults(null);
@@ -320,6 +336,21 @@
}
@Test
+ public void getBackgroundWorkerClass_isGuestUser_returnNull() {
+ when(mUserManager.isGuestUser()).thenReturn(true);
+
+ assertThat(mMockProviderModelSlice.getBackgroundWorkerClass()).isNull();
+ }
+
+ @Test
+ public void getBackgroundWorkerClass_notGuestUser_returnWorkerClass() {
+ when(mUserManager.isGuestUser()).thenReturn(false);
+
+ assertThat(mMockProviderModelSlice.getBackgroundWorkerClass())
+ .isEqualTo(NetworkProviderWorker.class);
+ }
+
+ @Test
public void providerModelSlice_hasCorrectUri() {
assertThat(mMockProviderModelSlice.getUri()).isEqualTo(PROVIDER_MODEL_SLICE_URI);
}
diff --git a/tests/unit/src/com/android/settings/search/CustomSiteMapRegistryTest.java b/tests/unit/src/com/android/settings/search/CustomSiteMapRegistryTest.java
index 5eb3b33..a3090c6 100644
--- a/tests/unit/src/com/android/settings/search/CustomSiteMapRegistryTest.java
+++ b/tests/unit/src/com/android/settings/search/CustomSiteMapRegistryTest.java
@@ -23,8 +23,8 @@
import com.android.settings.backup.UserBackupSettingsActivity;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.connecteddevice.usb.UsbDetailsFragment;
-import com.android.settings.fuelgauge.PowerUsageAdvanced;
-import com.android.settings.fuelgauge.PowerUsageSummary;
+import com.android.settings.fuelgauge.batteryusage.PowerUsageAdvanced;
+import com.android.settings.fuelgauge.batteryusage.PowerUsageSummary;
import com.android.settings.gestures.GestureNavigationSettingsFragment;
import com.android.settings.gestures.SystemNavigationGestureSettings;
import com.android.settings.location.LocationSettings;