Merge "Use correct menu key highlights for safety center" into tm-qpr-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 01d6c9e..8334466 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -146,6 +146,7 @@
android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout|smallestScreenSize">
<intent-filter android:priority="1">
<action android:name="android.settings.SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
@@ -231,6 +232,7 @@
<action android:name="android.settings.WIRELESS_SETTINGS" />
<action android:name="android.settings.AIRPLANE_MODE_SETTINGS" />
<action android:name="com.android.settings.sim.SIM_SUB_INFO_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
@@ -262,6 +264,7 @@
<action android:name="android.settings.NETWORK_OPERATOR_SETTINGS" />
<action android:name="android.settings.DATA_ROAMING_SETTINGS" />
<action android:name="android.settings.MMS_MESSAGE_SETTING" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
@@ -289,6 +292,7 @@
android:icon="@drawable/ic_homepage_connected_device">
<intent-filter android:priority="1">
<action android:name="android.settings.BLUETOOTH_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -338,6 +342,7 @@
android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter android:priority="1">
<action android:name="android.settings.WIFI_SETTINGS"/>
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -449,6 +454,7 @@
android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter android:priority="1">
<action android:name="android.settings.WIFI_IP_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
@@ -785,6 +791,7 @@
android:icon="@drawable/ic_homepage_vpn">
<intent-filter android:priority="1">
<action android:name="android.settings.VPN_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.net.vpn.SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
@@ -821,6 +828,7 @@
android:icon="@drawable/ic_settings_date_time">
<intent-filter android:priority="1">
<action android:name="android.settings.DATE_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
@@ -844,6 +852,7 @@
android:icon="@drawable/ic_settings_language">
<intent-filter android:priority="1">
<action android:name="android.settings.LOCALE_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
@@ -901,6 +910,7 @@
android:label="@string/available_virtual_keyboard_category">
<intent-filter android:priority="1">
<action android:name="android.settings.INPUT_METHOD_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -915,6 +925,7 @@
android:label="@string/assist_and_voice_input_title">
<intent-filter android:priority="1">
<action android:name="android.settings.VOICE_INPUT_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -1033,6 +1044,7 @@
</intent-filter>
<intent-filter android:priority="1">
<action android:name="android.settings.ZEN_MODE_PRIORITY_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="41">
@@ -1092,6 +1104,7 @@
</intent-filter>
<intent-filter android:priority="1">
<action android:name="android.settings.ACTION_CONDITION_PROVIDER_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -1194,6 +1207,7 @@
<intent-filter android:priority="1">
<action android:name="com.android.settings.DISPLAY_SETTINGS" />
<action android:name="android.settings.DISPLAY_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="30">
@@ -1239,6 +1253,7 @@
</intent-filter>
<intent-filter android:priority="1">
<action android:name="android.settings.NIGHT_DISPLAY_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -1299,6 +1314,7 @@
android:icon="@drawable/ic_homepage_about">
<intent-filter android:priority="1">
<action android:name="android.settings.DEVICE_INFO_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.settings.DEVICE_NAME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
@@ -1383,6 +1399,7 @@
<action android:name="android.settings.APPLICATION_SETTINGS" />
<action android:name="android.settings.MANAGE_APPLICATIONS_SETTINGS" />
<action android:name="android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="20">
@@ -1442,6 +1459,7 @@
android:label="@string/high_power_apps">
<intent-filter android:priority="1">
<action android:name="android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -1639,6 +1657,7 @@
android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter android:priority="1">
<action android:name="android.settings.LOCATION_SOURCE_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="52">
@@ -1697,6 +1716,7 @@
android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter android:priority="1">
<action android:name="android.settings.SECURITY_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.credentials.UNLOCK" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
@@ -1781,6 +1801,7 @@
android:icon="@drawable/ic_settings_privacy">
<intent-filter>
<action android:name="android.settings.PRIVACY_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
@@ -1902,6 +1923,7 @@
android:label="@string/usage_access_title">
<intent-filter android:priority="1">
<action android:name="android.settings.USAGE_ACCESS_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -1950,6 +1972,7 @@
android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter android:priority="1">
<action android:name="android.settings.ACCESSIBILITY_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="60">
@@ -2099,6 +2122,7 @@
android:label="@string/accessibility_captioning_title">
<intent-filter android:priority="1">
<action android:name="android.settings.CAPTIONING_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -2252,6 +2276,7 @@
android:theme="@style/GlifTheme.Light">
<intent-filter>
<action android:name="android.settings.BIOMETRIC_ENROLL" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
@@ -2268,6 +2293,7 @@
android:theme="@style/GlifTheme.Light">
<intent-filter>
<action android:name="android.settings.FINGERPRINT_ENROLL" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
@@ -2433,6 +2459,7 @@
<intent-filter android:priority="1">
<action android:name="android.settings.INTERNAL_STORAGE_SETTINGS" />
<action android:name="android.settings.MEMORY_CARD_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="50">
@@ -2587,6 +2614,7 @@
android:icon="@drawable/ic_settings_print">
<intent-filter android:priority="1">
<action android:name="android.settings.ACTION_PRINT_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
@@ -2784,6 +2812,7 @@
android:icon="@drawable/ic_cast_24dp">
<intent-filter android:priority="1">
<action android:name="android.settings.CAST_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -2863,6 +2892,7 @@
android:icon="@drawable/ic_homepage_battery">
<intent-filter android:priority="1">
<action android:name="android.settings.BATTERY_SAVER_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -2922,6 +2952,7 @@
android:label="@string/header_add_an_account">
<intent-filter android:priority="1">
<action android:name="android.settings.ADD_ACCOUNT_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
@@ -2960,6 +2991,7 @@
android:icon="@drawable/ic_homepage_data_usage">
<intent-filter android:priority="1">
<action android:name="android.settings.DATA_USAGE_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="3">
@@ -2992,6 +3024,7 @@
android:icon="@drawable/ic_settings_display">
<intent-filter android:priority="1">
<action android:name="android.settings.DREAM_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -3043,6 +3076,7 @@
android:icon="@drawable/ic_settings_nfc_payment">
<intent-filter android:priority="1">
<action android:name="android.settings.NFC_PAYMENT_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
@@ -3095,6 +3129,7 @@
android:label="@string/manage_notification_access_title" >
<intent-filter android:priority="1">
<action android:name="android.settings.NOTIFICATION_LISTENER_DETAIL_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -3109,6 +3144,7 @@
android:label="@string/notification_assistant_title">
<intent-filter android:priority="1">
<action android:name="android.settings.NOTIFICATION_ASSISTANT_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -3313,6 +3349,7 @@
<intent-filter android:priority="1">
<action android:name="com.android.settings.SOUND_SETTINGS" />
<action android:name="android.settings.SOUND_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.settings.ACTION_OTHER_SOUND_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
@@ -3411,6 +3448,7 @@
android:enabled="@bool/config_show_regulatory_info">
<intent-filter>
<action android:name="android.settings.SHOW_REGULATORY_INFO" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
@@ -3639,6 +3677,7 @@
android:label="@string/write_settings_title">
<intent-filter android:priority="1">
<action android:name="android.settings.action.MANAGE_WRITE_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -3901,6 +3940,7 @@
android:icon="@drawable/ic_homepage_accounts">
<intent-filter android:priority="1">
<action android:name="android.settings.SYNC_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="53">
@@ -4105,6 +4145,7 @@
android:label="@string/connected_device_connections_title">
<intent-filter android:priority="1">
<action android:name="android.settings.NFC_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="1">
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index e91c948..c75dbf0 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Probeer verskillende style, muurpapiere, en meer"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Sluimerskerm"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"sluimerskerm"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Terwyl dit laai"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Oproepvolume"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Wekkervolume"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Lui- en kennisgewingvolume"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Luivolume"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Kennisgewingvolume"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Foonluitoon"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Verstekkennisgewingklank"</string>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index b5ff80d..30d6fb3 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -260,17 +260,17 @@
<item msgid="346101114322879720">"ማሳወቂያዎችን ድረስ"</item>
<item msgid="4760681822601767255">"ካሜራ"</item>
<item msgid="2172823594140104317">"ኦዲዮ ቅረጽ"</item>
- <item msgid="5612873260709742213">"ድምጽ አጫውት"</item>
+ <item msgid="5612873260709742213">"ድምፅ አጫውት"</item>
<item msgid="2027206403725749996">"ቅንጥብ መለያ አንብብ"</item>
<item msgid="5643742956725663156">"ቅንጥብ መለያ ቀይር"</item>
<item msgid="7362845549479684378">"የሚዲያ አዝራሮች"</item>
<item msgid="3843484466100107397">"የድምጽ ትኩረት"</item>
- <item msgid="617344340943430125">"ዋናው ድምጽ መቆጣጠሪያ"</item>
+ <item msgid="617344340943430125">"ዋናው ድምፅ መቆጣጠሪያ"</item>
<item msgid="1249691739381713634">"የድምጽ መጠን"</item>
- <item msgid="6485000384018554920">"የጥሪ ድምጽ መጠን"</item>
+ <item msgid="6485000384018554920">"የጥሪ ድምፅ መጠን"</item>
<item msgid="3378000878531336372">"የማህደረ መረጃ መጠን"</item>
<item msgid="5272927168355895681">"የማንቂያ ድምፅ መጠን"</item>
- <item msgid="4422070755065530548">"የማሳወቂያ ድምጽ መጠን"</item>
+ <item msgid="4422070755065530548">"የማሳወቂያ ድምፅ መጠን"</item>
<item msgid="3250654589277825306">"የብሉቱዝ ድምፅ መጠን"</item>
<item msgid="4212187233638382465">"እንደነቃ አቆይ"</item>
<item msgid="5099026183238335900">"አካባቢን ይቆጣጠሩ"</item>
@@ -327,7 +327,7 @@
<item msgid="8267704990417682222">"ማሳወቂያዎችን ይድረሱ"</item>
<item msgid="3180676986290096851">"ካሜራ"</item>
<item msgid="9174072114281872917">"ኦዲዮ ቅረጽ"</item>
- <item msgid="1444183972646890539">"ድምጽ አጫውት"</item>
+ <item msgid="1444183972646890539">"ድምፅ አጫውት"</item>
<item msgid="4337542044275236638">"ቅንጥብ ሰሌዳ አንብብ"</item>
<item msgid="2681224211796661809">"ቅንጥብ መለያ ቀይር"</item>
<item msgid="4479361062226474111">"የሚዲያ አዝራሮች"</item>
@@ -337,7 +337,7 @@
<item msgid="6749550886745567276">"የጥሪ መጠን"</item>
<item msgid="2218685029915863168">"የማህደረ መረጃ ክፍልፍል"</item>
<item msgid="4266577290496513640">"የማንቂያ ድምፅ መጠን"</item>
- <item msgid="8608084169623998854">"የማሳወቂያ ድምጽ መጠን"</item>
+ <item msgid="8608084169623998854">"የማሳወቂያ ድምፅ መጠን"</item>
<item msgid="7948784184567841794">"የብሉቱዝ ድምፅ መጠን"</item>
<item msgid="1148968792599973150">"እንደነቃ አቆይ"</item>
<item msgid="8482874682804856549">"አካባቢ"</item>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 88a7b2b..4e6ea4f 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -141,7 +141,7 @@
<string name="bluetooth_map_request" msgid="8664081227240707479">"የመልዕክት መዳረሻ ጥያቄ"</string>
<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> የእርስዎ ሲም ካርድ ላይ መድረስ ይፈልጋል። ወደ ሲም ካርዱ መዳረሻ መስጠት በእርስዎ መሣሪያ ላይ ግንኙነቱ ላይ በሚቆይበት ጊዜ ያክል የውሂብ ተገኚነትን ያሰናክላል። ለ<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> መዳረሻ ስጥ"</string>
+ <string name="bluetooth_sap_acceptance_dialog_text" msgid="2849083276356078655">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> የእርስዎ ሲም ካርድ ላይ መድረስ ይፈልጋል። ወደ ሲም ካርዱ መዳረሻ መስጠት በእርስዎ መሣሪያ ላይ ግንኙነቱ ላይ በሚቆይበት ጊዜ ያህል የውሂብ ተገኚነትን ያሰናክላል። ለ<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_off_footer" msgid="76578735660216295">"ወደ ሌላ መሣሪያዎች ለማገናኘት ብሉቱዝ ያብሩ"</string>
<string name="bluetooth_paired_device_title" msgid="3240639218362342026">"የእርስዎ መሣሪያዎች"</string>
@@ -1327,17 +1327,17 @@
<string name="wifi_disconnected_from" msgid="5249576734324159708">"ከ<xliff:g id="SSID">%1$s</xliff:g> ጋር ያለው ግንኙነት ተቋርጧል"</string>
<string name="carrier" msgid="1755020806290963951">"አገልግሎት አቅራቢ"</string>
<string name="display_settings_title" msgid="626835071804834218">"አሳይ"</string>
- <string name="sound_settings" msgid="7622986039384531304">"ድምጽ እና ንዝረት"</string>
+ <string name="sound_settings" msgid="7622986039384531304">"ድምፅ እና ንዝረት"</string>
<string name="all_volume_title" msgid="6196367642878437513">"ድምፆች"</string>
<string name="musicfx_title" msgid="5458574743312283473">"የሙዚቃ ማሳመሪያዎች"</string>
- <string name="ring_volume_title" msgid="4869034595079914541">"የጥሪ ድምጽ እና ማሳወቂያ ድምጽ መጠን"</string>
+ <string name="ring_volume_title" msgid="4869034595079914541">"የጥሪ ድምፅ እና ማሳወቂያ ድምፅ መጠን"</string>
<string name="vibrate_in_silent_title" msgid="5076579100685867363">"ፀጥ ሲል ንዘር"</string>
- <string name="notification_sound_title" msgid="8747567935870133157">"ነባሪ የማሳወቂያ ድምጽ"</string>
+ <string name="notification_sound_title" msgid="8747567935870133157">"ነባሪ የማሳወቂያ ድምፅ"</string>
<string name="incoming_call_volume_title" msgid="8445408274513654261">"የስልክ ጥሪ ድምፅ"</string>
<string name="notification_volume_title" msgid="328053763590888609">"ማሳወቂያ"</string>
<string name="checkbox_notification_same_as_incoming_call" msgid="1798481722572489141">"ለማሳወቂያዎች የገቢ ጥሪ ድምፅን ተጠቀም"</string>
<string name="home_work_profile_not_supported" msgid="2605589489324241338">"የስራ መገለጫዎችን አይደግፍም"</string>
- <string name="notification_sound_dialog_title" msgid="7431891669251806266">"ነባሪ የማሳወቂያ ድምጽ"</string>
+ <string name="notification_sound_dialog_title" msgid="7431891669251806266">"ነባሪ የማሳወቂያ ድምፅ"</string>
<string name="media_volume_title" msgid="5209147840160985178">"ማህደረ መረጃ"</string>
<string name="media_volume_summary" msgid="4671324482655564873">"ለሙዚቃ እና ቪዲዮዎች የድምፅመጠን አዘጋጅ"</string>
<string name="alarm_volume_title" msgid="706302621191735343">"ማንቂያ ደውል"</string>
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"የተለያዩ ቅጦችን፣ ልጣፎችን እና ተጨማሪ ነገሮችን ይሞክሩ"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"የማያ ገጽ ማቆያ"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"የማያ ገጽ ማቆያ"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"የማያ ገጽ አዳኝን ይጠቀሙ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ኃይል እየሞላ ወይም ተተክሎ ሳለ"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ባትሪ በመሙላት ላይ ሳለ"</string>
@@ -1615,7 +1617,7 @@
<string name="status_meid_number" msgid="6040380838489162650">"MEID"</string>
<string name="status_icc_id" msgid="7995690631650006970">"ICCID"</string>
<string name="status_data_network_type" msgid="3689772955330665876">"የተንቀሳቃሽ ስልክ ውሂብ አውታረ መረብ አይነት"</string>
- <string name="status_voice_network_type" msgid="8700356693062562884">"የተንቀሳቃሽ ድምጽ ውሂብ አውታረ መረብ አይነት"</string>
+ <string name="status_voice_network_type" msgid="8700356693062562884">"የተንቀሳቃሽ ድምፅ ውሂብ አውታረ መረብ አይነት"</string>
<string name="status_latest_area_info" msgid="8288488664620741734">"የድምጸ ተያያዥ ሞደም መረጃ"</string>
<string name="status_data_state" msgid="525196229491743487">"የተንቀሳቃሽ አውታረ መረብክልል"</string>
<string name="status_esim_id" msgid="5158916796362809133">"EID"</string>
@@ -1671,7 +1673,7 @@
<string name="sd_ejecting_title" msgid="1641122369013595273">"በመንቀል ላይ"</string>
<string name="sd_ejecting_summary" msgid="861928572729341132">"ንቀል በሂደት ላይ"</string>
<string name="storage_low_title" msgid="8002650511493419567">"የማከማቻ ቦታ እያለቀ ነው"</string>
- <string name="storage_low_summary" msgid="7341022293583384506">"እንደማመሳሰል ያሉ አንዳንድ የስርዓት ተግባራት በትክክል ላይሰሩ ይችላሉ። እንደመተግበሪያዎች ወይም የሚዲያ ይዘቶች ያሉ ንጥሎች በመሰረዝ ወይም ባለመሰካት ነጻ ቦታ ለመጨመር ሞክር።"</string>
+ <string name="storage_low_summary" msgid="7341022293583384506">"እንደማመሳሰል ያሉ አንዳንድ የስርዓት ተግባራት በትክክል ላይሰሩ ይችላሉ። እንደመተግበሪያዎች ወይም የሚዲያ ይዘቶች ያሉ ንጥሎች በመሰረዝ ወይም ባለመሰካት ነፃ ቦታ ለመጨመር ሞክር።"</string>
<string name="storage_menu_rename" msgid="8549835371429159336">"እንደገና ሰይም"</string>
<string name="storage_menu_mount" msgid="4760531872302820569">"አፈናጥ"</string>
<string name="storage_menu_unmount" msgid="8171552487742912282">"አስወጣ"</string>
@@ -1686,7 +1688,7 @@
<string name="storage_menu_manage" msgid="7465522758801346408">"ማከማቻን ያቀናብሩ"</string>
<string name="keywords_storage_menu_free" msgid="2275406357317597106">"ንጹሕ፣ ማከማቻ"</string>
<string name="storage_free_up_space_title" msgid="281047807372131975">"ቦታ ያስለቅቁ"</string>
- <string name="storage_free_up_space_summary" msgid="6650027929735481350">"ቦታ ለማስተዳደር እና ነጻ ለማድረግ ወደ ፋይሎች መተግበሪያ ይሂዱ"</string>
+ <string name="storage_free_up_space_summary" msgid="6650027929735481350">"ቦታ ለማስተዳደር እና ነፃ ለማድረግ ወደ ፋይሎች መተግበሪያ ይሂዱ"</string>
<string name="storage_title_usb" msgid="1332488715547400452">"የUSB ኮምፒዩተር ትይይዝ"</string>
<string name="usb_connection_category" msgid="2288543238378907242">"እንደ.... ያግኙን"</string>
<string name="usb_mtp_title" msgid="9068009584556422314">"የማህደረ መረጃ መሣሪያ (MTP)"</string>
@@ -1728,7 +1730,7 @@
<string name="storage_wizard_format_progress_title" msgid="9170393018855949774">"የ<xliff:g id="NAME">^1</xliff:g>ን ቅርጸት በመስራት ላይ…"</string>
<string name="storage_wizard_format_progress_body" msgid="1044024044955390417">"<xliff:g id="NAME">^1</xliff:g> ቅርጸት እየተሠራለት ሳለ አያስወግዱት።"</string>
<string name="storage_wizard_migrate_title" msgid="3013711737005104623">"ውሂብን ወደ አዲስ ማከማቻ ውሰድ"</string>
- <string name="storage_wizard_migrate_body" msgid="1630853797296198275">"የእርስዎን ፎቶዎች፣ ፋይሎች፣ እና አንዳንድ መተግበሪያዎች ወደዚህ አዲስ <xliff:g id="NAME">^1</xliff:g> ማንቀሳቀስ ይችላሉ። \n\nእንቅስቃሴው <xliff:g id="TIME">^2</xliff:g> ያህል ይወስዳል እና <xliff:g id="SIZE">^3</xliff:g> በውስጣዊ ማከማቻው ላይ ነጻ ያደርጋል። ይህ በሚከናወንበት ጊዜ አንዳንድ መተግበሪያዎች አይሰሩም።"</string>
+ <string name="storage_wizard_migrate_body" msgid="1630853797296198275">"የእርስዎን ፎቶዎች፣ ፋይሎች፣ እና አንዳንድ መተግበሪያዎች ወደዚህ አዲስ <xliff:g id="NAME">^1</xliff:g> ማንቀሳቀስ ይችላሉ። \n\nእንቅስቃሴው <xliff:g id="TIME">^2</xliff:g> ያህል ይወስዳል እና <xliff:g id="SIZE">^3</xliff:g> በውስጣዊ ማከማቻው ላይ ነፃ ያደርጋል። ይህ በሚከናወንበት ጊዜ አንዳንድ መተግበሪያዎች አይሰሩም።"</string>
<string name="storage_wizard_migrate_now" msgid="175023718337037181">"አሁን ይውሰዱ"</string>
<string name="storage_wizard_migrate_later" msgid="6573789572520980112">"በኋላ ይውሰዱ"</string>
<string name="storage_wizard_migrate_confirm_title" msgid="255346780598924540">"ውሂብ አሁን ይውሰዱ"</string>
@@ -1763,8 +1765,8 @@
<string name="storage_wizard_format_confirm_v2_body_external" msgid="5810296966099830035">"ይህ <xliff:g id="NAME_0">^1</xliff:g> ፎቶዎችን፣ ቪድዮዎችን፣ ሙዚቃን እና ሌሎችንም ለማከማቸት ቅርጸት መሰራት አለበት። \n\nቅርጸት መስራት ማንኛውንም ነባር ይዘት ይደመስሳል<xliff:g id="NAME_1">^2</xliff:g>። ይዘት ማጣትን ለማስቀረት ምትኬውን በሌላ <xliff:g id="NAME_2">^3</xliff:g> ወይም መሣሪያ ላይ ያስቀምጡለት።"</string>
<string name="storage_wizard_format_confirm_v2_action" msgid="5718254101386377126">"ቅርጸት <xliff:g id="NAME">^1</xliff:g>"</string>
<string name="storage_wizard_migrate_v2_title" msgid="3471564531564756698">"ይዘት ወደ <xliff:g id="NAME">^1</xliff:g> ይንቀሳቀስ?"</string>
- <string name="storage_wizard_migrate_v2_body" product="tablet" msgid="4541523202790415721">"ፋይሎችን፣ ማህደረ መረጃን እና የተወሰኑ መተግበሪያዎችን ወደዚህ <xliff:g id="NAME">^1</xliff:g> ማንቀሳቀስ ይችላሉ። \n\nይህ እንቅስቃሴ ከእርስዎ ጡባዊ ማከማቻ <xliff:g id="SIZE">^2</xliff:g> ነጻ ያደርጋል እና ወደ <xliff:g id="DURATION">^3</xliff:g> ገደማ መውሰድ አለበት።"</string>
- <string name="storage_wizard_migrate_v2_body" product="default" msgid="809730501314645325">"ፋይሎችን፣ ማህደረ መረጃን እና የተወሰኑ መተግበሪያዎችን ወደዚህ <xliff:g id="NAME">^1</xliff:g> ማንቀሳቀስ ይችላሉ። \n\nይህ እንቅስቃሴ ከእርስዎ ስልክ ማከማቻ <xliff:g id="SIZE">^2</xliff:g> ነጻ ያደርጋል እና ወደ <xliff:g id="DURATION">^3</xliff:g> ገደማ መውሰድ አለበት።"</string>
+ <string name="storage_wizard_migrate_v2_body" product="tablet" msgid="4541523202790415721">"ፋይሎችን፣ ማህደረ መረጃን እና የተወሰኑ መተግበሪያዎችን ወደዚህ <xliff:g id="NAME">^1</xliff:g> ማንቀሳቀስ ይችላሉ። \n\nይህ እንቅስቃሴ ከእርስዎ ጡባዊ ማከማቻ <xliff:g id="SIZE">^2</xliff:g> ነፃ ያደርጋል እና ወደ <xliff:g id="DURATION">^3</xliff:g> ገደማ መውሰድ አለበት።"</string>
+ <string name="storage_wizard_migrate_v2_body" product="default" msgid="809730501314645325">"ፋይሎችን፣ ማህደረ መረጃን እና የተወሰኑ መተግበሪያዎችን ወደዚህ <xliff:g id="NAME">^1</xliff:g> ማንቀሳቀስ ይችላሉ። \n\nይህ እንቅስቃሴ ከእርስዎ ስልክ ማከማቻ <xliff:g id="SIZE">^2</xliff:g> ነፃ ያደርጋል እና ወደ <xliff:g id="DURATION">^3</xliff:g> ገደማ መውሰድ አለበት።"</string>
<string name="storage_wizard_migrate_v2_checklist" msgid="2618258869444553060">"በማንቀሳቀሱ ጊዜ ላይ፦"</string>
<string name="storage_wizard_migrate_v2_checklist_media" msgid="5867134681730723744">"<xliff:g id="NAME">^1</xliff:g>ን አታስወግድ"</string>
<string name="storage_wizard_migrate_v2_checklist_apps" msgid="1882077445750580783">"አንዳንድ መተግበሪያዎች አይሠሩም"</string>
@@ -1917,7 +1919,7 @@
<string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"በእርስዎ Wi-Fi ወይም የተንቀሳቃሽ ስልክ ውሂብ ግንኙነት በኩል በይነመረቡ ለሌሎች መሣሪያዎች ለማቅረብ የመገናኛ ነጥብን እና እንደ ሞደም መሰካትን ይጠቀሙ። መተግበሪያዎች እንዲሁም ይዘቶችን በአቅራቢያ ላሉ መሣሪያዎች ለማጋራት መገናኛ ነጥብን መፍጠር ይችላሉ።"</string>
<string name="tethering_help_button_text" msgid="2823655011510912001">"እገዛ"</string>
<string name="network_settings_title" msgid="4663717899931613176">"የተንቀሳቃሽ ስልክ አውታረ መረብ"</string>
- <string name="manage_mobile_plan_title" msgid="5616930513733409064">"የሞባይል እቅድ"</string>
+ <string name="manage_mobile_plan_title" msgid="5616930513733409064">"የሞባይል ዕቅድ"</string>
<string name="sms_application_title" msgid="4791107002724108809">"የኤስኤምኤስ መተግበሪያ"</string>
<string name="sms_change_default_dialog_title" msgid="2343439998715457307">"የኤስ ኤም ኤስ መተግበሪያ ይለወጥ?"</string>
<string name="sms_change_default_dialog_text" msgid="8777606240342982531">"ከ<xliff:g id="CURRENT_APP">%2$s</xliff:g> ይልቅ <xliff:g id="NEW_APP">%1$s</xliff:g> እንደ እርስዎ ኤስኤምኤስ መተግበሪያ ይጠቀሙበት?"</string>
@@ -3713,7 +3715,7 @@
<string name="keywords_battery_saver" msgid="6289682844453234359">"የባትሪ ኃይል ቆጣቢ፣ ኃይል ቆጣቢ፣ ቆጣቢ"</string>
<string name="keywords_battery_adaptive_preferences" msgid="1774870663426502938">"ተለማማጅ ምርጫዎች፣ ተለማማጅ ባትሪ"</string>
<string name="keywords_spell_checker" msgid="5148906820603481657">"የፊደል አጻጻፍ፣ መዝገበ-ቃላት፣ ፊደል ማረሚያ፣ ራስ-እርማት"</string>
- <string name="keywords_voice_input" msgid="7534900094659358971">"ማወቂያ፣ ግቤት፣ ንግግር፣ ይናገሩ፣ ቋንቋ፣ ነጻ-እጅ፣ ነጻ እጅ፣ ማወቂያ፣ አስከፊ ቃል፣ የኦዲዮ ታሪክ፣ ብሉቱዝ፣ የጆሮ ማዳመጫ"</string>
+ <string name="keywords_voice_input" msgid="7534900094659358971">"ማወቂያ፣ ግቤት፣ ንግግር፣ ይናገሩ፣ ቋንቋ፣ ነፃ-እጅ፣ ነፃ እጅ፣ ማወቂያ፣ አስከፊ ቃል፣ የኦዲዮ ታሪክ፣ ብሉቱዝ፣ የጆሮ ማዳመጫ"</string>
<string name="keywords_text_to_speech_output" msgid="6728080502619011668">"ደረጃ፣ ቋንቋ፣ ነባሪ፣ ተናገር፣ መናገር፣ tts፣ ተደራሽነት፣ ማያ ገጽ አንባቢ፣ ማየት የተሳናቸው"</string>
<string name="keywords_date_and_time" msgid="4402136313104901312">"ሰዓት፣ ወታደራዊ"</string>
<string name="keywords_network_reset" msgid="4075670452112218042">"ዳግም አስጀምር፣ ወደነበረበት መልስ፣ ፋብሪካ"</string>
@@ -3763,7 +3765,7 @@
<string name="keywords_system_update_settings" msgid="5769003488814164931">"ደረጃ አሻሽል፣ android"</string>
<string name="keywords_zen_mode_settings" msgid="7810203406522669584">"dnd፣ መርሐ ግብር፣ ማሳወቂያዎች፣ አግድ፣ ጸጥታ፣ ንዘር፣ አንቀላፋ፣ ሥራ፣ አተኩር፣ ድምፅ፣ ድምፀ ከል አድርግ፣ ቀን፣ የሳምንቱ ቀን፣ የሳምንቱ ዕረፍት ቀናት፣ የሳምንቱ ሌሊት፣ ክስተት"</string>
<string name="keywords_screen_timeout" msgid="8921857020437540572">"ማያ ገጽ፣ የመቆለፊያ ጊዜ፣ እረፍት ጊዜ፣ የቆልፍ ማያ ገጽ"</string>
- <string name="keywords_storage_settings" msgid="6018856193950281898">"ማህደረ ትውስታ፣ ውሂብ፣ ሰርዝ፣ አፅዳ፣ ነጻ፣ ባዶ ቦታ"</string>
+ <string name="keywords_storage_settings" msgid="6018856193950281898">"ማህደረ ትውስታ፣ ውሂብ፣ ሰርዝ፣ አፅዳ፣ ነፃ፣ ባዶ ቦታ"</string>
<string name="keywords_bluetooth_settings" msgid="2588159530959868188">"ተገናኝቷል፣ መሣሪያ፣ የጆሮ ማዳመጫዎች፣ ማዳመጫዎች፣ ስፒከር፣ ገመድ አልባ፣ አጣምር፣ ጆሮ ተሰኪዎች፣ ሙዚቃ፣ ማህደረ መረጃ"</string>
<string name="keywords_wallpaper" msgid="7332890404629446192">"ዳራ፣ ገጽታ፣ ፍርግርግ፣ አብጅ፣ ግላዊነት ማላበስ"</string>
<string name="keywords_styles" msgid="5291614313348476068">"አዶ፣ ትእምርት፣ ቀለም"</string>
@@ -3787,22 +3789,23 @@
<string name="keywords_font_size" msgid="1643198841815006447">"የጽሁፍ መጠን፣ ትልቅ ህትመት፣ ትልቅ ቅርጸ-ቁምፊ፣ ትልቅ ጽሁፍ፣ ዝቅተኛ-ዕይታ፣ ጽሁፍን ያተልቁ መጠን፣ ትልቅ ህትመት፣ ትልቅ ቅርጸ-ቁምፊ፣ ትልቅ ጽሁፍ፣ ዝቅተኛ-ዕይታ፣ ጽሁፍን ያተልቁ፣ ቅርጸ-ቁምፊ ማተለቂያ፣ ቅርጸ-ቁምፊ ማተለቅ"</string>
<string name="keywords_always_show_time_info" msgid="9120590185763264666">"ሁልጊዜ የሚበራ ማሳያ"</string>
<string name="default_sound" msgid="6604374495015245195">"ነባሪ ድምፅ"</string>
- <string name="sound_settings_summary" msgid="944761906531715109">"የጥሪ ድምጽ እና ማሳወቂያ ድምጽ መጠን <xliff:g id="PERCENTAGE">%1$s</xliff:g> ላይ"</string>
+ <string name="sound_settings_summary" msgid="944761906531715109">"የጥሪ ድምፅ እና ማሳወቂያ ድምፅ መጠን <xliff:g id="PERCENTAGE">%1$s</xliff:g> ላይ"</string>
<string name="sound_dashboard_summary" msgid="6574444810552643312">"ድምፅ፣ ንዝረት፣ አትረብሽ"</string>
<string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"ደዋዩ ወደ ንዘር ተቀናብሯል"</string>
<string name="sound_settings_summary_silent" msgid="746662794579344761">"ደዋዩ ወደ ጸጥታ ተቀናብሯል"</string>
- <string name="sound_settings_example_summary" msgid="8125110691864707925">"የጥሪ ድምጽ እና ማሳወቂያ ድምጽ መጠን 80% ላይ"</string>
+ <string name="sound_settings_example_summary" msgid="8125110691864707925">"የጥሪ ድምፅ እና ማሳወቂያ ድምፅ መጠን 80% ላይ"</string>
<string name="media_volume_option_title" msgid="5966569685119475630">"የማህደረመረጃ ክፍልፍል"</string>
<string name="remote_media_volume_option_title" msgid="8760846743943305764">"ድምፅን Cast አድርግ"</string>
- <string name="call_volume_option_title" msgid="1461105986437268924">"የስልክ ጥሪ ድምጽ መጠን"</string>
+ <string name="call_volume_option_title" msgid="1461105986437268924">"የስልክ ጥሪ ድምፅ መጠን"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"የማንቂያ ድምፅ መጠን"</string>
- <string name="ring_volume_option_title" msgid="1520802026403038560">"የጥሪ ድምጽ እና ማሳወቂያ ድምጽ መጠን"</string>
- <string name="notification_volume_option_title" msgid="4838818791683615978">"የማሳወቂያ ድምጽ መጠን"</string>
+ <string name="ring_volume_option_title" msgid="1520802026403038560">"የጥሪ ድምፅ እና ማሳወቂያ ድምፅ መጠን"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"የጥሪ የድምጽ መጠን"</string>
+ <string name="notification_volume_option_title" msgid="4838818791683615978">"የማሳወቂያ ድምፅ መጠን"</string>
<string name="ringtone_title" msgid="3271453110387368088">"የስልክ ጥሪ ድምፅ"</string>
- <string name="notification_ringtone_title" msgid="6924501621312095512">"ነባሪ የማሳወቂያ ድምጽ"</string>
- <string name="notification_unknown_sound_title" msgid="1319708450698738980">"በመተግበሪያ የቀረበ ድምጽ"</string>
- <string name="notification_sound_default" msgid="8630353701915294299">"ነባሪ የማሳወቂያ ድምጽ"</string>
- <string name="alarm_ringtone_title" msgid="6680761007731764726">"ነባሪ የማንቂያ ድምጽ"</string>
+ <string name="notification_ringtone_title" msgid="6924501621312095512">"ነባሪ የማሳወቂያ ድምፅ"</string>
+ <string name="notification_unknown_sound_title" msgid="1319708450698738980">"በመተግበሪያ የቀረበ ድምፅ"</string>
+ <string name="notification_sound_default" msgid="8630353701915294299">"ነባሪ የማሳወቂያ ድምፅ"</string>
+ <string name="alarm_ringtone_title" msgid="6680761007731764726">"ነባሪ የማንቂያ ድምፅ"</string>
<string name="vibrate_when_ringing_title" msgid="3436203665622843196">"ለጥሪዎች ንዘር"</string>
<string name="keywords_vibrate_for_calls" msgid="1019870409730074899">"ንዝረት"</string>
<string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"በጭራሽ አትንዘር"</string>
@@ -3811,12 +3814,12 @@
<string name="other_sound_settings" msgid="5468360269346162072">"ሌሎች ድምጾች"</string>
<string name="spatial_audio_title" msgid="6591051622375191603">"ከባቢያዊ ኦዲዮ"</string>
<string name="dial_pad_tones_title" msgid="3536945335367914892">"የመደወያ ሰሌዳ ድምጾች"</string>
- <string name="screen_locking_sounds_title" msgid="5695030983872787321">"የማያ ገጽ መቆለፊያ ድምጽ"</string>
+ <string name="screen_locking_sounds_title" msgid="5695030983872787321">"የማያ ገጽ መቆለፊያ ድምፅ"</string>
<string name="charging_sounds_title" msgid="5261683808537783668">"የኃይል መሙላት ድምፅ እና ንዝረት"</string>
<string name="docking_sounds_title" msgid="5341616179210436159">"የመትከል ድምጾች"</string>
<string name="touch_sounds_title" msgid="2200734041857425078">"ድምፆችን ይንኩ"</string>
<string name="vibrate_icon_title" msgid="1281100105045362530">"በንዝረት ሁነታ ላይ ሲሆኑ ሁልጊዜ አዶን አሳይ"</string>
- <string name="dock_audio_media_title" msgid="6474579339356398330">"የመትከያ ድምጽ ማጉያ ያጫውታል"</string>
+ <string name="dock_audio_media_title" msgid="6474579339356398330">"የመትከያ ድምፅ ማጉያ ያጫውታል"</string>
<string name="dock_audio_media_disabled" msgid="8499927008999532341">"ሁሉም ተሰሚ"</string>
<string name="dock_audio_media_enabled" msgid="4039126523653131281">"የማህደረመረጃ ተሰሚ ብቻ"</string>
<string name="emergency_tone_silent" msgid="5048069815418450902">"ጸጥታ"</string>
@@ -3825,7 +3828,7 @@
<string name="boot_sounds_title" msgid="5033062848948884111">"ድምፆችን ያብሩ"</string>
<string name="live_caption_title" msgid="8617086825712756983">"የቀጥታ ስርጭት መግለጫ ጽሁፍ"</string>
<string name="live_caption_summary" msgid="2898451867595161809">"ራስሰር የሥዕል መግለጫ ጽሑፍን ሚዲያ"</string>
- <string name="spatial_audio_speaker" msgid="9145233652433523302">"የስልክ ድምጽ ማጉያ"</string>
+ <string name="spatial_audio_speaker" msgid="9145233652433523302">"የስልክ ድምፅ ማጉያ"</string>
<string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"ባለገመድ የጆሮ ማዳመጫ"</string>
<string name="spatial_audio_text" msgid="8201387855375146000">"ከተኳኋኝ ሚዲያ የሚመጣ ኦዲዩ ይበልጥ መሳጭ ይሆናል"</string>
<string name="spatial_summary_off" msgid="8272678804629774378">"አጥፋ"</string>
@@ -3846,7 +3849,7 @@
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"መርሐግብሮች"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"መርሐግብር"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"መርሐግብር"</string>
- <string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"በተወሰኑ ሰዓታት ላይ የስልክ ድምጽ አጥፋ"</string>
+ <string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"በተወሰኑ ሰዓታት ላይ የስልክ ድምፅ አጥፋ"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"የአትረብሽ ደንቦችን ያቀናብሩ"</string>
<string name="zen_mode_schedule_title" msgid="7064866561892906613">"መርሐግብር"</string>
<string name="zen_mode_use_automatic_rule" msgid="733850322530002484">"መርሐግብር ይጠቀሙ"</string>
@@ -3856,18 +3859,18 @@
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ምስላዊ ምልክቶችን ፍቀድ"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4169952466106040297">"ለተደበቁ ማሳወቂያዎች የማሳያ አማራጮች"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"አትረብሽ ሲበራ"</string>
- <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ከማሳወቂያዎች ምንም ድምጽ የለም"</string>
+ <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ከማሳወቂያዎች ምንም ድምፅ የለም"</string>
<string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"ማሳወቂያዎችን በማያዎ ላይ ይመለከታሉ"</string>
- <string name="zen_mode_restrict_notifications_mute_footer" msgid="2152115038156049608">"ማሳወቂያዎች ሲመጡ ስልክዎ ድምጽ አያሰማም ወይም አይነዝርም።"</string>
- <string name="zen_mode_restrict_notifications_hide" msgid="5997930361607752541">"ማሳወቂያዎች ላይ ምንም ምስሎች ወይም ድምጽ የለም"</string>
+ <string name="zen_mode_restrict_notifications_mute_footer" msgid="2152115038156049608">"ማሳወቂያዎች ሲመጡ ስልክዎ ድምፅ አያሰማም ወይም አይነዝርም።"</string>
+ <string name="zen_mode_restrict_notifications_hide" msgid="5997930361607752541">"ማሳወቂያዎች ላይ ምንም ምስሎች ወይም ድምፅ የለም"</string>
<string name="zen_mode_restrict_notifications_hide_summary" msgid="6005445725686969583">"ማሳወቂያዎችን አያዩም ወይም አይሰሙም።"</string>
- <string name="zen_mode_restrict_notifications_hide_footer" msgid="4314772315731485747">"የእርስዎ ስልክ አዲስ ወይም ነባር ማሳወቂያዎችን አያሳይም፣ ለእነሱ አይነዝርም ወይም ድምጽ አያሰማም። ለስልክ እንቅስቃሴ ወሳኝ የሆኑ ማሳወቂያዎች እና ሁኔታ አሁንም እንደሚታዩ ከግምት ውስጥ ያስገቡ።\n\nአትረብሽን ሲያጠፉት ከማያዎ አናት ወደ ታች በማንሸራተት ያመለጡ ማሳወቂያዎችን ያግኙ።"</string>
+ <string name="zen_mode_restrict_notifications_hide_footer" msgid="4314772315731485747">"የእርስዎ ስልክ አዲስ ወይም ነባር ማሳወቂያዎችን አያሳይም፣ ለእነሱ አይነዝርም ወይም ድምፅ አያሰማም። ለስልክ እንቅስቃሴ ወሳኝ የሆኑ ማሳወቂያዎች እና ሁኔታ አሁንም እንደሚታዩ ከግምት ውስጥ ያስገቡ።\n\nአትረብሽን ሲያጠፉት ከማያዎ አናት ወደ ታች በማንሸራተት ያመለጡ ማሳወቂያዎችን ያግኙ።"</string>
<string name="zen_mode_restrict_notifications_custom" msgid="5469078057954463796">"ብጁ"</string>
<string name="zen_mode_restrict_notifications_enable_custom" msgid="4303255634151330401">"ብጁ ቅንብን አንቃ"</string>
<string name="zen_mode_restrict_notifications_disable_custom" msgid="5062332754972217218">"ብጁ ቅንብን አስወግድ"</string>
- <string name="zen_mode_restrict_notifications_summary_muted" msgid="4750213316794189968">"ከማሳወቂያዎች ምንም ድምጽ የለም"</string>
+ <string name="zen_mode_restrict_notifications_summary_muted" msgid="4750213316794189968">"ከማሳወቂያዎች ምንም ድምፅ የለም"</string>
<string name="zen_mode_restrict_notifications_summary_custom" msgid="3918461289557316364">"በከፊል ተደብቋል"</string>
- <string name="zen_mode_restrict_notifications_summary_hidden" msgid="636494600775773296">"ማሳወቂያዎች ላይ ምንም ምስሎች ወይም ድምጽ የለም"</string>
+ <string name="zen_mode_restrict_notifications_summary_hidden" msgid="636494600775773296">"ማሳወቂያዎች ላይ ምንም ምስሎች ወይም ድምፅ የለም"</string>
<string name="zen_mode_what_to_block_title" msgid="5692710098205334164">"ብጁ ገደቦች"</string>
<string name="zen_mode_block_effects_screen_on" msgid="8780668375194500987">"ማያ ገጹ ሲበራ"</string>
<string name="zen_mode_block_effects_screen_off" msgid="2291988790355612826">"ማያ ገጹ ሲጠፋ"</string>
@@ -3882,9 +3885,9 @@
<string name="zen_mode_block_effect_summary_none" msgid="6688519142395714659">"በጭራሽ"</string>
<string name="zen_mode_block_effect_summary_screen_off" msgid="6989818116297061488">"ማያ ገጹ ሲጠፋ"</string>
<string name="zen_mode_block_effect_summary_screen_on" msgid="4876016548834916087">"ማያ ገጹ ሲበራ"</string>
- <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ድምጽ እና ንዝረት"</string>
- <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"የማሳወቂያዎች ድምጽ፣ ንዝረት እና አንዳንድ ምስላዊ ምልክቶች"</string>
- <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"የማሳወቂያዎች ድምጽ፣ ንዝረት እና ምስላዊ ምልክቶች"</string>
+ <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ድምፅ እና ንዝረት"</string>
+ <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"የማሳወቂያዎች ድምፅ፣ ንዝረት እና አንዳንድ ምስላዊ ምልክቶች"</string>
+ <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"የማሳወቂያዎች ድምፅ፣ ንዝረት እና ምስላዊ ምልክቶች"</string>
<string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ማሳወቂያዎች ለመሠረታዊ የስልክ እንቅስቃሴ ያስፈልጋሉ፣ እና ሁኔታ በጭራሽ አይደበቅም።"</string>
<string name="zen_mode_no_exceptions" msgid="1580136061336585873">"ምንም"</string>
<string name="zen_mode_other_options" msgid="3399967231522580421">"ሌሎች አማራጮች"</string>
@@ -3914,7 +3917,7 @@
<string name="zen_category_schedule" msgid="2003707171924226212">"መርሐግብሮች"</string>
<string name="zen_category_duration" msgid="7515850842082631460">"የፈጣን ቅንብሮች የቆይታ ጊዜ"</string>
<string name="zen_settings_general" msgid="2704932194620124153">"አጠቃላይ"</string>
- <string name="zen_sound_footer" msgid="4090291351903631977">"አትረብሽ ሲበራ ከላይ ከሚፈቅዷቸው ንጥሎች በስተቀር ድምጽ እና ንዝረት ድምጸ-ከል ይደረግባቸዋል።"</string>
+ <string name="zen_sound_footer" msgid="4090291351903631977">"አትረብሽ ሲበራ ከላይ ከሚፈቅዷቸው ንጥሎች በስተቀር ድምፅ እና ንዝረት ድምጸ-ከል ይደረግባቸዋል።"</string>
<string name="zen_custom_settings_dialog_title" msgid="4613603772432720380">"ብጁ ቅንብሮች"</string>
<string name="zen_custom_settings_dialog_review_schedule" msgid="4674671820584759928">"መርሐግብር ይገምግሙ"</string>
<string name="zen_custom_settings_dialog_ok" msgid="8842373418878278246">"ገብቶኛል"</string>
@@ -3924,8 +3927,8 @@
<string name="zen_msg_event_reminder_footer" msgid="2700459146293750387">"አትረብሽ ሲበራ ከላይ ከሚፈቅዷቸው ንጥሎች በስተቀር መልዕክቶች፣ አስታዋሾች እና ክስተቶች ድምጸ-ከል ይደረግባቸዋል። የእርስዎ ጓደኛዎች፣ ቤተሰብ እና ሌሎች እውቂያዎች እርስዎን ማግኘት እንዲችሉ የመልዕክት ቅንብሮችን ማስተካከል ይችላሉ።"</string>
<string name="zen_onboarding_ok" msgid="8764248406533833392">"ተከናውኗል"</string>
<string name="zen_onboarding_settings" msgid="2815839576245114342">"ቅንብሮች"</string>
- <string name="zen_onboarding_new_setting_title" msgid="8813308612916316657">"ማሳወቂያዎች ላይ ምንም ምስሎች ወይም ድምጽ የለም"</string>
- <string name="zen_onboarding_current_setting_title" msgid="5024603685220407195">"ከማሳወቂያዎች ምንም ድምጽ የለም"</string>
+ <string name="zen_onboarding_new_setting_title" msgid="8813308612916316657">"ማሳወቂያዎች ላይ ምንም ምስሎች ወይም ድምፅ የለም"</string>
+ <string name="zen_onboarding_current_setting_title" msgid="5024603685220407195">"ከማሳወቂያዎች ምንም ድምፅ የለም"</string>
<string name="zen_onboarding_new_setting_summary" msgid="7695808354942143707">"ማሳወቂያዎችን አያዩም ወይም አይሰሙም። ኮከብ ከተደረገባቸው እውቂያዎች የሚመጡ ጥሪዎች እና ድጋሚ ደዋዮች ይፈቀዳሉ።"</string>
<string name="zen_onboarding_current_setting_summary" msgid="8864567406905990095">"(የአሁን ቅንብር)"</string>
<string name="zen_onboarding_dnd_visual_disturbances_header" msgid="8639698336231314609">"የአትረብሽ ማሳወቂያ ቅንብሮች ይቀየሩ?"</string>
@@ -4090,8 +4093,8 @@
<string name="notification_channel_summary_priority" msgid="7225362351439076913">"በውይይት ክፍል አናት ላይ ያሳያል፣ እንደ ተንሳፋፊ አረፋ ብቅ ይላል፣ በቆልፍ ማያ ገጽ ላይ የመገለጫ ሥዕልን ያሳያል"</string>
<string name="convo_not_supported_summary" msgid="4285471045268268048">"<xliff:g id="APP_NAME">%1$s</xliff:g> አብዛኛዎቹን የውይይት ባህሪያት አይደግፍም። አንድ ውይይትን እንደ ቅድሚያ ተሰጪ አድርገው ማቀናበር አይችሉም፣ እና ውይይቶች እንደ ተንሳፋፊ አረፋዎች ሆነው አይታዩም።"</string>
<string name="notification_channel_summary_min" msgid="8823399508450176842">"ወደ ታች ተጎታች ጥላው ላይ ማሳወቂያዎችን ወደ አንድ መስመር ሰብስብ"</string>
- <string name="notification_channel_summary_low" msgid="5549662596677692000">"ምንም ድምጽ ወይም ንዝረት የለም"</string>
- <string name="notification_conversation_summary_low" msgid="6352818857388412326">"ምንም ድምጽ ወይም ንዝረት የለም እና በውይይት ክፍል ላይ አይታይም"</string>
+ <string name="notification_channel_summary_low" msgid="5549662596677692000">"ምንም ድምፅ ወይም ንዝረት የለም"</string>
+ <string name="notification_conversation_summary_low" msgid="6352818857388412326">"ምንም ድምፅ ወይም ንዝረት የለም እና በውይይት ክፍል ላይ አይታይም"</string>
<string name="notification_channel_summary_default" msgid="3674057458265438896">"በእርስዎ የስልክ ቅንብሮች የሚወሰን ሆኖ ሊደውል ወይም ሊነዝር ይችላል"</string>
<string name="notification_channel_summary_high" msgid="3411637309360617621">"መሣሪያ ሲከፈት፣ ማሳወቂያዎችን እንደ ሰንደቅ በማያ ገጹ አናት ላይ እንዳለ አሳይ"</string>
<string name="notification_switch_label" msgid="8029371325967501557">"ሁሉም «<xliff:g id="APP_NAME">%1$s</xliff:g>» ማሳወቂያዎች"</string>
@@ -4289,7 +4292,7 @@
<string name="zen_mode_calls" msgid="7653245854493631095">"ጥሪዎች"</string>
<string name="zen_mode_calls_list" msgid="5044730950895749093">"ጥሪዎች"</string>
<string name="zen_mode_calls_header" msgid="8379225445095856726">"አቋርጠው መግባት የሚችሉ ጥሪዎች"</string>
- <string name="zen_mode_calls_footer" msgid="2008079711083701243">"የተፈቀደላቸው ጥሪዎች ድምጽ የሚያሰሙ መሆናቸውን ለማረጋገጥ መሣሪያው ወደ መደወል መቀናበሩን ይፈትሹ።"</string>
+ <string name="zen_mode_calls_footer" msgid="2008079711083701243">"የተፈቀደላቸው ጥሪዎች ድምፅ የሚያሰሙ መሆናቸውን ለማረጋገጥ መሣሪያው ወደ መደወል መቀናበሩን ይፈትሹ።"</string>
<string name="zen_mode_custom_calls_footer" msgid="6521283204577441053">"ለ ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ ገቢ ጥሪዎች ታግደዋል። የእርስዎ ጓደኛዎች፣ ቤተሰብ ወይም ሌሎች እውቂያዎች እርስዎን ማግኘት እንዲችሉ ቅንብሮችን ማስተካከል ይችላሉ።"</string>
<string name="zen_mode_starred_contacts_title" msgid="630299631659575589">"ባለኮከብ ዕውቂያዎች"</string>
<string name="zen_mode_starred_contacts_summary_contacts" msgid="1629467178444895094">"{count,plural,offset:2 =0{ምንም}=1{{contact_1}}=2{{contact_1} እና {contact_2}}=3{{contact_1}፣ {contact_2} እና {contact_3}}one{{contact_1}፣ {contact_2} እና # ሌሎች}other{{contact_1}፣ {contact_2} እና # ሌሎች}}"</string>
@@ -4298,7 +4301,7 @@
<string name="zen_mode_messages_list" msgid="5431014101342361882">"መልዕክቶች"</string>
<string name="zen_mode_messages_title" msgid="1777598523485334405">"መልዕክቶች"</string>
<string name="zen_mode_messages_header" msgid="253721635061451577">"አቋርጠው መግባት የሚችሉ መልዕክቶች"</string>
- <string name="zen_mode_messages_footer" msgid="6002468050854126331">"የተፈቀደላቸው መልዕክቶች ድምጽ የሚያሰሙ መሆናቸውን ለማረጋገጥ መሣሪያው ወደ መደወል መቀናበሩን ይፈትሹ።"</string>
+ <string name="zen_mode_messages_footer" msgid="6002468050854126331">"የተፈቀደላቸው መልዕክቶች ድምፅ የሚያሰሙ መሆናቸውን ለማረጋገጥ መሣሪያው ወደ መደወል መቀናበሩን ይፈትሹ።"</string>
<string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"ለ«<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>» ገቢ መልዕክቶች ይታገዳሉ። የእርስዎ ጓደኛዎች፣ ቤተሰብ ወይም ሌሎች እውቂያዎች እርስዎን ማግኘት እንዲችሉ ቅንብሮችን ማስተካከል ይችላሉ።"</string>
<string name="zen_mode_all_messages_summary" msgid="3756267858343104554">"ሁሉም መልዕክቶች እርስዎን መድረስ ይችላሉ"</string>
<string name="zen_mode_all_calls_summary" msgid="7337907849083824698">"ሁሉም ጥሪዎች እርስዎን መድረስ ይችላሉ"</string>
@@ -4552,14 +4555,14 @@
<string name="open_supported_links_footer" msgid="3188808142432787933">"መተግበሪያ የሚከተሉትን አገናኞች እንደሚይዝ ይገልጻል፦"</string>
<string name="default_apps_title" msgid="6943471331817718664">"ነባሪ"</string>
<string name="default_for_work" msgid="537558180548617528">"ለሥራ ነባሪ"</string>
- <string name="assist_and_voice_input_title" msgid="6317935163145135914">"እገዛ እና ድምጽ ግቤት"</string>
+ <string name="assist_and_voice_input_title" msgid="6317935163145135914">"እገዛ እና ድምፅ ግቤት"</string>
<string name="default_assist_title" msgid="1182435129627493758">"የዲጂታል ረዳት መተግበሪያ"</string>
<string name="default_digital_assistant_title" msgid="5654663086385490838">"ነባሪ የዲጂታል ረዳት መተግበሪያ"</string>
<string name="assistant_security_warning_title" msgid="6444187332360938730">"<xliff:g id="ASSISTANT_APP_NAME">%s</xliff:g> የእርስዎ ረዳት ይደረግ?"</string>
<string name="assistant_security_warning" msgid="5623237187748811070">"ረዳቱ በእርስዎ ስርዓት ላይ በአገልግሎት ላይ ስለሚውሉ መተግበሪያዎች መረጃን ማንበብ ይችላል፣ ይህም በእርስዎ ማያ ገጽ ላይ የሚታይ ወይም በመተግበሪያዎች ውስጥ የሚደረስበት መረጃን ይጨምራል።"</string>
<string name="assistant_security_warning_agree" msgid="9013334158753473359">"እስማማለሁ"</string>
<string name="assistant_security_warning_disagree" msgid="1539182108068356410">"አትስማማ"</string>
- <string name="choose_voice_input_title" msgid="4855506199101586943">"ድምጽ ግቤት ይምረጡ"</string>
+ <string name="choose_voice_input_title" msgid="4855506199101586943">"ድምፅ ግቤት ይምረጡ"</string>
<string name="default_browser_title" msgid="8342074390782390458">"የአሳሽ መተግበሪያ"</string>
<string name="default_browser_title_none" msgid="4691907418284764833">"ምንም ነባሪ አሳሽ የለም"</string>
<string name="default_phone_title" msgid="7616730756650803827">"የስልክ መተግበሪያ"</string>
@@ -4671,7 +4674,7 @@
<string name="memory_performance" msgid="5448274293336927570">"አፈጻጸም"</string>
<string name="total_memory" msgid="5244174393008910567">"ጠቅላላ ማህደረ ትውስታ"</string>
<string name="average_used" msgid="690235917394070169">"ጥቅም ላይ የዋለ አማካይ (%)"</string>
- <string name="free_memory" msgid="439783742246854785">"ነጻ"</string>
+ <string name="free_memory" msgid="439783742246854785">"ነፃ"</string>
<string name="memory_usage_apps" msgid="5776108502569850579">"በመተግበሪያዎች ጥቅም ላይ የዋለ ማህደረ ትውስታ"</string>
<plurals name="memory_usage_apps_summary" formatted="false" msgid="1355637088533572208">
<item quantity="one"><xliff:g id="COUNT">%1$d</xliff:g> መተግበሪያዎች ባለፈው <xliff:g id="DURATION_1">%2$s</xliff:g> ጊዜ ውስጥ ማህደረ ትውስታን ተጠቅመዋል</item>
@@ -4758,8 +4761,8 @@
<string name="notification_summary_none" msgid="9179312319023988089">"ለሁሉም መተግበሪያዎች በርቷል"</string>
<string name="apps_summary" msgid="4007416751775414252">"<xliff:g id="COUNT">%1$d</xliff:g> መተግበሪያዎች ተጭነዋል"</string>
<string name="apps_summary_example" msgid="6034002063446955592">"24 መተግበሪያዎች ተጭነዋል"</string>
- <string name="storage_summary" msgid="5903562203143572768">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> ጥቅም ላይ ውሏል - <xliff:g id="FREE_SPACE">%2$s</xliff:g> ነጻ"</string>
- <string name="storage_summary_with_sdcard" msgid="2063780050580228868">"ውስጣዊ ማከማቻ፦ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ጥቅም ላይ ውሏል - <xliff:g id="FREE_SPACE">%2$s</xliff:g> ነጻ"</string>
+ <string name="storage_summary" msgid="5903562203143572768">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> ጥቅም ላይ ውሏል - <xliff:g id="FREE_SPACE">%2$s</xliff:g> ነፃ"</string>
+ <string name="storage_summary_with_sdcard" msgid="2063780050580228868">"ውስጣዊ ማከማቻ፦ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ጥቅም ላይ ውሏል - <xliff:g id="FREE_SPACE">%2$s</xliff:g> ነፃ"</string>
<string name="display_summary" msgid="5526061030874717172">"ከ<xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> እንቅስቃሴ-አልባነት በኋላ ተኛ"</string>
<string name="display_dashboard_summary" msgid="1599453894989339454">"ጠቆር ያለ ገጽታ፣ የቅርጸ-ቁምፊ መጠን፣ ብሩህነት"</string>
<string name="display_summary_example" msgid="4275121979039344438">"ከ10 ደቂቃዎች እንቅስቃሴ-አልባነት በኋላ ተኛ"</string>
@@ -5006,7 +5009,7 @@
<item quantity="other"><xliff:g id="NUMBER">%s</xliff:g> ሰከንዶች</item>
</plurals>
<string name="automatic_storage_manager_settings" msgid="519158151463974656">"ማከማቻን ያስተዳድሩ"</string>
- <string name="automatic_storage_manager_text" msgid="6900593059927987273">"የማከማቻ ባዶ ቦታን ነጻ ለማድረግ እንዲያግዝ የማከማቻ አስተዳዳሪ ከእርስዎ መሣሪያ ላይ በምትኬት የተቀመጡ ፎቶዎችን እና ቪዲዮዎችን አስወግዷል።"</string>
+ <string name="automatic_storage_manager_text" msgid="6900593059927987273">"የማከማቻ ባዶ ቦታን ነፃ ለማድረግ እንዲያግዝ የማከማቻ አስተዳዳሪ ከእርስዎ መሣሪያ ላይ በምትኬት የተቀመጡ ፎቶዎችን እና ቪዲዮዎችን አስወግዷል።"</string>
<string name="automatic_storage_manager_days_title" msgid="5077286114860539367">"ፎቶዎች እና ቪዲዮዎች አስወግድ"</string>
<string name="automatic_storage_manager_preference_title" msgid="3483357910142595444">"የማከማቻ አስተዳዳሪ"</string>
<string name="automatic_storage_manager_primary_switch_title" msgid="9131959126462101994">"የማከማቻ አስተዳዳሪን ተጠቀም"</string>
@@ -5085,7 +5088,7 @@
<string name="emergency_gesture_entrypoint_summary" msgid="4730874229911208834">"የሚቀናበረው በ<xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="emergency_gesture_screen_summary" msgid="6640521030845132507">"ከዚህ በታች ያሉትን እርምጃዎች ለመጀመር የኃይል አዝራርን 5 ጊዜ ወይም ከዚያ በላይ በፍጥነት ይጫኑ"</string>
<string name="emergency_gesture_sound_setting_title" msgid="7153948164862156536">"የወደኋላ ቆጠራ ማንቂያን ያጫውቱ"</string>
- <string name="emergency_gesture_sound_setting_summary" msgid="6573377104470235173">"የነፍስ አድን ድንገተኛ ጥሪ ሲጀመር ጮክ ያለ ድምጽ አጫውት"</string>
+ <string name="emergency_gesture_sound_setting_summary" msgid="6573377104470235173">"የነፍስ አድን ድንገተኛ ጥሪ ሲጀመር ጮክ ያለ ድምፅ አጫውት"</string>
<string name="emergency_gesture_category_call_for_help_title" msgid="1680040129478289510">"ለእገዛ ያሳውቁ"</string>
<string name="emergency_gesture_call_for_help_title" msgid="4969340870836239982">"ለእገዛ ይደውሉ"</string>
<string name="emergency_gesture_call_for_help_dialog_title" msgid="8901271205171421201">"ለእርዳታ የሚደውሉበት ቁጥር"</string>
@@ -5343,7 +5346,7 @@
<string name="battery_suggestion_title" product="default" msgid="4811554469047272537">"የስልክ ባትሪ ህይወትን ያሻሽሉ"</string>
<string name="battery_suggestion_summary" msgid="8186720080540016197"></string>
<string name="gesture_prevent_ringing_screen_title" msgid="8293094715267769349">"የጥሪ ጩኸትን ተከላከል"</string>
- <string name="gesture_prevent_ringing_title" msgid="5978577898997523581">"ኃይልን እና ድምጽ ጨምርን አንድ ላይ ይጫኑ"</string>
+ <string name="gesture_prevent_ringing_title" msgid="5978577898997523581">"ኃይልን እና ድምፅ ጨምርን አንድ ላይ ይጫኑ"</string>
<string name="gesture_prevent_ringing_sound_title" msgid="4529077822282099235">"መደወልን ለመከላከል አቋራጭ"</string>
<string name="prevent_ringing_option_vibrate" msgid="5456962289649581737">"ንዘር"</string>
<string name="prevent_ringing_option_mute" msgid="7446121133560945051">"ድምጸ-ከል አድርግ"</string>
@@ -5574,7 +5577,7 @@
<string name="contextual_card_dismiss_confirm_message" msgid="6434344989238055188">"ይህ የአስተያየት ጥቆማ ይወገድ?"</string>
<string name="contextual_card_removed_message" msgid="5755438207494260867">"አስተያየት ተወግዷል"</string>
<string name="contextual_card_undo_dismissal_text" msgid="5200381837316691406">"ቀልብስ"</string>
- <string name="low_storage_summary" msgid="1979492757417779718">"ማከማቻ ዝቅተኛ ነው። <xliff:g id="PERCENTAGE">%1$s</xliff:g> ጥቅም ላይ ውሏል - <xliff:g id="FREE_SPACE">%2$s</xliff:g> ነጻ"</string>
+ <string name="low_storage_summary" msgid="1979492757417779718">"ማከማቻ ዝቅተኛ ነው። <xliff:g id="PERCENTAGE">%1$s</xliff:g> ጥቅም ላይ ውሏል - <xliff:g id="FREE_SPACE">%2$s</xliff:g> ነፃ"</string>
<string name="contextual_card_feedback_send" msgid="7409408664417908922">"ግብረመልስ ላክ"</string>
<string name="contextual_card_feedback_confirm_message" msgid="3186334562157665381">"በዚህ የአስተያየት ጥቆማ ላይ ግብረመልስ ሊሰጡን ይፈልጋሉ?"</string>
<string name="copyable_slice_toast" msgid="1008251852798990606">"<xliff:g id="COPY_CONTENT">%1$s</xliff:g> ወደ ቅንጥብ ሰሌዳ ተቀድቷል።"</string>
@@ -5875,9 +5878,9 @@
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ዳግም አስነሳ"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"በኋላ ዳግም አስነሳ"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ከባቢያዊ ኦዲዮ"</string>
- <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"ከተኳኋኝ ሚዲያ የሚመጣው ድምጽ ይበልጥ መሳጭ ይሆናል"</string>
+ <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"ከተኳኋኝ ሚዲያ የሚመጣው ድምፅ ይበልጥ መሳጭ ይሆናል"</string>
<string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"የጭንቅላት ክትትል"</string>
- <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"ጭንቅላትዎን ወደ ይበልጥ ተፈጥሯዊ ድምጽ ሲያንቀሳቅሱት ኦዲዮው ይቀየራል"</string>
+ <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"ጭንቅላትዎን ወደ ይበልጥ ተፈጥሯዊ ድምፅ ሲያንቀሳቅሱት ኦዲዮው ይቀየራል"</string>
<string name="ingress_rate_limit_title" msgid="2106694002836274350">"የአውታረ መረብ የማውረድ ፍጥነት ገደብ"</string>
<string name="ingress_rate_limit_summary" msgid="1097811019742438371">"የበይነመረብ ግንኙነትን በሚሰጡ ሁሉም አውታረ መረቦች ላይ የሚተገበረውን የአውታረ መረብ መተላለፊያ ይዘት ማስገቢያ ፍጥነት ገደብ ያዋቅሩ።"</string>
<string name="ingress_rate_limit_dialog_title" msgid="5359461052422633789">"የአውታረ መረብ የማውረድ ፍጥነት ገደብን ያዋቅሩ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 4fa3d3f..b862af6 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -1557,7 +1557,7 @@
<string name="dark_ui_activation_off_manual" msgid="2395333709291250065">"الإيقاف الآن"</string>
<string name="dark_ui_activation_on_auto" msgid="4824339634784765049">"تفعيل الوضع حتى الشروق"</string>
<string name="dark_ui_activation_off_auto" msgid="9136717444658505208">"إيقاف الوضع حتى الغروب"</string>
- <string name="dark_ui_title" msgid="3373976268671557416">"الوضع المُعتِم"</string>
+ <string name="dark_ui_title" msgid="3373976268671557416">"الوضع الداكن"</string>
<string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"الجدول الزمني"</string>
<string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"مطلقًا"</string>
<string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"التفعيل من غروب الشمس حتى شروقها"</string>
@@ -1592,6 +1592,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"يمكنك تجربة أنماط وخلفيات مختلفة، والمزيد."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"شاشة الاستراحة"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"شاشة الاستراحة"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"استخدام شاشة الاستراحة"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"أثناء الشحن أو الإرساء"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"أثناء الشحن"</string>
@@ -3969,6 +3971,8 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"مستوى صوت المكالمة"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"مستوى صوت المنبّه"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"مستوى صوت الرنين والإشعار"</string>
+ <!-- no translation found for separate_ring_volume_option_title (2212910223857375951) -->
+ <skip />
<string name="notification_volume_option_title" msgid="4838818791683615978">"مستوى صوت الإشعارات"</string>
<string name="ringtone_title" msgid="3271453110387368088">"نغمة رنين الهاتف"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"الصوت التلقائي للإشعارات"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 93aeb17..d71a0dd 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -117,18 +117,18 @@
<string name="bluetooth_ask_discovery" product="default" msgid="7013223328571883275">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ ফ\'নটো<xliff:g id="TIMEOUT">%2$d</xliff:g> ছেকেণ্ডৰ বাবে অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে।"</string>
<string name="bluetooth_ask_discovery_no_name" product="tablet" msgid="3266007454914144057">"এটা এপে আপোনাৰ টেবলেটো <xliff:g id="TIMEOUT">%1$d</xliff:g> ছেকেণ্ডৰ বাবে অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে।"</string>
<string name="bluetooth_ask_discovery_no_name" product="default" msgid="7989444746980501116">"এটা এপে আপোনাৰ ফ\'নটো <xliff:g id="TIMEOUT">%1$d</xliff:g> ছেকেণ্ডৰ বাবে অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে।"</string>
- <string name="bluetooth_ask_lasting_discovery" product="tablet" msgid="6482084870735107773">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ টে\'বলেটটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পিছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
- <string name="bluetooth_ask_lasting_discovery" product="default" msgid="2352494279465502950">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ ফ\'নটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পিছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
- <string name="bluetooth_ask_lasting_discovery_no_name" product="tablet" msgid="2732992604509910896">"এটা এপে আপোনাৰ টে\'বলেটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পিছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
- <string name="bluetooth_ask_lasting_discovery_no_name" product="default" msgid="356982103612920264">"এটা এপে আপোনাৰ ফ\'নটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পিছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
+ <string name="bluetooth_ask_lasting_discovery" product="tablet" msgid="6482084870735107773">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ টে\'বলেটটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পাছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
+ <string name="bluetooth_ask_lasting_discovery" product="default" msgid="2352494279465502950">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ ফ\'নটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পাছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
+ <string name="bluetooth_ask_lasting_discovery_no_name" product="tablet" msgid="2732992604509910896">"এটা এপে আপোনাৰ টে\'বলেটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পাছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
+ <string name="bluetooth_ask_lasting_discovery_no_name" product="default" msgid="356982103612920264">"এটা এপে আপোনাৰ ফ\'নটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পাছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
<string name="bluetooth_ask_enablement_and_discovery" product="tablet" msgid="6103655179509599427">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ <xliff:g id="TIMEOUT">%2$d</xliff:g> ছেকেণ্ডৰ বাবে ব্লুটুথ অন কৰি অন্য ডিভাইচে আপোনাৰ টে\'বলেটটো বিচাৰি পাব পৰা কৰিব বিচাৰিছে।"</string>
<string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="934276632311449337">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ ফ\'নটোৰ ব্লুটুথ অন কৰিব বিচাৰিছে আৰু <xliff:g id="TIMEOUT">%2$d</xliff:g> ছেকেণ্ডৰ বাবে অন্য ডিভাইচে ফ\'নটোক বিচাৰি পাব পৰা কৰিব বিচাৰিছে।"</string>
<string name="bluetooth_ask_enablement_and_discovery_no_name" product="tablet" msgid="1284048348024444485">"এটা এপে আপোনাৰ টে\'বলেটৰ ব্লুটুথ অন কৰিব বিচাৰিছে আৰু <xliff:g id="TIMEOUT">%1$d</xliff:g> ছেকেণ্ডৰ বাবে অন্য ব্লুটুথ ডিভাইচে টে\'বলেটটোক বিচাৰি পাব পৰা কৰিব বিচাৰিছে।"</string>
<string name="bluetooth_ask_enablement_and_discovery_no_name" product="default" msgid="2661614145022629454">"এটা এপে আপোনাৰ ফ\'নটো <xliff:g id="TIMEOUT">%1$d</xliff:g> ছেকেণ্ডৰ বাবে অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে।"</string>
- <string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="8588317955400593623">"<xliff:g id="APP_NAME">%1$s</xliff:g> আপোনাৰ টে\'বলেটটোৰ ব্লুটুথ অন কৰিব বিচাৰিছে আৰু ইয়াক অন্য ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পিছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
- <string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="4047444317445386579">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ ফ\'নটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পিছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
- <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="tablet" msgid="4922952478824372605">"এটা এপে আপোনাৰ টে\'বলেটটোৰ ব্লুটুথ অন কৰিব বিচাৰিছে আৰু টে\'বলেটটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পিছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
- <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="default" msgid="1381582950049639439">"এটা এপে আপোনাৰ ফ\'নটোৰ ব্লুটুথ অন কৰিব বিচাৰিছে আৰু ফ\'নটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পিছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
+ <string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="8588317955400593623">"<xliff:g id="APP_NAME">%1$s</xliff:g> আপোনাৰ টে\'বলেটটোৰ ব্লুটুথ অন কৰিব বিচাৰিছে আৰু ইয়াক অন্য ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পাছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
+ <string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="4047444317445386579">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ ফ\'নটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পাছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
+ <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="tablet" msgid="4922952478824372605">"এটা এপে আপোনাৰ টে\'বলেটটোৰ ব্লুটুথ অন কৰিব বিচাৰিছে আৰু টে\'বলেটটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পাছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
+ <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="default" msgid="1381582950049639439">"এটা এপে আপোনাৰ ফ\'নটোৰ ব্লুটুথ অন কৰিব বিচাৰিছে আৰু ফ\'নটো অন্য ব্লুটুথ ডিভাইচে বিচাৰি পাব পৰা কৰিব বিচাৰিছে। আপুনি ইয়াক পাছত ব্লুটুথ ছেটিঙত সলনি কৰিব পাৰিব।"</string>
<string name="bluetooth_turning_on" msgid="3842613808709024730">"ব্লুটুথ অন কৰি থকা হৈছে…"</string>
<string name="bluetooth_turning_off" msgid="7406309124247701148">"ব্লুটুথ অফ কৰি থকা হৈছে…"</string>
<string name="bluetooth_connection_permission_request" msgid="8793131019383198861">"ব্লুটুথ যোৰা লগোৱাৰ অনুৰোধ"</string>
@@ -302,10 +302,10 @@
<string name="zone_menu_by_offset" msgid="1257702747474426745">"UTC অফছেট অনুসৰি বাছনি কৰক"</string>
<string name="date_picker_title" msgid="646573308567782578">"তাৰিখ"</string>
<string name="time_picker_title" msgid="1784236407401743393">"সময়"</string>
- <string name="lock_after_timeout" msgid="8682769000437403444">"স্ক্ৰীনৰ সময় ওকলাৰ পিছত লক কৰক"</string>
- <string name="lock_after_timeout_summary" msgid="4869265514658147304">"সময় ওকলাৰ <xliff:g id="TIMEOUT_STRING">%1$s</xliff:g> পিছত"</string>
+ <string name="lock_after_timeout" msgid="8682769000437403444">"স্ক্ৰীনৰ সময় ওকলাৰ পাছত লক কৰক"</string>
+ <string name="lock_after_timeout_summary" msgid="4869265514658147304">"সময় ওকলাৰ <xliff:g id="TIMEOUT_STRING">%1$s</xliff:g> পাছত"</string>
<string name="lock_immediately_summary_with_exception" msgid="40819611828339044">"<xliff:g id="TRUST_AGENT_NAME">%1$s</xliff:g>এ আনলক কৰি ৰখা সময়ৰ বাহিৰে, সময় ওকলাৰ লগে লগে"</string>
- <string name="lock_after_timeout_summary_with_exception" msgid="3441806647509073124">"<xliff:g id="TRUST_AGENT_NAME">%2$s</xliff:g>এ আনলক কৰি ৰখা সময়ৰ বাহিৰে সময় ওকলাৰ <xliff:g id="TIMEOUT_STRING">%1$s</xliff:g> পিছত"</string>
+ <string name="lock_after_timeout_summary_with_exception" msgid="3441806647509073124">"<xliff:g id="TRUST_AGENT_NAME">%2$s</xliff:g>এ আনলক কৰি ৰখা সময়ৰ বাহিৰে সময় ওকলাৰ <xliff:g id="TIMEOUT_STRING">%1$s</xliff:g> পাছত"</string>
<string name="show_owner_info_on_lockscreen_label" msgid="197365342192696406">"লক স্ক্ৰীনত গৰাকী-বিষয়ক তথ্য দেখুৱাওক"</string>
<string name="owner_info_settings_title" msgid="3555626140700093017">"লক স্ক্ৰীনত পাঠ যোগ দিয়ক"</string>
<string name="security_enable_widgets_title" msgid="676199714313423099">"ৱিজেটসমূহ সক্ষম কৰক"</string>
@@ -565,7 +565,7 @@
<string name="security_settings_fingerprint_enroll_dialog_try_again" msgid="8117874972945407006">"পুনৰ চেষ্টা কৰক"</string>
<string name="security_settings_fingerprint_enroll_dialog_delete" msgid="6027141901007342389">"মচক"</string>
<string name="security_settings_fingerprint_enroll_start_title" msgid="7391368057800077604">"ছেন্সৰটো স্পৰ্শ কৰক"</string>
- <string name="security_settings_fingerprint_enroll_start_message" msgid="5010227772754175346">"আপোনাৰ আঙুলিটো ছেন্সৰটোত ৰাখক আৰু এটা কম্পন অনুভৱ কৰাৰ পিছত আঁতৰাওক"</string>
+ <string name="security_settings_fingerprint_enroll_start_message" msgid="5010227772754175346">"আপোনাৰ আঙুলিটো ছেন্সৰটোত ৰাখক আৰু এটা কম্পন অনুভৱ কৰাৰ পাছত আঁতৰাওক"</string>
<string name="security_settings_udfps_enroll_start_message" msgid="5032954588171487566">"আপুনি এটা কম্পন অনুভৱ নকৰালৈকে নিজৰ আঙুলিৰ সমান অংশটো ছেন্সৰটোত ৰাখক"</string>
<string name="security_settings_sfps_enroll_start_message" msgid="9054672627477685212">"বুটামটো নিটিপাকৈ, আপুনি এটা কম্পন অনুভৱ নকৰালৈকে আপোনাৰ ফিংগাৰপ্ৰিণ্টটো ছেন্সৰটোত ৰাখক।\n\nপ্ৰতিবাৰে আপোনাৰ আঙুলিটো অলপ লৰচৰ কৰক। এইটোৱে আপোনাৰ ফিংগাৰপ্ৰিণ্টৰ অধিক তথ্য কেপচাৰ কৰাত সহায় কৰে।"</string>
<string name="security_settings_fingerprint_enroll_udfps_title" msgid="6665610134560896895">"ফিংগাৰপ্ৰিণ্ট ছেন্সৰটোত স্পৰ্শ কৰি ধৰি ৰাখক"</string>
@@ -712,8 +712,8 @@
<string name="setup_lock_settings_options_button_label" msgid="6098297461618298505">"স্ক্ৰীন লক সম্পৰ্কীয় বিকল্প"</string>
<string name="setup_lock_settings_options_dialog_title" msgid="7985107300517468569">"স্ক্ৰীন লক সম্পৰ্কীয় বিকল্প"</string>
<string name="unlock_set_unlock_launch_picker_title" msgid="4981063601772605609">"স্ক্ৰীন লক"</string>
- <string name="unlock_set_unlock_launch_picker_summary_lock_immediately" msgid="5799070517574360310">"<xliff:g id="UNLOCK_METHOD">%1$s</xliff:g> / সুপ্ত হোৱাৰ তৎক্ষণাৎ পিছত"</string>
- <string name="unlock_set_unlock_launch_picker_summary_lock_after_timeout" msgid="4572132216801894216">"<xliff:g id="UNLOCK_METHOD">%1$s</xliff:g> / <xliff:g id="TIMEOUT_STRING">%2$s</xliff:g> নিদ্ৰাত পৰাৰ পিছত"</string>
+ <string name="unlock_set_unlock_launch_picker_summary_lock_immediately" msgid="5799070517574360310">"<xliff:g id="UNLOCK_METHOD">%1$s</xliff:g> / সুপ্ত হোৱাৰ তৎক্ষণাৎ পাছত"</string>
+ <string name="unlock_set_unlock_launch_picker_summary_lock_after_timeout" msgid="4572132216801894216">"<xliff:g id="UNLOCK_METHOD">%1$s</xliff:g> / <xliff:g id="TIMEOUT_STRING">%2$s</xliff:g> নিদ্ৰাত পৰাৰ পাছত"</string>
<string name="unlock_set_unlock_launch_picker_title_profile" msgid="7631371082326055429">"কৰ্মস্থানৰ প্ৰ’ফাইলৰ লক"</string>
<string name="unlock_set_unlock_launch_picker_change_title" msgid="4746783679112447948">"লক স্ক্ৰীন সলনি কৰক"</string>
<string name="unlock_set_unlock_launch_picker_change_summary" msgid="6023813780512501969">"আৰ্হি, পিন বা পাছৱৰ্ড সুৰক্ষা সলনি বা অক্ষম কৰক"</string>
@@ -894,7 +894,7 @@
<string name="bluetooth_settings_summary" msgid="6805458703566046784">"সংযোগসমূহ পৰিচালনা কৰক, ডিভাইচৰ নাম আৰু বিচাৰি পাব পৰা অৱস্থা ছেট কৰক"</string>
<string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ৰ সৈতে পেয়াৰ কৰিবনে?"</string>
<string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ব্লুটুথ যোৰ কৰিবৰ বাবে সংকেত"</string>
- <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"যোৰা লগোৱা ক’ডটো টাইপ কৰক আৰু তাৰ পিছত ৰিটাৰ্ণ বা এণ্টাৰ হেঁচক"</string>
+ <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"যোৰা লগোৱা ক’ডটো টাইপ কৰক আৰু তাৰ পাছত ৰিটাৰ্ণ বা এণ্টাৰ হেঁচক"</string>
<string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"পিনত বৰ্ণ বা প্ৰতীকবোৰ থাকে"</string>
<string name="bluetooth_pin_values_hint" msgid="2753202519050044670">"সচৰাচৰতে ০০০০ বা ১২৩৪"</string>
<string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"১৬টা অংকযুক্ত হ\'ব লাগিব"</string>
@@ -1011,7 +1011,7 @@
<string name="android_beam_off_summary" msgid="5693961375631325042">"অফ"</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="android_beam_explained" msgid="5684416131846701256">"এই সুবিধাটো সক্ষম কৰিলে, আপুনি এপৰ সমল অইন এটা NFC-সক্ষম ডিভাইচলৈ দুয়োটা ডিভাইচ ওচৰা-ওচৰিকৈ ৰাখি বীম কৰিব পাৰিব। উদাহৰণস্বৰূপে, আপুনি ৱেব পৃষ্ঠা, YouTubeৰ ভিডিঅ\' আৰু সম্পৰ্ক সূচীকে আদি কৰি অইন বহুত সমল বীম কৰিব পাৰিব।\n\nদুয়োটা ডিভাইচ ওচৰা-ওচৰিকৈ ৰাখক (সাধাৰণতে, পিঠিয়া-পিঠিকৈ) আৰু তাৰ পাছত স্ক্ৰীনত টিপক। কি কি বীম কৰা হয় তাক এপ্টোৱে নিৰ্ধাৰিত কৰে।"</string>
<string name="wifi_quick_toggle_title" msgid="2737097538432862807">"ৱাই-ফাই"</string>
<string name="wifi_quick_toggle_summary" msgid="4957267477820468553">"বাই-ফাই অন কৰক"</string>
<string name="wifi_settings" msgid="8313301946393559700">"ৱাই-ফাই"</string>
@@ -1258,7 +1258,7 @@
<string name="wifi_hotspot_off_subtext" msgid="2751383134504362078">"অন্য ডিভাইচৰ সৈতে ইণ্টাৰনেট বা সমল শ্বেয়াৰ কৰা হোৱা নাই"</string>
<string name="wifi_hotspot_tethering_on_subtext" product="tablet" msgid="5832429443898690152">"হটস্পটৰ মাধ্যমেৰে এই টে\'বলেটটোৰ ইণ্টাৰনেট সংযোগ শ্বেয়াৰ কৰা হৈছে"</string>
<string name="wifi_hotspot_tethering_on_subtext" product="default" msgid="5451921191609178326">"হটস্পটৰ মাধ্যমেৰে এই ফ\'নটোৰ ইণ্টাৰনেট সংযোগ শ্বেয়াৰ কৰা হৈছে"</string>
- <string name="wifi_hotspot_on_local_only_subtext" msgid="965051079784031636">"এপে সমল শ্বেয়াৰ কৰি আছে৷ ইণ্টাৰনেট সংযোগ শ্বেয়াৰ কৰিবলৈ, হটস্পট অফ কৰি পিছত আকৌ অন কৰক"</string>
+ <string name="wifi_hotspot_on_local_only_subtext" msgid="965051079784031636">"এপে সমল শ্বেয়াৰ কৰি আছে৷ ইণ্টাৰনেট সংযোগ শ্বেয়াৰ কৰিবলৈ, হটস্পট অফ কৰি পাছত আকৌ অন কৰক"</string>
<string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"কোনো পাছৱৰ্ড ছেট কৰা হোৱা নাই"</string>
<string name="wifi_hotspot_name_title" msgid="6633480190014369846">"হটস্পটৰ নাম"</string>
<string name="wifi_hotspot_name_summary_connecting" msgid="2094754115215428892">"<xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g> অন কৰি থকা হৈছে…"</string>
@@ -1400,10 +1400,10 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"অভিযোজিত"</string>
<string name="color_mode_summary_natural" msgid="8298840714001791628">"মাত্ৰ সঠীক ৰংৰবোৰ ব্যৱহাৰ কৰক"</string>
<string name="color_mode_summary_automatic" msgid="8157885594041700275">"উজ্জ্বল আৰু সঠিক ৰঙৰ মাজত মিলাওক"</string>
- <string name="accelerometer_summary_on" product="tablet" msgid="6413384391658481700">"টে\'বলেটো ঘূৰালে স্বয়ংক্ৰিয়ভাৱে স্ক্ৰীণৰ দিশ সলনি কৰক"</string>
- <string name="accelerometer_summary_on" product="default" msgid="7117139542131700779">"ফোনটো ঘূৰালে স্বয়ংক্ৰিয়ভাৱে স্ক্ৰীণৰ দিশ সলনি কৰক"</string>
- <string name="accelerometer_summary_off" product="tablet" msgid="3747370091309939684">"টে\'বলেটো ঘূৰালে স্বয়ংক্ৰিয়ভাৱে স্ক্ৰীণৰ দিশ সলনি কৰক"</string>
- <string name="accelerometer_summary_off" product="default" msgid="4451125241783158763">"ফ\'নটো ঘূৰালে স্বয়ংক্ৰিয়ভাৱে স্ক্ৰীণৰ দিশ সলনি কৰক"</string>
+ <string name="accelerometer_summary_on" product="tablet" msgid="6413384391658481700">"টে\'বলেটো ঘূৰালে স্বয়ংক্ৰিয়ভাৱে স্ক্ৰীনৰ দিশ সলনি কৰক"</string>
+ <string name="accelerometer_summary_on" product="default" msgid="7117139542131700779">"ফোনটো ঘূৰালে স্বয়ংক্ৰিয়ভাৱে স্ক্ৰীনৰ দিশ সলনি কৰক"</string>
+ <string name="accelerometer_summary_off" product="tablet" msgid="3747370091309939684">"টে\'বলেটো ঘূৰালে স্বয়ংক্ৰিয়ভাৱে স্ক্ৰীনৰ দিশ সলনি কৰক"</string>
+ <string name="accelerometer_summary_off" product="default" msgid="4451125241783158763">"ফ\'নটো ঘূৰালে স্বয়ংক্ৰিয়ভাৱে স্ক্ৰীনৰ দিশ সলনি কৰক"</string>
<string name="brightness" msgid="6216871641021779698">"উজ্জ্বলতাৰ স্তৰ"</string>
<string name="brightness_title" msgid="5457874893085305155">"উজ্জ্বলতা"</string>
<string name="brightness_summary" msgid="6309641759293018049">"স্ক্ৰীনৰ উজ্জ্বলতা খাপ খুৱাওক"</string>
@@ -1411,11 +1411,11 @@
<string name="auto_brightness_summary" msgid="1737148869232725883">"স্ক্ৰীনৰ উজ্জ্বলতাই পৰিবেশ অনুসৰি খাপ খায়"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"অন আছে"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"অফ হৈ আছে"</string>
- <string name="auto_brightness_summary_very_low" msgid="2705445901659224330">"আপুনি স্ক্ৰীণৰ বাবে বাছনি কৰা উজ্জ্বলতা অতি কম হৈছে"</string>
- <string name="auto_brightness_summary_low" msgid="1606100911112851291">"আপুনি স্ক্ৰীণৰ বাবে বাছনি কৰা উজ্জ্বলতাটো কম"</string>
+ <string name="auto_brightness_summary_very_low" msgid="2705445901659224330">"আপুনি স্ক্ৰীনৰ বাবে বাছনি কৰা উজ্জ্বলতা অতি কম হৈছে"</string>
+ <string name="auto_brightness_summary_low" msgid="1606100911112851291">"আপুনি স্ক্ৰীনৰ বাবে বাছনি কৰা উজ্জ্বলতাটো কম"</string>
<string name="auto_brightness_summary_default" msgid="9038441148247815684">"উজ্জ্বলতাক অগ্ৰাধিকাৰ দিয়া ছেটিং ডিফ\'ল্ট হৈ আছে"</string>
- <string name="auto_brightness_summary_high" msgid="2886260311484349010">"আপুনি স্ক্ৰীণৰ বাবে বাছনি কৰা উজ্জ্বলতাটো অতি বেছি"</string>
- <string name="auto_brightness_summary_very_high" msgid="8294814315426024005">"আপুনি স্ক্ৰীণৰ বাবে বাছনি কৰা উজ্জ্বলতা অতি বেছি হৈছে"</string>
+ <string name="auto_brightness_summary_high" msgid="2886260311484349010">"আপুনি স্ক্ৰীনৰ বাবে বাছনি কৰা উজ্জ্বলতাটো অতি বেছি"</string>
+ <string name="auto_brightness_summary_very_high" msgid="8294814315426024005">"আপুনি স্ক্ৰীনৰ বাবে বাছনি কৰা উজ্জ্বলতা অতি বেছি হৈছে"</string>
<string name="auto_brightness_off_title" msgid="5156056957376839677">"অফ কৰক"</string>
<string name="auto_brightness_very_low_title" msgid="618973599332847430">"অতি কম"</string>
<string name="auto_brightness_low_title" msgid="4243763334776382492">"নিম্ন"</string>
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"বিভিন্ন শৈলী, ৱালপেপাৰ আৰু অধিক বস্তু ব্যৱহাৰ কৰি চাওক"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"স্ক্ৰীন ছেভাৰ"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"স্ক্ৰীনছেভাৰ"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"স্ক্ৰীন ছেভাৰ ব্যৱহাৰ কৰক"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"চাৰ্জ কৰোঁতে বা ডক কৰি থওঁতে"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"চাৰ্জ কৰি থকাৰ সময়ত"</string>
@@ -1665,7 +1667,7 @@
<string name="dlg_error_unmount_title" product="nosdcard" msgid="2205587942165199845"></string>
<string name="dlg_error_unmount_title" product="default" msgid="2205587942165199845"></string>
<string name="dlg_error_unmount_text" product="nosdcard" msgid="7876201891724279436">"ইউএছবি ষ্ট’ৰেজ অসংলগ্ন কৰিব পৰা নগ’ল। পাছত আকৌ চেষ্টা কৰক।"</string>
- <string name="dlg_error_unmount_text" product="default" msgid="2185659901137961711">"SD কাৰ্ড অসংলগ্ন কৰিব পৰা নগ\'ল। পিছত আকৌ চেষ্টা কৰক।"</string>
+ <string name="dlg_error_unmount_text" product="default" msgid="2185659901137961711">"SD কাৰ্ড অসংলগ্ন কৰিব পৰা নগ\'ল। পাছত আকৌ চেষ্টা কৰক।"</string>
<string name="unmount_inform_text" product="nosdcard" msgid="5932607205977999175">"ইউএছবি ষ্ট’ৰেজ অসংলগ্ন কৰা হ’ব।"</string>
<string name="unmount_inform_text" product="default" msgid="716578785262713312">"এছডি কাৰ্ড অসংলগ্ন কৰা হ\'ব।"</string>
<string name="sd_ejecting_title" msgid="1641122369013595273">"অসংলগ্ন কৰি থকা হৈছে"</string>
@@ -1730,7 +1732,7 @@
<string name="storage_wizard_migrate_title" msgid="3013711737005104623">"নতুন ষ্ট’ৰেজলৈ ডেটা স্থানান্তৰ কৰক"</string>
<string name="storage_wizard_migrate_body" msgid="1630853797296198275">"আপুনি আপোনাৰ ফট’, ফাইল আৰু কিছুমান এপ্ এই নতুন <xliff:g id="NAME">^1</xliff:g>লৈ নিব পাৰে। \n\nএই কামত প্ৰায় <xliff:g id="TIME">^2</xliff:g> সময় লাগে আৰু ই আভ্যন্তৰীণ ষ্ট’ৰেজৰ পৰা <xliff:g id="SIZE">^3</xliff:g> ঠাই খালী কৰিব। এই প্ৰক্ৰিয়া চলি থকা সময়ত কিছুমান এপে কাম নকৰিব।"</string>
<string name="storage_wizard_migrate_now" msgid="175023718337037181">"এতিয়াই স্থানান্তৰ কৰক"</string>
- <string name="storage_wizard_migrate_later" msgid="6573789572520980112">"পিছত স্থানান্তৰ কৰক"</string>
+ <string name="storage_wizard_migrate_later" msgid="6573789572520980112">"পাছত স্থানান্তৰ কৰক"</string>
<string name="storage_wizard_migrate_confirm_title" msgid="255346780598924540">"ডেটা এতিয়া স্থানান্তৰ কৰক"</string>
<string name="storage_wizard_migrate_confirm_body" msgid="5039938578355576124"><b>"ডেটা স্থানান্তৰণ কৰিবলৈ প্ৰায় <xliff:g id="TIME">^1</xliff:g> লাগিব। ইয়ে <xliff:g id="NAME">^3</xliff:g>ত <xliff:g id="SIZE">^2</xliff:g> খালী কৰিব।"</b></string>
<string name="storage_wizard_migrate_confirm_next" msgid="217478540562501692">"স্থানান্তৰ কৰক"</string>
@@ -1743,7 +1745,7 @@
<string name="storage_wizard_move_confirm_body" msgid="1713022828842263574">"<xliff:g id="APP">^1</xliff:g> আৰু ইয়াৰ ডেটা <xliff:g id="NAME_0">^2</xliff:g> স্থানান্তৰ কৰিবলৈ কিছু সময় মাত্ৰ লাগিব। স্থানান্তৰ কৰা কাৰ্য সম্পূৰ্ণ নোহোৱালৈকে আপুনি এপ ব্যৱহাৰ কৰিব নোৱাৰিব। \n\nস্থানান্তৰ কৰা সময়ত <xliff:g id="NAME_1">^2</xliff:g> আঁতৰাই নিদিব।"</string>
<string name="storage_wizard_move_unlock" msgid="14651384927767749">"ডেটা স্থানান্তৰ কৰিবলৈ আপুনি ব্যৱহাৰকাৰী <xliff:g id="APP">^1</xliff:g>ক আনলক কৰিব লাগিব৷"</string>
<string name="storage_wizard_move_progress_title" msgid="3912406225614672391">"<xliff:g id="APP">^1</xliff:g> স্থানান্তৰ কৰি থকা হৈছে…"</string>
- <string name="storage_wizard_move_progress_body" msgid="2396714553394935094">"স্থানান্তৰণ চলি থাকোতে <xliff:g id="NAME">^1</xliff:g> স্থানান্তৰ নকৰিব। \n\n স্থানান্তৰণ সম্পূৰ্ণ নোহোৱালৈকে <xliff:g id="APP">^2</xliff:g> এপটো ডিভাইচত উপলব্ধ নহ’ব।"</string>
+ <string name="storage_wizard_move_progress_body" msgid="2396714553394935094">"স্থানান্তৰণ চলি থাকোতে <xliff:g id="NAME">^1</xliff:g> স্থানান্তৰ নকৰিব। \n\n স্থানান্তৰণ সম্পূৰ্ণ নোহোৱালৈকে <xliff:g id="APP">^2</xliff:g> এপ্টো ডিভাইচত উপলব্ধ নহ’ব।"</string>
<string name="storage_wizard_move_progress_cancel" msgid="3494022998599718937">"স্থানান্তৰণ বাতিল কৰক"</string>
<string name="storage_wizard_slow_body" msgid="8293565076885232029">"<xliff:g id="NAME_0">^1</xliff:g> লেহেমীয়া যেন দেখা গৈছে। \n\nআপুনি অব্যাহত ৰাখিব পাৰে, কিন্তু এই অৱস্থানলৈ স্থানান্তৰ কৰা হোৱা এপসমূহ ভালকৈ নচলিব পাৰে আৰু ডেটা স্থানান্তৰণ হওতে প্ৰয়োজনতকৈ বেছি সময় লাগিব পাৰে। \n\nউত্তম ফলাফলৰ বাবে এটা দ্ৰুত <xliff:g id="NAME_1">^1</xliff:g> ব্যৱহাৰৰ কথা বিবেচনা কৰক।"</string>
<string name="storage_wizard_init_v2_title" msgid="2538630338392381113">"আপুনি এই <xliff:g id="NAME">^1</xliff:g> কেনেদৰে ব্যৱহাৰ কৰিব খোজে?"</string>
@@ -1757,7 +1759,7 @@
<string name="storage_wizard_init_v2_external_title" msgid="2786416384217054112">"প’ৰ্টেবল ষ্ট’ৰেজৰ বাবে SD কাৰ্ড ফৰ্মেট কৰক"</string>
<string name="storage_wizard_init_v2_external_summary" msgid="2002761631147966185">"ফট’, ভিডিঅ’, সংগীত আৰু অধিক ষ্ট’ৰ কৰক আৰু আন ডিভাইচৰ পৰা সেইবোৰ এক্সেছ কৰক। <a href=https://support.google.com/android/answer/12153449>এখন SD কাৰ্ড ছেট আপ কৰাৰ বিষয়ে অধিক জানক</a>।"</string>
<string name="storage_wizard_init_v2_external_action" msgid="6140058734875839081">"ফৰ্মেট কৰক"</string>
- <string name="storage_wizard_init_v2_later" msgid="5366815913892609285">"পিছত ছেট আপ কৰক"</string>
+ <string name="storage_wizard_init_v2_later" msgid="5366815913892609285">"পাছত ছেট আপ কৰক"</string>
<string name="storage_wizard_format_confirm_v2_title" msgid="6294104100437326067">"এই <xliff:g id="NAME">^1</xliff:g>খন ফৰ্মেট কৰিবনে?"</string>
<string name="storage_wizard_format_confirm_v2_body" msgid="635958708974709506">"এই <xliff:g id="NAME_0">^1</xliff:g> খনক এপ্, ফাইল আৰু মিডিয়া জমা কৰি ৰাখিবলৈ ফৰমেট কৰা প্ৰয়োজন। \n\nফৰমেট কৰিলে <xliff:g id="NAME_1">^2</xliff:g>ত ইতিমধ্যে থকা সকলো সমল মচা যাব। সমল হেৰুওৱাৰ পৰা হাত সাৰিবলৈ অইন এখন <xliff:g id="NAME_2">^3</xliff:g>ত বা অইন এটা ডিভাইচত সেইবোৰৰ বেক আপ লৈ থওক।"</string>
<string name="storage_wizard_format_confirm_v2_body_external" msgid="5810296966099830035">"ফট’, ভিডিঅ’, সংগীত আৰু অধিক ষ্ট’ৰ কৰিবলৈ এই <xliff:g id="NAME_0">^1</xliff:g> ফৰ্মেট কৰিব লাগিব। \n\nফৰ্মেট কৰা কাৰ্যই <xliff:g id="NAME_1">^2</xliff:g>ত পূৰ্বৰে পৰা থকা সমল মচি পেলাব। সমল হেৰুওৱাৰ পৰা হাত সাৰিবলৈ আন <xliff:g id="NAME_2">^3</xliff:g> অথবা ডিভাইচত তাৰ বেক আপ লওক।"</string>
@@ -1771,7 +1773,7 @@
<string name="storage_wizard_migrate_v2_checklist_battery" product="tablet" msgid="6111770421449869539">"এই টেবলেটটো চ্চাৰ্জ কৰি ৰাখক"</string>
<string name="storage_wizard_migrate_v2_checklist_battery" product="default" msgid="8826915870192535008">"এই ফ\'নটো চ্চাৰ্জ কৰি ৰাখক"</string>
<string name="storage_wizard_migrate_v2_now" msgid="3341460117088026966">"সমল স্থানান্তৰ কৰক"</string>
- <string name="storage_wizard_migrate_v2_later" msgid="6067756122853315642">"সমল পিছত স্থানান্তৰ কৰক"</string>
+ <string name="storage_wizard_migrate_v2_later" msgid="6067756122853315642">"সমল পাছত স্থানান্তৰ কৰক"</string>
<string name="storage_wizard_migrate_progress_v2_title" msgid="8791318509516968103">"সমল স্থানান্তৰ কৰি থকা হৈছে…"</string>
<string name="storage_wizard_slow_v2_title" msgid="3760766921170980221">"লেহেমীয়া <xliff:g id="NAME">^1</xliff:g>"</string>
<string name="storage_wizard_slow_v2_body" msgid="7604252106419016929">"আপুনি তথাপি <xliff:g id="NAME_0">^1</xliff:g> ব্যৱহাৰ কৰি থাকিব পাৰে, কিন্তু ই লেহেমীয়া হ’ব পাৰে। \n\n<xliff:g id="NAME_1">^2</xliff:g>ত ষ্ট’ৰ কৰি ৰখা এপ্সমূহে সঠিকভাৱে কাম নকৰিব পাৰে আৰু সমল স্থানান্তৰ কৰোঁতে বহুত সময় লাগিব পাৰে। \n\nএটা দ্ৰুত <xliff:g id="NAME_2">^3</xliff:g> ব্যৱহাৰ কৰি চাওক বা তাৰ সলনি <xliff:g id="NAME_3">^4</xliff:g>ক প’ৰ্টেবল ষ্ট’ৰেজ হিচাপে ব্যৱহাৰ কৰক।"</string>
@@ -2148,7 +2150,7 @@
<string name="app_factory_reset" msgid="8974044931667015201">"আপডেইটবিলাক আঁতৰাওক"</string>
<string name="app_restricted_settings_lockscreen_title" msgid="5993061278264872648">"প্ৰতিবন্ধিত ছেটিঙৰ অনুমতি দিয়ক"</string>
<string name="auto_launch_enable_text" msgid="8912714475823807798">"আপুনি বাছনি কৰা কিছুমান কাৰ্যকলাপ ডিফ’ল্ট হিচাপে এই এপ্টোত খোল খায়।"</string>
- <string name="always_allow_bind_appwidgets_text" msgid="2069415023986858324">"আপুনি এই এপটোক ৱিজেট সৃষ্টি কৰিবলৈ আৰু সেইবিলাকৰ ডেটা চাবলৈ অনুমতি দিবলৈ বাছনি কৰিছে।"</string>
+ <string name="always_allow_bind_appwidgets_text" msgid="2069415023986858324">"আপুনি এই এপ্টোক ৱিজেট সৃষ্টি কৰিবলৈ আৰু সেইবিলাকৰ ডেটা চাবলৈ অনুমতি দিবলৈ বাছনি কৰিছে।"</string>
<string name="auto_launch_disable_text" msgid="502648841250936209">"কোনো ডিফ’ল্ট ছেট কৰা হোৱা নাই৷"</string>
<string name="clear_activities" msgid="488089228657585700">"ডিফ’ল্ট অগ্ৰাধিকাৰসমূহ মচক"</string>
<string name="screen_compatibility_text" msgid="5915767835411020274">"এই এপ্টো আপোনাৰ স্ক্ৰীনৰ উপযোগীকৈ তৈয়াৰ কৰা নহ’বও পাৰে। আপুনি ই কেনেকৈ আপোনাৰ স্ক্ৰীনত খাপ খায় তাক ইয়াত নিয়ন্ত্ৰণ কৰিব পাৰে।"</string>
@@ -2186,7 +2188,7 @@
<string name="dlg_cancel" msgid="5164705061530774899">"বাতিল কৰক"</string>
<string name="dlg_delete" msgid="1790919205039397659">"মচক"</string>
<string name="app_not_found_dlg_title" msgid="7122106240981109930"></string>
- <string name="app_not_found_dlg_text" msgid="8634675268730513704">"ইনষ্টলহৈ থকা এপৰ তালিকাত এপটো পোৱা নগ\'ল।"</string>
+ <string name="app_not_found_dlg_text" msgid="8634675268730513704">"ইনষ্টলহৈ থকা এপৰ তালিকাত এপ্টো পোৱা নগ\'ল।"</string>
<string name="clear_failed_dlg_text" msgid="6866741916836125732">"এপৰ ষ্ট’ৰেজ মচিব পৰা নগ\'ল।"</string>
<string name="join_two_items" msgid="7893073836681382429">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> আৰু <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
<string name="join_two_unrelated_items" msgid="5301233410730513655">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
@@ -2200,7 +2202,7 @@
<string name="move_app_to_sdcard" product="default" msgid="7161667212614143767">"এছডি কাৰ্ডলৈ স্থানান্তৰ কৰক"</string>
<string name="another_migration_already_in_progress" msgid="6550546307856052261">"অন্য এটা স্থানান্তৰণ কাৰ্য ইতিমধ্যে চলি আছে৷"</string>
<string name="insufficient_storage" msgid="8115088042669030558">"ষ্ট’ৰেজত পৰ্যাপ্ত খালী ঠাই নাই।"</string>
- <string name="does_not_exist" msgid="6499163879348776120">"এপটোৰ অস্তিত্ব নাই"</string>
+ <string name="does_not_exist" msgid="6499163879348776120">"এপ্টোৰ অস্তিত্ব নাই"</string>
<string name="invalid_location" msgid="8013853455355520557">"ইনষ্টল কৰা অৱস্থান মান্য নহয়৷"</string>
<string name="system_package" msgid="7559476279008519360">"বাহ্যিক মিডিয়াত ছিষ্টেমৰ আপডেইটসমূহ ইনষ্টল কৰিব নোৱাৰি৷"</string>
<string name="move_error_device_admin" msgid="1561502976834303626">"বাহ্যিক মিডিয়াত ডিভাইচৰ প্ৰশাসক এপ্ ইনষ্টল কৰিব নোৱাৰি"</string>
@@ -2251,8 +2253,8 @@
<string name="runningservicedetails_processes_title" msgid="5292271587797234038">"প্ৰক্ৰিয়াবোৰ"</string>
<string name="service_stop" msgid="5712522600201308795">"বন্ধ কৰক"</string>
<string name="service_manage" msgid="3896322986828332075">"ছেটিং"</string>
- <string name="service_stop_description" msgid="6327742632400026677">"এই সেৱাটো ইয়াৰ এপটোৱে আৰম্ভ কৰিছিল। ইয়াক বন্ধ কৰি দিলে এপটো অচল হৈ পৰিব পাৰে।"</string>
- <string name="heavy_weight_stop_description" msgid="3086419998820881290">"এই এপটো সুৰক্ষিতভাৱে বন্ধ কৰিব নোৱাৰি। যদি আপুনি ইয়াক বন্ধ কৰে, আপুনি আপোনাৰ বৰ্তমানৰ কিছুমান কাম হেৰুৱাব পাৰে।"</string>
+ <string name="service_stop_description" msgid="6327742632400026677">"এই সেৱাটো ইয়াৰ এপ্টোৱে আৰম্ভ কৰিছিল। ইয়াক বন্ধ কৰি দিলে এপ্টো অচল হৈ পৰিব পাৰে।"</string>
+ <string name="heavy_weight_stop_description" msgid="3086419998820881290">"এই এপ্টো সুৰক্ষিতভাৱে বন্ধ কৰিব নোৱাৰি। যদি আপুনি ইয়াক বন্ধ কৰে, আপুনি আপোনাৰ বৰ্তমানৰ কিছুমান কাম হেৰুৱাব পাৰে।"</string>
<string name="background_process_stop_description" msgid="4792038933517438037">"এইটো এটা পুৰণি এপ্ প্ৰক্ৰিয়া যিটো আকৌ দৰকাৰ হ\'ব পাৰে কাৰণে এতিয়াও চলি আছে। সাধাৰণতে, ইয়াক বন্ধ কৰাৰ কোনো কাৰণ নাথাকে।"</string>
<string name="service_manage_description" msgid="6615788996428486121">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: বৰ্তমান ব্যৱহৃত হৈ আছে। ইয়াক নিয়ন্ত্ৰণ কৰিবলৈ ছেটিঙত টিপক।"</string>
<string name="main_running_process_description" msgid="6685973937935027773">"ব্যৱহৃত মুখ্য প্ৰক্ৰিয়াটো।"</string>
@@ -2343,7 +2345,7 @@
<string name="input_method_settings_button" msgid="5145039044301426311">"ছেটিং"</string>
<string name="input_methods_settings_label_format" msgid="5809693308957109022">"<xliff:g id="IME_NAME">%1$s</xliff:g> ছেটিং"</string>
<string name="input_methods_and_subtype_enabler_title" msgid="8940326108334307057">"সক্ৰিয় ইনপুট পদ্ধতি বাছক"</string>
- <string name="onscreen_keyboard_settings_summary" msgid="3975358507879701606">"স্ক্ৰীণত দেখা পোৱা কীব’ৰ্ডৰ ছেটিং"</string>
+ <string name="onscreen_keyboard_settings_summary" msgid="3975358507879701606">"স্ক্ৰীনত দেখা পোৱা কীব’ৰ্ডৰ ছেটিং"</string>
<string name="builtin_keyboard_settings_title" msgid="5096171620714179661">"কায়িক কীব’ৰ্ড"</string>
<string name="builtin_keyboard_settings_summary" msgid="4332792334499933856">"কায়িক কীব’ৰ্ডৰ ছেটিং"</string>
<string name="gadget_picker_title" msgid="7615902510050731400">"গেজেট বাছনি কৰক"</string>
@@ -2465,7 +2467,7 @@
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"স্ক্রীনখনত তিনিবাৰ টিপক"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"স্ক্ৰীনখনত ক্ষিপ্ৰতাৰে {0,number,integer} বাৰ টিপক। এই শ্বৰ্টকাটটোৱে আপোনাৰ ডিভাইচটো লেহেমীয়া কৰিব পাৰে"</string>
<string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"উচ্চখাপৰ"</string>
- <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"দিব্যাংগসকলৰ সুবিধাৰ বুটামটো <xliff:g id="SERVICE">%1$s</xliff:g> হিচাপে ছেট কৰা হৈ আছে। বিবৰ্ধন ব্যৱহাৰ কৰিবলৈ বুটামটো হেঁচি ৰাখক আৰু তাৰ পিছত বিবৰ্ধন বাছনি কৰক।"</string>
+ <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"দিব্যাংগসকলৰ সুবিধাৰ বুটামটো <xliff:g id="SERVICE">%1$s</xliff:g> হিচাপে ছেট কৰা হৈ আছে। বিবৰ্ধন ব্যৱহাৰ কৰিবলৈ বুটামটো হেঁচি ৰাখক আৰু তাৰ পাছত বিবৰ্ধন বাছনি কৰক।"</string>
<string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"সাধ্য সুবিধাৰ নিৰ্দেশ <xliff:g id="SERVICE">%1$s</xliff:g>ত ছেট কৰা হৈছে। বিবৰ্ধন ব্যৱহাৰ কৰিবলৈ দুটা আঙুলিৰে স্ক্ৰীনৰ তলৰ পৰা ওপৰলৈ ছোৱাইপ কৰক আৰু ধৰি ৰাখক। তাৰপাছত বিবৰ্ধন বাছনি কৰক।"</string>
<string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ভলিউম চাবিৰ শ্বৰ্টকাট"</string>
<string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"সেৱা শ্বৰ্টকাট"</string>
@@ -2760,12 +2762,12 @@
<string name="power_charge_remaining" msgid="7046064326172265116">"চাৰ্জ হ\'বলৈ <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
<string name="low_battery_summary" msgid="4458925347316501953">"বেটাৰী কমিছে"</string>
<string name="background_activity_title" msgid="8214332017349791380">"নেপথ্য়ৰ সীমিতকৰণ"</string>
- <string name="background_activity_summary" msgid="3817376868497046016">"এই এপটো নেপথ্যত চলিবলৈ অনুমতি দিয়ক"</string>
+ <string name="background_activity_summary" msgid="3817376868497046016">"এই এপ্টো নেপথ্যত চলিবলৈ অনুমতি দিয়ক"</string>
<string name="background_activity_summary_disabled" msgid="32459916080651444">"নেপথ্যত চলাবৰ বাবে এপক অনুমতি দিয়া হোৱা নাই"</string>
<string name="background_activity_summary_allowlisted" msgid="6240154358657454651">"পটভূমিত হোৱা ব্যৱহাৰ সীমিত কৰিব নোৱাৰি"</string>
<string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"নেপথ্যৰ কাৰ্যকলাপ সীমিত কৰিবনে?"</string>
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"আপুনি এটা এপৰ নেপথ্য কাৰ্যকলাপ সীমিত কৰিলে ই অস্বাভাৱিক আচৰণ কৰিব পাৰে"</string>
- <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"যিহেতু এই এপটো বেটাৰী অপ্টিমাইজ কৰিবলৈ ছেট কৰি থোৱা হোৱা নাই, সেয়ে ইয়াক আপুনি সীমিত কৰিব নোৱাৰে।\n\nএপটো সীমিত কৰিবলৈ প্ৰথমে বেটাৰী অপ্টিমাইজেশ্বন অন কৰক।"</string>
+ <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"যিহেতু এই এপ্টো বেটাৰী অপ্টিমাইজ কৰিবলৈ ছেট কৰি থোৱা হোৱা নাই, সেয়ে ইয়াক আপুনি সীমিত কৰিব নোৱাৰে।\n\nএপ্টো সীমিত কৰিবলৈ প্ৰথমে বেটাৰী অপ্টিমাইজেশ্বন অন কৰক।"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"বাধাহীন"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"অপ্টিমাইজ কৰা"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"সীমিত"</string>
@@ -2777,14 +2779,14 @@
<string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"বাধাহীন"</string>
<string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"অপ্টিমাইজ কৰা"</string>
<string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"বেটাৰীৰ ব্যৱহাৰৰ বিকল্পৰ বিষয়ে অধিক জানক"</string>
- <string name="device_screen_usage" msgid="1011630249648289909">"সম্পূৰ্ণ চাৰ্জ হোৱাৰ পিছত স্ক্ৰীনৰ ব্যৱহাৰ"</string>
+ <string name="device_screen_usage" msgid="1011630249648289909">"সম্পূৰ্ণ চাৰ্জ হোৱাৰ পাছত স্ক্ৰীনৰ ব্যৱহাৰ"</string>
<string name="power_usage_list_summary" msgid="3237540201918492925">"সম্পূৰ্ণকৈ চাৰ্জ হোৱাৰ পাছত বেটাৰীৰ ব্যৱহাৰ"</string>
<string name="screen_usage_summary" msgid="1393184943010909471">"সম্পূৰ্ণকৈ চ্চাৰ্জ হোৱাৰ পাছত স্ক্ৰীন অন হৈ থকা সময়"</string>
- <string name="device_usage_list_summary" msgid="242243537371697285">"সম্পূৰ্ণ চ্চাৰ্জ হোৱাৰ পিছত ডিভাইচৰ ব্যৱহাৰ"</string>
+ <string name="device_usage_list_summary" msgid="242243537371697285">"সম্পূৰ্ণ চ্চাৰ্জ হোৱাৰ পাছত ডিভাইচৰ ব্যৱহাৰ"</string>
<string name="battery_since_unplugged" msgid="6991509383429936921">"আনপ্লাগ কৰাৰ পাছত বেটাৰীৰ ব্যৱহাৰ"</string>
<string name="battery_since_reset" msgid="2930376112877476562">"ৰিছেট কৰাৰ পাছত বেটাৰীৰ ব্যৱহাৰ"</string>
<string name="battery_stats_on_battery" msgid="1553011980384645514">"<xliff:g id="TIME">%1$s</xliff:g> বেটাৰীত"</string>
- <string name="battery_stats_duration" msgid="6918768703070999743">"<xliff:g id="TIME">%1$s</xliff:g> প্লাগৰ পৰা আঁতৰোৱাৰ পিছত"</string>
+ <string name="battery_stats_duration" msgid="6918768703070999743">"<xliff:g id="TIME">%1$s</xliff:g> প্লাগৰ পৰা আঁতৰোৱাৰ পাছত"</string>
<string name="battery_stats_charging_label" msgid="6204814386861342145">"চ্চাৰ্জ কৰি থকা হৈছে"</string>
<string name="battery_stats_screen_on_label" msgid="8989312180491200138">"স্ক্ৰীন অন"</string>
<string name="battery_stats_gps_on_label" msgid="5626424078405382686">"জিপিএছ অন আছে"</string>
@@ -2961,7 +2963,7 @@
<string name="battery_sugg_bluetooth_basic" msgid="8943564578546832037">"অব্যৱহৃত অৱস্থাত থাকোতে ব্লুটুথ অফ কৰি ৰাখক"</string>
<string name="battery_sugg_bluetooth_headset" msgid="6495519793211758353">"বেলেগ এটা ব্লুটুথ ডিভাইচৰ লগত সংযোগ কৰিবলৈ চেষ্টা কৰক"</string>
<string name="battery_desc_apps" msgid="4187483940383266017">"এপে ব্যৱহাৰ কৰা বেটাৰীৰ পৰিমাণ"</string>
- <string name="battery_sugg_apps_info" msgid="4796917242296658454">"এপটো বন্ধ কৰক বা আনইনষ্টল কৰক"</string>
+ <string name="battery_sugg_apps_info" msgid="4796917242296658454">"এপ্টো বন্ধ কৰক বা আনইনষ্টল কৰক"</string>
<string name="battery_sugg_apps_gps" msgid="7221335088647925110">"বেটাৰী সঞ্চয় ম’ড বাছনি কৰক"</string>
<string name="battery_sugg_apps_settings" msgid="6527223370162382166">"বেটাৰীৰ খৰচ কম কৰিবলৈ এই এপ্টোত ছেটিং থাকিব পাৰে"</string>
<string name="battery_desc_users" msgid="1959428568888686847">"ব্যৱহাৰকাৰীয়ে খৰচ কৰা বেটাৰীৰ পৰিমাণ"</string>
@@ -2974,14 +2976,14 @@
<string name="battery_screen_usage" msgid="90008745183187461">"স্ক্ৰীনৰ ব্যৱহাৰ <xliff:g id="TIME">^1</xliff:g>"</string>
<string name="battery_used_by" msgid="6457305178016189330">"<xliff:g id="APP">%2$s</xliff:g>ৰ দ্বাৰা <xliff:g id="PERCENT">%1$s</xliff:g> ব্যৱহাৰ হৈছে"</string>
<string name="battery_overall_usage" msgid="8940140259734182014">"সামগ্ৰিক বেটাৰীৰ <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
- <string name="battery_detail_since_full_charge" msgid="5650946565524184582">"শেহতীয়াভাৱে পূৰ্ণ চাৰ্জ কৰাৰ পিছত হোৱা বেটাৰি ক্ষয়"</string>
+ <string name="battery_detail_since_full_charge" msgid="5650946565524184582">"শেহতীয়াভাৱে পূৰ্ণ চাৰ্জ কৰাৰ পাছত হোৱা বেটাৰি ক্ষয়"</string>
<string name="battery_last_full_charge" msgid="8308424441475063956">"অন্তিমটো সম্পূৰ্ণ চ্চাৰ্জ"</string>
- <string name="battery_full_charge_last" msgid="465146408601016923">"সম্পূৰ্ণ ৰূপে চ্চাৰ্জ কৰাৰ পিছত প্ৰায় ইমান সময় চলে"</string>
+ <string name="battery_full_charge_last" msgid="465146408601016923">"সম্পূৰ্ণ ৰূপে চ্চাৰ্জ কৰাৰ পাছত প্ৰায় ইমান সময় চলে"</string>
<string name="battery_footer_summary" msgid="8221691063048377342">"বেটাৰীৰ ব্যৱহাৰৰ ডেটা আনুমানিক আৰু ই ব্যৱহাৰৰ ওপৰত ভিত্তি কৰি সলনি হ’ব পাৰে।"</string>
<string name="battery_detail_foreground" msgid="3312280147931093967">"সক্ৰিয়ভাৱে ব্যৱহাৰ হৈ থাকোতে"</string>
<string name="battery_detail_background" msgid="3333915023706228000">"নেপথ্যত থাকোঁতে"</string>
<string name="battery_detail_power_usage" msgid="1492926471397355477">"বেটাৰীৰ ব্যৱহাৰ"</string>
- <string name="battery_detail_info_title" msgid="5896661833554333683">"সম্পূৰ্ণ চ্চাৰ্জ হোৱাৰ পিছত"</string>
+ <string name="battery_detail_info_title" msgid="5896661833554333683">"সম্পূৰ্ণ চ্চাৰ্জ হোৱাৰ পাছত"</string>
<string name="battery_detail_manage_title" msgid="7910805419446927887">"বেটাৰীৰ ব্যৱহাৰ পৰিচালনা কৰক"</string>
<string name="battery_total_and_bg_usage" msgid="8266478675516886819">"মুঠ <xliff:g id="TIME_0">^1</xliff:g> • শেষবাৰ সম্পূৰ্ণ চাৰ্জ হোৱাৰ পৰা মুঠ\n<xliff:g id="TIME_1">^2</xliff:g>"</string>
<string name="battery_total_and_bg_usage_24hr" msgid="2393832614028187281">"মুঠ <xliff:g id="TIME_0">^1</xliff:g> • যোৱা ২৪ ঘণ্টাত নেপথ্যত\n<xliff:g id="TIME_1">^2</xliff:g>"</string>
@@ -3009,7 +3011,7 @@
<string name="estimated_time_left" msgid="948717045180211777">"বাকী থকা মোটামুটি সময়"</string>
<string name="estimated_charging_time_left" msgid="2287135413363961246">"সম্পূৰ্ণৰূপে চ্চাৰ্জ নোহোৱা পৰ্যন্ত"</string>
<string name="estimated_time_description" msgid="211058785418596009">"ব্যৱহাৰক ভিত্তি কৰি আনুমানিক সময় সলনি হ’ব পাৰে"</string>
- <string name="menu_stats_unplugged" msgid="7125297366200634285">"আনপ্লাগ কৰাৰ পিছত<xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
+ <string name="menu_stats_unplugged" msgid="7125297366200634285">"আনপ্লাগ কৰাৰ পাছত<xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
<string name="menu_stats_last_unplugged" msgid="230678127178268655">"যেতিয়া <xliff:g id="UNPLUGGED">%1$s</xliff:g> অন্তিমবাৰ আনপ্লাগ কৰা হৈছিল"</string>
<string name="menu_stats_total" msgid="2713445396954503670">"ব্য়ৱহাৰৰ মুঠ"</string>
<string name="menu_stats_refresh" msgid="6727628139586938835">"ৰিফ্ৰেশ্ব"</string>
@@ -3062,7 +3064,7 @@
<string name="process_stats_summary_title" msgid="502683176231281732">"প্ৰক্ৰিয়া-বিষয়ক পৰিসংখ্যা"</string>
<string name="process_stats_summary" msgid="522842188571764699">"চলি থকা প্ৰক্ৰিয়াসমূহৰ বিষয়ে কাৰিকৰী পৰিসংখ্যা"</string>
<string name="app_memory_use" msgid="7559666138324410666">"মেম\'ৰিৰ ব্যৱহাৰ"</string>
- <string name="process_stats_total_duration" msgid="3898635541254636618">"<xliff:g id="TIMEDURATION">%3$s</xliff:g>ৰ পিছত <xliff:g id="TOTALRAM">%2$s</xliff:g>ৰ <xliff:g id="USEDRAM">%1$s</xliff:g> ব্যৱহাৰ কৰা হৈছে"</string>
+ <string name="process_stats_total_duration" msgid="3898635541254636618">"<xliff:g id="TIMEDURATION">%3$s</xliff:g>ৰ পাছত <xliff:g id="TOTALRAM">%2$s</xliff:g>ৰ <xliff:g id="USEDRAM">%1$s</xliff:g> ব্যৱহাৰ কৰা হৈছে"</string>
<string name="process_stats_total_duration_percentage" msgid="4391502694312709148">"<xliff:g id="PERCENT">%1$s</xliff:g>ৰ ভিতৰত <xliff:g id="TIMEDURATION">%2$s</xliff:g>তকৈ বেছি ৰেম ব্যৱহৃত হৈছে"</string>
<string name="process_stats_type_background" msgid="4094034441562453522">"নেপথ্য"</string>
<string name="process_stats_type_foreground" msgid="5043049335546793803">"অগ্ৰভাগ"</string>
@@ -3188,18 +3190,18 @@
<string name="fullbackup_data_summary" msgid="971587401251601473">"আপোনাৰ ডিভাইচৰ ডেটা (যেনে, ৱাই-ফাইৰ পাছৱৰ্ড আৰু কলৰ ইতিহাস) আৰু এপৰ ডেটা (যেনে, ছেটিং আৰু এপে জমা কৰা ফাইলসমূহ)ৰ নিলগৰ পৰা বেকআপ লওক।\n\nযেতিয়া আপুনি স্বয়ংক্ৰিয় বেকআপ অন কৰে, তেতিয়া ডিভাইচ আৰু এপৰ ডেটা সময়ে সময়ে নিলগৰ পৰা ছেভ কৰা হয়। এপ্ ডেটা যিকোনো এপে (ডেভেলপাৰ ছেটিং অনুসৰি) জমা কৰা ডেটা হ\'ব পাৰে, য\'ত সম্ভাব্য সংবেদনশীল ডেটা যেনে সম্পৰ্ক, বাৰ্তা আৰু ফট\' আদিসমূহ অন্তৰ্ভুক্ত হ\'ব পাৰে।"</string>
<string name="device_admin_settings_title" msgid="31392408594557070">"ডিভাইচ এডমিন ছেটিং"</string>
<string name="active_device_admin_msg" msgid="7744106305636543184">"ডিভাইচ প্ৰশাসকৰ এপ্"</string>
- <string name="remove_device_admin" msgid="3143059558744287259">"এই ডিভাইচ প্ৰশাসক এপটো অক্ষম কৰক"</string>
+ <string name="remove_device_admin" msgid="3143059558744287259">"এই ডিভাইচ প্ৰশাসক এপ্টো অক্ষম কৰক"</string>
<string name="uninstall_device_admin" msgid="4481095209503956916">"এপ্ আনইনষ্টল কৰক"</string>
<string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"নিষ্ক্ৰিয় আৰু আনইনষ্টল কৰক"</string>
<string name="select_device_admin_msg" msgid="5501360309040114486">"ডিভাইচৰ প্ৰশাসকৰ এপসমূহ"</string>
<string name="no_device_admins" msgid="8888779888103079854">"কোনো ডিভাইচ প্ৰশাসকৰ এপ্ উপলব্ধ নাই"</string>
<string name="no_trust_agents" msgid="8659098725864191600">"কোনো বিশ্বাসী এজেণ্ট পোৱা নগ\'ল"</string>
- <string name="add_device_admin_msg" msgid="7730006568970042119">"এই ডিভাইচ প্ৰশাসক এপটো সক্ৰিয় কৰেনে?"</string>
- <string name="add_device_admin" msgid="6252128813507932519">"এই ডিভাইচ এডমিন এপটো সক্ৰিয় কৰক"</string>
+ <string name="add_device_admin_msg" msgid="7730006568970042119">"এই ডিভাইচ প্ৰশাসক এপ্টো সক্ৰিয় কৰেনে?"</string>
+ <string name="add_device_admin" msgid="6252128813507932519">"এই ডিভাইচ এডমিন এপ্টো সক্ৰিয় কৰক"</string>
<string name="device_admin_add_title" msgid="6087481040932322289">"ডিভাইচৰ প্ৰশাসক"</string>
- <string name="device_admin_warning" msgid="1889160106787280321">"এই এপটো সক্ৰিয় কৰিলে ই <xliff:g id="APP_NAME">%1$s</xliff:g> তলৰ কামবিলাক কৰিবলৈ সক্ষম হ\'ব:"</string>
+ <string name="device_admin_warning" msgid="1889160106787280321">"এই এপ্টো সক্ৰিয় কৰিলে ই <xliff:g id="APP_NAME">%1$s</xliff:g> তলৰ কামবিলাক কৰিবলৈ সক্ষম হ\'ব:"</string>
<string name="device_admin_warning_simplified" msgid="2715756519899116115">"এই ডিভাইচটো <xliff:g id="APP_NAME">%1$s</xliff:g>এ পৰিচালনা আৰু নিৰীক্ষণ কৰিব।"</string>
- <string name="device_admin_status" msgid="6332571781623084064">"এই প্ৰশাসক এপটো সক্ৰিয় হৈ আছে আৰু ই <xliff:g id="APP_NAME">%1$s</xliff:g> নিম্নলিখিত কাৰ্যকলাপসমূহ কৰিব পাৰে:"</string>
+ <string name="device_admin_status" msgid="6332571781623084064">"এই প্ৰশাসক এপ্টো সক্ৰিয় হৈ আছে আৰু ই <xliff:g id="APP_NAME">%1$s</xliff:g> নিম্নলিখিত কাৰ্যকলাপসমূহ কৰিব পাৰে:"</string>
<string name="profile_owner_add_title" msgid="2774489881662331549">"প্ৰ\'ফাইল পৰিচালকক সক্ৰিয় কৰেনে?"</string>
<string name="profile_owner_add_title_simplified" msgid="2320828996993774182">"তদাৰক কৰিবলৈ অনুমতি দিবনে?"</string>
<string name="adding_profile_owner_warning" msgid="6868275476058020513">"অব্যাহত ৰাখিলে, প্ৰশাসকে আপোনাৰ ব্যৱহাৰকাৰীক পৰিচালনা কৰিব আৰু তেওঁ সংলগ্ন ডেটাৰ লগতে আপোনাৰ ব্যক্তিগত ডেটাও জমা কৰিব পাৰিব।\n\nআপোনাৰ প্ৰশাসকে ছেটিং, এক্সেছ, এপ্, আৰু এই ব্যৱহাৰকাৰীৰৰ লগত জড়িত ডেটা যেনে নেটৱৰ্কৰ কাৰ্যকলাপ আৰু আপোনাৰ ডিভাইচৰ অৱস্থান বিষয়কৰ তথ্য আদি নিৰীক্ষণ কৰাৰ লগতে পৰিচালনা কৰিব পাৰিব।"</string>
@@ -3319,7 +3321,7 @@
<string name="data_usage_app_settings" msgid="5693524672522122485">"এপৰ ছেটিং"</string>
<string name="data_usage_app_restrict_background" msgid="5728840276368097276">"নেপথ্য ডেটা"</string>
<string name="data_usage_app_restrict_background_summary" msgid="2997942775999602794">"ম’বাইল ডেটাৰ নেপথ্য ব্যৱহাৰ সক্ষম কৰক"</string>
- <string name="data_usage_app_restrict_background_summary_disabled" msgid="8213268097024597864">"এই এপটোৰ বাবে নেপথ্য সীমিত কৰিবলৈ প্ৰথমে ম’বাইল ডেটাৰ সীমা ছেট কৰিব লাগিব।"</string>
+ <string name="data_usage_app_restrict_background_summary_disabled" msgid="8213268097024597864">"এই এপ্টোৰ বাবে নেপথ্য সীমিত কৰিবলৈ প্ৰথমে ম’বাইল ডেটাৰ সীমা ছেট কৰিব লাগিব।"</string>
<string name="data_usage_app_restrict_dialog_title" msgid="5383874438677899255">"নেপথ্য ডেটা সীমিত কৰে নে?"</string>
<string name="data_usage_app_restrict_dialog" msgid="5534272311979978297">"যেতিয়া কেৱল ম’বাইল নেটৱৰ্ক উপলব্ধ থাকে, এই সুবিধাই নেপথ্য ডেটাৰ উপৰত নিৰ্ভৰশীল এপ্বোৰ অচল কৰিব পাৰে।\n\nএপ্টোৰ ভিতৰত থকা ছেটিঙত আপুনি ডেটা ব্যৱহাৰ নিয়ন্ত্ৰণ কৰিবলৈ অধিক উপযুক্ত সুবিধা পাব।"</string>
<string name="data_usage_restrict_denied_dialog" msgid="8599940395497268584">"আপুনি ম’বাইল ডেটাৰ সীমা ছেট কৰাৰ পিছতহে কেৱল নেপথ্য ডেটাক প্ৰতিবন্ধিত কৰা সম্ভৱ৷"</string>
@@ -3334,7 +3336,7 @@
<string name="data_usage_warning_editor_title" msgid="5252748452973120016">"ডেটা ব্যৱহাৰৰ সকিয়নী ছেট কৰক"</string>
<string name="data_usage_limit_editor_title" msgid="8826855902435008518">"ডেটা ব্যৱহাৰৰ সীমা ছেট কৰক"</string>
<string name="data_usage_limit_dialog_title" msgid="2053134451707801439">"ডেটাৰ ব্যৱহাৰ সীমিত কৰি থকা হৈছে"</string>
- <string name="data_usage_limit_dialog_mobile" product="tablet" msgid="6000062970083379466">"আপুনি ছেট কৰা ডেটা শেষ হোৱাৰ পিছত আপোনাৰ টে\'বলেটৰ ম’বাইল ডেটা অফ হ\'ব।\n\nযিহেতু, আপোনাৰ টে\'বলেটে ডেটাৰ ব্যৱহাৰ নিৰ্ধাৰণ কৰে আৰু আপোনাৰ বাহকে ব্যৱহাৰৰ ওপৰত ভিত্তি কৰি ডেটাৰ গণনা পৃথকভাৱে কৰিব পাৰে, সেয়েহে ভাবি চিন্তি ডেটাৰ সীমা নিৰ্ধাৰণ কৰক।"</string>
+ <string name="data_usage_limit_dialog_mobile" product="tablet" msgid="6000062970083379466">"আপুনি ছেট কৰা ডেটা শেষ হোৱাৰ পাছত আপোনাৰ টে\'বলেটৰ ম’বাইল ডেটা অফ হ\'ব।\n\nযিহেতু, আপোনাৰ টে\'বলেটে ডেটাৰ ব্যৱহাৰ নিৰ্ধাৰণ কৰে আৰু আপোনাৰ বাহকে ব্যৱহাৰৰ ওপৰত ভিত্তি কৰি ডেটাৰ গণনা পৃথকভাৱে কৰিব পাৰে, সেয়েহে ভাবি চিন্তি ডেটাৰ সীমা নিৰ্ধাৰণ কৰক।"</string>
<string name="data_usage_limit_dialog_mobile" product="default" msgid="4942895670789168024">"আপুনি ছেট কৰা সীমাত উপনীত হোৱাৰ লগে লগে ফ\'নটোৱে ম’বাইল ডেটা অফ কৰি দিব।\n\nযিহেতু ডেটাৰ ব্যৱহাৰ আপোনাৰ ফ\'নটোৱে গণনা কৰে যিটো আপোনাৰ বাহকৰ গণনাৰ সৈতে একে নহ\'বও পাৰে, গতিকে এক ৰক্ষণশীল সীমা বন্ধাৰ কথা বিবেচনা কৰক।"</string>
<string name="data_usage_restrict_background_title" msgid="2745551538820692821">"নেপথ্য ডেটা সীমিত কৰেনে?"</string>
<string name="data_usage_restrict_background" msgid="1893102079135282794">"যদিহে আপুনি নেপথ্য ম’বাইল ডেটা সীমিত কৰে, তেতিয়া আপুনি কোনো ৱাই-ফাই নেটৱৰ্কৰ লগত সংযোগ নকৰালৈকে কিছুমান এপ্ আৰু সেৱাই কাম নকৰিব।"</string>
@@ -3411,7 +3413,7 @@
<string name="vpn_menu_lockdown" msgid="5284041663859541007">"সদায় অন থকা ভিপিএন"</string>
<string name="vpn_no_vpns_added" msgid="7387080769821533728">"কোনো ভিপিএন যোগ কৰা হোৱা নাই"</string>
<string name="vpn_always_on_summary" msgid="2171252372476858166">"সকলো সময়তে VPNৰ সৈতে সংযুক্ত হৈ থাকক"</string>
- <string name="vpn_always_on_summary_not_supported" msgid="9084872130449368437">"এই এপটোৰ দ্বাৰা সমৰ্থিত নহয়"</string>
+ <string name="vpn_always_on_summary_not_supported" msgid="9084872130449368437">"এই এপ্টোৰ দ্বাৰা সমৰ্থিত নহয়"</string>
<string name="vpn_always_on_summary_active" msgid="175877594406330387">"সদায় অন"</string>
<string name="vpn_insecure_summary" msgid="4450920215186742859">"সুৰক্ষিত নহয়"</string>
<string name="vpn_require_connection" msgid="1027347404470060998">"ভিপিএন নোহোৱাকৈয়ে সংযোগবোৰ অৱৰোধ কৰক"</string>
@@ -3420,7 +3422,7 @@
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"যিকোনো সময়ত সংযোগ হৈ থাকিবলৈ ভিপিএন প্ৰ\'ফাইল বাছনি কৰক। এই ভিপিএনত সংযোগ হ\'লেহে ইণ্টাৰনেট ব্যৱহাৰ কৰিব পাৰিব।"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"নাই"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"সদা-সক্ৰিয় ভিপিএনৰ ক্ষেত্ৰত ছাৰ্ভাৰ আৰু ডিএনএছ দুয়োটাৰ বাবে আইপি ঠিকনা থকাটো দৰকাৰী।"</string>
- <string name="vpn_no_network" msgid="7187593680049843763">"ইণ্টাৰনেট সংযোগ নাই। অনুগ্ৰহ কৰি পিছত আকৌ চেষ্টা কৰক।"</string>
+ <string name="vpn_no_network" msgid="7187593680049843763">"ইণ্টাৰনেট সংযোগ নাই। অনুগ্ৰহ কৰি পাছত আকৌ চেষ্টা কৰক।"</string>
<string name="vpn_disconnected" msgid="7694522069957717501">"ভিপিএনৰ পৰা সংযোগ বিচ্ছিন্ন কৰক"</string>
<string name="vpn_disconnected_summary" msgid="721699709491697712">"নাই"</string>
<string name="vpn_missing_cert" msgid="5397309964971068272">"প্ৰমাণপত্ৰ উপলব্ধ নহয়। উক্ত প্ৰ\'ফাইল সম্পাদন কৰি চাওক।"</string>
@@ -3463,9 +3465,9 @@
<item quantity="other">প্ৰমাণপত্ৰ পৰীক্ষা কৰক</item>
</plurals>
<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">"নতুন ব্য়ৱহাৰকাৰী যোগ কৰি নিজৰ টেবলেট শ্বেয়াৰ কৰক। আপোনাৰ টেবলেটতে সকলো ব্য়ৱহাৰকাৰীৰ নিজৰ উপযোগিতা অনুসৰি কৰা গৃহ স্ক্ৰীণ, একাউণ্ট, এপ্, ছেটিং আৰু বহুতো বস্তুৰ বাবে ব্য়ক্তিগত খালী ঠাই থাকে।"</string>
- <string name="user_settings_footer_text" product="default" msgid="4420915712050349125">"নতুন ব্য়ৱহাৰকাৰী যোগ কৰি নিজৰ ফ\'ন শ্বেয়াৰ কৰক। আপোনাৰ ফ\'নত সকলো ব্য়ৱহাৰকাৰীৰ নিজৰ উপযোগিতা অনুসৰি কৰা গৃহ স্ক্ৰীণ, একাউণ্ট, এপ্, ছেটিং আৰু বহুতো বস্তুৰ বাবে ব্য়ক্তিগত খালী ঠাই থাকে।"</string>
+ <string name="user_settings_footer_text" product="device" msgid="7523914344521302179">"নতুন ব্য়ৱহাৰকাৰী যোগ কৰি নিজৰ ডিভাইচ শ্বেয়াৰ কৰক। আপোনাৰ ডিভাইচত সকলো ব্য়ৱহাৰকাৰীৰ নিজৰ উপযোগিতা অনুসৰি কৰা গৃহ স্ক্ৰীন, একাউণ্ট, এপ্, ছেটিং আৰু বহুতো বস্তুৰ বাবে ব্য়ক্তিগত খালী ঠাই থাকে।"</string>
+ <string name="user_settings_footer_text" product="tablet" msgid="3730074318510244552">"নতুন ব্য়ৱহাৰকাৰী যোগ কৰি নিজৰ টেবলেট শ্বেয়াৰ কৰক। আপোনাৰ টেবলেটতে সকলো ব্য়ৱহাৰকাৰীৰ নিজৰ উপযোগিতা অনুসৰি কৰা গৃহ স্ক্ৰীন, একাউণ্ট, এপ্, ছেটিং আৰু বহুতো বস্তুৰ বাবে ব্য়ক্তিগত খালী ঠাই থাকে।"</string>
+ <string name="user_settings_footer_text" product="default" msgid="4420915712050349125">"নতুন ব্য়ৱহাৰকাৰী যোগ কৰি নিজৰ ফ\'ন শ্বেয়াৰ কৰক। আপোনাৰ ফ\'নত সকলো ব্য়ৱহাৰকাৰীৰ নিজৰ উপযোগিতা অনুসৰি কৰা গৃহ স্ক্ৰীন, একাউণ্ট, এপ্, ছেটিং আৰু বহুতো বস্তুৰ বাবে ব্য়ক্তিগত খালী ঠাই থাকে।"</string>
<string name="user_list_title" msgid="1387379079186123404">"ব্যৱহাৰকাৰী আৰু প্ৰ\'ফাইলসমূহ"</string>
<string name="user_add_user_or_profile_menu" msgid="305851380425838287">"ব্যৱহাৰকাৰী বা প্ৰ\'ফাইল যোগ কৰক"</string>
<string name="user_summary_restricted_profile" msgid="451650609582185813">"সীমিত প্ৰ’ফাইল"</string>
@@ -3486,8 +3488,8 @@
<string name="user_confirm_remove_title" msgid="3626559103278006002">"এই ব্যৱহাৰকাৰীজন মচিবনে?"</string>
<string name="user_profile_confirm_remove_title" msgid="3131574314149375354">"এই প্ৰ\'ফাইলটো আঁতৰাইনে?"</string>
<string name="work_profile_confirm_remove_title" msgid="6229618888167176036">"কৰ্মস্থানৰ প্ৰ\'ফাইল আঁতহৰাইনে?"</string>
- <string name="user_confirm_remove_self_message" product="tablet" msgid="439222554798995592">"আপুনি এই টেবলেটত আপোনাৰ বাবে সংৰক্ষিত ঠাই আৰু ডেটা হেৰুৱাব। আপুনি এই কাৰ্য পিছত শুধৰাব নোৱাৰিব।"</string>
- <string name="user_confirm_remove_self_message" product="default" msgid="5991495192044543230">"আপুনি এই ফ\'নত আপোনাৰ বাবে সংৰক্ষিত ঠাই আৰু ডেটা হেৰুৱাব। আপুনি এই কাৰ্য পিছত শুধৰাব নোৱাৰিব।"</string>
+ <string name="user_confirm_remove_self_message" product="tablet" msgid="439222554798995592">"আপুনি এই টেবলেটত আপোনাৰ বাবে সংৰক্ষিত ঠাই আৰু ডেটা হেৰুৱাব। আপুনি এই কাৰ্য পাছত শুধৰাব নোৱাৰিব।"</string>
+ <string name="user_confirm_remove_self_message" product="default" msgid="5991495192044543230">"আপুনি এই ফ\'নত আপোনাৰ বাবে সংৰক্ষিত ঠাই আৰু ডেটা হেৰুৱাব। আপুনি এই কাৰ্য পাছত শুধৰাব নোৱাৰিব।"</string>
<string name="user_confirm_remove_message" msgid="362545924965977597">"আটাইবোৰ এপ্ আৰু ডেটা মচা হ\'ব।"</string>
<string name="work_profile_confirm_remove_message" msgid="1037294114103024478">"যদি আপুনি অব্যাহত ৰাখে, তেন্তে এই প্ৰ\'ফাইলত থকা আটাইবোৰ এপ্ আৰু ডেটা মচা হ\'ব।"</string>
<string name="user_profile_confirm_remove_message" msgid="3641289528179850718">"আটাইবোৰ এপ্ আৰু ডেটা মচা হ\'ব।"</string>
@@ -3538,7 +3540,7 @@
<string name="nfc_payment_favor_open" msgid="8554643344050373346">"অন্য পৰিশোধ এপ্ খোল খাই থকাৰ বাদে"</string>
<string name="nfc_payment_pay_with" msgid="3001320460566523453">"এটা স্পৰ্শবিহীন টাৰ্মিনেলত ইয়াৰ জৰিয়তে পৰিশোধ কৰক:"</string>
<string name="nfc_how_it_works_title" msgid="1363791241625771084">"টাৰ্মিনেলত ধন পৰিশোধ কৰা"</string>
- <string name="nfc_how_it_works_content" msgid="1141382684788210772">"ধন পৰিশোধ কৰিবলৈ এটা এপ্ ছেট আপ কৰক। তাৰ পিছত পইচা পৰিশোধ কৰিবলৈ যিকোনো স্পৰ্শহীন প্ৰতীক অঁকা থকা টাৰ্মিনেলত ফ\'নটোৰ পিছফালটো ওচৰ চপাই ধৰক।"</string>
+ <string name="nfc_how_it_works_content" msgid="1141382684788210772">"ধন পৰিশোধ কৰিবলৈ এটা এপ্ ছেট আপ কৰক। তাৰ পাছত পইচা পৰিশোধ কৰিবলৈ যিকোনো স্পৰ্শহীন প্ৰতীক অঁকা থকা টাৰ্মিনেলত ফ\'নটোৰ পিছফালটো ওচৰ চপাই ধৰক।"</string>
<string name="nfc_how_it_works_got_it" msgid="4717868843368296630">"বুজি পালোঁ"</string>
<string name="nfc_more_title" msgid="1041094244767216498">"অধিক…"</string>
<string name="nfc_payment_set_default_label" msgid="7395939287766230293">"ডিফ’ল্ট পৰিশোধ এপ্ ছেট কৰক"</string>
@@ -3703,7 +3705,7 @@
<string name="keywords_wifi_calling" msgid="4319184318421027136">"ৱাইফাই, ৱাই-ফাই, কল, কলিং"</string>
<string name="keywords_display" msgid="874738809280751745">"স্ক্ৰীন, টাচ্চ স্ক্ৰীন"</string>
<string name="keywords_display_brightness_level" msgid="850742707616318056">"অনুজ্জ্বল স্ক্ৰীন, টাচ্চস্ক্ৰীন, বেটাৰী, উজ্জ্বল"</string>
- <string name="keywords_display_night_display" msgid="4711054330804250058">"অনুজ্জ্বল স্ক্ৰীন, ৰাতি, গাঢ়তা, নাইট শ্বিফট, উজ্জ্বলতা, স্ক্ৰীণৰ ৰং, ৰং"</string>
+ <string name="keywords_display_night_display" msgid="4711054330804250058">"অনুজ্জ্বল স্ক্ৰীন, ৰাতি, গাঢ়তা, নাইট শ্বিফট, উজ্জ্বলতা, স্ক্ৰীনৰ ৰং, ৰং"</string>
<string name="keywords_display_wallpaper" msgid="8478137541939526564">"বেকগ্ৰাউণ্ড, ব্যক্তিগত কৰক, ডিছপ্লে\' কাষ্টমাইজ কৰক"</string>
<string name="keywords_display_font_size" msgid="3593317215149813183">"ফণ্টৰ আকাৰ"</string>
<string name="keywords_display_cast_screen" msgid="2572331770299149370">"প্ৰজেক্ট, কাষ্ট, স্ক্ৰীন প্ৰতিবিম্বকৰণ, স্ক্ৰীন শ্বেয়াৰ, প্ৰতিবিম্বকৰণ, শ্বেয়াৰ কৰা স্ক্ৰীন, স্ক্ৰীন কাষ্টিং"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"কলৰ ভলিউম"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"এলাৰ্মৰ ভলিউম"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"ৰিং আৰু জাননীৰ ভলিউম"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"ৰিঙৰ ভলিউম"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"জাননী-ধ্বনিৰ ভলিউম"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ফ\'নৰ ৰিংট\'ন"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"ডিফ\'ল্ট জাননী ধ্বনি"</string>
@@ -4160,7 +4163,7 @@
<string name="picture_in_picture_keywords" msgid="3605379820551656253">"চিত্ৰত পিপ"</string>
<string name="picture_in_picture_app_detail_title" msgid="4442235098255164650">"চিত্ৰৰ ভিতৰত চিত্ৰ"</string>
<string name="picture_in_picture_app_detail_switch" msgid="8544190716075624017">"চিত্ৰৰ ভিতৰত চিত্ৰৰ অনুমতি দিয়ক"</string>
- <string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"আপুনি এই এপটো খুলি ৰখাৰ সময়ত বা ইয়াৰ পৰা আঁতৰি যোৱাৰ পিছত (উদাহৰণস্বৰূপে, ইতিমধ্যে চাই থকা ভিডিঅ\'টোলৈ উভতি যাবলৈ) ইয়াক চিত্ৰৰ ভিতৰত চিত্ৰ ৱিণ্ড সৃষ্টি কৰিবলৈ অনুমতি দিয়ক। আপুনি চলাই থকা অইন এপৰ ওপৰত এই ৱিণ্ডখন প্ৰদৰ্শিত হ\'ব।"</string>
+ <string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"আপুনি এই এপ্টো খুলি ৰখাৰ সময়ত বা ইয়াৰ পৰা আঁতৰি যোৱাৰ পাছত (উদাহৰণস্বৰূপে, ইতিমধ্যে চাই থকা ভিডিঅ\'টোলৈ উভতি যাবলৈ) ইয়াক চিত্ৰৰ ভিতৰত চিত্ৰ ৱিণ্ড সৃষ্টি কৰিবলৈ অনুমতি দিয়ক। আপুনি চলাই থকা অইন এপৰ ওপৰত এই ৱিণ্ডখন প্ৰদৰ্শিত হ\'ব।"</string>
<string name="interact_across_profiles_title" msgid="7285906999927669971">"কানেক্টেড ৱৰ্ক এণ্ড পাৰ্চনেল এপ্"</string>
<string name="interact_across_profiles_summary_allowed" msgid="1365881452153799092">"সংযোগ কৰা হৈছে"</string>
<string name="interact_across_profiles_summary_not_allowed" msgid="5802674212788171790">"সংযোজিত হৈ থকা নাই"</string>
@@ -4471,7 +4474,7 @@
<string name="storage_summary_format" msgid="5721782272185284276">"<xliff:g id="STORAGE_TYPE">%2$s</xliff:g>ৰ <xliff:g id="SIZE">%1$s</xliff:g> ব্যৱহাৰ হ’ল"</string>
<string name="storage_type_internal" msgid="979243131665635278">"অভ্যন্তৰীণ ষ্ট’ৰেজ"</string>
<string name="storage_type_external" msgid="125078274000280821">"বাহ্যিক ষ্ট’ৰেজ"</string>
- <string name="data_summary_format" msgid="8802057788950096650">"<xliff:g id="DATE">%2$s</xliff:g>ৰ পিছত <xliff:g id="SIZE">%1$s</xliff:g> ব্যৱহৃত হৈছে"</string>
+ <string name="data_summary_format" msgid="8802057788950096650">"<xliff:g id="DATE">%2$s</xliff:g>ৰ পাছত <xliff:g id="SIZE">%1$s</xliff:g> ব্যৱহৃত হৈছে"</string>
<string name="storage_used" msgid="2591194906751432725">"ষ্ট’ৰেজ ব্যৱহাৰ কৰা হৈছে"</string>
<string name="change" msgid="273206077375322595">"সলনি কৰক"</string>
<string name="change_storage" msgid="8773820275624113401">"ষ্ট’ৰেজ সলনি কৰক"</string>
@@ -4602,7 +4605,7 @@
<string name="high_power_desc" msgid="2753076899835765338">"বেটাৰি অপ্টিমাইজেশ্ৱন প্ৰযোজ্য নকৰিব। ই আপোনাৰ বেটাৰি অতি সোনকালে ক্ষয় কৰিব পাৰে।"</string>
<string name="high_power_prompt_title" msgid="2574478825228409124">"এপক সদায় নেপথ্যত চলিবলৈ দিবনে?"</string>
<string name="high_power_prompt_body" msgid="6029266540782139941">"<xliff:g id="APP_NAME">%1$s</xliff:g>ক সদায় নেপথ্যত চলি থাকিবলৈ দিলে বেটাৰীৰ জীৱনকাল হ্ৰাস পাব পাৰে। \n\nআপুনি এইটো পাছত ছেটিং > এপলৈ গৈ সলনি কৰিব পাৰে।"</string>
- <string name="battery_summary" msgid="2491764359695671207">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> সম্পূৰ্ণৰূপে চ্চাৰ্জ হোৱাৰ পিছত ব্যৱহাৰ"</string>
+ <string name="battery_summary" msgid="2491764359695671207">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> সম্পূৰ্ণৰূপে চ্চাৰ্জ হোৱাৰ পাছত ব্যৱহাৰ"</string>
<string name="battery_summary_24hr" msgid="7656033283282656551">"যোৱা ২৪ ঘণ্টাত <xliff:g id="PERCENTAGE">%1$s</xliff:g> ব্যৱহাৰ হৈছে"</string>
<string name="no_battery_summary" msgid="5769159953384122003">"অন্তিমবাৰ সম্পূৰ্ণৰূপে চাৰ্জ হোৱাৰ পাছত বেটাৰীৰ ব্যৱহাৰ হোৱা নাই"</string>
<string name="no_battery_summary_24hr" msgid="6280079526797873842">"যোৱা ২৪ ঘণ্টাত বেটাৰী অলপো ব্যৱহাৰ হোৱা নাই"</string>
@@ -4775,7 +4778,7 @@
<string name="disabled_by_policy_title_sms" msgid="8951840850778406831">"এছএমএছ বাৰ্তা পঠিয়াব নোৱাৰি"</string>
<string name="disabled_by_policy_title_camera" msgid="6616508876399613773">"কেমেৰা ব্যৱহাৰ কৰিব নোৱাৰি"</string>
<string name="disabled_by_policy_title_screen_capture" msgid="6085100101044105811">"স্ক্ৰীনশ্বট ল\'ব নোৱাৰি"</string>
- <string name="disabled_by_policy_title_suspend_packages" msgid="4223983156635729793">"এই এপটো খুলিব নোৱাৰি"</string>
+ <string name="disabled_by_policy_title_suspend_packages" msgid="4223983156635729793">"এই এপ্টো খুলিব নোৱাৰি"</string>
<string name="disabled_by_policy_title_financed_device" msgid="2328740314082888228">"আপোনাৰ ক্ৰেডিট প্ৰদানকাৰীয়ে অৱৰোধ কৰিছে"</string>
<string name="disabled_by_policy_title_biometric_parental_consent" msgid="2463673997797134678">"অভিভাৱক আৱশ্যক"</string>
<string name="disabled_by_policy_content_biometric_parental_consent" msgid="7124116806784305206">"এইটো ছেটআপ কৰাটো আৰম্ভ কৰিবলৈ আপোনাৰ অভিভাৱকক ফ’নটো দিয়ক"</string>
@@ -4970,7 +4973,7 @@
<string name="page_tab_title_support" msgid="3235725053332345773">"উপদেশ আৰু সহায়"</string>
<string name="developer_smallest_width" msgid="632354817870920911">"সকলোতকৈ সৰু পুতল"</string>
<string name="premium_sms_none" msgid="8737045049886416739">"ইনষ্টল কৰি ৰখা কোনো এপে প্ৰিমিয়াম এছএমএছৰ এক্সেছ অনুৰোধ কৰা নাই"</string>
- <string name="premium_sms_warning" msgid="2192300872411073324">"প্ৰিমিয়াম এছএমএছৰ কাৰণে আপুনি খৰচ বহন কৰিবলগীয়া হ \'ব পাৰে যাৰ বাবে বাহকে আপোনালৈ পঠিওৱা বিলত দেয়ৰ পৰিমাণ বাঢ়িব পাৰে। আপুনি যদি কোনো এপক অনুমতি দিয়ে, তেন্তে আপুনি সেই এপটো ব্যৱহাৰ কৰি প্ৰিমিয়াম এছএমএছ পঠাব পাৰিব।"</string>
+ <string name="premium_sms_warning" msgid="2192300872411073324">"প্ৰিমিয়াম এছএমএছৰ কাৰণে আপুনি খৰচ বহন কৰিবলগীয়া হ \'ব পাৰে যাৰ বাবে বাহকে আপোনালৈ পঠিওৱা বিলত দেয়ৰ পৰিমাণ বাঢ়িব পাৰে। আপুনি যদি কোনো এপক অনুমতি দিয়ে, তেন্তে আপুনি সেই এপ্টো ব্যৱহাৰ কৰি প্ৰিমিয়াম এছএমএছ পঠাব পাৰিব।"</string>
<string name="premium_sms_access" msgid="5605970342699013212">"প্ৰিমিয়াম এছএমএছৰ এক্সেছ"</string>
<string name="bluetooth_disabled" msgid="835838280837359514">"অফ"</string>
<string name="bluetooth_connected_summary" msgid="8043167194934315712">"<xliff:g id="ID_1">%1$s</xliff:g>ৰ সৈতে সংযোগ কৰক"</string>
@@ -5415,7 +5418,7 @@
<string name="load_networks_progress" msgid="4717874401621250401">"সন্ধান চলি আছে…"</string>
<string name="register_on_network" msgid="2169662800750709709">"<xliff:g id="NETWORK">%s</xliff:g>ত পঞ্জীয়ন কৰি থকা হৈছে…"</string>
<string name="not_allowed" msgid="5756935665192962915">"আপোনাৰ ছিম কাৰ্ডখনে এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিবলৈ অনুমতি নিদিয়ে।"</string>
- <string name="connect_later" msgid="2330538069949281352">"এই মুহূৰ্তত এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিব নোৱাৰি। পিছত আকৌ চেষ্টা কৰক।"</string>
+ <string name="connect_later" msgid="2330538069949281352">"এই মুহূৰ্তত এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিব নোৱাৰি। পাছত আকৌ চেষ্টা কৰক।"</string>
<string name="registration_done" msgid="1750434215698850123">"নেটৱৰ্কত পঞ্জীয়ন কৰা হ’ল।"</string>
<string name="select_automatically" msgid="2419752566747259155">"স্বয়ংক্ৰিয়ভাৱে নেটৱৰ্ক বাছনি কৰক"</string>
<string name="carrier_settings_title" msgid="6959295328730560529">"বাহকৰ ছেটিং"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index a6d30fb..c25649f 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Fərqli üslub, divar kağızı və s. sınayın"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekran qoruyucu"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ekran qoruyucu"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Şarj ərzində"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Zəng səsi"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Siqnal səsi"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Zəng və bildiriş səsləri"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Zəng səsi"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Bildiriş səsi"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Telefon zəng səsi"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Defolt bildiriş səsi"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index cff4690..e1ed834 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -1532,6 +1532,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Probajte drugačije stilove, pozadine i još toga"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Čuvar ekrana"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"čuvar ekrana"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Tokom punjenja"</string>
@@ -3840,6 +3842,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Jačina zvuka poziva"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Jačina zvuka alarma"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Jačina zvuka za zvono i obaveštenja"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Jačina zvuka zvona"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Jačina zvuka za obaveštenja"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Zvuk zvona telefona"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Podrazumevani zvuk obaveštenja"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index c7d87c7..af7c37f 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -1554,6 +1554,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Спрабуйце розныя стылі, шпалеры і іншае"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Экранная застаўка"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"застаўка"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Ужываць экранную застаўку"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Пакуль прылада зараджаецца ці падключана"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Падчас зарадкі"</string>
@@ -3885,6 +3887,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Гучнасць выкліку"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Гучнасць будзільніка"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Гучнасць званка і апавяшчэнняў"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Гучнасць званка"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Гучнасць апавяшчэнняў"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Рынгтон тэлефона"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Стандартны гук апавяшчэння"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 9f86347..5a96fc6 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -1518,6 +1518,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Изпробвайте различни стилове, тапети и др."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Скрийнсейвър"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"скрийнсейвър"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Използване на скрийнсейвър"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"При зареждане или връзка с докинг станция"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"При зареждане"</string>
@@ -3803,6 +3805,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Сила на звука за обаждания"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Сила на звука на будилника"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Сила на звука за звън. и известия"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Сила на звука при звънене"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Сила на звука при известие"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Мелодия на телефона"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Стандартен звук за известяване"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 2c339f6..11e42f9 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"বিভিন্ন স্টাইল, ওয়ালপেপার ও অনেক কিছু ব্যবহার করুন"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"স্ক্রিন সেভার"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"স্ক্রিন সেভার"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"স্ক্রিন সেভার ব্যবহার করা"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"চার্জ অথবা ডক করার সময়"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"চার্জ করার সময়"</string>
@@ -3797,6 +3799,8 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"কলের ভলিউম"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"অ্যালার্মের ভলিউম"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"রিং ও বিজ্ঞপ্তির ভলিউম"</string>
+ <!-- no translation found for separate_ring_volume_option_title (2212910223857375951) -->
+ <skip />
<string name="notification_volume_option_title" msgid="4838818791683615978">"বিজ্ঞপ্তির ভলিউম"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ফোন রিংটোন"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"ডিফল্ট বিজ্ঞপ্তির সাউন্ড"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 376c683..74f658b 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -1532,6 +1532,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Isprobajte različite stilove, pozadinske slike i još mnogo toga"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Čuvar ekrana"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"čuvar ekrana"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Tokom punjenja"</string>
@@ -3207,12 +3209,12 @@
</plurals>
<string name="emergency_tone_title" msgid="6673118505206685168">"Signal za hitne pozive"</string>
<string name="emergency_tone_summary" msgid="2519776254708767388">"Postavi ponašanje prilikom upućivanja poziva za hitne situacije"</string>
- <string name="privacy_settings_title" msgid="6437057228255974577">"Izrada sigurnosnih kopija"</string>
+ <string name="privacy_settings_title" msgid="6437057228255974577">"Izrada sigurnosne kopije"</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>
<string name="personal_data_section_title" msgid="6368610168625722682">"Lični podaci"</string>
- <string name="backup_data_title" msgid="507663517227498525">"Izrada sigurnosnih kopija podataka"</string>
+ <string name="backup_data_title" msgid="507663517227498525">"Izrada sigurnosne kopije podataka"</string>
<string name="backup_data_summary" msgid="8054551085241427531">"Pravite sigurnosne kopije podataka aplikacija, lozinki za WiFi te drugih postavki na Google serverima"</string>
<string name="backup_configure_account_title" msgid="8574055186903658842">"Račun za sigurnosne kopije"</string>
<string name="backup_data_management_title" msgid="6596830198441939702">"Upravljajte računom za sigurnosne kopije"</string>
@@ -3840,6 +3842,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Jačina zvuka poziva"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Jačina zvuka alarma"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Jačina zvuka zvona i obavještenja"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Jačina zvuka zvona"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Jačina zvuka za obavještenja"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Melodija zvona telefona"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Zadani zvuk obavještenja"</string>
@@ -4833,7 +4836,7 @@
<string name="memory_summary" msgid="8221954450951651735">"Iskorišteno prosječno <xliff:g id="USED_MEMORY">%1$s</xliff:g> od ukupno <xliff:g id="TOTAL_MEMORY">%2$s</xliff:g>"</string>
<string name="users_summary" msgid="8473589474976307510">"Prijavljeni ste kao <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
<string name="payment_summary" msgid="5513009140568552693">"<xliff:g id="APP_NAME">%1$s</xliff:g> je zadana aplikacija"</string>
- <string name="backup_disabled" msgid="4503062265560959320">"Izrada sigurnosnih kopija je onemogućena"</string>
+ <string name="backup_disabled" msgid="4503062265560959320">"Izrada sigurnosne kopije je onemogućena"</string>
<string name="android_version_summary" msgid="7818952662015042768">"Ažurirano na Android <xliff:g id="VERSION">%1$s</xliff:g>"</string>
<string name="android_version_pending_update_summary" msgid="5404532347171027730">"Dostupno je ažuriranje"</string>
<string name="disabled_by_policy_title" msgid="3635622338687810583">"Blokirao je vaš IT administrator"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 0aa8a92..0110851 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Prova diferents estils, fons de pantalla i més"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Estalvi de pantalla"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"estalvi de pantalla"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Mentre es carrega"</string>
@@ -2823,7 +2825,7 @@
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Major consum de bateria"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Mostra les aplicacions que més bateria utilitzen"</string>
<string name="battery_tip_limited_temporarily_title" msgid="5962767837251276527">"La càrrega s\'ha posat en pausa"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="5254922316684499816">"S\'està protegint la bateria per allargar-ne la durada"</string>
+ <string name="battery_tip_limited_temporarily_summary" msgid="5254922316684499816">"S\'està protegint la bateria per allargar-ne la vida útil"</string>
<!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
<skip />
<string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Més informació sobre la càrrega en pausa"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volum de trucada"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volum d\'alarma"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volum de sons i notificacions"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volum del to"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volum de notificació"</string>
<string name="ringtone_title" msgid="3271453110387368088">"So de trucada del telèfon"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"So de notificació predeterminat"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 0e6ae11..6d15cc5 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1552,6 +1552,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Vyzkoušejte různé styly, tapety apod."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Spořič obrazovky"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"spořič obrazovky"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Při nabíjení"</string>
@@ -3883,6 +3885,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Hlasitost hovoru"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Hlasitost budíků"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Hlasitost vyzvánění a oznámení"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Hlasitost vyzvánění"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Hlasitost oznámení"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Vyzvánění telefonu"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Výchozí zvuk oznámení"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 21a9a61..06c7b2b 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Prøv forskellige layout, baggrunde og meget mere"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Pauseskærm"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"pauseskærm"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Under opladning"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Lydstyrke for opkald"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Lydstyrke for alarmer"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Lydstyrke for ringetone og notifikationer"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Lydstyrke for ringetone"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Lydstyrke for notifikationer"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Ringetone ved opkald"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Standardlyd for notifikationer"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 9cfa033..0aae609 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -1519,6 +1519,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Verschiedene Designs und Hintergründe ausprobieren"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Bildschirmschoner"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"Bildschirmschoner"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Beim Aufladen"</string>
@@ -3770,7 +3772,7 @@
<string name="keywords_system_update_settings" msgid="5769003488814164931">"upgrade, android"</string>
<string name="keywords_zen_mode_settings" msgid="7810203406522669584">"dnd, zeitplan, benachrichtigungen, blockieren, lautlos, vibrieren, schlaf, arbeit, fokus, ton, stumm, tag, wochentag, wochenende, wochenende, ereignis, bns"</string>
<string name="keywords_screen_timeout" msgid="8921857020437540572">"display, sperrzeit, timeout, lockscreen, bildschirm, zeitlimit, automatisch ausschalten"</string>
- <string name="keywords_storage_settings" msgid="6018856193950281898">"Speicher, Cache, Daten, löschen, entfernen, frei machen, Platz"</string>
+ <string name="keywords_storage_settings" msgid="6018856193950281898">"Speicher, Cache, Daten, löschen, entfernen, freigeben, Platz"</string>
<string name="keywords_bluetooth_settings" msgid="2588159530959868188">"verbunden, gerät, kopfhörer, headset, lautsprecher, drahtlos, koppeln, ohrhörer, musik, medien"</string>
<string name="keywords_wallpaper" msgid="7332890404629446192">"Hintergrund, Design, Raster, anpassen, personalisieren"</string>
<string name="keywords_styles" msgid="5291614313348476068">"Symbol, Akzentfarbe"</string>
@@ -3804,6 +3806,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Anruflautstärke"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Weckerlautstärke"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Lautstärke Klingeln/Benachrichtigungen"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Klingeltonlautstärke"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Benachrichtigungslautstärke"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Klingelton"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Standard-Benachrichtigungston"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index dc2bd4c..b7d5235 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Δοκιμάστε διαφορετικά στιλ, ταπετσαρίες και άλλα"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Προφύλαξη οθόνης"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"προφύλαξη οθόνης"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Χρήση προφύλαξης οθόνης"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Στη φόρτιση ή στη βάση"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Στη φόρτιση"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Ένταση ήχου κλήσεων"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Ένταση ήχου ξυπνητηριού"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Ένταση κουδουν. και ειδοποιήσ."</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Ένταση κουδουνίσματος"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Ένταση ήχου ειδοποίησης"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Ήχος κλήσης τηλεφώνου"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Προεπιλεγμ. ήχος ειδοποίησης"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index f61a382..2bd4b57 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Try different styles, wallpapers and more"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"screensaver"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"While charging"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Call volume"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm volume"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Ring and notification volume"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Ring volume"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Notification volume"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Phone ringtone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Default notification sound"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index e924676..8166a1a 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Try different styles, wallpapers and more"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"screensaver"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"While charging"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Call volume"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm volume"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Ring and notification volume"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Ring volume"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Notification volume"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Phone ringtone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Default notification sound"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 4406c8d..32a30f8 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Try different styles, wallpapers and more"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"screensaver"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"While charging"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Call volume"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm volume"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Ring and notification volume"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Ring volume"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Notification volume"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Phone ringtone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Default notification sound"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 8b8e22c..ce500ba 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Try different styles, wallpapers and more"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"screensaver"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"While charging"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Call volume"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm volume"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Ring and notification volume"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Ring volume"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Notification volume"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Phone ringtone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Default notification sound"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index c2a05de..d6743d1 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -1512,6 +1512,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Try different styles, wallpapers, and more"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"screensaver"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"Unavailable because bedtime mode is on"</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_sleep" msgid="6555922932643037432">"While charging"</string>
@@ -3797,6 +3798,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Call volume"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm volume"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Ring & notification volume"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Ring volume"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Notification volume"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Phone ringtone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Default notification sound"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 1680238..15879fb 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -1514,6 +1514,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Prueba diferentes estilos, fondos de pantalla y mucho más"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Protector de pantalla"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"protector de pantalla"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Mientras se carga"</string>
@@ -1924,7 +1926,7 @@
<string name="sms_change_default_dialog_title" msgid="2343439998715457307">"¿Quieres cambiar la aplicación de SMS?"</string>
<string name="sms_change_default_dialog_text" msgid="8777606240342982531">"¿Quieres usar <xliff:g id="NEW_APP">%1$s</xliff:g> en lugar de <xliff:g id="CURRENT_APP">%2$s</xliff:g> como la aplicación de SMS?"</string>
<string name="sms_change_default_no_previous_dialog_text" msgid="6215622785087181275">"¿Quieres usar <xliff:g id="NEW_APP">%s</xliff:g> como la aplicación de SMS?"</string>
- <string name="network_scorer_picker_title" msgid="2022922801936206195">"Proveedor de calificación de red"</string>
+ <string name="network_scorer_picker_title" msgid="2022922801936206195">"Proveedor de calificación de redes"</string>
<string name="network_scorer_picker_none_preference" msgid="8894034333043177807">"Ninguno"</string>
<string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"¿Cambiar de asistente de Wi-Fi?"</string>
<string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"¿Deseas usar <xliff:g id="NEW_APP">%1$s</xliff:g> en lugar de <xliff:g id="CURRENT_APP">%2$s</xliff:g> para administrar tus conexiones de red?"</string>
@@ -3799,6 +3801,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volumen de llamada"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volumen de alarma"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volumen de tono y notificaciones"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volumen de tono"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volumen de notificación"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Tono de llamada"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Sonido de notificación predeterminado"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index bb2c6fa..8e48813 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Prueba diferentes estilos, fondos de pantalla y mucho más"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Salvapantallas"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"salvapantallas"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Durante la carga"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volumen de llamadas"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volumen de alarmas"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volumen de tonos y notificaciones"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volumen del tono"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volumen de notificaciones"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Tono de llamada del teléfono"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Sonido de notificación predeterminado"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 368bfe8..a21bca0 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -1518,6 +1518,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Proovige eri stiile, taustapilte ja muud"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekraanisäästja"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ekraanisäästja"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Kasuta ekraanisäästjat"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Laadimise ajal või dokis"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Laadimise ajal"</string>
@@ -3803,6 +3805,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Kõne helitugevus"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Äratuse helitugevus"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Helina ja märguannete helitugevus"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Helina helitugevus"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Märguande helitugevus"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Telefoni helin"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Märguande vaikeheli"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index b95c419..796b0d4 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -1096,7 +1096,7 @@
<string name="passpoint_content" msgid="5219226173518418335">"<xliff:g id="NAME">%1$s</xliff:g> kredentzialak"</string>
<string name="wifi_eap_method" msgid="3776009521349381742">"EAP metodoa"</string>
<string name="please_select_phase2" msgid="577633852089847142">"2. faseko autentifikazioa"</string>
- <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA ziurtagiria"</string>
+ <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Autoritate ziurtagiri-emaile batek jaulkitako ziurtagiria"</string>
<string name="wifi_eap_ocsp" msgid="8713933962516871238">"Interneteko ziurtagirien egoera"</string>
<string name="wifi_eap_domain" msgid="8304301470752333203">"Domeinua"</string>
<string name="wifi_eap_user_cert" msgid="3569182430929173220">"Erabiltzaile-ziurtagiria"</string>
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Probatu askotariko estiloak, horma-paperak, etab."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Pantaila-babeslea"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"pantailarako babeslea"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Kargatzen ari denean"</string>
@@ -1966,7 +1968,7 @@
<string name="location_time_zone_detection_not_supported" msgid="3251181656388306501">"Ez da onartzen kokapeneko ordu-zona hautemateko aukera erabiltzea"</string>
<string name="location_time_zone_detection_not_allowed" msgid="8264525161514617051">"Ez da onartzen aldaketarik egitea kokapeneko ordu-zona hautemateko aukeretan"</string>
<string name="location_network_based" msgid="5247042890080021887">"Wi‑Fi eta sare mugikor bidezko kokapena"</string>
- <string name="location_neighborhood_level" msgid="3668890550358558267">"Utzi aplikazioei zure kokapena bizkorrago zehazteko Google-ren kokapen-zerbitzua erabiltzen. Kokapen-datu anonimoak bildu eta Google-ra bidaliko dira."</string>
+ <string name="location_neighborhood_level" msgid="3668890550358558267">"Kokapena bizkorrago estimatzeko, utzi aplikazioei Google-ren kokapen-zerbitzua erabiltzen. Kokapen-datu anonimoak bildu eta Google-ra bidaliko dira."</string>
<string name="location_neighborhood_level_wifi" msgid="6227393490651891977">"Kokapena Wi-Fi bidez zehaztuta"</string>
<string name="location_gps" msgid="8783616672454701134">"GPS sateliteak"</string>
<string name="location_street_level" product="tablet" msgid="865953107414742784">"Utzi aplikazioei tabletan GPSa erabiltzen zure kokapena zehatz-mehatz zehazteko."</string>
@@ -2823,7 +2825,7 @@
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Bateria-erabilera handiena"</string>
<string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ikusi bateria gehien erabiltzen duten aplikazioak"</string>
<string name="battery_tip_limited_temporarily_title" msgid="5962767837251276527">"Kargatze-prozesua etenda dago"</string>
- <string name="battery_tip_limited_temporarily_summary" msgid="5254922316684499816">"Bateria babestu da gehiago iraun dezan"</string>
+ <string name="battery_tip_limited_temporarily_summary" msgid="5254922316684499816">"Bateria babestu da haren balio-bizitza luzatzeko"</string>
<!-- no translation found for battery_tip_limited_temporarily_extra_summary (8876637325622106400) -->
<skip />
<string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Lortu kargatzea pausatzeari buruzko informazio gehiago"</string>
@@ -3005,7 +3007,7 @@
<string name="battery_not_usage_24hr" msgid="8397519536160741248">"Erabilerarik ez azken 24 orduetan"</string>
<string name="battery_usage_without_time" msgid="1346894834339420538"></string>
<string name="battery_usage_other_users" msgid="9002643295562500693">"Beste erabiltzaileak"</string>
- <string name="advanced_battery_graph_subtext" msgid="6816737986172678550">"Gailuaren erabileran oinarritzen da gelditzen den bateriaren aurreikuspena"</string>
+ <string name="advanced_battery_graph_subtext" msgid="6816737986172678550">"Gailuaren erabileran oinarritzen da gelditzen den bateriaren estimazioa"</string>
<string name="estimated_time_left" msgid="948717045180211777">"Geratzen den denbora, gutxi gorabehera"</string>
<string name="estimated_charging_time_left" msgid="2287135413363961246">"guztiz kargatu arte"</string>
<string name="estimated_time_description" msgid="211058785418596009">"Estimazioak gorabeherak izan ditzake erabileraren arabera"</string>
@@ -3142,11 +3144,11 @@
<string name="credentials_erased" msgid="9121052044566053345">"Kredentz. biltegia ezabatu da."</string>
<string name="credentials_not_erased" msgid="3611058412683184031">"Ezin izan da kredentzialen biltegia ezabatu."</string>
<string name="usage_access_title" msgid="1580006124578134850">"Erabilera-baimena dutenak"</string>
- <string name="ca_certificate" msgid="3076484307693855611">"CA ziurtagiria"</string>
+ <string name="ca_certificate" msgid="3076484307693855611">"Autoritate ziurtagiri-emaile baten ziurtagiria"</string>
<string name="user_certificate" msgid="6897024598058566466">"VPN eta aplikazioetarako erabiltzaile-ziurtagiria"</string>
<string name="wifi_certificate" msgid="8461905432409380387">"Wifi-ziurtagiria"</string>
<string name="ca_certificate_warning_title" msgid="7951148441028692619">"Datuak ez dira pribatuak izango"</string>
- <string name="ca_certificate_warning_description" msgid="8409850109551028774">"Webguneek, aplikazioek eta VPNek erabiltzen dituzte CA ziurtagiriak enkriptatze-helburuetarako. Instalatu erakunde fidagarrien CA ziurtagiriak soilik. \n\n CA ziurtagiri bat instalatzen baduzu, ziurtagiriaren jabea zure datuak atzi litzake; besteak beste, bisitatzen dituzun webgune eta erabiltzen dituzun aplikazioetako pasahitzak edo kreditu-txartelen xehetasunak, baita datuak enkriptatuta badaude ere."</string>
+ <string name="ca_certificate_warning_description" msgid="8409850109551028774">"Webguneek, aplikazioek eta VPNek enkriptatze-helburuetarako erabiltzen dituzte autoritate ziurtagiri-emaileek jaulkitako ziurtagiriak. Instalatu erakunde fidagarriei dagozkien autoritate ziurtagiri-emaileek jaulkitako ziurtagiriak soilik. \n\n Autoritate ziurtagiri-emaile batek jaulkitako ziurtagiri bat instalatzen baduzu, baliteke ziurtagiriaren jabea zure datuak atzitzeko gai izatea; besteak beste, baliteke pasahitzak edo kreditu-txartelen xehetasunak atzitzea bisitatzen dituzun webguneen eta erabiltzen dituzun aplikazioen bidez, baita datuak enkriptatuta badaude ere."</string>
<string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ez instalatu"</string>
<string name="certificate_warning_install_anyway" msgid="4633118283407228740">"Instalatu halere"</string>
<string name="cert_not_installed" msgid="6725137773549974522">"Ziurtagiria ez dago instalatuta"</string>
@@ -3366,7 +3368,7 @@
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikatzailea"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec aurrez partekatutako gakoa"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec erabiltzaile-ziurtagiria"</string>
- <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA ziurtagiria"</string>
+ <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Autoritate ziurtagiri-emaile batek jaulkitako IPSec ziurtagiria"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec zerbitzari-ziurtagiria"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Erakutsi aukera aurreratuak"</string>
<string name="vpn_search_domains" msgid="1973799969613962440">"DNS bilaketa-domeinuak"</string>
@@ -3430,13 +3432,13 @@
<string name="trusted_credentials_enable_label" msgid="5551204878588237991">"Gaitu"</string>
<string name="trusted_credentials_remove_label" msgid="8296330919329489422">"Desinstalatu"</string>
<string name="trusted_credentials_trust_label" msgid="4841047312274452474">"Fidagarria da"</string>
- <string name="trusted_credentials_enable_confirmation" msgid="6686528499458144754">"Sistemaren CA ziurtagiria gaitu?"</string>
- <string name="trusted_credentials_disable_confirmation" msgid="5131642563381656676">"Sistemaren CA ziurtagiria desgaitu?"</string>
- <string name="trusted_credentials_remove_confirmation" msgid="3420345440353248381">"Erabiltzailearen CA ziurtagiria betiko kendu?"</string>
+ <string name="trusted_credentials_enable_confirmation" msgid="6686528499458144754">"Autoritate ziurtagiri-emaile batek jaulkitako sistema-ziurtagiria gaitu?"</string>
+ <string name="trusted_credentials_disable_confirmation" msgid="5131642563381656676">"Autoritate ziurtagiri-emaile batek jaulkitako sistema-ziurtagiria desgaitu?"</string>
+ <string name="trusted_credentials_remove_confirmation" msgid="3420345440353248381">"Autoritate ziurtagiri-emaile batek jaulkitako erabiltzaile-ziurtagiria betiko kendu?"</string>
<string name="credential_contains" msgid="407972262032275476">"Sarreraren edukia:"</string>
<string name="one_userkey" msgid="4417212932385103517">"erabiltzaile-gako bat"</string>
<string name="one_usercrt" msgid="1865069301105101370">"erabiltzaile-ziurtagiri bat"</string>
- <string name="one_cacrt" msgid="7467796501404158399">"CA ziurtagiri bat"</string>
+ <string name="one_cacrt" msgid="7467796501404158399">"autoritate ziurtagiri-emaile batek jaulkitako ziurtagiri bat"</string>
<string name="n_cacrts" msgid="5886462550192731627">"%d CA ziurtagiri"</string>
<string name="user_credential_title" msgid="4686178602575567298">"Kredentzialen xehetasunak"</string>
<string name="user_credential_removed" msgid="4087675887725394743">"Kendu da kredentziala: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Deien bolumena"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarmaren bolumena"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Tonu eta jakinarazpenen bolumena"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Tonuaren bolumena"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Jakinarazpenen bolumena"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Telefonoaren tonua"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Jakinarazpenen soinu lehenetsia"</string>
@@ -5159,8 +5162,8 @@
<string name="enterprise_privacy_ca_certs_personal" msgid="1516422660828485795">"Profil pertsonaleko kredentzial fidagarriak"</string>
<string name="enterprise_privacy_ca_certs_work" msgid="4318941788592655561">"Laneko profileko kredentzial fidagarriak"</string>
<plurals name="enterprise_privacy_number_ca_certs" formatted="false" msgid="6459725295322004179">
- <item quantity="other">Gutxienez <xliff:g id="COUNT_1">%d</xliff:g> CA ziurtagiri</item>
- <item quantity="one">Gutxienez <xliff:g id="COUNT_0">%d</xliff:g> CA ziurtagiri</item>
+ <item quantity="other">Autoritate ziurtagiri-emaile batek jaulkitako <xliff:g id="COUNT_1">%d</xliff:g> ziurtagiri gutxienez</item>
+ <item quantity="one">Autoritate ziurtagiri-emaile batek jaulkitako <xliff:g id="COUNT_0">%d</xliff:g> ziurtagiri gutxienez</item>
</plurals>
<string name="enterprise_privacy_lock_device" msgid="464054894363899866">"Administratzaileak gailua blokea eta pasahitza berrezar dezake"</string>
<string name="enterprise_privacy_wipe_device" msgid="869589182352244591">"Administratzaileak gailuko datu guztiak ezaba ditzake"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 138c118..ac7a243 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"انواع سبکها، کاغذدیواریها، و موارد دیگر را امتحان کنید"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"محافظ صفحه"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"محافظ صفحهنمایش"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"استفاده از محافظ صفحه"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"هنگام شارژ یا اتصال به پایه"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"هنگام شارژ شدن"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"میزان صدای تماس"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"میزان صدای زنگ ساعت"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"میزان صدای زنگ و اعلان"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"میزان صدای زنگ"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"میزان صدای اعلان"</string>
<string name="ringtone_title" msgid="3271453110387368088">"آهنگ زنگ تلفن"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"صدای اعلان پیشفرض"</string>
@@ -5053,7 +5056,7 @@
<string name="button_navigation_settings_activity_title" msgid="7335636045504461813">"پیمایش دکمهای"</string>
<string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"پیمایش اشارهای، حساسیت برگشت، اشاره برگشت"</string>
<string name="keywords_button_navigation_settings" msgid="7888812253110553920">"پیمایش، دکمه صفحه اصلی"</string>
- <string name="ambient_display_title" product="default" msgid="5885136049497127396">"دو ضربه برای چک کردن تلفن"</string>
+ <string name="ambient_display_title" product="default" msgid="5885136049497127396">"بررسی تلفن با دو ضربه"</string>
<string name="ambient_display_title" product="tablet" msgid="205744440641466921">"برای بررسی رایانه لوحی، دو ضربه سریع بزنید"</string>
<string name="ambient_display_title" product="device" msgid="4164103424628824786">"برای بررسی دستگاه، دو ضربه سریع بزنید"</string>
<string name="one_handed_title" msgid="2584414010282746195">"حالت یکدستی"</string>
@@ -5076,7 +5079,7 @@
<string name="ambient_display_pickup_summary" product="default" msgid="1087355013674109242">"برای بررسی زمان، اعلانها و اطلاعات دیگر، تلفنتان را بردارید."</string>
<string name="ambient_display_pickup_summary" product="tablet" msgid="2589556997034530529">"برای بررسی زمان، اعلانها و اطلاعات دیگر، رایانه لوحیتان را انتخاب کنید"</string>
<string name="ambient_display_pickup_summary" product="device" msgid="1916011370011115627">"برای بررسی زمان، اعلانها و اطلاعات دیگر، دستگاهتان را انتخاب کنید"</string>
- <string name="ambient_display_tap_screen_title" product="default" msgid="2811332293938467179">"ضربه برای چک کردن تلفن"</string>
+ <string name="ambient_display_tap_screen_title" product="default" msgid="2811332293938467179">"بررسی تلفن با ضربه زدن"</string>
<string name="ambient_display_tap_screen_title" product="tablet" msgid="6461531447715370632">"ضربه زدن برای بررسی رایانه لوحی"</string>
<string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ضربه زدن برای بررسی دستگاه"</string>
<string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"برای بررسی زمان، اعلانها و اطلاعات دیگر، روی صفحهنمایش ضربه بزنید."</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 806d384..d657b5e 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Kokeile eri tyylejä, taustakuvia ja muuta"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Näytönsäästäjä"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"näytönsäästäjä"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Latauksen aikana"</string>
@@ -1988,7 +1990,7 @@
<string name="contributors_title" msgid="7965640251547037965">"Avustajat"</string>
<string name="manual" msgid="3651593989906084868">"Käyttöopas"</string>
<string name="regulatory_labels" msgid="5960251403367154270">"Viranomaismerkinnät"</string>
- <string name="safety_and_regulatory_info" msgid="8285048080439298528">"Turvallisuus- ja lakiopas"</string>
+ <string name="safety_and_regulatory_info" msgid="8285048080439298528">"Turvallisuus- ja säädöstenmukaisuusopas"</string>
<string name="copyright_title" msgid="83245306827757857">"Tekijänoikeudet"</string>
<string name="license_title" msgid="8745742085916617540">"Käyttölupa"</string>
<string name="module_license_title" msgid="8705484239826702828">"Google Play ‑järjestelmäpäivitysten lisenssit"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Puhelun äänenvoimakkuus"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Hälytyksen voimakkuus"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Soittoäänen/ilmoitusten voimakkuus"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Soittoäänen voimakkuus"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Ilmoituksen äänenvoimakkuus"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Puhelimen soittoääni"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Ilmoituksen oletusääni"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index e1d97de..0dcf1ca 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Essayez différents styles, fonds d\'écran, etc."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Écran de veille"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"écran de veille"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Pendant la charge"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volume des appels"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume de l\'alarme"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volume sonnerie et notifications"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volume de la sonnerie"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volume des notifications"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Sonnerie du téléphone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Son de notification par défaut"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index b7a2435..ae3ff47 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1514,6 +1514,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Essayez différents styles, fonds d\'écran, etc."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Économiseur d\'écran"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"économiseur d\'écran"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Lorsque l\'appareil est en charge"</string>
@@ -3414,7 +3416,7 @@
<string name="vpn_no_vpns_added" msgid="7387080769821533728">"Aucun VPN ajouté"</string>
<string name="vpn_always_on_summary" msgid="2171252372476858166">"Connexion permanente au VPN"</string>
<string name="vpn_always_on_summary_not_supported" msgid="9084872130449368437">"Non compatible avec cette application"</string>
- <string name="vpn_always_on_summary_active" msgid="175877594406330387">"Toujours activée"</string>
+ <string name="vpn_always_on_summary_active" msgid="175877594406330387">"Toujours activé"</string>
<string name="vpn_insecure_summary" msgid="4450920215186742859">"Non sécurisée"</string>
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloquer les connexions sans VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Exiger une connexion VPN ?"</string>
@@ -3799,6 +3801,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volume des appels"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume des alarmes"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volume des sonneries/notifications"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volume de la sonnerie"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volume des notifications"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Sonnerie du téléphone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Son par défaut des notifications"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index fe68d5d..3740d25 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Proba diferentes estilos, fondos de pantalla e moito máis"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Protector de pantalla"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"protector de pantalla"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Ao estar cargando"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volume das chamadas"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume da alarma"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volume das notificacións e o son"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volume do timbre"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volume das notificacións"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Ton de chamada do teléfono"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Son de notificación predeterminado"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 523ac82..670acb7 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"અલગ-અલગ શૈલીઓ, વૉલપેપર અને બીજું ઘણું અજમાવી જુઓ"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"સ્ક્રીન સેવર"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"સ્ક્રીનસેવર"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"સ્ક્રીન સેવરનો ઉપયોગ કરો"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ચાર્જ થતું હોય અથવા ડૉક કરેલ હોય ત્યારે"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ચાર્જિંગ થતી વખતે"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"કૉલ વૉલ્યૂમ"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"અલાર્મ વૉલ્યૂમ"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"રિંગ અને નોટિફિકેશનનું વૉલ્યૂમ"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"રિંગનું વૉલ્યૂમ"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"નોટિફિકેશન વૉલ્યૂમ"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ફોન રિંગટોન"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"ડિફૉલ્ટ નોટિફિકેશન સાઉન્ડ"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index d99a7a8..a0d6354 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"अलग-अलग स्टाइल, वॉलपेपर, और बहुत कुछ आज़माएं"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"स्क्रीन सेवर"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"स्क्रीन सेवर"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"स्क्रीन सेवर का इस्तेमाल करें"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"चार्ज करते समय या डॉक किए होने पर"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"चार्ज करते समय"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"कॉल वॉल्यूम"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"अलार्म वॉल्यूम"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"घंटी और सूचना का वॉल्यूम"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"रिंग वॉल्यूम"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"सूचना की आवाज़"</string>
<string name="ringtone_title" msgid="3271453110387368088">"फ़ोन रिंगटोन"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"सूचना की डिफ़ॉल्ट आवाज़"</string>
@@ -5644,7 +5647,7 @@
<string name="power_menu_summary_long_press_for_assistant" msgid="32706459458422952">"डिजिटल असिस्टेंट को ऐक्सेस करें"</string>
<string name="power_menu_summary_long_press_for_power_menu" msgid="7617247135239683710">"पावर मेन्यू को ऐक्सेस करें"</string>
<string name="lockscreen_privacy_not_secure" msgid="3251276389681975912">"इस्तेमाल करने के लिए, सबसे पहले स्क्रीन लॉक सेट करें"</string>
- <string name="power_menu_power_volume_up_hint" msgid="5619917593676125759">"पावर मेन्यू खोलना:\nपावर बटन और आवाज़ तेज़ करने वाले बटन को एक साथ दबाएं"</string>
+ <string name="power_menu_power_volume_up_hint" msgid="5619917593676125759">"पावर मेन्यू:\nपावर बटन और आवाज़ तेज़ करने वाले बटन को एक साथ दबाएं"</string>
<string name="power_menu_power_prevent_ringing_hint" msgid="1169955014711158873">"घंटी बजने से रोकना:\nशॉर्टकट के लिए, आवाज़ कम या ज़्यादा करने वाला बटन दबाएं"</string>
<string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"बटन को दबाए रखने की अवधि"</string>
<string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"यह चुनें कि असिस्टेंट की सुविधा चालू करने के लिए, बटन को कितनी देर तक दबाए रखना है"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index cdbf140..cfc1d01 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -1534,6 +1534,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Isprobajte različite stilove, pozadine i drugo"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Čuvar zaslona"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"čuvar zaslona"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Koristi čuvar 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_sleep" msgid="6555922932643037432">"Tijekom punjenja"</string>
@@ -3842,6 +3844,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Glasnoća poziva"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Glasnoća alarma"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Glasnoća zvona i obavijesti"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Glasnoća zvona"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Glasnoća obavijesti"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Melodija zvona telefona"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Zadani zvuk obavijesti"</string>
@@ -5662,7 +5665,7 @@
<string name="contextual_card_removed_message" msgid="5755438207494260867">"Prijedlog je uklonjen"</string>
<string name="contextual_card_undo_dismissal_text" msgid="5200381837316691406">"Poništi"</string>
<string name="low_storage_summary" msgid="1979492757417779718">"Preostalo je malo slobodne pohrane. Iskorišteno je <xliff:g id="PERCENTAGE">%1$s</xliff:g>, a slobodno <xliff:g id="FREE_SPACE">%2$s</xliff:g>."</string>
- <string name="contextual_card_feedback_send" msgid="7409408664417908922">"Pošalji povratne informacije"</string>
+ <string name="contextual_card_feedback_send" msgid="7409408664417908922">"Pošaljite povratne informacije"</string>
<string name="contextual_card_feedback_confirm_message" msgid="3186334562157665381">"Želite li nam poslati povratne informacije o tom prijedlogu?"</string>
<string name="copyable_slice_toast" msgid="1008251852798990606">"Kopirano u međuspremnik: <xliff:g id="COPY_CONTENT">%1$s</xliff:g>."</string>
<string name="search_bar_account_avatar_content_description" msgid="880523277036898350"></string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 2a6fedd..b205902 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Próbáljon ki más stílusokat, háttérképeket és egyebeket"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Képernyővédő"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"képernyővédő"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Töltés közben"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Hívás hangereje"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Ébresztés hangereje"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Csörgetési, értesítési hangerő"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Csengés hangereje"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Értesítés hangereje"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Telefon csengőhangja"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Alapértelmezett értesítőhang"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 68ced06e..e8fb965 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Փորձեք տարբեր ոճեր, պաստառներ և ավելին"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Էկրանապահ"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"էկրանապահ"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Օգտագործել էկրանապահ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Լիցքավորման ընթացքում կամ դոկ-կայանում"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Լիցքավորման ընթացքում"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Զրույց"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Զարթուցիչ"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Զանգեր և ծանուցումներ"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Զանգի ուժգնություն"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Ծանուցման ձայնի բարձրություն"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Հեռախոսի զանգերանգ"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Ծանուցման կանխադրված ձայնը"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 43942da..42a2577 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Coba wallpaper dan gaya yang berbeda, serta banyak lagi"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screensaver"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"screensaver"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Saat mengisi baterai"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volume panggilan"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume alarm"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volume dering & notifikasi"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volume dering"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volume notifikasi"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Nada dering ponsel"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Suara notifikasi default"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 433cca0..59c2e63 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Prófaðu mismunandi stíla, veggfóður og fleira"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Skjávari"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"skjávari"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Við hleðslu"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Hljóðstyrkur símtala"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Hljóðstyrkur vekjara"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Hljóðst. símtala og tilkynn."</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Hljóðstyrkur hringingar"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Hljóðstyrkur tilkynninga"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Hringitónn síma"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Sjálfgefið hljóð tilkynninga"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index fe10d27..dac1cd9 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Prova diversi stili, sfondi e non solo"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Salvaschermo"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"salvaschermo"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Durante la ricarica"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volume chiamate"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume sveglia"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volume suoneria e notifiche"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volume suoneria"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volume notifiche"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Suoneria telefono"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Suono di notifica predefinito"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 62861bf..b95d97c 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -1556,6 +1556,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"מגוון סגנונות, טפטים שונים ואפשרויות נוספות לבחירתך"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"שומר מסך"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"שומר מסך"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"אין זמינות כאשר מצב השינה מופעל"</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_sleep" msgid="6555922932643037432">"במהלך טעינה"</string>
@@ -3887,6 +3888,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"עוצמת קול של שיחות"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"עוצמת קול של שעון מעורר"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"עוצמת קול של צלצול והתראות"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"עוצמת הצלצול"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"עוצמת קול של התראות"</string>
<string name="ringtone_title" msgid="3271453110387368088">"הרינגטון של הטלפון"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"צליל ברירת המחדל להתראות"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index c0c295c..e204cc3 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -1512,6 +1512,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"別のスタイル、壁紙などを試す"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"スクリーン セーバー"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"スクリーンセーバー"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"おやすみ時間モードが ON のため利用できません"</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_sleep" msgid="6555922932643037432">"充電時"</string>
@@ -3797,6 +3798,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"通話の音量"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"アラームの音量"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"着信音と通知の音量"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"着信音の音量"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"通知の音量"</string>
<string name="ringtone_title" msgid="3271453110387368088">"着信音"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"デフォルトの通知音"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 4866321..57d9d0b 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"ცადეთ სხვადასხვა სტილი, ფონი და ა.შ."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"ეკრანმზოგი"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ეკრანმზოგი"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"გამოიყენეთ ეკრანმზოგი"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"დატენვისას ან სანამ ჩამაგრებულია"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"დატენვისას"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"ზარის ხმა"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"მაღვიძარას ხმა"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"ზარების/შეტყობინებების ხმა"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"ზარის ხმა"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"შეტყობინების ხმა"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ტელეფონის ზარი"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"შეტყობინებების ნაგულისხმევი ხმა"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index fd53838..21b51e5 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Түрлі стильдерді, тұсқағаздарды, т.б. пайдаланып көріңіз."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Скринсейвер"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"скринсейвер"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Скринсейверді пайдалану"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Зарядтау кезінде немесе қондыру станциясында"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Зарядтау кезінде"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Сөйлесу кезіндегі дыбыс деңгейі"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Оятқыштың дыбыс деңгейі"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Қоңырау мен хабарландыру дыбысы"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Қоңыраудың дыбыс деңгейі"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Хабарландырудың дыбыс деңгейі"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Телефон рингтоны"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Әдепкі хабарландыру дыбысы"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 9012c08..38b6e80 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"សាកប្រើរចនាប័ទ្ម ផ្ទាំងរូបភាពផ្សេងៗគ្នា និងអ្វីៗជាច្រើនទៀត"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"ធាតុរក្សាអេក្រង់"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ធាតុរក្សាអេក្រង់"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ប្រើធាតុរក្សាអេក្រង់"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ពេលសាកថ្ម ឬភ្ជាប់"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ពេលសាកថ្ម"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"កម្រិតសំឡេងហៅទូរសព្ទ"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"កម្រិតសំឡេងម៉ោងរោទ៍"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"កម្រិតសំឡេងរោទ៍ និងការជូនដំណឹង"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"កម្រិតសំឡេងរោទ៍"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"កម្រិតសំឡេងការជូនដំណឹង"</string>
<string name="ringtone_title" msgid="3271453110387368088">"សំឡេងរោទ៍ទូរសព្ទ"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"សំឡេងជូនដំណឹងលំនាំដើម"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 74d244e..cc1f013 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"ವಿವಿಧ ಶೈಲಿಗಳು, ವಾಲ್ಪೇಪರ್ಗಳು, ಇತ್ಯಾದಿಗಳನ್ನು ಬಳಸಿ ನೋಡಿ"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"ಸ್ಕ್ರೀನ್ ಸೇವರ್"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ಸ್ಕ್ರೀನ್ಸೇವರ್"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ಸ್ಕ್ರೀನ್ ಸೇವರ್ ಅನ್ನು ಬಳಸಿ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ಚಾರ್ಜ್ ಮಾಡುವಾಗ ಅಥವಾ ಡಾಕ್ ಮಾಡುವಾಗ"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ಚಾರ್ಜ್ ಆಗುತ್ತಿರುವಾಗ"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"ಕರೆಯ ವಾಲ್ಯೂಮ್"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"ಅಲಾರಂ ವಾಲ್ಯೂಮ್"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"ರಿಂಗ್ ಮತ್ತು ಅಧಿಸೂಚನೆ ವಾಲ್ಯೂಮ್"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"ರಿಂಗ್ ವಾಲ್ಯೂಮ್"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"ಅಧಿಸೂಚನೆ ವಾಲ್ಯೂಮ್"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ಫೋನ್ ರಿಂಗ್ಟೋನ್"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"ಡೀಫಾಲ್ಟ್ ಅಧಿಸೂಚನೆ ಧ್ವನಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 573a0f4..2232817 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -1518,6 +1518,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"다른 스타일, 배경화면 등 사용해 보기"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"화면 보호기"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"화면 보호기"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"화면 보호기 사용"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"충전 또는 도킹하는 동안"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"충전하는 동안"</string>
@@ -3803,6 +3805,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"통화 볼륨"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"알람 볼륨"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"벨소리 및 알림 볼륨"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"벨소리 볼륨"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"알림 볼륨"</string>
<string name="ringtone_title" msgid="3271453110387368088">"전화 벨소리"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"기본 알림 소리"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 8e86f76..83bd7a2 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Ар кандай стилдерди, тушкагаздарды жана башкаларды көрүңүз"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Көшөгө"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"көшөгө"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Көшөгөнү колдонуу"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Кубатталып жатканда же док-станцияга туташканда"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Кубатталып жатканда"</string>
@@ -1710,7 +1712,7 @@
<string name="storage_dialog_unmountable" msgid="1761107904296941687">"Бул <xliff:g id="NAME_0">^1</xliff:g> бузулуп калган. \n\nБул <xliff:g id="NAME_1">^1</xliff:g> түзмөктү колдонуу үчүн адегенде аны жөндөп алыңыз."</string>
<string name="storage_internal_format_details" msgid="2399034372813686846">"Сүрөттөрдү, видеолорду, ырларды жана башкаларды сактоо жана башка түзмөктөрдө колдонуу үчүн бул SD картаны форматташыңыз керек. \n\n"<b>"Бул SD картадагы бардык нерселер өчүп калат."</b>" \n\n"<b>"Форматтоодон мурун"</b>" \n\n"<b>"Сүрөттөрдүн жана башка медиа файлдардын камдык көчүрмөлөрүн сактаңыз"</b>" \nМедиа файлдарды башка сактагычка же USB кабели аркылуу компьютериңизге өткөрүп алыңыз. \n\n"<b>"Колдонмолордун камдык көчүрмөлөрүн сактаңыз"</b>" \nУшул <xliff:g id="NAME">^1</xliff:g> сакталган бардык колдонмолор жана алардын ичиндеги нерселер өчүп калат. Андыктан аларды башка жерге көчүрүп алыңыз."</string>
<string name="storage_internal_unmount_details" msgid="487689543322907311"><b>"Бул <xliff:g id="NAME_0">^1</xliff:g> карта түзмөктөн чыгарылганда, ал кайра кыстарылмайынча, анда сакталган колдонмолор менен медиа файлдар иштебей калат."</b>\n\n"Бул <xliff:g id="NAME_1">^1</xliff:g> карта ушул түзмөктө гана иштегидей болуп форматталып, башка эч бир түзмөктө иштебейт."</string>
- <string name="storage_internal_forget_details" msgid="5606507270046186691">"Колдонмолорду, сүрөттөрдү жана башка маалыматтарды колдонуу үчүн <xliff:g id="NAME">^1</xliff:g> картасын кайра кыстарыңыз. \n\nБолбосо, \"Сактагыч унутулсун\" деген вариантты тандаңыз. \n\nСактагыч унутулгандан кийин, картада сакталган бардык дайындар биротоло жок болот. \n\nКолдонмону кийин кайра орнотсоңуз болот, бирок түзмөктөгү жоголгон дайындар кайра калыбына келбейт."</string>
+ <string name="storage_internal_forget_details" msgid="5606507270046186691">"Колдонмолорду, сүрөттөрдү жана башка маалыматтарды колдонуу үчүн <xliff:g id="NAME">^1</xliff:g> картасын кайра кыстарыңыз. \n\nБолбосо, \"Сактагыч унутулсун\" деген вариантты тандаңыз. \n\nСактагыч унутулгандан кийин, картада сакталган бардык нерселер биротоло өчүп калат. \n\nКолдонмону кийин кайра орнотсоңуз болот, бирок түзмөктөгү жоголгон дайындар кайра калыбына келбейт."</string>
<string name="storage_internal_forget_confirm_title" msgid="379238668153099015">"<xliff:g id="NAME">^1</xliff:g> унутулсунбу?"</string>
<string name="storage_internal_forget_confirm" msgid="5752634604952674123">"Бул <xliff:g id="NAME">^1</xliff:g> ичинде сакталган бардык колдонмолор, сүрөттөр жана башка нерселер биротоло жоголот."</string>
<string name="storage_detail_dialog_system" msgid="7461009051858709479">"Тутумда Android <xliff:g id="VERSION">%s</xliff:g> версиясында иштеген файлдар бар"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Сүйлөшүү"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Ойготкучтун катуулугу"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Шыңгырлар менен билдирмелердин үнүнүн катуулугу"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Шыңгырдын үнүнүн катуулугу"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Эскертме үнүнүн катуулугу"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Телефондун шыңгыры"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Билдирменин демейки үнү"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 7a1b5cf..d647ffd 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"ລອງໃຊ້ຮູບແບບ, ຮູບພື້ນຫຼັງ ແລະ ອື່ນໆທີ່ແຕກຕ່າງກັນ"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"ພາບພັກໜ້າຈໍ"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ພາບພັກໜ້າຈໍ"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ໃຊ້ພາບພັກໜ້າຈໍ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ໃນຂະນະທີ່ກຳລັງສາກ ຫຼື ວາງໄວ້ບ່ອນຕັ້ງສາກ"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ໃນຂະນະທີ່ກຳລັງສາກໄຟ"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"ລະດັບສຽງການໂທ"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"ລະດັບສຽງໂມງປຸກ"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"ລະດັບສຽງໂທເຂົ້າ ແລະ ແຈ້ງເຕືອນ"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"ລະດັບການເຕືອນດ້ວຍສຽງ"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"ລະດັບສຽງແຈ້ງເຕືອນ"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ຣິງໂທນໂທລະສັບ"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"ສຽງແຈ້ງເຕືອນເລີ່ມຕົ້ນ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index dcd76e8..76c7362 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -1552,6 +1552,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Išbandykite skirtingus stilius, ekrano fonus ir kt."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekrano užsklanda"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ekrano užsklanda"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Įkraunant"</string>
@@ -3883,6 +3885,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Skambučio garsumas"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Signalo garsumas"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Skambučių ir nustatymų garsum."</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Skambučio garsumas"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Pranešimo garsumas"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Telefono skambėjimo tonas"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Numatytasis pranešimo garsas"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 26dfa2d..2f10677 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -1532,6 +1532,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Izmēģiniet dažādus stilus, fona tapetes utt."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekrānsaudzētājs"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ekrānsaudzētājs"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Uzlādes laikā"</string>
@@ -3840,6 +3842,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Zvana skaļums"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Signāla skaļums"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Zvanu/paziņojumu sign. skaļums"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Zvana skaļums"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Paziņojumu skaļums"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Tālruņa zvana signāls"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Paziņojuma noklusējuma skaņa"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index b5539f1..c249410 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -1516,6 +1516,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Пробајте различни стилови, тапети и друго"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Заштитник на екран"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"заштитник на екран"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"Недостапно бидејќи е вклучен „Режимот за спиење“"</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_sleep" msgid="6555922932643037432">"Додека се полни"</string>
@@ -3801,6 +3802,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Јачина на звук за повици"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Јачина на звук за аларм"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Ѕвонење и известувања"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Јачина на звук на ѕвонењето"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Јачина на звук на известување"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Мелодија на телефон"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Стандарден звук за известување"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 60d4a59..32dca38 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"വ്യത്യസ്ത സ്റ്റൈലുകളും വാൾപേപ്പറുകളും മറ്റും പരീക്ഷിക്കൂ"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"സ്ക്രീൻ സേവർ"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"സ്ക്രീൻ സേവർ"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"സ്ക്രീൻ സേവർ ഉപയോഗിക്കുക"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ചാർജ്/ഡോക്ക് ചെയ്യുമ്പോൾ"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ചാർജ് ചെയ്യുമ്പോൾ"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"കോൾ വോളിയം"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"അലാറം വോളിയം"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"റിംഗ്, അറിയിപ്പ് വോളിയം"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"റിംഗ് വോളിയം"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"അറിയിപ്പ് വോളിയം"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ഫോൺ റിംഗ്ടോൺ"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"ഡിഫോൾട്ട് അറിയിപ്പ് ശബ്ദം"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 8a0a388..e66147f 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -1512,6 +1512,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Өөр загвар, дэлгэцийн зураг болон бусад зүйлийг туршиж үзнэ үү"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Дэлгэц амраагч"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"дэлгэц амраагч"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"Унтлагын цагийн горим асаалттай тул боломжгүй"</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_sleep" msgid="6555922932643037432">"Цэнэглэж байх үед"</string>
@@ -3797,6 +3798,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Дуудлагын дууны түвшин"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Сэрүүлгийн дууны түвшин"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Хонх ба мэдэгдлийн дууны түвшин"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Хонхны дууны түвшин"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Мэдэгдлийн дууны түвшин"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Утасны хонхны ая"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Мэдэгдлийн өгөгдмөл ая"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 0606c9f..986b6dc 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"वेगळी शैली, वॉलपेपर आणि बरेच काही वापरून पहा"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"स्क्रीन सेव्हर"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"स्क्रीनसेव्हर"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"स्क्रीन सेव्हर वापरा"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"चार्ज होत असताना किंवा डॉक केलेले असताना"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"चार्ज होत असताना"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"कॉल व्हॉल्यूम"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"अलार्म व्हॉल्यूम"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"रिंग आणि सूचनेचा व्हॉल्यूम"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"रिंग व्हॉल्यूम"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"सूचना व्हॉल्यूम"</string>
<string name="ringtone_title" msgid="3271453110387368088">"फोन रिंगटोन"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"डीफॉल्ट सूचना आवाज"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 05569e6..f0ce033 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Cuba gaya serta kertas dinding yang berbeza dan pelbagai lagi"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Penyelamat skrin"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"penyelamat skrin"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Semasa mengecas"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Kelantangan panggilan"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Kelantangan penggera"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Kelantangan dering & pemberitahuan"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Kelantangan deringan"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Kelantangan pemberitahuan"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Nada dering telefon"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Bunyi pemberitahuan lalai"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index ef3401f..ab066ec 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"မတူသည့် ပုံစံများ၊ နောက်ခံများနှင့် အခြားအရာများကို စမ်းကြည့်ပါ"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"ဖန်သားပြင်ချွေတာစနစ်"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ဖန်သားပြင်နားချိန်"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ဖန်သားပြင်ချွေတာစနစ် သုံးခြင်း"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"အားသွင်းနေစဉ် သို့မဟုတ် တပ်ဆင်ထားစဉ်"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"အားသွင်းနေစဉ်"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"ဖုန်းခေါ်သံ အတိုးအကျယ်"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"နှိုးစက်အသံ အတိုးအကျယ်"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"မြည်သံနှင့် အကြောင်းကြားချက် အသံ"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"ဖုန်းမြည်သံ အတိုးအကျယ်"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"အကြောင်းကြားချက်သံ ပမာဏ"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ဖုန်းမြည်သံ"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"မူရင်းအကြောင်းကြားသံ"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 24c44be..24f9dcf 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -1059,7 +1059,7 @@
<string name="wifi_configure_settings_preference_summary_wakeup_off" msgid="5710203586018223864">"Wi‑Fi slås ikke på igjen automatisk"</string>
<string name="wifi_access_points" msgid="5846755709207101844">"Wifi-nettverk"</string>
<string name="wifi_menu_more_options" msgid="1236651929987819716">"Flere alternativer"</string>
- <string name="wifi_menu_p2p" msgid="5234165837732940385">"Wifi Direct"</string>
+ <string name="wifi_menu_p2p" msgid="5234165837732940385">"Wi-Fi Direct"</string>
<string name="wifi_menu_scan" msgid="3498653582115656526">"Skann"</string>
<string name="wifi_menu_advanced" msgid="1940919392030994019">"Avansert"</string>
<string name="wifi_menu_configure" msgid="352423980467311427">"Konfigurer"</string>
@@ -1238,7 +1238,7 @@
<string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (med mindre det overstyres av privat DNS)"</string>
<string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
<string name="wifi_network_prefix_length" msgid="1003365439352276622">"Nettverksprefiks-lengde"</string>
- <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wifi Direct"</string>
+ <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
<string name="wifi_p2p_device_info" msgid="4304362679971797283">"Enhetsinformasjon"</string>
<string name="wifi_p2p_persist_network" msgid="7942929491568227945">"Husk denne tilkoblingen"</string>
<string name="wifi_p2p_menu_search" msgid="8383306178784876840">"Søk etter enheter"</string>
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Prøv forskjellige stiler, bakgrunner med mer"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Skjermsparer"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"skjermsparer"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Når enheten lades"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Samtalevolum"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarmvolum"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Ringe- og varselvolum"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Ringevolum"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Varselvolum"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Ringetone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Standard varsellyd"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 37defe2..7139f32 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"विभिन्न शैली, वालपेपर र थप कुरा चलाएर हेर्नुहोस्"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"स्क्रिन सेभर"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"स्क्रिनसेभर"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"स्क्रिन सेभर प्रयोग गरियोस्"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"चार्ज वा डक गरिरहँदा"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"चार्ज गरिरहेका बेला"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"कलको भोल्युम"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"अलार्मको भोल्युम"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"घन्टी तथा सूचनाको भोल्युम"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"घण्टीको भोल्युम"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"ध्वनी सूचना"</string>
<string name="ringtone_title" msgid="3271453110387368088">"फोनको रिङटोन"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"सूचना आउँदा बज्ने डिफल्ट साउन्ड"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 087cc2a..4cf1c1a 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Probeer verschillende stijlen, achtergronden en meer"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screensaver"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"screensaver"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Tijdens het opladen"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Gespreksvolume"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Wekkervolume"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volume ringtone en meldingen"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Ringtonevolume"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Meldingsvolume"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Ringtone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Standaard meldingsgeluid"</string>
@@ -5638,7 +5641,7 @@
<string name="cards_passes_sentence" msgid="1866311782387946944">"Kaarten en passen"</string>
<string name="cards_passes_lower" msgid="2429722007109957877">"kaarten en passen"</string>
<string name="power_menu_setting_name" msgid="2394440932633137229">"Aan/uit-knop ingedrukt houden"</string>
- <string name="power_menu_long_press_category_title" msgid="1051146091093775002">"Aan/uit-knop ingedrukt houden voor toegang"</string>
+ <string name="power_menu_long_press_category_title" msgid="1051146091093775002">"Aan/uit-knop ingedrukt houden voor toegang tot"</string>
<string name="power_menu_long_press_for_power_menu_title" msgid="477584639843663599">"Aan/uit-menu"</string>
<string name="power_menu_long_press_for_assistant_title" msgid="6557738348262616455">"Digitale assistent"</string>
<string name="power_menu_summary_long_press_for_assistant" msgid="32706459458422952">"Digitale assistent openen"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 826f742..d3cc9de 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -1512,6 +1512,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"ବିଭିନ୍ନ ଷ୍ଟାଇଲ୍, ୱାଲ୍ପେପର୍ ଏବଂ ଆହୁରି ଅନେକ କିଛି ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"ସ୍କ୍ରିନ୍ ସେଭର୍"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ସ୍କ୍ରିନସେଭର"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"ଶୋଇବା ସମୟ ମୋଡ ଚାଲୁ ଥିବା ଯୋଗୁଁ ଉପଲବ୍ଧ ନାହିଁ"</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_sleep" msgid="6555922932643037432">"ଚାର୍ଜ ହେଉଥିବାବେଳେ"</string>
@@ -3797,6 +3798,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"କଲ୍ ଭଲ୍ୟୁମ୍"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"ଆଲାର୍ମର ଭଲ୍ୟୁମ୍"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"ରିଙ୍ଗ ଏବଂ ବିଜ୍ଞପ୍ତି ଭଲ୍ୟୁମ୍"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"ରିଂ ଭଲ୍ୟୁମ"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"ସୂଚନା ଭଲ୍ୟୁମ"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ଫୋନ ରିଂଟୋନ"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"ଡିଫଲ୍ଟ ବିଜ୍ଞପ୍ତି ସାଉଣ୍ଡ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index c5d8f9e..89e05f4 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"ਵੱਖ-ਵੱਖ ਸਟਾਈਲ, ਵਾਲਪੇਪਰ ਵਰਤ ਕੇ ਦੇਖੋ ਅਤੇ ਹੋਰ ਬਹੁਤ ਕੁਝ"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"ਸਕ੍ਰੀਨ ਸੇਵਰ"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ਸਕ੍ਰੀਨ-ਸੇਵਰ"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ਸਕ੍ਰੀਨ ਸੇਵਰ ਵਰਤੋ"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ਚਾਰਜ ਕਰਨ ਵੇਲੇ ਜਾਂ ਡੌਕ ਕੀਤੇ ਹੋਣ ਦੌਰਾਨ"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ਚਾਰਜ ਕਰਨ ਵੇਲੇ"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"ਕਾਲ ਦੀ ਅਵਾਜ਼"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"ਅਲਾਰਮ ਦੀ ਅਵਾਜ਼"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"ਘੰਟੀ ਅਤੇ ਸੂਚਨਾ ਦੀ ਅਵਾਜ਼"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"ਘੰਟੀ ਦੀ ਅਵਾਜ਼"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"ਸੂਚਨਾ ਵੌਲਿਊਮ"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ਫ਼ੋਨ ਰਿੰਗਟੋਨ"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਸੂਚਨਾ ਧੁਨੀ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 97c6937..3ce4216 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -1552,6 +1552,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Wypróbuj różne style, tapety i inne elementy"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Wygaszacz ekranu"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"wygaszacz ekranu"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Podczas ładowania"</string>
@@ -3883,6 +3885,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Głośność połączenia"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Głośność alarmu"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Głośność dzwonka i powiadomień"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Głośność dzwonka"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Głośność powiadomień"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Dzwonek telefonu"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Domyślny dźwięk powiadomienia"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 87ba8b6..e504644 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -1518,6 +1518,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Use diferentes estilos, planos de fundo e muito mais"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Protetor de tela"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"protetor de tela"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"Indisponível durante o Modo hora de dormir"</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_sleep" msgid="6555922932643037432">"Ao carregar"</string>
@@ -3803,6 +3804,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volume das chamadas"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume do alarme"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volume de toques e notificações"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volume do toque"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volume das notificações"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Toque do telefone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Som de notificação padrão"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 8047a7c..41fd59a 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -439,7 +439,7 @@
<string name="security_settings_face_enroll_improve_face_alert_body" msgid="2670118180411127323">"Elimine o seu modelo de rosto atual para configurar o Desbloqueio facial novamente.\n\nO seu modelo de rosto será eliminado permanentemente e em segurança.\n\nApós a eliminação, precisará de PIN, padrão ou palavra-passe para desbloquear o telemóvel ou efetuar a autenticação em apps."</string>
<string name="security_settings_face_enroll_improve_face_alert_body_fingerprint" msgid="2469599074650327489">"Elimine o seu modelo de rosto atual para configurar o Desbloqueio facial novamente.\n\nO seu modelo de rosto será eliminado permanentemente e em segurança.\n\nApós a eliminação, precisará de impressão digital, PIN, padrão ou palavra-passe para desbloquear o telemóvel ou efetuar a autenticação em apps."</string>
<string name="security_settings_face_settings_use_face_category" msgid="1638314154119800188">"Usar desbloqueio facial para"</string>
- <string name="security_settings_face_settings_preferences_category" msgid="7628929873407280453">"Quando utilizar o Desbloqueio facial"</string>
+ <string name="security_settings_face_settings_preferences_category" msgid="7628929873407280453">"Quando usar o Desbloqueio facial"</string>
<string name="security_settings_face_settings_require_attention" msgid="4395309855914391104">"Exigir olhos abertos"</string>
<string name="security_settings_face_settings_require_attention_details" msgid="2546230511769544074">"Para desbloquear o telemóvel, os olhos têm de estar abertos"</string>
<string name="security_settings_face_settings_require_confirmation" msgid="6603039421004198334">"Solicitar sempre confirmação"</string>
@@ -1222,7 +1222,7 @@
<string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Máscara de sub-rede"</string>
<string name="wifi_type_title" msgid="2174893488722015838">"Tipo"</string>
<string name="wifi_details_dns" msgid="273231528073312579">"DNS"</string>
- <string name="wifi_details_ipv6_address_header" msgid="1913151339341722443">"Endereços IPv6"</string>
+ <string name="wifi_details_ipv6_address_header" msgid="1913151339341722443">"Moradas IPv6"</string>
<string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Redes guardadas"</string>
<string name="wifi_subscribed_access_points_tab" msgid="7224061396195667208">"Subscrições"</string>
<string name="wifi_saved_other_networks_tab" msgid="7942647415716557293">"Outras redes"</string>
@@ -1512,6 +1512,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Experimente diferentes estilos, imagens de fundo e muito mais"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Proteção de ecrã"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"proteção de ecrã"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"Indisponível, modo de hora de dormir ativado"</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_sleep" msgid="6555922932643037432">"Ao carregar"</string>
@@ -3797,6 +3798,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volume das chamadas"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume do alarme"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volume de notificações e toque"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volume do toque"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volume de notificações"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Toque do telemóvel"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Som de notificação padrão"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 87ba8b6..e504644 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -1518,6 +1518,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Use diferentes estilos, planos de fundo e muito mais"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Protetor de tela"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"protetor de tela"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"Indisponível durante o Modo hora de dormir"</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_sleep" msgid="6555922932643037432">"Ao carregar"</string>
@@ -3803,6 +3804,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volume das chamadas"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume do alarme"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volume de toques e notificações"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volume do toque"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volume das notificações"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Toque do telefone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Som de notificação padrão"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 1a901dc..1392e20 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -1538,6 +1538,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Încearcă diverse stiluri, imagini de fundal și altele"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Economizor de ecran"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"screensaver"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Folosește 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_sleep" msgid="6555922932643037432">"În timpul încărcării"</string>
@@ -3846,6 +3848,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volumul apelului"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volumul alarmei"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volum pentru sonerie și notificări"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volumul soneriei"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volumul notificărilor"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Ton de sonerie al telefonului"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Sunet de notificare prestabilit"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 308ebe7..ad196db 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -1552,6 +1552,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Пробуйте разные стили, обои и не только"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Заставка"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"заставка"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"Недоступно в ночном режиме"</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_sleep" msgid="6555922932643037432">"Во время зарядки"</string>
@@ -3883,6 +3884,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Разговор"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Будильник"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Вызовы и уведомления"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Громкость звонка"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Громкость уведомлений"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Рингтон"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Звук уведомления по умолчанию"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 94b191f..4a56a0c 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"වෙනත් මෝස්තර, වෝල්පේපර, සහ තවත් ඒවා උත්සාහ කරන්න"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"තිර සුරැකුම"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"තිර සුරැකුම"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"තිර සුරැකුම භාවිත කරන්න"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ආරෝපණය හෝ ඩොක් කර ඇති විට"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ආරෝපණය වන අතරතුර"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"ඇමතුම් ශබ්දය ත්රීවතාවය"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"සීනුවේ ශබ්දය"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"නාද සහ දැනුම්දීම හඬ"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"නාද ශබ්දය"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"දැනුම්දීමේ ශබ්ද ත්රීවතාව"</string>
<string name="ringtone_title" msgid="3271453110387368088">"දුරකථන රිගින්ටෝනය"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"පෙරනිමි දැනුම්දීම් හඬ"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 6b3f35a..6becd02 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -1558,6 +1558,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Vyskúšajte rôzne štýly, tapety atď."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Šetrič obrazovky"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"šetrič obrazovky"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Pri nabíjaní"</string>
@@ -3889,6 +3891,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Hlasitosť hovoru"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Hlasitosť budíkov"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Hlasitosť zvonení a upozornení"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Hlasitosť zvonenia"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Hlasitosť upozornení"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Tón zvonenia telefónu"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Predvolený zvuk upozornenia"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index ccb062d..40c8fd4 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -1558,6 +1558,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Preizkusite različne sloge, ozadja in drugo"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ohranjevalnik zaslona"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ohranjevalnik zaslona"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Med polnjenjem"</string>
@@ -3889,6 +3891,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Glasnost klica"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Glasnost alarma"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Glasnost zvonjenja in obvestil"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Glasnost zvonjenja"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Glasnost obvestila"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Ton zvonjenja telefona"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Privzeti zvok obvestila"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index bff516f..a9a3e22 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Provo stile, imazhe sfondi të ndryshme etj."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Mbrojtësi i ekranit"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"mbrojtësi i ekranit"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Gjatë karikimit"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volumi i telefonatës"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volumi i alarmit"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volumi i ziles dhe njoftimeve"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volumi i ziles"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volumi i njoftimit"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Zilja e telefonit"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Tingulli i parazgjedhur i njoftimit"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index bfe4df1..9ffb558 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -1532,6 +1532,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Пробајте другачије стилове, позадине и још тога"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Чувар екрана"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"чувар екрана"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Користи чувар екрана"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Током пуњења или на базној станици"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Током пуњења"</string>
@@ -3840,6 +3842,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Јачина звука позива"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Јачина звука аларма"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Јачина звука за звоно и обавештења"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Јачина звука звона"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Јачина звука за обавештења"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Звук звона телефона"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Подразумевани звук обавештења"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 65125d4..0f3fdbc 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Testa olika format, bakgrunder med mera"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Skärmsläckare"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"skärmsläckare"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Vid laddning"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Samtalsvolym"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarmvolym"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Ring- och aviseringsvolym"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Ringvolym"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Aviseringsvolym"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Ringsignal"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Standardljud för aviseringar"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 72c3f1b..8374f34 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Jaribu miundo, mandhari tofauti na zaidi"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Taswira ya skrini"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"taswira ya skrini"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Tumia taswira 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_sleep" msgid="6555922932643037432">"Inapochaji"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Sauti ya simu"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Sauti ya kengele"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Sauti ya arifa na mlio wa simu"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Kiwango cha sauti ya mlio"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Sauti ya arifa"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Mlio wa simu"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Sauti chaguomsingi ya arifa"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index bba127d..bc4d932 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"மாறுபட்ட ஸ்டைல்கள், வால்பேப்பர்கள் மற்றும் பலவற்றை முயல்க"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"ஸ்கிரீன் சேவர்"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ஸ்கிரீன் சேவர்"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ஸ்கிரீன் சேவரை உபயோகித்தல்"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"இரண்டின் போதும்"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"சார்ஜ் செய்யப்படும்போது"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"அழைப்பின் ஒலியளவு"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"அலார ஒலியளவு"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"ரிங் & அறிவிப்பு ஒலியளவு"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"ரிங்டோன் ஒலியளவு"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"அறிவிப்பின் ஒலியளவு"</string>
<string name="ringtone_title" msgid="3271453110387368088">"மொபைலின் ரிங்டோன்"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"இயல்பு அறிவிப்பு ஒலி"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 26f9eca..3e20267 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"వివిధ శైలులు, వాల్పేపర్లు, మరిన్నింటిని ప్రయత్నించండి"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"స్క్రీన్ సేవర్"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"స్క్రీన్ సేవర్"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"స్క్రీన్ సేవర్ను ఉపయోగించండి"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ఛార్జ్ చేసేటప్పుడు లేదా డాక్ చేసినప్పుడు"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"ఛార్జింగ్లో ఉన్నప్పుడు"</string>
@@ -1925,8 +1927,8 @@
<string name="network_scorer_picker_title" msgid="2022922801936206195">"నెట్వర్క్ రేటింగ్ ప్రొవైడర్"</string>
<string name="network_scorer_picker_none_preference" msgid="8894034333043177807">"ఏదీ వద్దు"</string>
<string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi అసిస్టెంట్ను మార్చాలా?"</string>
- <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"మీ నెట్వర్క్ కనెక్షన్లను నిర్వహించడానికి <xliff:g id="CURRENT_APP">%2$s</xliff:g>కి బదులుగా <xliff:g id="NEW_APP">%1$s</xliff:g>ని ఉపయోగించాలా?"</string>
- <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"మీ నెట్వర్క్ కనెక్షన్లను నిర్వహించడానికి <xliff:g id="NEW_APP">%s</xliff:g>ని ఉపయోగించాలా?"</string>
+ <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"మీ నెట్వర్క్ కనెక్షన్లను మేనేజ్ చేయడానికి <xliff:g id="CURRENT_APP">%2$s</xliff:g>కి బదులుగా <xliff:g id="NEW_APP">%1$s</xliff:g>ని ఉపయోగించాలా?"</string>
+ <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"మీ నెట్వర్క్ కనెక్షన్లను మేనేజ్ చేయడానికి <xliff:g id="NEW_APP">%s</xliff:g>ని ఉపయోగించాలా?"</string>
<string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"సిమ్ ఆపరేటర్ తెలియదు"</string>
<string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>కి తెలిసిన కేటాయింపు వెబ్సైట్ ఏదీ లేదు"</string>
<string name="mobile_insert_sim_card" msgid="3639245241283948038">"దయచేసి సిమ్ కార్డును చొప్పించి, పునఃప్రారంభించండి"</string>
@@ -3565,7 +3567,7 @@
<string name="amber_alerts_summary" msgid="5755221775246075883">"పిల్లల అపహరణల గురించి వార్తలను స్వీకరించండి"</string>
<string name="repeat_title" msgid="8676570486899483606">"రిపీట్ చేయండి"</string>
<string name="call_manager_enable_title" msgid="1214301265395158720">"కాల్ నిర్వాహికిని ప్రారంభించు"</string>
- <string name="call_manager_enable_summary" msgid="7362506369604163030">"మీరు కాల్స్ను ఎలా చేయాలో నిర్వహించడానికి ఈ సేవను అనుమతించండి."</string>
+ <string name="call_manager_enable_summary" msgid="7362506369604163030">"మీరు కాల్స్ను ఎలా చేయాలో మేనేజ్ చేయడానికి ఈ సేవను అనుమతించండి."</string>
<string name="call_manager_title" msgid="3397433159509629466">"కాల్ నిర్వాహికి"</string>
<!-- no translation found for call_manager_summary (2558839230880919191) -->
<skip />
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"కాల్ వాల్యూమ్"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"అలారం వాల్యూమ్"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"రింగ్ & నోటిఫికేషన్ వాల్యూమ్"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"రింగ్ వాల్యూమ్"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"నోటిఫికేషన్ వాల్యూమ్"</string>
<string name="ringtone_title" msgid="3271453110387368088">"ఫోన్ రింగ్టోన్"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"నోటిఫికేషన్ ఆటోమేటిక్ సౌండ్"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index fbfe2bf..ebd2992 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -1512,6 +1512,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"ลองใช้รูปแบบ วอลเปเปอร์ และอื่นๆ ที่มีหลากหลาย"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"โปรแกรมรักษาหน้าจอ"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"โปรแกรมรักษาหน้าจอ"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"ใช้ไม่ได้เนื่องจากโหมดเวลาเข้านอนเปิดอยู่"</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_sleep" msgid="6555922932643037432">"ขณะที่ชาร์จ"</string>
@@ -3797,6 +3798,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"ระดับเสียงการโทร"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"ระดับเสียงปลุก"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"ระดับเสียงเรียกเข้าและการแจ้งเตือน"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"ระดับเสียงเรียกเข้า"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"ระดับเสียงของการแจ้งเตือน"</string>
<string name="ringtone_title" msgid="3271453110387368088">"เสียงเรียกเข้า"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"เสียงแจ้งเตือนเริ่มต้น"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index f3df9c3..f46ca3f 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -1512,6 +1512,7 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Sumubok ng iba\'t ibang istilo, wallpaper, at higit pa"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"screensaver"</string>
+ <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"Hindi available dahil naka-on ang bedtime mode"</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_sleep" msgid="6555922932643037432">"Habang nagcha-charge"</string>
@@ -3797,6 +3798,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Volume ng tawag"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume ng alarm"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Volume ng pag-ring at notification"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Volume ng pag-ring"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Volume ng notification"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Ringtone ng telepono"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Default na notification sound"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 2e10fce..9cd4dcd 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Farklı stiller, duvar kağıtları ve daha fazlasını deneyin"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekran koruyucu"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ekran koruyucu"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Şarj olurken"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Arama ses düzeyi"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm ses düzeyi"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Zil ve bildirim ses düzeyi"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Zil sesi düzeyi"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Bildirim ses düzeyi"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Telefon zil sesi"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Varsayılan bildirim sesi"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 0aed024..d087029 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -446,7 +446,7 @@
<string name="security_settings_face_enroll_improve_face_alert_body_fingerprint" msgid="2469599074650327489">"Видаліть наявну модель обличчя, щоб повторно налаштувати фейсконтроль.\n\nВашу модель обличчя буде вилучено назавжди.\n\nПісля цього, щоб розблокувати телефон або пройти автентифікацію в додатках, вам знадобиться відбиток пальця, PIN-код, ключ або пароль."</string>
<string name="security_settings_face_settings_use_face_category" msgid="1638314154119800188">"Функції фейсконтролю"</string>
<string name="security_settings_face_settings_preferences_category" msgid="7628929873407280453">"Коли ввімкнено фейсконтроль"</string>
- <string name="security_settings_face_settings_require_attention" msgid="4395309855914391104">"Очі мають бути відкритими"</string>
+ <string name="security_settings_face_settings_require_attention" msgid="4395309855914391104">"Очі мають бути розплющеними"</string>
<string name="security_settings_face_settings_require_attention_details" msgid="2546230511769544074">"Розблоковувати телефон, коли очі відкриті"</string>
<string name="security_settings_face_settings_require_confirmation" msgid="6603039421004198334">"Завжди просити підтвердження"</string>
<string name="security_settings_face_settings_require_confirmation_details" msgid="3498729789625461914">"Просити підтвердження під час використання фейсконтролю в додатках"</string>
@@ -1556,6 +1556,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Спробуйте інші стилі, фонові малюнки тощо"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Заставка"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"заставка"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Використовувати заставку"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Під час заряджання чи в док-станції"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Під час заряджання"</string>
@@ -3887,6 +3889,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Гучність розмови"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Гучність будильника"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Гучність дзвінків і сповіщень"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Гучність дзвінка"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Гучність сповіщень"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Сигнал дзвінка"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Стандартний звук сповіщень"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index bfcdb2f..091ea99 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"مختلف اسٹائل، وال پیپرز، اور مزید بہت کچھ آزمائیں"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"اسکرین سیور"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"اسکرین سیور"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"اسکرین سیور کا استعمال کریں"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ڈاک سے منسلک یا چارج ہونے کے دوران"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"چارج ہوتے وقت"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"کال کا والیوم"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"الارم والیوم"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"گھنٹی اور اطلاعات کا والیوم"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"رنگ والیوم"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"اطلاع کا والیوم"</string>
<string name="ringtone_title" msgid="3271453110387368088">"فون رنگ ٹون"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"اطلاع کی ڈیفالٹ آواز"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 5a8f945..944e593 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -1518,6 +1518,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Boshqa uslub va fon rasmlaridan foydalaning."</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Ekran lavhasi"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ekran lavhasi"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Quvvat olayotganda"</string>
@@ -3803,6 +3805,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Suhbat tovushi"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Signal tovushi"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Jiringlash va bildirishnoma tovushi"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Jiringlash tovushi"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Bildirishnomalar ovozi"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Telefon ringtoni"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Standart bildirishnoma tovushi"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index ce791ba..9afae46 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -438,7 +438,7 @@
<string name="security_settings_face_enroll_improve_face_alert_title" msgid="6194184776580066012">"Thiết lập tính năng Mở khóa bằng khuôn mặt"</string>
<string name="security_settings_face_enroll_improve_face_alert_body" msgid="2670118180411127323">"Xóa mẫu khuôn mặt hiện tại của bạn để thiết lập lại tính năng Mở khóa bằng khuôn mặt.\n\nMẫu khuôn mặt của bạn sẽ bị xóa vĩnh viễn theo cách an toàn.\n\nSau khi xóa, bạn sẽ cần nhập mã PIN, hình mở khóa hoặc mật khẩu để mở khóa điện thoại hoặc xác thực trong các ứng dụng."</string>
<string name="security_settings_face_enroll_improve_face_alert_body_fingerprint" msgid="2469599074650327489">"Xóa mẫu khuôn mặt hiện tại của bạn để thiết lập lại tính năng Mở khóa bằng khuôn mặt.\n\nMẫu khuôn mặt của bạn sẽ bị xóa vĩnh viễn theo cách an toàn.\n\nSau khi xóa, bạn sẽ cần nhập vân tay, mã PIN, hình mở khóa hoặc mật khẩu để mở khóa điện thoại hoặc xác thực trong các ứng dụng."</string>
- <string name="security_settings_face_settings_use_face_category" msgid="1638314154119800188">"Dùng tính năng Mở khóa bằng khuôn mặt để"</string>
+ <string name="security_settings_face_settings_use_face_category" msgid="1638314154119800188">"Dùng tính năng mở khóa bằng khuôn mặt cho"</string>
<string name="security_settings_face_settings_preferences_category" msgid="7628929873407280453">"Khi dùng tính năng Mở khóa bằng khuôn mặt"</string>
<string name="security_settings_face_settings_require_attention" msgid="4395309855914391104">"Yêu cầu mở mắt"</string>
<string name="security_settings_face_settings_require_attention_details" msgid="2546230511769544074">"Để mở khóa điện thoại, bạn phải mở mắt"</string>
@@ -1518,6 +1518,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Thử nhiều kiểu, hình nền và các tùy chọn khác"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Trình bảo vệ màn hình"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"trình bảo vệ màn hình"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Trong khi sạc"</string>
@@ -3803,6 +3805,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Âm lượng cuộc gọi"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Âm lượng chuông báo"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Âm lượng chuông và thông báo"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Âm lượng chuông"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Âm lượng thông báo"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Nhạc chuông điện thoại"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Âm thanh thông báo mặc định"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 61c75a7..2ec8e8a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"尝试不同的样式、壁纸等"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"屏保"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"屏保"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"使用屏保"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充电或插入基座时"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"充电时"</string>
@@ -3084,7 +3086,7 @@
<string name="menu_duration_12h" msgid="9206922888181602565">"12 小时"</string>
<string name="menu_duration_1d" msgid="8538390358158862330">"1天"</string>
<string name="menu_show_system" msgid="3780310384799907818">"显示系统应用"</string>
- <string name="menu_hide_system" msgid="5197937451381420622">"隐藏系统程序"</string>
+ <string name="menu_hide_system" msgid="5197937451381420622">"隐藏系统应用"</string>
<string name="menu_show_percentage" msgid="6143205879027928330">"显示百分比"</string>
<string name="menu_use_uss" msgid="1663914348353623749">"使用 USS"</string>
<string name="menu_proc_stats_type" msgid="5048575824389855689">"统计信息类型"</string>
@@ -3797,6 +3799,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"通话音量"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"闹钟音量"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"铃声和通知音量"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"铃声音量"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"通知音量"</string>
<string name="ringtone_title" msgid="3271453110387368088">"手机铃声"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"默认通知提示音"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 44f7490..664f440 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -1514,6 +1514,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"嘗試其他樣式和桌布等"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"螢幕保護程式"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"螢幕保護程式"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"使用螢幕保護程式"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充電或放上插座時"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"充電時"</string>
@@ -3800,6 +3802,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"通話音量"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"鬧鐘音量"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"鈴聲和通知音量"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"鈴聲音量"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"通知音量"</string>
<string name="ringtone_title" msgid="3271453110387368088">"電話鈴聲"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"預設通知音效"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 3475823..9cc2150 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -1514,6 +1514,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"試試不同的樣式、桌布和其他項目"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"螢幕保護程式"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"螢幕保護程式"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"使用螢幕保護程式"</string>
<string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充電或安置於座架上時"</string>
<string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"充電時"</string>
@@ -3799,6 +3801,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"通話音量"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"鬧鐘音量"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"鈴聲和通知音量"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"鈴聲音量"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"通知音量"</string>
<string name="ringtone_title" msgid="3271453110387368088">"手機鈴聲"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"預設通知音效"</string>
@@ -5641,10 +5644,10 @@
<string name="cards_passes_lower" msgid="2429722007109957877">"卡片和票證"</string>
<string name="power_menu_setting_name" msgid="2394440932633137229">"按住電源鍵"</string>
<string name="power_menu_long_press_category_title" msgid="1051146091093775002">"按住電源鍵即可存取"</string>
- <string name="power_menu_long_press_for_power_menu_title" msgid="477584639843663599">"電源按鈕選單"</string>
+ <string name="power_menu_long_press_for_power_menu_title" msgid="477584639843663599">"電源鍵選單"</string>
<string name="power_menu_long_press_for_assistant_title" msgid="6557738348262616455">"數位助理"</string>
<string name="power_menu_summary_long_press_for_assistant" msgid="32706459458422952">"存取數位助理"</string>
- <string name="power_menu_summary_long_press_for_power_menu" msgid="7617247135239683710">"存取電源按鈕選單"</string>
+ <string name="power_menu_summary_long_press_for_power_menu" msgid="7617247135239683710">"存取電源鍵選單"</string>
<string name="lockscreen_privacy_not_secure" msgid="3251276389681975912">"必須先設定螢幕鎖定才能使用"</string>
<string name="power_menu_power_volume_up_hint" msgid="5619917593676125759">"電源按鈕選單:\n同時按下電源鍵和調高音量按鈕"</string>
<string name="power_menu_power_prevent_ringing_hint" msgid="1169955014711158873">"暫停響鈴:\n按下音量按鈕即可顯示捷徑"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index c75fdfe..f0cdad8 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -1512,6 +1512,8 @@
<string name="style_suggestion_summary" msgid="4271131877800968159">"Zama izitayela ezihlukile, izithombe zangemuva, nokuningi"</string>
<string name="screensaver_settings_title" msgid="3588535639672365395">"Isigcini sihenqo"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"isigcini sesikrini"</string>
+ <!-- no translation found for screensaver_settings_when_to_dream_bedtime (3279310576803094771) -->
+ <skip />
<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_sleep" msgid="6555922932643037432">"Ngenkathi ishaja"</string>
@@ -3798,6 +3800,7 @@
<string name="call_volume_option_title" msgid="1461105986437268924">"Ivolumi yocingo"</string>
<string name="alarm_volume_option_title" msgid="6398641749273697140">"Ivolumu ye-alamu"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"Ivolumu yokukhala neyesaziso"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"Ivolumu yokukhalisa"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"Ivolumu yesaziso"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Iringithoni yefoni"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Umsindo wesaziso ozenzakalelayo"</string>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 0632f72..f8b7f00 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1216,6 +1216,20 @@
<item>90</item>
</string-array>
+ <!-- Options for screensaver "When to start" for devices that do not support screensavers
+ while on battery -->
+ <string-array name="when_to_start_screensaver_entries_no_battery" translatable="false">
+ <item>@string/screensaver_settings_summary_sleep</item>
+ <item>@string/screensaver_settings_summary_dock_and_charging</item>
+ </string-array>
+
+ <!-- Values for screensaver "When to start" for devices that do not support screensavers
+ while on battery -->
+ <string-array name="when_to_start_screensaver_values_no_battery" translatable="false">
+ <item>while_charging_only</item>
+ <item>while_docked_only</item>
+ </string-array>
+
<string-array name="when_to_start_screensaver_entries" translatable="false">
<item>@string/screensaver_settings_summary_sleep</item>
<item>@string/screensaver_settings_summary_dock</item>
@@ -1650,4 +1664,9 @@
[CHAR LIMIT=NONE] -->
<string-array name="allowlist_hide_summary_in_battery_usage" translatable="false">
</string-array>
+
+ <!-- Array containing help message codes that should not be displayed
+ during fingerprint enrollment. -->
+ <integer-array name="fingerprint_acquired_ignore_list">
+ </integer-array>
</resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index ab7305f..93d82a8 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -331,6 +331,9 @@
surface in search results or not.-->
<bool name="config_show_wifi_settings">true</bool>
+ <!-- Whether Wi-Fi hotspot settings should be shown or not. -->
+ <bool name="config_show_wifi_hotspot_settings">true</bool>
+
<!-- Whether toggle_airplane is available or not. -->
<bool name="config_show_toggle_airplane">true</bool>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 458f6fc..03a103e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3359,10 +3359,14 @@
<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>
+ <!-- Summary for screensaver unavailable when Bedtime mode is on [CHAR LIMIT=50] -->
+ <string name="screensaver_settings_when_to_dream_bedtime">Unavailable because bedtime mode is on</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 [CHAR LIMIT=35] -->
<string name="screensaver_settings_summary_either_long">While charging or docked</string>
+ <!-- Display settings screen, summary fragment for screen saver options, actived while docked and charging [CHAR LIMIT=35] -->
+ <string name="screensaver_settings_summary_dock_and_charging">While docked and charging</string>
<!-- 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 [CHAR LIMIT=35] -->
@@ -4294,6 +4298,8 @@
<string name="ethernet_tether_checkbox_text">Ethernet tethering</string>
<!-- Ethernet Tethering subtext [CHAR LIMIT=NONE]-->
<string name="ethernet_tethering_subtext" product="default">Share phone\u2019s internet connection via Ethernet</string>
+ <!-- Ethernet Tethering subtext for tablet [CHAR LIMIT=NONE]-->
+ <string name="ethernet_tethering_subtext" product="tablet">Share tablet\u2019s internet connection via Ethernet</string>
<!-- Tethering footer info [CHAR LIMIT=NONE]-->
<string name="tethering_footer_info">Use hotspot and tethering to provide internet to other devices through your mobile data connection. Apps can also create a hotspot to share content with nearby devices.</string>
@@ -9891,6 +9897,9 @@
<!-- [CHAR LIMIT=NONE] Text appearing when channel group notifications are off -->
<string name="channel_group_notifications_off_desc">At your request, Android is blocking this group of notifications from appearing on this device</string>
+ <!-- [CHAR LIMIT=NONE] Text appearing when app does not send notifications -->
+ <string name="app_notifications_not_send_desc">This app does not send notifications</string>
+
<!-- [CHAR LIMIT=NONE] App notification settings: channels title -->
<string name="notification_channels">Categories</string>
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index f1c1191..50ffdc7 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -152,6 +152,11 @@
/** Redirects to SafetyCenter if enabled. */
@VisibleForTesting
public void handleSafetyCenterRedirection() {
+ if (isFinishing()) {
+ // Don't trampoline if already exiting this activity.
+ return;
+ }
+
if (SafetyCenterManagerWrapper.get().isEnabled(this)) {
try {
startActivity(new Intent(Intent.ACTION_SAFETY_CENTER));
@@ -213,6 +218,11 @@
/** Redirects to SafetyCenter if enabled. */
@VisibleForTesting
public void handleSafetyCenterRedirection() {
+ if (isFinishing()) {
+ // Don't trampoline if already exiting this activity.
+ return;
+ }
+
if (ACTION_PRIVACY_SETTINGS.equals(getIntent().getAction())
&& SafetyCenterManagerWrapper.get().isEnabled(this)) {
try {
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index 012996b..18c7855 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -20,6 +20,7 @@
import static android.net.ConnectivityManager.TETHERING_USB;
import static android.net.TetheringManager.TETHERING_ETHERNET;
+import static com.android.settings.wifi.WifiUtils.canShowWifiHotspot;
import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfUsbDataSignalingIsDisabled;
import android.app.Activity;
@@ -589,6 +590,9 @@
if (!TetherUtil.isTetherAvailable(context)) {
keys.add(KEY_TETHER_PREFS_SCREEN);
+ }
+
+ if (!canShowWifiHotspot(context) || !TetherUtil.isTetherAvailable(context)) {
keys.add(KEY_WIFI_TETHER);
}
diff --git a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
index 404fe6d..4da42d4 100644
--- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
+++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
@@ -28,11 +28,13 @@
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.os.Bundle;
import android.os.UserHandle;
+import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
+import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import com.android.settings.R;
@@ -50,11 +52,16 @@
*/
public abstract class BiometricsSettingsBase extends DashboardFragment {
- private static final int CONFIRM_REQUEST = 2001;
+ @VisibleForTesting
+ static final int CONFIRM_REQUEST = 2001;
private static final int CHOOSE_LOCK_REQUEST = 2002;
private static final String SAVE_STATE_CONFIRM_CREDETIAL = "confirm_credential";
private static final String DO_NOT_FINISH_ACTIVITY = "do_not_finish_activity";
+ @VisibleForTesting
+ static final String RETRY_PREFERENCE_KEY = "retry_preference_key";
+ @VisibleForTesting
+ static final String RETRY_PREFERENCE_BUNDLE = "retry_preference_bundle";
protected int mUserId;
protected long mGkPwHandle;
@@ -63,6 +70,8 @@
@Nullable private FingerprintManager mFingerprintManager;
// Do not finish() if choosing/confirming credential, or showing fp/face settings
private boolean mDoNotFinishActivity;
+ @Nullable private String mRetryPreferenceKey = null;
+ @Nullable private Bundle mRetryPreferenceExtra = null;
@Override
public void onAttach(Context context) {
@@ -84,6 +93,8 @@
if (savedInstanceState != null) {
mConfirmCredential = savedInstanceState.getBoolean(SAVE_STATE_CONFIRM_CREDETIAL);
mDoNotFinishActivity = savedInstanceState.getBoolean(DO_NOT_FINISH_ACTIVITY);
+ mRetryPreferenceKey = savedInstanceState.getString(RETRY_PREFERENCE_KEY);
+ mRetryPreferenceExtra = savedInstanceState.getBundle(RETRY_PREFERENCE_BUNDLE);
if (savedInstanceState.containsKey(
ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE)) {
mGkPwHandle = savedInstanceState.getLong(
@@ -124,8 +135,7 @@
}
}
- @Override
- public boolean onPreferenceTreeClick(Preference preference) {
+ private boolean onRetryPreferenceTreeClick(Preference preference, final boolean retry) {
final String key = preference.getKey();
final Context context = requireActivity().getApplicationContext();
@@ -134,31 +144,77 @@
if (getFacePreferenceKey().equals(key)) {
mDoNotFinishActivity = true;
mFaceManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
- final byte[] token = BiometricUtils.requestGatekeeperHat(context, mGkPwHandle,
- mUserId, challenge);
- final Bundle extras = preference.getExtras();
- extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
- extras.putInt(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId);
- extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
- super.onPreferenceTreeClick(preference);
+ try {
+ final byte[] token = requestGatekeeperHat(context, mGkPwHandle, mUserId,
+ challenge);
+ final Bundle extras = preference.getExtras();
+ extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
+ extras.putInt(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId);
+ extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
+ super.onPreferenceTreeClick(preference);
+ } catch (IllegalStateException e) {
+ if (retry) {
+ mRetryPreferenceKey = preference.getKey();
+ mRetryPreferenceExtra = preference.getExtras();
+ mConfirmCredential = true;
+ launchChooseOrConfirmLock();
+ } else {
+ Log.e(getLogTag(), "face generateChallenge fail", e);
+ mDoNotFinishActivity = false;
+ }
+ }
});
-
return true;
} else if (getFingerprintPreferenceKey().equals(key)) {
mDoNotFinishActivity = true;
mFingerprintManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
- final byte[] token = BiometricUtils.requestGatekeeperHat(context, mGkPwHandle,
- mUserId, challenge);
- final Bundle extras = preference.getExtras();
- extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
- extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
- super.onPreferenceTreeClick(preference);
+ try {
+ final byte[] token = requestGatekeeperHat(context, mGkPwHandle, mUserId,
+ challenge);
+ final Bundle extras = preference.getExtras();
+ extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
+ extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
+ super.onPreferenceTreeClick(preference);
+ } catch (IllegalStateException e) {
+ if (retry) {
+ mRetryPreferenceKey = preference.getKey();
+ mRetryPreferenceExtra = preference.getExtras();
+ mConfirmCredential = true;
+ launchChooseOrConfirmLock();
+ } else {
+ Log.e(getLogTag(), "fingerprint generateChallenge fail", e);
+ mDoNotFinishActivity = false;
+ }
+ }
});
-
return true;
}
+ return false;
+ }
- return super.onPreferenceTreeClick(preference);
+ @VisibleForTesting
+ protected byte[] requestGatekeeperHat(@NonNull Context context, long gkPwHandle, int userId,
+ long challenge) {
+ return BiometricUtils.requestGatekeeperHat(context, gkPwHandle, userId, challenge);
+ }
+
+ @Override
+ public boolean onPreferenceTreeClick(Preference preference) {
+ return onRetryPreferenceTreeClick(preference, true)
+ || super.onPreferenceTreeClick(preference);
+ }
+
+ private void retryPreferenceKey(@NonNull String key, @Nullable Bundle extras) {
+ final Preference preference = findPreference(key);
+ if (preference == null) {
+ Log.w(getLogTag(), ".retryPreferenceKey, fail to find " + key);
+ return;
+ }
+
+ if (extras != null) {
+ preference.getExtras().putAll(extras);
+ }
+ onRetryPreferenceTreeClick(preference, false);
}
@Override
@@ -169,6 +225,10 @@
if (mGkPwHandle != 0L) {
outState.putLong(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, mGkPwHandle);
}
+ if (!TextUtils.isEmpty(mRetryPreferenceKey)) {
+ outState.putString(RETRY_PREFERENCE_KEY, mRetryPreferenceKey);
+ outState.putBundle(RETRY_PREFERENCE_BUNDLE, mRetryPreferenceExtra);
+ }
}
@Override
@@ -180,6 +240,11 @@
if (resultCode == RESULT_FINISHED || resultCode == RESULT_OK) {
if (BiometricUtils.containsGatekeeperPasswordHandle(data)) {
mGkPwHandle = BiometricUtils.getGatekeeperPasswordHandle(data);
+ if (!TextUtils.isEmpty(mRetryPreferenceKey)) {
+ getActivity().overridePendingTransition(R.anim.sud_slide_next_in,
+ R.anim.sud_slide_next_out);
+ retryPreferenceKey(mRetryPreferenceKey, mRetryPreferenceExtra);
+ }
} else {
Log.d(getLogTag(), "Data null or GK PW missing.");
finish();
@@ -188,6 +253,8 @@
Log.d(getLogTag(), "Password not confirmed.");
finish();
}
+ mRetryPreferenceKey = null;
+ mRetryPreferenceExtra = null;
}
}
@@ -211,7 +278,8 @@
*/
public abstract String getUseInAppsPreferenceKey();
- private void launchChooseOrConfirmLock() {
+ @VisibleForTesting
+ protected void launchChooseOrConfirmLock() {
final ChooseLockSettingsHelper.Builder builder =
new ChooseLockSettingsHelper.Builder(getActivity(), this)
.setRequestCode(CONFIRM_REQUEST)
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java
index d8ecd20..d1e512e 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java
@@ -21,9 +21,14 @@
import android.hardware.fingerprint.FingerprintManager;
import android.util.Log;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.biometrics.BiometricEnrollSidecar;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
/**
* Sidecar fragment to handle the state around fingerprint enrollment.
*/
@@ -32,11 +37,19 @@
private FingerprintUpdater mFingerprintUpdater;
private @FingerprintManager.EnrollReason int mEnrollReason;
+ private Set<Integer> mHelpIgnore;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mFingerprintUpdater = new FingerprintUpdater(activity);
+ final int[] ignoreAcquiredInfo = getResources().getIntArray(
+ R.array.fingerprint_acquired_ignore_list);
+ mHelpIgnore = new HashSet<>();
+ for (int acquiredInfo: ignoreAcquiredInfo) {
+ mHelpIgnore.add(acquiredInfo);
+ }
+ mHelpIgnore = Collections.unmodifiableSet(mHelpIgnore);
}
@Override
@@ -49,7 +62,6 @@
getString(R.string.fingerprint_intro_error_unknown));
return;
}
-
mFingerprintUpdater.enroll(mToken, mEnrollmentCancel, mUserId, mEnrollmentCallback,
mEnrollReason);
}
@@ -58,7 +70,7 @@
mEnrollReason = enrollReason;
}
- private FingerprintManager.EnrollmentCallback mEnrollmentCallback
+ @VisibleForTesting FingerprintManager.EnrollmentCallback mEnrollmentCallback
= new FingerprintManager.EnrollmentCallback() {
@Override
@@ -68,6 +80,9 @@
@Override
public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) {
+ if (mHelpIgnore.contains(helpMsgId)) {
+ return;
+ }
FingerprintEnrollSidecar.super.onEnrollmentHelp(helpMsgId, helpString);
}
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index c643842..a86b758 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -341,7 +341,7 @@
/**
* When user disable the Le Audio profile, the system needs to do two things.
- * 1) Disable the Le Audio profile for each of the Le Audio devices.
+ * 1) Disable the Le Audio profile, VCP and CSIP for each of the Le Audio devices.
* 2) Enable the A2dp profile and Headset profile for the associated device. The system
* can't enable the A2dp profile and Headset profile if the Le Audio profile is enabled.
*
@@ -352,14 +352,23 @@
Log.e(TAG, "There is no the LE profile or no device in mProfileDeviceMap. Do nothing.");
return;
}
+ LocalBluetoothProfile vcp = mProfileManager.getVolumeControlProfile();
+ LocalBluetoothProfile csip = mProfileManager.getCsipSetCoordinatorProfile();
+ LocalBluetoothProfile a2dp = mProfileManager.getA2dpProfile();
+ LocalBluetoothProfile headset = mProfileManager.getHeadsetProfile();
+
for (CachedBluetoothDevice leAudioDevice : mProfileDeviceMap.get(profile.toString())) {
Log.d(TAG,
"User disable LE device: " + leAudioDevice.getDevice().getAnonymizedAddress());
profile.setEnabled(leAudioDevice.getDevice(), false);
+ if (vcp != null) {
+ vcp.setEnabled(leAudioDevice.getDevice(), false);
+ }
+ if (csip != null) {
+ csip.setEnabled(leAudioDevice.getDevice(), false);
+ }
}
- LocalBluetoothProfile a2dp = mProfileManager.getA2dpProfile();
- LocalBluetoothProfile headset = mProfileManager.getHeadsetProfile();
enableProfileAfterUserDisablesLeAudio(a2dp);
enableProfileAfterUserDisablesLeAudio(headset);
}
@@ -368,7 +377,7 @@
* When user enable the Le Audio profile, the system needs to do two things.
* 1) Disable the A2dp profile and Headset profile for the associated device. The system
* can't enable the Le Audio if the A2dp profile and Headset profile are enabled.
- * 2) Enable the Le Audio profile for each of the Le Audio devices.
+ * 2) Enable the Le Audio profile, VCP and CSIP for each of the Le Audio devices.
*
* @param profile the LeAudio profile
*/
@@ -379,6 +388,9 @@
}
LocalBluetoothProfile a2dp = mProfileManager.getA2dpProfile();
LocalBluetoothProfile headset = mProfileManager.getHeadsetProfile();
+ LocalBluetoothProfile vcp = mProfileManager.getVolumeControlProfile();
+ LocalBluetoothProfile csip = mProfileManager.getCsipSetCoordinatorProfile();
+
disableProfileBeforeUserEnablesLeAudio(a2dp);
disableProfileBeforeUserEnablesLeAudio(headset);
@@ -386,6 +398,12 @@
Log.d(TAG,
"User enable LE device: " + leAudioDevice.getDevice().getAnonymizedAddress());
profile.setEnabled(leAudioDevice.getDevice(), true);
+ if (vcp != null) {
+ vcp.setEnabled(leAudioDevice.getDevice(), true);
+ }
+ if (csip != null) {
+ csip.setEnabled(leAudioDevice.getDevice(), true);
+ }
}
}
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index 999e34d..fa15b5c 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -153,8 +153,11 @@
controlUri = null;
}
}
- use(SlicePreferenceController.class).setSliceUri(sliceEnabled ? controlUri : null);
- use(SlicePreferenceController.class).onStart();
+ final SlicePreferenceController slicePreferenceController = use(
+ SlicePreferenceController.class);
+ slicePreferenceController.setSliceUri(sliceEnabled ? controlUri : null);
+ slicePreferenceController.onStart();
+ slicePreferenceController.displayPreference(getPreferenceScreen());
}
private final ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener =
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingRequest.java b/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
index d5de41a..ed7a1fc 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
@@ -87,9 +87,7 @@
return;
}
- if (mBluetoothManager.getCachedDeviceManager().shouldPairByCsip(device, groupId)) {
- device.createBond(BluetoothDevice.TRANSPORT_LE);
- }
+ mBluetoothManager.getCachedDeviceManager().pairDeviceByCsip(device, groupId);
}
}
}
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index d92fb7f..70fbefc 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -60,6 +60,7 @@
import com.android.settings.development.bluetooth.BluetoothSampleRateDialogPreferenceController;
import com.android.settings.development.qstile.DevelopmentTiles;
import com.android.settings.development.storage.SharedDataPreferenceController;
+import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.actionbar.SearchMenuController;
import com.android.settings.widget.SettingsMainSwitchBar;
@@ -308,6 +309,8 @@
DisableDevSettingsDialogFragment.show(this /* host */);
}
}
+ FeatureFactory.getFactory(
+ getContext()).getSearchFeatureProvider().sendPreIndexIntent(getContext());
}
}
@@ -369,12 +372,12 @@
final BluetoothLeAudioHwOffloadPreferenceController leAudioController =
getDevelopmentOptionsController(
- BluetoothLeAudioHwOffloadPreferenceController.class);
+ BluetoothLeAudioHwOffloadPreferenceController.class);
leAudioController.onRebootDialogConfirmed();
final BluetoothLeAudioPreferenceController leAudioFeatureController =
getDevelopmentOptionsController(
- BluetoothLeAudioPreferenceController.class);
+ BluetoothLeAudioPreferenceController.class);
leAudioFeatureController.onRebootDialogConfirmed();
}
@@ -386,12 +389,12 @@
final BluetoothLeAudioHwOffloadPreferenceController leAudioController =
getDevelopmentOptionsController(
- BluetoothLeAudioHwOffloadPreferenceController.class);
+ BluetoothLeAudioHwOffloadPreferenceController.class);
leAudioController.onRebootDialogCanceled();
final BluetoothLeAudioPreferenceController leAudioFeatureController =
getDevelopmentOptionsController(
- BluetoothLeAudioPreferenceController.class);
+ BluetoothLeAudioPreferenceController.class);
leAudioFeatureController.onRebootDialogCanceled();
}
diff --git a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
index 7ddca79..6af58b5 100644
--- a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
@@ -240,6 +240,8 @@
mDevHitToast = Toast.makeText(mContext, R.string.show_dev_on,
Toast.LENGTH_LONG);
mDevHitToast.show();
+
+ FeatureFactory.getFactory(mContext).getSearchFeatureProvider().sendPreIndexIntent(mContext);
}
@VisibleForTesting
diff --git a/src/com/android/settings/display/ScreenSaverPreferenceController.java b/src/com/android/settings/display/ScreenSaverPreferenceController.java
index 676a567..de1aaea 100644
--- a/src/com/android/settings/display/ScreenSaverPreferenceController.java
+++ b/src/com/android/settings/display/ScreenSaverPreferenceController.java
@@ -18,6 +18,7 @@
import androidx.preference.Preference;
+import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.dream.DreamSettings;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -26,9 +27,12 @@
PreferenceControllerMixin {
private static final String KEY_SCREEN_SAVER = "screensaver";
+ private final boolean mDreamsDisabledByAmbientModeSuppression;
public ScreenSaverPreferenceController(Context context) {
super(context);
+ mDreamsDisabledByAmbientModeSuppression = context.getResources().getBoolean(
+ com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig);
}
@Override
@@ -47,7 +51,12 @@
@Override
public void updateState(Preference preference) {
- preference.setSummary(DreamSettings.getSummaryTextWithDreamName(mContext));
+ if (mDreamsDisabledByAmbientModeSuppression
+ && AmbientDisplayAlwaysOnPreferenceController.isAodSuppressedByBedtime(mContext)) {
+ preference.setSummary(R.string.screensaver_settings_when_to_dream_bedtime);
+ } else {
+ preference.setSummary(DreamSettings.getSummaryTextWithDreamName(mContext));
+ }
}
private boolean isSystemUser() {
diff --git a/src/com/android/settings/dream/DreamSettings.java b/src/com/android/settings/dream/DreamSettings.java
index 1d12c1a..580211a 100644
--- a/src/com/android/settings/dream/DreamSettings.java
+++ b/src/com/android/settings/dream/DreamSettings.java
@@ -90,12 +90,14 @@
}
}
- static int getDreamSettingDescriptionResId(@WhenToDream int dreamSetting) {
+ static int getDreamSettingDescriptionResId(@WhenToDream int dreamSetting,
+ boolean enabledOnBattery) {
switch (dreamSetting) {
case WHILE_CHARGING:
return R.string.screensaver_settings_summary_sleep;
case WHILE_DOCKED:
- return R.string.screensaver_settings_summary_dock;
+ return enabledOnBattery ? R.string.screensaver_settings_summary_dock
+ : R.string.screensaver_settings_summary_dock_and_charging;
case EITHER:
return R.string.screensaver_settings_summary_either_long;
case NEVER:
diff --git a/src/com/android/settings/dream/WhenToDreamPicker.java b/src/com/android/settings/dream/WhenToDreamPicker.java
index 1c5e25e..13cdadf 100644
--- a/src/com/android/settings/dream/WhenToDreamPicker.java
+++ b/src/com/android/settings/dream/WhenToDreamPicker.java
@@ -32,12 +32,15 @@
private static final String TAG = "WhenToDreamPicker";
private DreamBackend mBackend;
+ private boolean mDreamsSupportedOnBattery;
@Override
public void onAttach(Context context) {
super.onAttach(context);
mBackend = DreamBackend.getInstance(context);
+ mDreamsSupportedOnBattery = getResources().getBoolean(
+ com.android.internal.R.bool.config_dreamsEnabledOnBattery);
}
@Override
@@ -69,11 +72,17 @@
}
private String[] entries() {
- return getResources().getStringArray(R.array.when_to_start_screensaver_entries);
+ if (mDreamsSupportedOnBattery) {
+ return getResources().getStringArray(R.array.when_to_start_screensaver_entries);
+ }
+ return getResources().getStringArray(R.array.when_to_start_screensaver_entries_no_battery);
}
private String[] keys() {
- return getResources().getStringArray(R.array.when_to_start_screensaver_values);
+ if (mDreamsSupportedOnBattery) {
+ return getResources().getStringArray(R.array.when_to_start_screensaver_values);
+ }
+ return getResources().getStringArray(R.array.when_to_start_screensaver_values_no_battery);
}
@Override
diff --git a/src/com/android/settings/dream/WhenToDreamPreferenceController.java b/src/com/android/settings/dream/WhenToDreamPreferenceController.java
index 4108e85..c3bae00 100644
--- a/src/com/android/settings/dream/WhenToDreamPreferenceController.java
+++ b/src/com/android/settings/dream/WhenToDreamPreferenceController.java
@@ -20,7 +20,10 @@
import androidx.preference.Preference;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.display.AmbientDisplayAlwaysOnPreferenceController;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.dream.DreamBackend;
@@ -29,19 +32,39 @@
private static final String WHEN_TO_START = "when_to_start";
private final DreamBackend mBackend;
+ private final boolean mDreamsDisabledByAmbientModeSuppression;
+ private final boolean mDreamsEnabledOnBattery;
WhenToDreamPreferenceController(Context context) {
+ this(context, context.getResources().getBoolean(
+ com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig),
+ context.getResources().getBoolean(
+ com.android.internal.R.bool.config_dreamsEnabledOnBattery));
+ }
+
+ @VisibleForTesting
+ WhenToDreamPreferenceController(Context context,
+ boolean dreamsDisabledByAmbientModeSuppression,
+ boolean dreamsEnabledOnBattery) {
super(context);
mBackend = DreamBackend.getInstance(context);
+ mDreamsDisabledByAmbientModeSuppression = dreamsDisabledByAmbientModeSuppression;
+ mDreamsEnabledOnBattery = dreamsEnabledOnBattery;
}
@Override
public void updateState(Preference preference) {
super.updateState(preference);
- int resId = DreamSettings.getDreamSettingDescriptionResId(mBackend.getWhenToDreamSetting());
- preference.setSummary(preference.getContext().getString(resId));
+ if (mDreamsDisabledByAmbientModeSuppression
+ && AmbientDisplayAlwaysOnPreferenceController.isAodSuppressedByBedtime(mContext)) {
+ preference.setSummary(R.string.screensaver_settings_when_to_dream_bedtime);
+ } else {
+ final int resId = DreamSettings.getDreamSettingDescriptionResId(
+ mBackend.getWhenToDreamSetting(), mDreamsEnabledOnBattery);
+ preference.setSummary(resId);
+ }
}
@Override
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
index 2c92488..56da0f4 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
@@ -108,6 +108,7 @@
private boolean mIs24HourFormat;
private boolean mIsFooterPrefAdded = false;
+ private boolean mHourlyChartVisible = true;
private View mBatteryChartViewGroup;
private View mCategoryTitleView;
private PreferenceScreen mPreferenceScreen;
@@ -690,9 +691,10 @@
}
private void animateBatteryHourlyChartView(final boolean visible) {
- if (mHourlyChartView == null) {
+ if (mHourlyChartView == null || mHourlyChartVisible == visible) {
return;
}
+ mHourlyChartVisible = visible;
if (visible) {
mHourlyChartView.setVisibility(View.VISIBLE);
diff --git a/src/com/android/settings/homepage/TopLevelSettings.java b/src/com/android/settings/homepage/TopLevelSettings.java
index 70530fc..8c122ef 100644
--- a/src/com/android/settings/homepage/TopLevelSettings.java
+++ b/src/com/android/settings/homepage/TopLevelSettings.java
@@ -43,6 +43,7 @@
import com.android.settings.activityembedding.ActivityEmbeddingUtils;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.support.SupportPreferenceController;
import com.android.settings.widget.HomepagePreference;
@@ -157,6 +158,8 @@
public void onStart() {
if (mFirstStarted) {
mFirstStarted = false;
+ FeatureFactory.getFactory(getContext()).getSearchFeatureProvider().sendPreIndexIntent(
+ getContext());
} else if (mIsEmbeddingActivityEnabled && isOnlyOneActivityInTask()
&& !SplitController.getInstance().isActivityEmbedded(getActivity())) {
// Set default highlight menu key for 1-pane homepage since it will show the placeholder
@@ -346,7 +349,9 @@
}
private interface PreferenceJob {
- default void init() {}
+ default void init() {
+ }
+
void doForEach(Preference preference);
}
diff --git a/src/com/android/settings/media/MediaOutputIndicatorWorker.java b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
index 09e0672..bf1e06e 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorWorker.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
@@ -165,6 +165,13 @@
return mPackageName;
}
+ /** Check if this device supports LE Audio Broadcast feature */
+ public boolean isBroadcastSupported() {
+ LocalBluetoothLeBroadcast broadcast =
+ mLocalBluetoothManager.getProfileManager().getLeAudioBroadcastProfile();
+ return broadcast != null ? true : false;
+ }
+
public boolean isDeviceBroadcasting() {
LocalBluetoothLeBroadcast broadcast =
mLocalBluetoothManager.getProfileManager().getLeAudioBroadcastProfile();
diff --git a/src/com/android/settings/media/MediaOutputUtils.java b/src/com/android/settings/media/MediaOutputUtils.java
index 977c517..fcb2fb2 100644
--- a/src/com/android/settings/media/MediaOutputUtils.java
+++ b/src/com/android/settings/media/MediaOutputUtils.java
@@ -64,7 +64,9 @@
+ ", play back type : " + pi.getPlaybackType() + ", play back state : "
+ playbackState.getState());
}
- if (playbackState.getState() != PlaybackState.STATE_PLAYING) {
+ if (playbackState.getState() == PlaybackState.STATE_STOPPED
+ || playbackState.getState() == PlaybackState.STATE_NONE
+ || playbackState.getState() == PlaybackState.STATE_ERROR) {
// do nothing
continue;
}
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index 1c480e0..c5295e6 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -34,6 +34,7 @@
import android.os.Bundle;
import android.os.Handler;
import android.os.PowerManager;
+import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.telephony.TelephonyManager;
@@ -598,10 +599,7 @@
return;
}
- if (mSelectedWifiEntry.isSaved() && mSelectedWifiEntry.getConnectedState()
- != WifiEntry.CONNECTED_STATE_CONNECTED) {
- menu.add(Menu.NONE, MENU_ID_MODIFY, 0 /* order */, R.string.wifi_modify);
- }
+ addModifyMenuIfSuitable(menu, mSelectedWifiEntry);
}
@VisibleForTesting
@@ -621,6 +619,14 @@
}
}
+ @VisibleForTesting
+ void addModifyMenuIfSuitable(ContextMenu menu, WifiEntry wifiEntry) {
+ if (mIsAdmin && wifiEntry.isSaved()
+ && wifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) {
+ menu.add(Menu.NONE, MENU_ID_MODIFY, 0 /* order */, R.string.wifi_modify);
+ }
+ }
+
private boolean canForgetNetwork() {
return mSelectedWifiEntry.canForget() && !WifiUtils.isNetworkLockedDown(getActivity(),
mSelectedWifiEntry.getWifiConfiguration());
@@ -643,6 +649,12 @@
() -> launchWifiDppConfiguratorActivity(mSelectedWifiEntry));
return true;
case MENU_ID_MODIFY:
+ if (!mIsAdmin) {
+ Log.e(TAG, "Can't modify Wi-Fi because the user isn't admin.");
+ EventLog.writeEvent(0x534e4554, "237672190", UserHandle.myUserId(),
+ "User isn't admin");
+ return true;
+ }
showDialog(mSelectedWifiEntry, WifiConfigUiBase2.MODE_MODIFY);
return true;
default:
diff --git a/src/com/android/settings/network/UiccSlotUtil.java b/src/com/android/settings/network/UiccSlotUtil.java
index 7d8295b..7b52680 100644
--- a/src/com/android/settings/network/UiccSlotUtil.java
+++ b/src/com/android/settings/network/UiccSlotUtil.java
@@ -28,7 +28,6 @@
import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.telephony.uicc.UiccController;
import com.android.settingslib.utils.ThreadUtils;
import com.google.common.collect.ImmutableList;
@@ -273,6 +272,7 @@
if (slotId == INVALID_PHYSICAL_SLOT_ID) {
for (int i = 0; i < slots.length; i++) {
if (slots[i].isRemovable()
+ && !slots[i].getIsEuicc()
&& !slots[i].getPorts().stream().findFirst().get().isActive()
&& slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_ERROR
&& slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_RESTRICTED) {
@@ -413,4 +413,29 @@
.findFirst()
.orElse(INVALID_LOGICAL_SLOT_ID);
}
+
+ /**
+ * Return whether the removable psim is enabled.
+ *
+ * @param telMgr is a TelephonyManager.
+ * @return whether the removable psim is enabled.
+ */
+ public static boolean isRemovableSimEnabled(TelephonyManager telMgr) {
+ if (telMgr == null) {
+ return false;
+ }
+ ImmutableList<UiccSlotInfo> slotInfos = UiccSlotUtil.getSlotInfos(telMgr);
+ boolean isRemovableSimEnabled =
+ slotInfos.stream()
+ .anyMatch(
+ slot -> slot != null
+ && slot.isRemovable()
+ && !slot.getIsEuicc()
+ && slot.getPorts().stream().anyMatch(
+ port -> port.isActive())
+ && slot.getCardStateInfo()
+ == UiccSlotInfo.CARD_STATE_INFO_PRESENT);
+ Log.i(TAG, "isRemovableSimEnabled: " + isRemovableSimEnabled);
+ return isRemovableSimEnabled;
+ }
}
diff --git a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
index a878cb3..6fa803d 100644
--- a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
+++ b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
@@ -24,7 +24,6 @@
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.UiccCardInfo;
-import android.telephony.UiccSlotInfo;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
@@ -39,8 +38,6 @@
import com.android.settings.network.UiccSlotUtil;
import com.android.settings.sim.SimActivationNotifier;
-import com.google.common.collect.ImmutableList;
-
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -586,18 +583,7 @@
}
private boolean isRemovableSimEnabled() {
- ImmutableList<UiccSlotInfo> slotInfos = UiccSlotUtil.getSlotInfos(mTelMgr);
- boolean isRemovableSimEnabled =
- slotInfos.stream()
- .anyMatch(
- slot -> slot != null
- && slot.isRemovable()
- && slot.getPorts().stream().anyMatch(
- port -> port.isActive())
- && slot.getCardStateInfo()
- == UiccSlotInfo.CARD_STATE_INFO_PRESENT);
- Log.i(TAG, "isRemovableSimEnabled: " + isRemovableSimEnabled);
- return isRemovableSimEnabled;
+ return UiccSlotUtil.isRemovableSimEnabled(mTelMgr);
}
private boolean isMultipleEnabledProfilesSupported() {
diff --git a/src/com/android/settings/notification/MediaVolumePreferenceController.java b/src/com/android/settings/notification/MediaVolumePreferenceController.java
index 2466b77..0ddba08 100644
--- a/src/com/android/settings/notification/MediaVolumePreferenceController.java
+++ b/src/com/android/settings/notification/MediaVolumePreferenceController.java
@@ -93,7 +93,7 @@
@VisibleForTesting
boolean isSupportEndItem() {
- return isConnectedBLEDevice();
+ return getWorker() != null && getWorker().isBroadcastSupported() && isConnectedBLEDevice();
}
private boolean isConnectedBLEDevice() {
diff --git a/src/com/android/settings/notification/NotificationBackend.java b/src/com/android/settings/notification/NotificationBackend.java
index 150dbe0..68f5d08 100644
--- a/src/com/android/settings/notification/NotificationBackend.java
+++ b/src/com/android/settings/notification/NotificationBackend.java
@@ -126,6 +126,7 @@
if (app.requestedPermissions == null || Arrays.stream(app.requestedPermissions)
.noneMatch(p -> p.equals(android.Manifest.permission.POST_NOTIFICATIONS))) {
row.lockedImportance = true;
+ row.permissionStateLocked = true;
}
}
}
@@ -684,6 +685,9 @@
public boolean systemApp;
public boolean lockedImportance;
public boolean showBadge;
+ // For apps target T but have not but has not requested the permission
+ // we cannot change the permission state
+ public boolean permissionStateLocked;
public int bubblePreference = NotificationManager.BUBBLE_PREFERENCE_NONE;
public int userId;
public int blockedChannelCount;
diff --git a/src/com/android/settings/notification/ShowOnLockScreenNotificationPreferenceController.java b/src/com/android/settings/notification/ShowOnLockScreenNotificationPreferenceController.java
index f7dc391..1addd82 100644
--- a/src/com/android/settings/notification/ShowOnLockScreenNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/ShowOnLockScreenNotificationPreferenceController.java
@@ -23,6 +23,9 @@
import android.os.UserHandle;
import android.provider.Settings;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
import com.android.settings.R;
import com.android.settings.RestrictedListPreference;
import com.android.settings.core.PreferenceControllerMixin;
@@ -34,9 +37,6 @@
import java.util.ArrayList;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
public class ShowOnLockScreenNotificationPreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
@@ -157,6 +157,6 @@
private boolean getLockscreenSilentNotificationsEnabled() {
return Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 1) != 0;
+ Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 0) != 0;
}
}
diff --git a/src/com/android/settings/notification/VibrateIconPreferenceController.java b/src/com/android/settings/notification/VibrateIconPreferenceController.java
index 25d2326..d772b47 100644
--- a/src/com/android/settings/notification/VibrateIconPreferenceController.java
+++ b/src/com/android/settings/notification/VibrateIconPreferenceController.java
@@ -19,6 +19,7 @@
import static com.android.settings.notification.SettingPref.TYPE_SECURE;
import android.content.Context;
+import android.os.Vibrator;
import android.provider.Settings.Secure;
import com.android.settings.SettingsPreferenceFragment;
@@ -27,16 +28,18 @@
public class VibrateIconPreferenceController extends SettingPrefController {
private static final String KEY_VIBRATE_ICON = "vibrate_icon";
+ private final boolean mHasVibrator;
public VibrateIconPreferenceController(Context context, SettingsPreferenceFragment parent,
Lifecycle lifecycle) {
super(context, parent, lifecycle);
+ mHasVibrator = context.getSystemService(Vibrator.class).hasVibrator();
mPreference = new SettingPref(
TYPE_SECURE, KEY_VIBRATE_ICON, Secure.STATUS_BAR_SHOW_VIBRATE_ICON, 0 /*default off*/);
}
@Override
public boolean isAvailable() {
- return true;
+ return mHasVibrator;
}
}
diff --git a/src/com/android/settings/notification/app/NotificationsOffPreferenceController.java b/src/com/android/settings/notification/app/NotificationsOffPreferenceController.java
index 0c7cd23..04e3f0e 100644
--- a/src/com/android/settings/notification/app/NotificationsOffPreferenceController.java
+++ b/src/com/android/settings/notification/app/NotificationsOffPreferenceController.java
@@ -62,6 +62,8 @@
preference.setTitle(R.string.channel_notifications_off_desc);
} else if (mChannelGroup != null) {
preference.setTitle(R.string.channel_group_notifications_off_desc);
+ } else if (mAppRow.permissionStateLocked) {
+ preference.setTitle(R.string.app_notifications_not_send_desc);
} else {
preference.setTitle(R.string.app_notifications_off_desc);
}
diff --git a/src/com/android/settings/panel/PanelFragment.java b/src/com/android/settings/panel/PanelFragment.java
index 04ae311..1ce4492 100644
--- a/src/com/android/settings/panel/PanelFragment.java
+++ b/src/com/android/settings/panel/PanelFragment.java
@@ -60,6 +60,7 @@
import com.google.android.setupdesign.DividerItemDecoration;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
@@ -339,8 +340,13 @@
mSliceLiveData.put(uri, sliceLiveData);
sliceLiveData.observe(getViewLifecycleOwner(), slice -> {
- // If the Slice has already loaded, do nothing.
+
+ // If the Slice has already loaded, refresh list with slice data.
if (mPanelSlicesLoaderCountdownLatch.isSliceLoaded(uri)) {
+ if (mAdapter != null) {
+ int itemIndex = (new ArrayList<>(mSliceLiveData.keySet())).indexOf(uri);
+ mAdapter.notifyItemChanged(itemIndex);
+ }
return;
}
diff --git a/src/com/android/settings/panel/PanelSlicesAdapter.java b/src/com/android/settings/panel/PanelSlicesAdapter.java
index afccc78..d728366 100644
--- a/src/com/android/settings/panel/PanelSlicesAdapter.java
+++ b/src/com/android/settings/panel/PanelSlicesAdapter.java
@@ -84,7 +84,7 @@
@Override
public void onBindViewHolder(@NonNull SliceRowViewHolder sliceRowViewHolder, int position) {
- sliceRowViewHolder.onBind(mSliceLiveData.get(position), position);
+ sliceRowViewHolder.onBind(mSliceLiveData.get(position).getValue());
}
/**
@@ -132,15 +132,14 @@
/**
* Called when the view is displayed.
*/
- public void onBind(LiveData<Slice> sliceLiveData, int position) {
- sliceLiveData.observe(mPanelFragment.getViewLifecycleOwner(), sliceView);
-
- // Do not show the divider above media devices switcher slice per request
- final Slice slice = sliceLiveData.getValue();
-
+ public void onBind(Slice slice) {
// Hides slice which reports with error hint or not contain any slice sub-item.
if (slice == null || !isValidSlice(slice)) {
sliceView.setVisibility(View.GONE);
+ return;
+ } else {
+ sliceView.setSlice(slice);
+ sliceView.setVisibility(View.VISIBLE);
}
// Add divider for the end icon
@@ -154,7 +153,7 @@
.action(0 /* attribution */,
SettingsEnums.ACTION_PANEL_INTERACTION,
mMetricsCategory,
- sliceLiveData.getValue().getUri().getLastPathSegment()
+ slice.getUri().getLastPathSegment()
/* log key */,
eventInfo.actionType /* value */);
})
diff --git a/src/com/android/settings/search/SearchFeatureProvider.java b/src/com/android/settings/search/SearchFeatureProvider.java
index 1785361..b14a4d7 100644
--- a/src/com/android/settings/search/SearchFeatureProvider.java
+++ b/src/com/android/settings/search/SearchFeatureProvider.java
@@ -72,6 +72,12 @@
}
/**
+ * Send the pre-index intent.
+ */
+ default void sendPreIndexIntent(Context context){
+ }
+
+ /**
* Initializes the search toolbar.
*/
default void initSearchToolbar(FragmentActivity activity, Toolbar toolbar, int pageId) {
diff --git a/src/com/android/settings/sound/AudioSwitchPreferenceController.java b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
index 5b70d16..6475257 100644
--- a/src/com/android/settings/sound/AudioSwitchPreferenceController.java
+++ b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
@@ -45,6 +45,7 @@
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.HeadsetProfile;
import com.android.settingslib.bluetooth.HearingAidProfile;
+import com.android.settingslib.bluetooth.LeAudioProfile;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -52,6 +53,7 @@
import com.android.settingslib.core.lifecycle.events.OnStop;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
@@ -215,6 +217,41 @@
}
/**
+ * Get LE Audio profile connected devices
+ */
+ protected List<BluetoothDevice> getConnectedLeAudioDevices() {
+ final List<BluetoothDevice> connectedDevices = new ArrayList<>();
+ final LeAudioProfile leAudioProfile = mProfileManager.getLeAudioProfile();
+ if (leAudioProfile == null) {
+ Log.d(TAG, "LeAudioProfile is null");
+ return connectedDevices;
+ }
+ final List<BluetoothDevice> devices = leAudioProfile.getConnectedDevices();
+ for (BluetoothDevice device : devices) {
+ if (device.isConnected() && isDeviceInCachedList(device)) {
+ connectedDevices.add(device);
+ }
+ }
+ return connectedDevices;
+ }
+
+ /**
+ * Confirm if the device exists in the cached devices list. If return true, it means
+ * the device is main device in the LE Audio device group. Otherwise, the device is the member
+ * device in the group.
+ */
+ protected boolean isDeviceInCachedList(BluetoothDevice device) {
+ Collection<CachedBluetoothDevice> cachedDevices =
+ mLocalBluetoothManager.getCachedDeviceManager().getCachedDevicesCopy();
+ for (CachedBluetoothDevice cachedDevice : cachedDevices) {
+ if (cachedDevice.getDevice().equals(device)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
* get hearing aid profile connected device, exclude other devices with same hiSyncId.
*/
protected List<BluetoothDevice> getConnectedHearingAidDevices() {
@@ -260,6 +297,24 @@
}
/**
+ * Find active LE Audio device
+ */
+ protected BluetoothDevice findActiveLeAudioDevice() {
+ final LeAudioProfile leAudioProfile = mProfileManager.getLeAudioProfile();
+
+ if (leAudioProfile != null) {
+ List<BluetoothDevice> activeDevices = leAudioProfile.getActiveDevices();
+ for (BluetoothDevice leAudioDevice : activeDevices) {
+ if (leAudioDevice != null) {
+ return leAudioDevice;
+ }
+ }
+ }
+ Log.d(TAG, "There is no LE audio profile or no active LE audio device");
+ return null;
+ }
+
+ /**
* Find the active device from the corresponding profile.
*
* @return the active device. Return null if the
diff --git a/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java b/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
index 15f47cf..35cc65f 100644
--- a/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
+++ b/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
@@ -103,6 +103,7 @@
mConnectedDevices.clear();
mConnectedDevices.addAll(getConnectedHfpDevices());
mConnectedDevices.addAll(getConnectedHearingAidDevices());
+ mConnectedDevices.addAll(getConnectedLeAudioDevices());
final int numDevices = mConnectedDevices.size();
if (numDevices == 0) {
@@ -181,12 +182,22 @@
@Override
public BluetoothDevice findActiveDevice() {
- BluetoothDevice activeDevice = findActiveHearingAidDevice();
+ BluetoothDevice haActiveDevice = findActiveHearingAidDevice();
+ BluetoothDevice leAudioActiveDevice = findActiveLeAudioDevice();
final HeadsetProfile headsetProfile = mProfileManager.getHeadsetProfile();
- if (activeDevice == null && headsetProfile != null) {
- activeDevice = headsetProfile.getActiveDevice();
+ if (haActiveDevice != null) {
+ return haActiveDevice;
}
- return activeDevice;
+
+ if (leAudioActiveDevice != null) {
+ return leAudioActiveDevice;
+ }
+
+ if (headsetProfile != null && headsetProfile.getActiveDevice() != null) {
+ return headsetProfile.getActiveDevice();
+ }
+
+ return null;
}
}
diff --git a/src/com/android/settings/sound/MediaOutputPreferenceController.java b/src/com/android/settings/sound/MediaOutputPreferenceController.java
index 4ec00e3..758f7e3 100644
--- a/src/com/android/settings/sound/MediaOutputPreferenceController.java
+++ b/src/com/android/settings/sound/MediaOutputPreferenceController.java
@@ -88,9 +88,11 @@
// Find active device and set its name as the preference's summary
List<BluetoothDevice> connectedA2dpDevices = getConnectedA2dpDevices();
List<BluetoothDevice> connectedHADevices = getConnectedHearingAidDevices();
+ List<BluetoothDevice> connectedLeAudioDevices = getConnectedLeAudioDevices();
if (mAudioManager.getMode() == AudioManager.MODE_NORMAL
&& ((connectedA2dpDevices != null && !connectedA2dpDevices.isEmpty())
- || (connectedHADevices != null && !connectedHADevices.isEmpty()))) {
+ || (connectedHADevices != null && !connectedHADevices.isEmpty())
+ || (connectedLeAudioDevices != null && !connectedLeAudioDevices.isEmpty()))) {
activeDevice = findActiveDevice();
}
mPreference.setTitle(mContext.getString(R.string.media_output_label_title,
@@ -103,13 +105,23 @@
@Override
public BluetoothDevice findActiveDevice() {
- BluetoothDevice activeDevice = findActiveHearingAidDevice();
+ BluetoothDevice haActiveDevice = findActiveHearingAidDevice();
+ BluetoothDevice leAudioActiveDevice = findActiveLeAudioDevice();
final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
- if (activeDevice == null && a2dpProfile != null) {
- activeDevice = a2dpProfile.getActiveDevice();
+ if (haActiveDevice != null) {
+ return haActiveDevice;
}
- return activeDevice;
+
+ if (leAudioActiveDevice != null) {
+ return leAudioActiveDevice;
+ }
+
+ if (a2dpProfile != null && a2dpProfile.getActiveDevice() != null) {
+ return a2dpProfile.getActiveDevice();
+ }
+
+ return null;
}
/**
diff --git a/src/com/android/settings/wifi/WifiUtils.java b/src/com/android/settings/wifi/WifiUtils.java
index 4b94c81..a9010ac 100644
--- a/src/com/android/settings/wifi/WifiUtils.java
+++ b/src/com/android/settings/wifi/WifiUtils.java
@@ -22,14 +22,20 @@
import android.content.Context;
import android.content.pm.PackageManager;
import android.net.NetworkCapabilities;
+import android.net.TetheringManager;
import android.net.wifi.ScanResult;
import android.net.wifi.SoftApConfiguration;
import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.text.TextUtils;
+import android.util.Log;
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
import com.android.settings.Utils;
import com.android.wifitrackerlib.WifiEntry;
@@ -38,12 +44,16 @@
/** A utility class for Wi-Fi functions. */
public class WifiUtils extends com.android.settingslib.wifi.WifiUtils {
+ static final String TAG = "WifiUtils";
+
private static final int SSID_ASCII_MIN_LENGTH = 1;
private static final int SSID_ASCII_MAX_LENGTH = 32;
private static final int PSK_PASSPHRASE_ASCII_MIN_LENGTH = 8;
private static final int PSK_PASSPHRASE_ASCII_MAX_LENGTH = 63;
+ private static Boolean sCanShowWifiHotspotCached;
+
public static boolean isSSIDTooLong(String ssid) {
if (TextUtils.isEmpty(ssid)) {
return false;
@@ -240,4 +250,62 @@
return WifiEntry.SECURITY_NONE;
}
+
+ /**
+ * Check if Wi-Fi hotspot settings can be displayed.
+ *
+ * @param context Context of caller
+ * @return true if Wi-Fi hotspot settings can be displayed
+ */
+ public static boolean checkShowWifiHotspot(Context context) {
+ if (context == null) return false;
+
+ boolean showWifiHotspotSettings =
+ context.getResources().getBoolean(R.bool.config_show_wifi_hotspot_settings);
+ if (!showWifiHotspotSettings) {
+ Log.w(TAG, "config_show_wifi_hotspot_settings:false");
+ return false;
+ }
+
+ WifiManager wifiManager = context.getSystemService(WifiManager.class);
+ if (wifiManager == null) {
+ Log.e(TAG, "WifiManager is null");
+ return false;
+ }
+
+ TetheringManager tetheringManager = context.getSystemService(TetheringManager.class);
+ if (tetheringManager == null) {
+ Log.e(TAG, "TetheringManager is null");
+ return false;
+ }
+ String[] wifiRegexs = tetheringManager.getTetherableWifiRegexs();
+ if (wifiRegexs == null || wifiRegexs.length == 0) {
+ Log.w(TAG, "TetherableWifiRegexs is empty");
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Return the cached result to see if Wi-Fi hotspot settings can be displayed.
+ *
+ * @param context Context of caller
+ * @return true if Wi-Fi hotspot settings can be displayed
+ */
+ public static boolean canShowWifiHotspot(Context context) {
+ if (sCanShowWifiHotspotCached == null) {
+ sCanShowWifiHotspotCached = checkShowWifiHotspot(context);
+ }
+ return sCanShowWifiHotspotCached;
+ }
+
+ /**
+ * Sets the sCanShowWifiHotspotCached for testing purposes.
+ *
+ * @param cached Cached value for #canShowWifiHotspot()
+ */
+ @VisibleForTesting
+ public static void setCanShowWifiHotspotCached(Boolean cached) {
+ sCanShowWifiHotspotCached = cached;
+ }
}
diff --git a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
index 73ff31d..a9c3559 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
@@ -16,9 +16,10 @@
package com.android.settings.wifi.tether;
+import static com.android.settings.wifi.WifiUtils.canShowWifiHotspot;
+
import android.annotation.NonNull;
import android.content.Context;
-import android.net.TetheringManager;
import android.net.wifi.SoftApConfiguration;
import android.net.wifi.WifiClient;
import android.net.wifi.WifiManager;
@@ -46,7 +47,6 @@
private static final String WIFI_TETHER_SETTINGS = "wifi_tether";
- private boolean mIsWifiTetherable;
private WifiManager mWifiManager;
private boolean mIsWifiTetheringAllow;
private int mSoftApState;
@@ -57,8 +57,7 @@
public WifiTetherPreferenceController(Context context, Lifecycle lifecycle) {
this(context, lifecycle,
- context.getSystemService(WifiManager.class),
- context.getSystemService(TetheringManager.class),
+ context.getApplicationContext().getSystemService(WifiManager.class),
true /* initSoftApManager */,
WifiEnterpriseRestrictionUtils.isWifiTetheringAllowed(context));
}
@@ -68,15 +67,9 @@
Context context,
Lifecycle lifecycle,
WifiManager wifiManager,
- TetheringManager tetheringManager,
boolean initSoftApManager,
boolean isWifiTetheringAllow) {
super(context);
- final String[] wifiRegexs = tetheringManager.getTetherableWifiRegexs();
- if (wifiRegexs != null && wifiRegexs.length != 0) {
- mIsWifiTetherable = true;
- }
-
mIsWifiTetheringAllow = isWifiTetheringAllow;
if (!isWifiTetheringAllow) return;
@@ -92,7 +85,7 @@
@Override
public boolean isAvailable() {
- return mIsWifiTetherable && !Utils.isMonkeyRunning();
+ return canShowWifiHotspot(mContext) && !Utils.isMonkeyRunning();
}
@Override
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index e6b4bd6..a7ce16f 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -18,6 +18,8 @@
import static android.net.wifi.WifiManager.WIFI_AP_STATE_CHANGED_ACTION;
+import static com.android.settings.wifi.WifiUtils.canShowWifiHotspot;
+
import android.app.settings.SettingsEnums;
import android.content.BroadcastReceiver;
import android.content.Context;
@@ -39,6 +41,7 @@
import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.widget.SettingsMainSwitchBar;
+import com.android.settings.wifi.WifiUtils;
import com.android.settingslib.TetherUtil;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.search.SearchIndexable;
@@ -107,6 +110,13 @@
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ if (!canShowWifiHotspot(getContext())) {
+ Log.e(TAG, "can not launch Wi-Fi hotspot settings"
+ + " because the config is not set to show.");
+ finish();
+ return;
+ }
+
setIfOnlyAvailableForAdmins(true);
mUnavailable = isUiRestricted() || !mWifiRestriction.isHotspotAvailable(getContext());
}
@@ -283,12 +293,12 @@
@Override
protected boolean isPageSearchEnabled(Context context) {
+ if (context == null || !WifiUtils.canShowWifiHotspot(context)) return false;
return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
}
@Override
- public List<AbstractPreferenceController> createPreferenceControllers(
- Context context) {
+ public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
return buildPreferenceControllers(context, null /* listener */);
}
}
diff --git a/tests/robotests/src/com/android/settings/TetherSettingsTest.java b/tests/robotests/src/com/android/settings/TetherSettingsTest.java
index 71cb9d2..79814b3 100644
--- a/tests/robotests/src/com/android/settings/TetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/TetherSettingsTest.java
@@ -20,6 +20,8 @@
import static android.content.Intent.ACTION_MEDIA_UNSHARED;
import static android.hardware.usb.UsbManager.ACTION_USB_STATE;
+import static com.android.settings.wifi.WifiUtils.setCanShowWifiHotspotCached;
+
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
@@ -93,6 +95,7 @@
any(String.class), anyInt(), any(UserHandle.class));
setupIsTetherAvailable(true);
+ setCanShowWifiHotspotCached(true);
when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[0]);
@@ -124,6 +127,16 @@
}
@Test
+ public void getNonIndexableKeys_canNotShowWifiHotspot_containsWifiTether() {
+ setCanShowWifiHotspotCached(false);
+ setupIsTetherAvailable(true);
+
+ List<String> keys = TetherSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
+
+ assertThat(keys).contains(TetherSettings.KEY_WIFI_TETHER);
+ }
+
+ @Test
public void testTetherNonIndexableKeys_usbNotAvailable_usbKeyReturned() {
when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
diff --git a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
new file mode 100644
index 0000000..ac8008d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
@@ -0,0 +1,358 @@
+/*
+ * 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.biometrics.combination;
+
+import static com.android.settings.biometrics.combination.BiometricsSettingsBase.CONFIRM_REQUEST;
+import static com.android.settings.password.ChooseLockPattern.RESULT_FINISHED;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.content.Intent;
+import android.hardware.face.FaceManager;
+import android.hardware.fingerprint.FingerprintManager;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.XmlRes;
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowFragment;
+import com.android.settings.testutils.shadow.ShadowSettingsPreferenceFragment;
+import com.android.settings.testutils.shadow.ShadowUtils;
+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.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowSettingsPreferenceFragment.class, ShadowUtils.class, ShadowFragment.class})
+public class CombinedBiometricProfileSettingsTest {
+
+ private TestCombinedBiometricProfileSettings mFragment;
+ private Context mContext;
+
+ @Rule
+ public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ @Captor
+ private ArgumentCaptor<Preference> mPreferenceCaptor;
+ @Mock
+ private FingerprintManager mFingerprintManager;
+ @Mock
+ private BiometricSettingsAppPreferenceController mBiometricSettingsAppPreferenceController;
+ @Mock
+ private FaceManager mFaceManager;
+
+ @Before
+ public void setUp() {
+ ShadowUtils.setFingerprintManager(mFingerprintManager);
+ ShadowUtils.setFaceManager(mFaceManager);
+ FakeFeatureFactory.setupForTest();
+
+ FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class,
+ new Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L)).get();
+ mContext = spy(ApplicationProvider.getApplicationContext());
+ mFragment = spy(new TestCombinedBiometricProfileSettings(mContext));
+ doReturn(activity).when(mFragment).getActivity();
+
+ ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
+ FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
+
+ final Map<Class<?>, List<AbstractPreferenceController>> preferenceControllers =
+ ReflectionHelpers.getField(mFragment, "mPreferenceControllers");
+ List<AbstractPreferenceController> controllerList = new ArrayList<>();
+ controllerList.add(mBiometricSettingsAppPreferenceController);
+ preferenceControllers.put(BiometricSettingsAppPreferenceController.class, controllerList);
+
+ doAnswer(invocation -> {
+ final CharSequence key = invocation.getArgument(0);
+ final Preference preference = new Preference(mContext);
+ preference.setKey(key.toString());
+ return preference;
+ }).when(mFragment).findPreference(any());
+ }
+
+ @Test
+ public void testClickFingerprintUnlockWithValidGkPwHandle() {
+ doAnswer(invocation -> {
+ final FingerprintManager.GenerateChallengeCallback callback =
+ invocation.getArgument(1);
+ callback.onChallengeGenerated(0, 0, 1L);
+ return null;
+ }).when(mFingerprintManager).generateChallenge(anyInt(), any());
+ doReturn(new byte[] { 1 }).when(mFragment).requestGatekeeperHat(any(), anyLong(), anyInt(),
+ anyLong());
+
+ // Start fragment
+ mFragment.onAttach(mContext);
+ mFragment.onCreate(null);
+ mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+ mFragment.onResume();
+
+ // User clicks on "Fingerprint Unlock"
+ final Preference preference = new Preference(mContext);
+ preference.setKey(mFragment.getFingerprintPreferenceKey());
+ mFragment.onPreferenceTreeClick(preference);
+
+ verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+ mPreferenceCaptor.capture());
+ List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
+
+ assertThat(capturedPreferences.size()).isEqualTo(1);
+ assertThat(capturedPreferences.get(0).getKey())
+ .isEqualTo(mFragment.getFingerprintPreferenceKey());
+ }
+
+ @Test
+ public void testClickFingerprintUnlockIfGkPwHandleTimeout() {
+ doAnswer(invocation -> {
+ final FingerprintManager.GenerateChallengeCallback callback =
+ invocation.getArgument(1);
+ callback.onChallengeGenerated(0, 0, 1L);
+ return null;
+ }).when(mFingerprintManager).generateChallenge(anyInt(), any());
+ doThrow(new IllegalStateException("Test")).when(mFragment).requestGatekeeperHat(any(),
+ anyLong(), anyInt(), anyLong());
+
+ // Start fragment
+ mFragment.onAttach(mContext);
+ mFragment.onCreate(null);
+ mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+ mFragment.onResume();
+
+ // User clicks on "Fingerprint Unlock"
+ final Preference preference = new Preference(mContext);
+ preference.setKey(mFragment.getFingerprintPreferenceKey());
+ mFragment.onPreferenceTreeClick(preference);
+
+ verify(mFragment).launchChooseOrConfirmLock();
+ }
+
+ @Test
+ public void testActivityResultLaunchFingerprintUnlock() {
+ doAnswer(invocation -> {
+ final FingerprintManager.GenerateChallengeCallback callback =
+ invocation.getArgument(1);
+ callback.onChallengeGenerated(0, 0, 1L);
+ return null;
+ }).when(mFingerprintManager).generateChallenge(anyInt(), any());
+ doReturn(new byte[] { 1 }).when(mFragment).requestGatekeeperHat(any(), anyLong(), anyInt(),
+ anyLong());
+
+ // Start fragment
+ mFragment.onAttach(mContext);
+ final Bundle bundle = new Bundle();
+ bundle.putString(BiometricsSettingsBase.RETRY_PREFERENCE_KEY,
+ mFragment.getFingerprintPreferenceKey());
+ final Bundle retryBundle = new Bundle();
+ bundle.putBundle(BiometricsSettingsBase.RETRY_PREFERENCE_BUNDLE, retryBundle);
+ mFragment.onCreate(bundle);
+ mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+ mFragment.onResume();
+
+ // onActivityResult
+ mFragment.onActivityResult(CONFIRM_REQUEST, RESULT_FINISHED,
+ new Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L));
+
+ verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+ mPreferenceCaptor.capture());
+ List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
+ assertThat(capturedPreferences.size()).isEqualTo(1);
+ assertThat(capturedPreferences.get(0).getKey())
+ .isEqualTo(mFragment.getFingerprintPreferenceKey());
+ }
+
+ @Test
+ public void testClickFaceUnlock() {
+ doAnswer(invocation -> {
+ final FaceManager.GenerateChallengeCallback callback =
+ invocation.getArgument(1);
+ callback.onGenerateChallengeResult(0, 0, 1L);
+ return null;
+ }).when(mFaceManager).generateChallenge(anyInt(), any());
+ doReturn(new byte[] { 1 }).when(mFragment).requestGatekeeperHat(any(), anyLong(), anyInt(),
+ anyLong());
+
+ // Start fragment
+ mFragment.onAttach(mContext);
+ mFragment.onCreate(null);
+ mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+ mFragment.onResume();
+
+ // User clicks on "Face Unlock"
+ final Preference preference = new Preference(mContext);
+ preference.setKey(mFragment.getFacePreferenceKey());
+ mFragment.onPreferenceTreeClick(preference);
+
+ verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+ mPreferenceCaptor.capture());
+ List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
+ assertThat(capturedPreferences.size()).isEqualTo(1);
+ assertThat(capturedPreferences.get(0).getKey()).isEqualTo(mFragment.getFacePreferenceKey());
+ }
+
+ @Test
+ public void testClickFaceUnlockIfGkPwHandleTimeout() {
+ doAnswer(invocation -> {
+ final FaceManager.GenerateChallengeCallback callback =
+ invocation.getArgument(1);
+ callback.onGenerateChallengeResult(0, 0, 1L);
+ return null;
+ }).when(mFaceManager).generateChallenge(anyInt(), any());
+ doThrow(new IllegalStateException("Test")).when(mFragment).requestGatekeeperHat(any(),
+ anyLong(), anyInt(), anyLong());
+
+ // Start fragment
+ mFragment.onAttach(mContext);
+ mFragment.onCreate(null);
+ mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+ mFragment.onResume();
+
+ // User clicks on "Face Unlock"
+ final Preference preference = new Preference(mContext);
+ preference.setKey(mFragment.getFacePreferenceKey());
+ mFragment.onPreferenceTreeClick(preference);
+
+ verify(mFragment).launchChooseOrConfirmLock();
+ }
+
+ @Test
+ public void testActivityResultLaunchFaceUnlock() {
+ doAnswer(invocation -> {
+ final FaceManager.GenerateChallengeCallback callback =
+ invocation.getArgument(1);
+ callback.onGenerateChallengeResult(0, 0, 1L);
+ return null;
+ }).when(mFaceManager).generateChallenge(anyInt(), any());
+ doReturn(new byte[] { 1 }).when(mFragment).requestGatekeeperHat(any(), anyLong(), anyInt(),
+ anyLong());
+
+ // Start fragment
+ mFragment.onAttach(mContext);
+ final Bundle bundle = new Bundle();
+ bundle.putString(BiometricsSettingsBase.RETRY_PREFERENCE_KEY,
+ mFragment.getFingerprintPreferenceKey());
+ final Bundle retryBundle = new Bundle();
+ bundle.putBundle(BiometricsSettingsBase.RETRY_PREFERENCE_BUNDLE, retryBundle);
+ mFragment.onCreate(bundle);
+ mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+ mFragment.onResume();
+
+ // User clicks on "Face Unlock"
+ final Preference preference = new Preference(mContext);
+ preference.setKey(mFragment.getFacePreferenceKey());
+ mFragment.onPreferenceTreeClick(preference);
+
+ verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+ mPreferenceCaptor.capture());
+ List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
+ assertThat(capturedPreferences.size()).isEqualTo(1);
+ assertThat(capturedPreferences.get(0).getKey()).isEqualTo(mFragment.getFacePreferenceKey());
+ }
+
+ /**
+ * a test fragment that initializes PreferenceScreen for testing.
+ */
+ static class TestCombinedBiometricProfileSettings extends CombinedBiometricProfileSettings {
+
+ private final Context mContext;
+ private final PreferenceManager mPreferenceManager;
+
+ TestCombinedBiometricProfileSettings(Context context) {
+ super();
+ mContext = context;
+ mPreferenceManager = new PreferenceManager(context);
+ mPreferenceManager.setPreferences(mPreferenceManager.createPreferenceScreen(context));
+ setArguments(new Bundle());
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ return 0;
+ }
+
+ @Override
+ public int getPreferenceScreenResId() {
+ return R.xml.placeholder_prefs;
+ }
+
+ @Override
+ public PreferenceScreen getPreferenceScreen() {
+ return mPreferenceManager.getPreferenceScreen();
+ }
+
+ @Override
+ public PreferenceManager getPreferenceManager() {
+ return mPreferenceManager;
+ }
+
+ @Override
+ public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
+ // do nothing
+ }
+
+ @Override
+ public void addPreferencesFromResource(@XmlRes int preferencesResId) {
+ // do nothing
+ }
+
+ @Override
+ public Context getContext() {
+ return mContext;
+ }
+
+ @Override
+ protected void launchChooseOrConfirmLock() {
+ // do nothing
+ }
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java
index b9692cf..77a6b02 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java
@@ -31,6 +31,7 @@
import android.os.UserManager;
import android.provider.Settings;
+import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedSwitchPreference;
@@ -65,6 +66,9 @@
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
+ ShadowUtils.setFaceManager(mFaceManager);
+ FakeFeatureFactory.setupForTest();
+
mContext = spy(RuntimeEnvironment.application);
when(mContext.getSystemService(eq(Context.FACE_SERVICE))).thenReturn(mFaceManager);
when(mContext.getPackageManager()).thenReturn(mPackageManager);
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
index a9f4182..b049b7b 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
@@ -18,6 +18,7 @@
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON;
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
+import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UNKNOWN;
import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.KEY_STATE_PREVIOUS_ROTATION;
import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_NO_ANIMATION;
@@ -35,6 +36,8 @@
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.mock;
+
import android.content.Context;
import android.content.res.ColorStateList;
@@ -52,6 +55,8 @@
import android.view.Surface;
import android.widget.TextView;
+import androidx.annotation.Nullable;
+
import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.widget.RingProgressBar;
@@ -59,7 +64,6 @@
import com.airbnb.lottie.LottieAnimationView;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -100,16 +104,39 @@
}
@Test
- @Ignore
public void fingerprintEnrollHelp_shouldShowHelpText() {
- EnrollmentCallback enrollmentCallback = verifyAndCaptureEnrollmentCallback();
+ initializeActivityFor(TYPE_UNKNOWN);
+ TestFingerprintEnrollSidecar sidecar = new TestFingerprintEnrollSidecar();
+ Resources resources = mock(Resources.class);
+ doReturn(resources).when(mContext).getResources();
+ when(resources.getIntArray(R.array.fingerprint_acquired_ignore_list))
+ .thenReturn(new int[]{3});
- enrollmentCallback.onEnrollmentProgress(123);
- enrollmentCallback.onEnrollmentHelp(
- FingerprintManager.FINGERPRINT_ERROR_UNABLE_TO_PROCESS, "test enrollment help");
+ sidecar.setListener(mActivity);
+ sidecar.onAttach(mActivity);
+ sidecar.mEnrollmentCallback.onEnrollmentHelp(5,
+ "Help message should be displayed.");
TextView errorText = mActivity.findViewById(R.id.error_text);
- assertThat(errorText.getText()).isEqualTo("test enrollment help");
+ assertThat(errorText.getText()).isEqualTo("Help message should be displayed.");
+ }
+
+ @Test
+ public void fingerprintEnrollHelp_shouldNotShowHelpText() {
+ initializeActivityFor(TYPE_UNKNOWN);
+ TestFingerprintEnrollSidecar sidecar = new TestFingerprintEnrollSidecar();
+ Resources resources = mock(Resources.class);
+ doReturn(resources).when(mContext).getResources();
+ when(resources.getIntArray(R.array.fingerprint_acquired_ignore_list))
+ .thenReturn(new int[]{3});
+
+ sidecar.setListener(mActivity);
+ sidecar.onAttach(mActivity);
+ sidecar.mEnrollmentCallback.onEnrollmentHelp(3,
+ "Help message should not be displayed.");
+
+ TextView errorText = mActivity.findViewById(R.id.error_text);
+ assertThat(errorText.getText()).isEqualTo("");
}
@Test
@@ -319,4 +346,12 @@
return callbackCaptor.getValue();
}
+
+ private class TestFingerprintEnrollSidecar extends FingerprintEnrollSidecar {
+ @Nullable
+ @Override
+ public Context getContext() {
+ return mContext;
+ }
+ }
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/dream/DreamSettingsTest.java b/tests/robotests/src/com/android/settings/dream/DreamSettingsTest.java
index a554564..c1cc6ae 100644
--- a/tests/robotests/src/com/android/settings/dream/DreamSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/dream/DreamSettingsTest.java
@@ -29,33 +29,40 @@
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import java.util.Arrays;
import java.util.List;
-import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class DreamSettingsTest {
private static final List<String> KEYS = Arrays.asList(
- DreamSettings.WHILE_CHARGING_ONLY,
- DreamSettings.WHILE_DOCKED_ONLY,
- DreamSettings.EITHER_CHARGING_OR_DOCKED,
- DreamSettings.NEVER_DREAM
+ DreamSettings.WHILE_CHARGING_ONLY,
+ DreamSettings.WHILE_DOCKED_ONLY,
+ DreamSettings.EITHER_CHARGING_OR_DOCKED,
+ DreamSettings.NEVER_DREAM
);
private static final @WhenToDream int[] SETTINGS = {
- DreamBackend.WHILE_CHARGING,
- DreamBackend.WHILE_DOCKED,
- DreamBackend.EITHER,
- DreamBackend.NEVER,
+ DreamBackend.WHILE_CHARGING,
+ DreamBackend.WHILE_DOCKED,
+ DreamBackend.EITHER,
+ DreamBackend.NEVER,
};
private static final int[] RES_IDS = {
- R.string.screensaver_settings_summary_sleep,
- R.string.screensaver_settings_summary_dock,
- R.string.screensaver_settings_summary_either_long,
- R.string.screensaver_settings_summary_never
+ R.string.screensaver_settings_summary_sleep,
+ R.string.screensaver_settings_summary_dock,
+ R.string.screensaver_settings_summary_either_long,
+ R.string.screensaver_settings_summary_never
+ };
+
+ private static final int[] RES_IDS_NO_BATTERY = {
+ R.string.screensaver_settings_summary_sleep,
+ R.string.screensaver_settings_summary_dock_and_charging,
+ R.string.screensaver_settings_summary_either_long,
+ R.string.screensaver_settings_summary_never
};
@Test
@@ -81,11 +88,17 @@
@Test
public void getDreamSettingDescriptionResId() {
for (int i = 0; i < SETTINGS.length; i++) {
- assertThat(DreamSettings.getDreamSettingDescriptionResId(SETTINGS[i]))
+ assertThat(DreamSettings.getDreamSettingDescriptionResId(
+ SETTINGS[i], /* enabledOnBattery= */ false))
+ .isEqualTo(RES_IDS_NO_BATTERY[i]);
+ assertThat(DreamSettings.getDreamSettingDescriptionResId(
+ SETTINGS[i], /* enabledOnBattery= */ true))
.isEqualTo(RES_IDS[i]);
}
// Default
- assertThat(DreamSettings.getDreamSettingDescriptionResId(-1))
+ assertThat(DreamSettings.getDreamSettingDescriptionResId(-1, /* enabledOnBattery= */ false))
+ .isEqualTo(R.string.screensaver_settings_summary_never);
+ assertThat(DreamSettings.getDreamSettingDescriptionResId(-1, /* enabledOnBattery= */ true))
.isEqualTo(R.string.screensaver_settings_summary_never);
}
diff --git a/tests/robotests/src/com/android/settings/dream/WhenToDreamPickerTest.java b/tests/robotests/src/com/android/settings/dream/WhenToDreamPickerTest.java
index 16f8599..91ec299 100644
--- a/tests/robotests/src/com/android/settings/dream/WhenToDreamPickerTest.java
+++ b/tests/robotests/src/com/android/settings/dream/WhenToDreamPickerTest.java
@@ -28,6 +28,7 @@
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settingslib.dream.DreamBackend;
import org.junit.Before;
@@ -37,9 +38,11 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
+@Config(shadows = SettingsShadowResources.class)
public class WhenToDreamPickerTest {
private WhenToDreamPicker mPicker;
@@ -53,10 +56,15 @@
MockitoAnnotations.initMocks(this);
final Context context = spy(ApplicationProvider.getApplicationContext());
+ SettingsShadowResources.overrideResource(
+ com.android.internal.R.bool.config_dreamsEnabledOnBattery,
+ true);
+
when(context.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
FakeFeatureFactory.setupForTest();
- mPicker = new WhenToDreamPicker();
+ mPicker = spy(new WhenToDreamPicker());
+ when(mPicker.getContext()).thenReturn(context);
mPicker.onAttach(context);
ReflectionHelpers.setField(mPicker, "mBackend", mBackend);
diff --git a/tests/robotests/src/com/android/settings/dream/WhenToDreamPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/dream/WhenToDreamPreferenceControllerTest.java
index 3305cde..6e687bb 100644
--- a/tests/robotests/src/com/android/settings/dream/WhenToDreamPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/dream/WhenToDreamPreferenceControllerTest.java
@@ -16,15 +16,24 @@
package com.android.settings.dream;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.mock;
+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.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.os.PowerManager;
import androidx.preference.Preference;
import androidx.test.core.app.ApplicationProvider;
+import com.android.settings.R;
+import com.android.settings.display.AmbientDisplayAlwaysOnPreferenceController;
import com.android.settingslib.dream.DreamBackend;
import com.android.settingslib.dream.DreamBackend.WhenToDream;
@@ -38,32 +47,64 @@
@RunWith(RobolectricTestRunner.class)
public class WhenToDreamPreferenceControllerTest {
+ private static final String TEST_PACKAGE = "com.android.test";
private WhenToDreamPreferenceController mController;
private Context mContext;
@Mock
private DreamBackend mBackend;
+ @Mock
+ private PowerManager mPowerManager;
+ @Mock
+ private PackageManager mPackageManager;
+ @Mock
+ private ApplicationInfo mApplicationInfo;
@Before
- public void setup() {
+ public void setup() throws Exception {
MockitoAnnotations.initMocks(this);
- mContext = ApplicationProvider.getApplicationContext();
- mController = new WhenToDreamPreferenceController(mContext);
+ mContext = spy(ApplicationProvider.getApplicationContext());
+ mController = new WhenToDreamPreferenceController(mContext, true, true);
ReflectionHelpers.setField(mController, "mBackend", mBackend);
+ when(mContext.getSystemService(PowerManager.class)).thenReturn(mPowerManager);
+ when(mPowerManager.isAmbientDisplaySuppressedForTokenByApp(anyString(), anyInt()))
+ .thenReturn(false);
+
+ mApplicationInfo.uid = 1;
+ when(mContext.getString(
+ com.android.internal.R.string.config_defaultWellbeingPackage)).thenReturn(
+ TEST_PACKAGE);
+
+ when(mContext.getPackageManager()).thenReturn(mPackageManager);
+ when(mPackageManager.getApplicationInfo(TEST_PACKAGE, /* flag= */ 0)).thenReturn(
+ mApplicationInfo);
}
@Test
- public void updateSummary() {
+ public void testUpdateSummary() {
// Don't have to test the other settings because DreamSettings tests that all
// @WhenToDream values map to the correct ResId
final @WhenToDream int testSetting = DreamBackend.WHILE_CHARGING;
final Preference mockPref = mock(Preference.class);
when(mockPref.getContext()).thenReturn(mContext);
when(mBackend.getWhenToDreamSetting()).thenReturn(testSetting);
- final String expectedString =
- mContext.getString(DreamSettings.getDreamSettingDescriptionResId(testSetting));
+ final int expectedResId = DreamSettings.getDreamSettingDescriptionResId(testSetting, true);
mController.updateState(mockPref);
- verify(mockPref).setSummary(expectedString);
+ verify(mockPref).setSummary(expectedResId);
+ }
+
+ @Test
+ public void testBedtimeModeSuppression() {
+ final Preference mockPref = mock(Preference.class);
+ when(mockPref.getContext()).thenReturn(mContext);
+ when(mBackend.getWhenToDreamSetting()).thenReturn(DreamBackend.WHILE_CHARGING);
+ when(mPowerManager.isAmbientDisplaySuppressedForTokenByApp(anyString(), anyInt()))
+ .thenReturn(true);
+
+ assertTrue(AmbientDisplayAlwaysOnPreferenceController.isAodSuppressedByBedtime(mContext));
+
+ mController.updateState(mockPref);
+ verify(mockPref).setSummary(R.string.screensaver_settings_when_to_dream_bedtime);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
index 26e0f50..9fbcb16 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
@@ -18,6 +18,8 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.anyFloat;
+import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.atLeastOnce;
@@ -36,6 +38,7 @@
import android.os.LocaleList;
import android.text.format.DateUtils;
import android.view.View;
+import android.view.ViewPropertyAnimator;
import android.widget.LinearLayout;
import androidx.preference.Preference;
@@ -85,6 +88,8 @@
@Mock
private BatteryChartView mHourlyChartView;
@Mock
+ private ViewPropertyAnimator mViewPropertyAnimator;
+ @Mock
private PowerGaugePreference mPowerGaugePreference;
@Mock
private BatteryUtils mBatteryUtils;
@@ -116,6 +121,7 @@
.when(mFeatureFactory.powerUsageFeatureProvider)
.getHideApplicationEntries(mContext);
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
+ setupHourlyChartViewAnimationMock();
mBatteryChartPreferenceController = createController();
mBatteryChartPreferenceController.mPrefContext = mContext;
mBatteryChartPreferenceController.mAppListPrefGroup = mAppListGroup;
@@ -174,11 +180,13 @@
@Test
public void setBatteryChartViewModel_6Hours() {
+ reset(mDailyChartView);
reset(mHourlyChartView);
+ setupHourlyChartViewAnimationMock();
+
mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(6));
verify(mDailyChartView, atLeastOnce()).setVisibility(View.GONE);
- verify(mHourlyChartView, atLeastOnce()).setVisibility(View.VISIBLE);
// Ignore fast refresh ui from the data processor callback.
verify(mHourlyChartView, atLeast(0)).setViewModel(null);
verify(mHourlyChartView, atLeastOnce()).setViewModel(new BatteryChartViewModel(
@@ -192,6 +200,10 @@
@Test
public void setBatteryChartViewModel_60Hours() {
+ reset(mDailyChartView);
+ reset(mHourlyChartView);
+ setupHourlyChartViewAnimationMock();
+
BatteryChartViewModel expectedDailyViewModel = new BatteryChartViewModel(
List.of(100, 83, 59, 41),
// "Sat", "Sun", "Mon", "Mon"
@@ -205,16 +217,18 @@
mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(60));
verify(mDailyChartView, atLeastOnce()).setVisibility(View.VISIBLE);
- verify(mHourlyChartView, atLeastOnce()).setVisibility(View.GONE);
+ verify(mViewPropertyAnimator, atLeastOnce()).alpha(0f);
verify(mDailyChartView).setViewModel(expectedDailyViewModel);
reset(mDailyChartView);
reset(mHourlyChartView);
+ setupHourlyChartViewAnimationMock();
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
mBatteryChartPreferenceController.mDailyChartIndex = 0;
mBatteryChartPreferenceController.refreshUi();
verify(mDailyChartView).setVisibility(View.VISIBLE);
verify(mHourlyChartView).setVisibility(View.VISIBLE);
+ verify(mViewPropertyAnimator, atLeastOnce()).alpha(1f);
expectedDailyViewModel.setSelectedIndex(0);
verify(mDailyChartView).setViewModel(expectedDailyViewModel);
@@ -234,12 +248,13 @@
reset(mDailyChartView);
reset(mHourlyChartView);
+ setupHourlyChartViewAnimationMock();
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
mBatteryChartPreferenceController.mDailyChartIndex = 1;
mBatteryChartPreferenceController.mHourlyChartIndex = 6;
mBatteryChartPreferenceController.refreshUi();
verify(mDailyChartView).setVisibility(View.VISIBLE);
- verify(mHourlyChartView).setVisibility(View.VISIBLE);
+ verify(mViewPropertyAnimator, atLeastOnce()).alpha(1f);
expectedDailyViewModel.setSelectedIndex(1);
verify(mDailyChartView).setViewModel(expectedDailyViewModel);
BatteryChartViewModel expectedHourlyViewModel = new BatteryChartViewModel(
@@ -264,13 +279,14 @@
reset(mDailyChartView);
reset(mHourlyChartView);
+ setupHourlyChartViewAnimationMock();
doReturn(mLayoutParams).when(mDailyChartView).getLayoutParams();
mBatteryChartPreferenceController.mDailyChartIndex = 2;
mBatteryChartPreferenceController.mHourlyChartIndex =
BatteryChartViewModel.SELECTED_INDEX_ALL;
mBatteryChartPreferenceController.refreshUi();
verify(mDailyChartView).setVisibility(View.VISIBLE);
- verify(mHourlyChartView).setVisibility(View.VISIBLE);
+ verify(mViewPropertyAnimator, atLeastOnce()).alpha(1f);
expectedDailyViewModel.setSelectedIndex(2);
verify(mDailyChartView).setViewModel(expectedDailyViewModel);
verify(mHourlyChartView).setViewModel(new BatteryChartViewModel(
@@ -734,4 +750,11 @@
controller.mPrefContext = mContext;
return controller;
}
+
+ private void setupHourlyChartViewAnimationMock() {
+ doReturn(mViewPropertyAnimator).when(mHourlyChartView).animate();
+ doReturn(mViewPropertyAnimator).when(mViewPropertyAnimator).alpha(anyFloat());
+ doReturn(mViewPropertyAnimator).when(mViewPropertyAnimator).setDuration(anyLong());
+ doReturn(mViewPropertyAnimator).when(mViewPropertyAnimator).setListener(any());
+ }
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
index c483204..df9d865 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
@@ -579,9 +579,13 @@
ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 25.0,
/*foregroundUsageTimeInMs=*/ 50, /*backgroundUsageTimeInMs=*/ 60);
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_SHOWN_APP_COUNT, 3);
+ .action(mContext.getApplicationContext(),
+ SettingsEnums.ACTION_BATTERY_USAGE_SHOWN_APP_COUNT,
+ 3);
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_HIDDEN_APP_COUNT, 0);
+ .action(mContext.getApplicationContext(),
+ SettingsEnums.ACTION_BATTERY_USAGE_HIDDEN_APP_COUNT,
+ 0);
}
@Test
@@ -674,9 +678,13 @@
assertThat(resultMap.get(0).get(0)).isNotNull();
assertThat(resultMap.get(0).get(DataProcessor.SELECTED_INDEX_ALL)).isNotNull();
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_SHOWN_APP_COUNT, 2);
+ .action(mContext.getApplicationContext(),
+ SettingsEnums.ACTION_BATTERY_USAGE_SHOWN_APP_COUNT,
+ 2);
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_HIDDEN_APP_COUNT, 0);
+ .action(mContext.getApplicationContext(),
+ SettingsEnums.ACTION_BATTERY_USAGE_HIDDEN_APP_COUNT,
+ 0);
}
@Test
@@ -739,9 +747,13 @@
assertThat(resultMap.get(0).get(0)).isNotNull();
assertThat(resultMap.get(0).get(DataProcessor.SELECTED_INDEX_ALL)).isNotNull();
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_SHOWN_APP_COUNT, 1);
+ .action(mContext.getApplicationContext(),
+ SettingsEnums.ACTION_BATTERY_USAGE_SHOWN_APP_COUNT,
+ 1);
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_HIDDEN_APP_COUNT, 0);
+ .action(mContext.getApplicationContext(),
+ SettingsEnums.ACTION_BATTERY_USAGE_HIDDEN_APP_COUNT,
+ 0);
}
@Test
@@ -814,9 +826,13 @@
ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 50.0,
/*foregroundUsageTimeInMs=*/ 10, /*backgroundUsageTimeInMs=*/ 20);
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_SHOWN_APP_COUNT, 1);
+ .action(mContext.getApplicationContext(),
+ SettingsEnums.ACTION_BATTERY_USAGE_SHOWN_APP_COUNT,
+ 1);
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_HIDDEN_APP_COUNT, 1);
+ .action(mContext.getApplicationContext(),
+ SettingsEnums.ACTION_BATTERY_USAGE_HIDDEN_APP_COUNT,
+ 1);
}
@Test
@@ -889,9 +905,13 @@
resultEntry = resultDiffData.getAppDiffEntryList().get(1);
assertThat(resultEntry.mBackgroundUsageTimeInMs).isEqualTo(0);
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_SHOWN_APP_COUNT, 2);
+ .action(mContext.getApplicationContext(),
+ SettingsEnums.ACTION_BATTERY_USAGE_SHOWN_APP_COUNT,
+ 2);
verify(mMetricsFeatureProvider)
- .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_HIDDEN_APP_COUNT, 0);
+ .action(mContext.getApplicationContext(),
+ SettingsEnums.ACTION_BATTERY_USAGE_HIDDEN_APP_COUNT,
+ 0);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
index 2339f4c..cd06bae 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
@@ -38,11 +38,14 @@
import android.media.session.PlaybackState;
import android.net.Uri;
+import com.android.settings.bluetooth.Utils;
import com.android.settings.slices.ShadowSliceBackgroundWorker;
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
import com.android.settingslib.media.LocalMediaManager;
import org.junit.Before;
@@ -69,13 +72,17 @@
@Mock
private BluetoothEventManager mBluetoothEventManager;
@Mock
- private LocalBluetoothManager mLocalBluetoothManager;
+ private LocalBluetoothManager mLocalBtManager;
+ @Mock
+ private LocalBluetoothProfileManager mLocalBluetoothProfileManager;
@Mock
private MediaSessionManager mMediaSessionManager;
@Mock
private MediaController mMediaController;
@Mock
private LocalMediaManager mLocalMediaManager;
+ @Mock
+ private LocalBluetoothLeBroadcast mLeAudioBroadcastProfile;
private Context mContext;
private MediaOutputIndicatorWorker mMediaOutputIndicatorWorker;
@@ -84,14 +91,18 @@
private List<MediaController> mMediaControllers = new ArrayList<>();
private PlaybackState mPlaybackState;
private MediaController.PlaybackInfo mPlaybackInfo;
+ private LocalBluetoothManager mLocalBluetoothManager;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mShadowApplication = ShadowApplication.getInstance();
mContext = spy(RuntimeEnvironment.application);
- ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
+ ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
+ mLocalBluetoothManager = Utils.getLocalBtManager(mContext);
when(mLocalBluetoothManager.getEventManager()).thenReturn(mBluetoothEventManager);
+ when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
+ when(mLocalBluetoothProfileManager.getLeAudioBroadcastProfile()).thenReturn(null);
mMediaOutputIndicatorWorker = new MediaOutputIndicatorWorker(mContext, URI);
doReturn(mMediaSessionManager).when(mContext).getSystemService(MediaSessionManager.class);
mMediaControllers.add(mMediaController);
@@ -284,4 +295,22 @@
assertThat(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).isNull();
}
+
+ @Test
+ public void isBroadcastSupported_leAudioBroadcastProfileIsNull_returnFalse() {
+ mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
+ mMediaOutputIndicatorWorker.onSlicePinned();
+
+ assertThat(mMediaOutputIndicatorWorker.isBroadcastSupported()).isFalse();
+ }
+
+ @Test
+ public void isBroadcastSupported_leAudioBroadcastProfileNotNull_returnTrue() {
+ mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
+ mMediaOutputIndicatorWorker.onSlicePinned();
+ when(mLocalBluetoothProfileManager.getLeAudioBroadcastProfile())
+ .thenReturn(mLeAudioBroadcastProfile);
+
+ assertThat(mMediaOutputIndicatorWorker.isBroadcastSupported()).isTrue();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputUtilsTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputUtilsTest.java
index dea6a2c..5fa7fdd 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputUtilsTest.java
@@ -66,7 +66,18 @@
@Test
public void getActiveLocalMediaController_localMediaPlaying_returnController() {
- initPlayback();
+ initPlayback(PlaybackState.STATE_PLAYING);
+
+ when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
+ when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+
+ assertThat(MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager)).isEqualTo(
+ mMediaController);
+ }
+
+ @Test
+ public void getActiveLocalMediaController_localMediaPause_returnController() {
+ initPlayback(PlaybackState.STATE_PAUSED);
when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
@@ -114,6 +125,44 @@
}
@Test
+ public void getActiveLocalMediaController_localMediaNone_returnNull() {
+ mPlaybackInfo = new MediaController.PlaybackInfo(
+ MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
+ VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
+ 100,
+ 10,
+ new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build(),
+ null);
+ mPlaybackState = new PlaybackState.Builder()
+ .setState(PlaybackState.STATE_NONE, 0, 1)
+ .build();
+
+ when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
+ when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+
+ assertThat(MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager)).isNull();
+ }
+
+ @Test
+ public void getActiveLocalMediaController_localMediaError_returnNull() {
+ mPlaybackInfo = new MediaController.PlaybackInfo(
+ MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
+ VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
+ 100,
+ 10,
+ new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build(),
+ null);
+ mPlaybackState = new PlaybackState.Builder()
+ .setState(PlaybackState.STATE_ERROR, 0, 1)
+ .build();
+
+ when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
+ when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+
+ assertThat(MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager)).isNull();
+ }
+
+ @Test
public void getActiveLocalMediaController_bothHaveRemoteMediaAndLocalMedia_returnNull() {
mMediaControllers.clear();
final MediaController.PlaybackInfo playbackInfo = new MediaController.PlaybackInfo(
@@ -130,7 +179,7 @@
mMediaControllers.add(remoteMediaController);
mMediaControllers.add(mMediaController);
- initPlayback();
+ initPlayback(PlaybackState.STATE_PLAYING);
when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
@@ -155,7 +204,7 @@
final MediaController remoteMediaController = mock(MediaController.class);
mMediaControllers.add(remoteMediaController);
- initPlayback();
+ initPlayback(PlaybackState.STATE_PLAYING);
when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
@@ -165,7 +214,7 @@
assertThat(MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager)).isNull();
}
- private void initPlayback() {
+ private void initPlayback(int playbackState) {
mPlaybackInfo = new MediaController.PlaybackInfo(
MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
@@ -174,7 +223,7 @@
new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build(),
null);
mPlaybackState = new PlaybackState.Builder()
- .setState(PlaybackState.STATE_PLAYING, 0, 1)
+ .setState(playbackState, 0, 1)
.build();
}
}
diff --git a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
index 5122def..3589184 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
@@ -17,9 +17,11 @@
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_DISCONNECT;
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_FORGET;
+import static com.android.settings.network.NetworkProviderSettings.MENU_ID_MODIFY;
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_SHARE;
import static com.android.settings.wifi.WifiConfigUiBase2.MODE_CONNECT;
import static com.android.settings.wifi.WifiConfigUiBase2.MODE_MODIFY;
+import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_DISCONNECTED;
import static com.google.common.truth.Truth.assertThat;
@@ -730,6 +732,28 @@
}
@Test
+ public void addModifyMenuIfSuitable_isAdmin_addMenu() {
+ mNetworkProviderSettings.mIsAdmin = true;
+ when(mWifiEntry.isSaved()).thenReturn(true);
+ when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
+
+ mNetworkProviderSettings.addModifyMenuIfSuitable(mContextMenu, mWifiEntry);
+
+ verify(mContextMenu).add(anyInt(), eq(MENU_ID_MODIFY), anyInt(), anyInt());
+ }
+
+ @Test
+ public void addModifyMenuIfSuitable_isNotAdmin_notAddMenu() {
+ mNetworkProviderSettings.mIsAdmin = false;
+ when(mWifiEntry.isSaved()).thenReturn(true);
+ when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
+
+ mNetworkProviderSettings.addModifyMenuIfSuitable(mContextMenu, mWifiEntry);
+
+ verify(mContextMenu, never()).add(anyInt(), eq(MENU_ID_MODIFY), anyInt(), anyInt());
+ }
+
+ @Test
public void getNonIndexableKeys_allowedChangeWifiState_keyNotReturned() {
when(mWifiRestriction.isChangeWifiStateAllowed(mContext)).thenReturn(true);
NetworkProviderSettings.SearchIndexProvider searchIndexProvider =
diff --git a/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
index 56e83bb..2d023d7 100644
--- a/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
@@ -113,13 +113,23 @@
@Test
public void isSupportEndItem_withBleDevice_returnsTrue() {
+ doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported();
doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
assertThat(mController.isSupportEndItem()).isTrue();
}
@Test
+ public void isSupportEndItem_notSupportedBroadcast_returnsFalse() {
+ doReturn(false).when(sMediaOutputIndicatorWorker).isBroadcastSupported();
+ doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+
+ assertThat(mController.isSupportEndItem()).isFalse();
+ }
+
+ @Test
public void isSupportEndItem_withNonBleDevice_returnsFalse() {
+ doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported();
doReturn(mDevice2).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
assertThat(mController.isSupportEndItem()).isFalse();
@@ -127,6 +137,7 @@
@Test
public void getSliceEndItem_NotSupportEndItem_getsNullSliceAction() {
+ doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported();
doReturn(mDevice2).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
final SliceAction sliceAction = mController.getSliceEndItem(mContext);
@@ -136,6 +147,7 @@
@Test
public void getSliceEndItem_deviceIsBroadcasting_getsBroadcastIntent() {
+ doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported();
doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
doReturn(true).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting();
doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
@@ -155,6 +167,7 @@
final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class);
when(((BluetoothMediaDevice) device).getCachedDevice()).thenReturn(cachedDevice);
when(device.isBLEDevice()).thenReturn(true);
+ doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported();
doReturn(device).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting();
doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
diff --git a/tests/robotests/src/com/android/settings/notification/ShowOnLockscreenNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ShowOnLockscreenNotificationPreferenceControllerTest.java
index 496897f..567c7ff 100644
--- a/tests/robotests/src/com/android/settings/notification/ShowOnLockscreenNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ShowOnLockscreenNotificationPreferenceControllerTest.java
@@ -28,6 +28,8 @@
import android.content.Context;
import android.provider.Settings;
+import androidx.preference.PreferenceScreen;
+
import com.android.settings.R;
import com.android.settings.RestrictedListPreference;
import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
@@ -42,11 +44,8 @@
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
-import androidx.preference.PreferenceScreen;
-
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowUserManager.class, ShadowRestrictedLockUtilsInternal.class})
public class ShowOnLockscreenNotificationPreferenceControllerTest {
@@ -94,7 +93,7 @@
assertThat(mPreference.getValue()).isEqualTo(
String.valueOf(R.string.lock_screen_notifs_show_none));
- assertThat(mPreference.getSummary())
+ assertThat(mPreference.getSummary().toString())
.isEqualTo(mContext.getString(R.string.lock_screen_notifs_show_none));
}
@@ -111,7 +110,7 @@
assertThat(mPreference.getValue()).isEqualTo(
String.valueOf(R.string.lock_screen_notifs_show_alerting));
- assertThat(mPreference.getSummary())
+ assertThat(mPreference.getSummary().toString())
.isEqualTo(mContext.getString(R.string.lock_screen_notifs_show_alerting));
}
@@ -128,20 +127,20 @@
assertThat(mPreference.getValue()).isEqualTo(
String.valueOf(R.string.lock_screen_notifs_show_all));
- assertThat(mPreference.getSummary())
+ assertThat(mPreference.getSummary().toString())
.isEqualTo(mContext.getString(R.string.lock_screen_notifs_show_all));
}
@Test
- public void updateState_allNotifsOnLockscreen_isDefault() {
+ public void updateState_alertingNotifsOnLockscreen_isDefault() {
// settings don't exist
mController.displayPreference(mScreen);
assertThat(mPreference.getValue()).isEqualTo(
- String.valueOf(R.string.lock_screen_notifs_show_all));
- assertThat(mPreference.getSummary())
- .isEqualTo(mContext.getString(R.string.lock_screen_notifs_show_all));
+ String.valueOf(R.string.lock_screen_notifs_show_alerting));
+ assertThat(mPreference.getSummary().toString())
+ .isEqualTo(mContext.getString(R.string.lock_screen_notifs_show_alerting));
}
@Test
diff --git a/tests/robotests/src/com/android/settings/notification/app/NotificationsOffPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/NotificationsOffPreferenceControllerTest.java
index 34e94a0..2eebd3a 100644
--- a/tests/robotests/src/com/android/settings/notification/app/NotificationsOffPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/NotificationsOffPreferenceControllerTest.java
@@ -20,6 +20,7 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
@@ -32,6 +33,7 @@
import androidx.preference.Preference;
+import com.android.settings.R;
import com.android.settings.notification.NotificationBackend;
import com.google.common.collect.ImmutableList;
@@ -157,4 +159,23 @@
assertThat(pref.getTitle().toString()).contains("app");
assertThat(pref.isSelectable()).isFalse();
}
+
+ @Test
+ public void testUpdateState_whenToggleDisabled() {
+ // Given: the app does not request to post notifications
+ // and it's preference toggle is disabled
+ NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+ appRow.banned = true;
+ appRow.permissionStateLocked = true;
+ mController.onResume(appRow, null, null, null, null, null, null);
+ Preference pref = new Preference(RuntimeEnvironment.application);
+
+ // When: updateState(Preference preference) is called
+ mController.updateState(pref);
+
+ // Then: title of pref should be app_notifications_not_send_desc
+ assertEquals(
+ RuntimeEnvironment.application.getString(R.string.app_notifications_not_send_desc),
+ pref.getTitle().toString());
+ }
}
diff --git a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
index b04a2cd..151d1f2 100644
--- a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
@@ -51,14 +51,16 @@
import com.android.settingslib.bluetooth.A2dpProfile;
import com.android.settingslib.bluetooth.BluetoothCallback;
import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
import com.android.settingslib.bluetooth.HeadsetProfile;
import com.android.settingslib.bluetooth.HearingAidProfile;
+import com.android.settingslib.bluetooth.LeAudioProfile;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -71,10 +73,10 @@
import org.robolectric.shadows.ShadowPackageManager;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
-@Ignore
@Config(shadows = {
ShadowAudioManager.class,
ShadowBluetoothUtils.class,
@@ -102,6 +104,14 @@
private HeadsetProfile mHeadsetProfile;
@Mock
private HearingAidProfile mHearingAidProfile;
+ @Mock
+ private LeAudioProfile mLeAudioProfile;
+ @Mock
+ private CachedBluetoothDeviceManager mCachedDeviceManager;
+ @Mock
+ private CachedBluetoothDevice mCachedBluetoothDeviceL;
+ @Mock
+ private CachedBluetoothDevice mCachedBluetoothDeviceR;
private Context mContext;
private PreferenceScreen mScreen;
@@ -117,8 +127,10 @@
private AudioSwitchPreferenceController mController;
private List<BluetoothDevice> mProfileConnectedDevices;
private List<BluetoothDevice> mHearingAidActiveDevices;
+ private List<BluetoothDevice> mLeAudioActiveDevices;
private List<BluetoothDevice> mEmptyDevices;
private ShadowPackageManager mPackageManager;
+ private Collection<CachedBluetoothDevice> mCachedDevices;
@Before
public void setUp() {
@@ -133,15 +145,22 @@
when(mLocalBluetoothManager.getEventManager()).thenReturn(mBluetoothEventManager);
when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
+ when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
when(mLocalBluetoothProfileManager.getA2dpProfile()).thenReturn(mA2dpProfile);
when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(mHearingAidProfile);
when(mLocalBluetoothProfileManager.getHeadsetProfile()).thenReturn(mHeadsetProfile);
+ when(mLocalBluetoothProfileManager.getLeAudioProfile()).thenReturn(mLeAudioProfile);
mPackageManager = Shadow.extract(mContext.getPackageManager());
mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, true);
mBluetoothManager = mContext.getSystemService(BluetoothManager.class);
mBluetoothAdapter = mBluetoothManager.getAdapter();
+ mCachedDevices = new ArrayList<>();
+ mCachedDevices.add(mCachedBluetoothDeviceL);
+ mCachedDevices.add(mCachedBluetoothDeviceR);
+ when(mCachedDeviceManager.getCachedDevicesCopy()).thenReturn(mCachedDevices);
+
mBluetoothDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_1));
when(mBluetoothDevice.getName()).thenReturn(TEST_DEVICE_NAME_1);
when(mBluetoothDevice.isConnected()).thenReturn(true);
@@ -156,6 +175,7 @@
mPreference = new ListPreference(mContext);
mProfileConnectedDevices = new ArrayList<>();
mHearingAidActiveDevices = new ArrayList<>(2);
+ mLeAudioActiveDevices = new ArrayList<>();
mEmptyDevices = new ArrayList<>(2);
when(mScreen.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
@@ -391,6 +411,79 @@
assertThat(mEmptyDevices).containsExactly(mBluetoothDevice, mLeftBluetoothHapDevice);
}
+ @Test
+ public void getConnectedLeAudioDevices_connectedLeAudioDevice_shouldAddDeviceToList() {
+ when(mCachedBluetoothDeviceL.getDevice()).thenReturn(mBluetoothDevice);
+ mEmptyDevices.clear();
+ mProfileConnectedDevices.clear();
+ mProfileConnectedDevices.add(mBluetoothDevice);
+ when(mLeAudioProfile.getConnectedDevices()).thenReturn(mProfileConnectedDevices);
+
+ mEmptyDevices.addAll(mController.getConnectedLeAudioDevices());
+
+ assertThat(mEmptyDevices).containsExactly(mBluetoothDevice);
+ }
+
+ @Test
+ public void getConnectedLeAudioDevices_disconnectedLeAudioDevice_shouldNotAddDeviceToList() {
+ BluetoothDevice connectedBtLeAduioDevice =
+ spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_2));
+ when(connectedBtLeAduioDevice.isConnected()).thenReturn(true);
+ BluetoothDevice disconnectedBtLeAduioDevice =
+ spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_3));
+ when(disconnectedBtLeAduioDevice.isConnected()).thenReturn(false);
+ when(mCachedBluetoothDeviceL.getDevice()).thenReturn(mBluetoothDevice);
+ when(mCachedBluetoothDeviceR.getDevice()).thenReturn(connectedBtLeAduioDevice);
+ mEmptyDevices.clear();
+ mProfileConnectedDevices.clear();
+ mProfileConnectedDevices.add(mBluetoothDevice);
+ mProfileConnectedDevices.add(connectedBtLeAduioDevice);
+ mProfileConnectedDevices.add(disconnectedBtLeAduioDevice);
+ when(mLeAudioProfile.getConnectedDevices()).thenReturn(mProfileConnectedDevices);
+
+ mEmptyDevices.addAll(mController.getConnectedLeAudioDevices());
+
+ assertThat(mEmptyDevices).containsExactly(mBluetoothDevice, connectedBtLeAduioDevice);
+ }
+
+ @Test
+ public void getConnectedLeAudioDevices_notInCachedDeviceList_shouldNotAddDeviceToList() {
+ BluetoothDevice connectedBtLeAduioDevice1 =
+ spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_2));
+ when(connectedBtLeAduioDevice1.isConnected()).thenReturn(true);
+ BluetoothDevice connectedBtLeAduioDevice2 =
+ spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_3));
+ when(connectedBtLeAduioDevice2.isConnected()).thenReturn(true);
+ when(mCachedBluetoothDeviceL.getDevice()).thenReturn(mBluetoothDevice);
+ when(mCachedBluetoothDeviceR.getDevice()).thenReturn(connectedBtLeAduioDevice1);
+ mEmptyDevices.clear();
+ mProfileConnectedDevices.clear();
+ mProfileConnectedDevices.add(connectedBtLeAduioDevice1);
+ mProfileConnectedDevices.add(connectedBtLeAduioDevice2);
+ when(mLeAudioProfile.getConnectedDevices()).thenReturn(mProfileConnectedDevices);
+
+ mEmptyDevices.addAll(mController.getConnectedLeAudioDevices());
+
+ assertThat(mEmptyDevices).containsExactly(connectedBtLeAduioDevice1);
+ }
+
+ @Test
+ public void findActiveLeAudioDevice_noActiveDevice_returnNull() {
+ mLeAudioActiveDevices.clear();
+ when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);
+
+ assertThat(mController.findActiveLeAudioDevice()).isNull();
+ }
+
+ @Test
+ public void findActiveLeAudioDevice_withActiveDevice_returnActiveDevice() {
+ mLeAudioActiveDevices.clear();
+ mLeAudioActiveDevices.add(mBluetoothDevice);
+ when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);
+
+ assertThat(mController.findActiveLeAudioDevice()).isEqualTo(mBluetoothDevice);
+ }
+
private class AudioSwitchPreferenceControllerTestable extends
AudioSwitchPreferenceController {
AudioSwitchPreferenceControllerTestable(Context context, String key) {
diff --git a/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
index 2580bfd..cc2606b 100644
--- a/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
@@ -16,6 +16,7 @@
package com.android.settings.sound;
+import static android.media.AudioSystem.DEVICE_OUT_BLE_HEADSET;
import static android.media.AudioSystem.DEVICE_OUT_BLUETOOTH_SCO;
import static android.media.AudioSystem.DEVICE_OUT_HEARING_AID;
@@ -44,29 +45,30 @@
import com.android.settings.testutils.shadow.ShadowAudioManager;
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
import com.android.settingslib.bluetooth.HeadsetProfile;
import com.android.settingslib.bluetooth.HearingAidProfile;
+import com.android.settingslib.bluetooth.LeAudioProfile;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowBluetoothDevice;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
-@Ignore
@Config(shadows = {
ShadowAudioManager.class,
ShadowBluetoothUtils.class,
@@ -78,10 +80,12 @@
private static final String TEST_DEVICE_NAME_2 = "Test_HFP_BT_Device_NAME_2";
private static final String TEST_HAP_DEVICE_NAME_1 = "Test_HAP_BT_Device_NAME_1";
private static final String TEST_HAP_DEVICE_NAME_2 = "Test_HAP_BT_Device_NAME_2";
+ private static final String TEST_LE_AUDIO_DEVICE_NAME_1 = "Test_LE_AUDIO_Device_NAME_1";
private static final String TEST_DEVICE_ADDRESS_1 = "00:A1:A1:A1:A1:A1";
private static final String TEST_DEVICE_ADDRESS_2 = "00:B2:B2:B2:B2:B2";
private static final String TEST_DEVICE_ADDRESS_3 = "00:C3:C3:C3:C3:C3";
private static final String TEST_DEVICE_ADDRESS_4 = "00:D4:D4:D4:D4:D4";
+ private static final String TEST_DEVICE_ADDRESS_5 = "00:E5:E5:E5:E5:E5";
private final static long HISYNCID1 = 10;
private final static long HISYNCID2 = 11;
@@ -96,7 +100,15 @@
@Mock
private HearingAidProfile mHearingAidProfile;
@Mock
+ private LeAudioProfile mLeAudioProfile;
+ @Mock
private AudioSwitchPreferenceController.AudioSwitchCallback mAudioSwitchPreferenceCallback;
+ @Mock
+ private CachedBluetoothDeviceManager mCachedDeviceManager;
+ @Mock
+ private CachedBluetoothDevice mCachedBluetoothDeviceL;
+ @Mock
+ private CachedBluetoothDevice mCachedBluetoothDeviceR;
private Context mContext;
private PreferenceScreen mScreen;
@@ -113,6 +125,8 @@
private HandsFreeProfileOutputPreferenceController mController;
private List<BluetoothDevice> mProfileConnectedDevices;
private List<BluetoothDevice> mHearingAidActiveDevices;
+ private List<BluetoothDevice> mLeAudioActiveDevices;
+ private Collection<CachedBluetoothDevice> mCachedDevices;
@Before
public void setUp() {
@@ -127,26 +141,37 @@
when(mLocalBluetoothManager.getEventManager()).thenReturn(mBluetoothEventManager);
when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
+ when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
when(mLocalBluetoothProfileManager.getHeadsetProfile()).thenReturn(mHeadsetProfile);
when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(mHearingAidProfile);
+ when(mLocalBluetoothProfileManager.getLeAudioProfile()).thenReturn(mLeAudioProfile);
mBluetoothManager = mContext.getSystemService(BluetoothManager.class);
mBluetoothAdapter = mBluetoothManager.getAdapter();
+ mCachedDevices = new ArrayList<>();
+ mCachedDevices.add(mCachedBluetoothDeviceL);
+ mCachedDevices.add(mCachedBluetoothDeviceR);
+ when(mCachedDeviceManager.getCachedDevicesCopy()).thenReturn(mCachedDevices);
+
mBluetoothDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_1));
when(mBluetoothDevice.getName()).thenReturn(TEST_DEVICE_NAME_1);
+ when(mBluetoothDevice.getAlias()).thenReturn(TEST_DEVICE_NAME_1);
when(mBluetoothDevice.isConnected()).thenReturn(true);
mSecondBluetoothDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_2));
when(mSecondBluetoothDevice.getName()).thenReturn(TEST_DEVICE_NAME_2);
+ when(mSecondBluetoothDevice.getAlias()).thenReturn(TEST_DEVICE_NAME_2);
when(mSecondBluetoothDevice.isConnected()).thenReturn(true);
mLeftBluetoothHapDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_3));
when(mLeftBluetoothHapDevice.getName()).thenReturn(TEST_HAP_DEVICE_NAME_1);
+ when(mLeftBluetoothHapDevice.getAlias()).thenReturn(TEST_HAP_DEVICE_NAME_1);
when(mLeftBluetoothHapDevice.isConnected()).thenReturn(true);
mRightBluetoothHapDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_4));
when(mRightBluetoothHapDevice.getName()).thenReturn(TEST_HAP_DEVICE_NAME_2);
+ when(mRightBluetoothHapDevice.getAlias()).thenReturn(TEST_HAP_DEVICE_NAME_2);
when(mRightBluetoothHapDevice.isConnected()).thenReturn(true);
mController = new HandsFreeProfileOutputPreferenceController(mContext, TEST_KEY);
@@ -154,6 +179,7 @@
mPreference = new ListPreference(mContext);
mProfileConnectedDevices = new ArrayList<>();
mHearingAidActiveDevices = new ArrayList<>(2);
+ mLeAudioActiveDevices = new ArrayList<>();
when(mScreen.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
when(mScreen.getContext()).thenReturn(mContext);
@@ -245,7 +271,6 @@
* Preference summary should be the activated device name
*/
@Test
- @Ignore
public void updateState_oneHeadsetsAvailableAndActivated_shouldSetDeviceName() {
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLUETOOTH_SCO);
@@ -267,7 +292,6 @@
* Preference summary should be the activated device name
*/
@Test
- @Ignore
public void updateState_moreThanOneHfpBtDevicesAreAvailable_shouldSetActivatedDeviceName() {
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLUETOOTH_SCO);
@@ -328,7 +352,6 @@
* Preference summary should be the activated device name
*/
@Test
- @Ignore
public void updateState_oneHapBtDeviceAreAvailable_shouldSetActivatedDeviceName() {
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
@@ -353,7 +376,6 @@
* Preference summary should be the activated device name
*/
@Test
- @Ignore
public void updateState_moreThanOneHapBtDevicesAreAvailable_shouldSetActivatedDeviceName() {
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
@@ -382,7 +404,6 @@
* ConnectedDevice should not contain second HAP device with same HisyncId
*/
@Test
- @Ignore
public void updateState_hapBtDeviceWithSameId_shouldSetActivatedDeviceName() {
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
@@ -416,7 +437,6 @@
* ConnectedDevice should not contain second HAP device with same HisyncId
*/
@Test
- @Ignore
public void updateState_hapBtDeviceWithSameIdButDifferentOrder_shouldSetActivatedDeviceName() {
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
@@ -449,7 +469,6 @@
* ConnectedDevice should contain both HAP device with different HisyncId
*/
@Test
- @Ignore
public void updateState_hapBtDeviceWithDifferentId_shouldSetActivatedDeviceName() {
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
@@ -474,6 +493,26 @@
}
@Test
+ public void updateState_leAudioDeviceActive_shouldSetActivatedDeviceName() {
+ mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
+ mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLE_HEADSET);
+ when(mCachedBluetoothDeviceL.getDevice()).thenReturn(mBluetoothDevice);
+ when(mBluetoothDevice.getName()).thenReturn(TEST_LE_AUDIO_DEVICE_NAME_1);
+ when(mBluetoothDevice.getAlias()).thenReturn(TEST_LE_AUDIO_DEVICE_NAME_1);
+ mProfileConnectedDevices.clear();
+ mProfileConnectedDevices.add(mBluetoothDevice);
+ mLeAudioActiveDevices.clear();
+ mLeAudioActiveDevices.add(mBluetoothDevice);
+ when(mLeAudioProfile.getConnectedDevices()).thenReturn(mProfileConnectedDevices);
+ when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);
+
+ mController.updateState(mPreference);
+
+ assertThat(mPreference.isVisible()).isTrue();
+ assertThat(mPreference.getSummary()).isEqualTo(mBluetoothDevice.getName());
+ }
+
+ @Test
public void findActiveDevice_onlyHeadsetDeviceActive_returnHeadsetDevice() {
when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(null);
when(mHeadsetProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
@@ -489,12 +528,60 @@
assertThat(mController.findActiveDevice()).isNull();
}
+ @Test
+ public void findActiveDevice_allProfilesWithActiveDevice_returnHADevice() {
+ BluetoothDevice btLeDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_5));
+ when(btLeDevice.getName()).thenReturn(TEST_LE_AUDIO_DEVICE_NAME_1);
+ mController.mConnectedDevices.clear();
+ mController.mConnectedDevices.add(mBluetoothDevice);
+ mController.mConnectedDevices.add(mLeftBluetoothHapDevice);
+ mController.mConnectedDevices.add(btLeDevice);
+ mLeAudioActiveDevices.clear();
+ mLeAudioActiveDevices.add(btLeDevice);
+ mHearingAidActiveDevices.clear();
+ mHearingAidActiveDevices.add(mLeftBluetoothHapDevice);
+ when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
+ when(mHearingAidProfile.getHiSyncId(mLeftBluetoothHapDevice)).thenReturn(HISYNCID1);
+ when(mHeadsetProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
+ when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);
+
+ assertThat(mController.findActiveDevice()).isEqualTo(mLeftBluetoothHapDevice);
+ }
+
+ @Test
+ public void findActiveDevice_headsetDeviceAndLeAudioDeviceActive_returnLeAudioDevice() {
+ BluetoothDevice btLeDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_5));
+ when(btLeDevice.getName()).thenReturn(TEST_LE_AUDIO_DEVICE_NAME_1);
+ mLeAudioActiveDevices.clear();
+ mLeAudioActiveDevices.add(btLeDevice);
+ mHearingAidActiveDevices.clear();
+ when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
+ when(mHeadsetProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
+ when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);
+
+ assertThat(mController.findActiveDevice()).isEqualTo(btLeDevice);
+ }
+
+ @Test
+ public void findActiveDevice_onlyLeAudioDeviceActive_returnLeAudioDevice() {
+ BluetoothDevice btLeDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_5));
+ when(btLeDevice.getName()).thenReturn(TEST_LE_AUDIO_DEVICE_NAME_1);
+ mLeAudioActiveDevices.clear();
+ mLeAudioActiveDevices.add(btLeDevice);
+ mHearingAidActiveDevices.clear();
+ when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
+ when(mHeadsetProfile.getActiveDevice()).thenReturn(null);
+ when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);
+
+ assertThat(mController.findActiveDevice()).isEqualTo(btLeDevice);
+ }
+
+
/**
* One Bluetooth devices are available, and select the device.
* Preference summary should be device name.
*/
@Test
- @Ignore
public void onPreferenceChange_toBtDevice_shouldSetBtDeviceName() {
mController.mConnectedDevices.clear();
mController.mConnectedDevices.add(mBluetoothDevice);
@@ -509,16 +596,10 @@
* Preference summary should be second device name.
*/
@Test
- @Ignore
public void onPreferenceChange_toBtDevices_shouldSetSecondBtDeviceName() {
- ShadowBluetoothDevice shadowBluetoothDevice;
- BluetoothDevice secondBluetoothDevice;
- secondBluetoothDevice = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_2);
- shadowBluetoothDevice = Shadows.shadowOf(secondBluetoothDevice);
- shadowBluetoothDevice.setName(TEST_DEVICE_NAME_2);
mController.mConnectedDevices.clear();
mController.mConnectedDevices.add(mBluetoothDevice);
- mController.mConnectedDevices.add(secondBluetoothDevice);
+ mController.mConnectedDevices.add(mSecondBluetoothDevice);
mController.onPreferenceChange(mPreference, TEST_DEVICE_ADDRESS_2);
diff --git a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
index 10471cb..5a92a08 100644
--- a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
@@ -16,6 +16,7 @@
package com.android.settings.sound;
+import static android.media.AudioSystem.DEVICE_OUT_BLE_HEADSET;
import static android.media.AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP;
import static android.media.AudioSystem.DEVICE_OUT_EARPIECE;
import static android.media.AudioSystem.DEVICE_OUT_HEARING_AID;
@@ -55,14 +56,16 @@
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
import com.android.settingslib.bluetooth.A2dpProfile;
import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
import com.android.settingslib.bluetooth.HearingAidProfile;
+import com.android.settingslib.bluetooth.LeAudioProfile;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
import com.android.settingslib.media.MediaOutputConstants;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -76,10 +79,10 @@
import org.robolectric.shadows.ShadowPackageManager;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
-@Ignore
@Config(shadows = {
ShadowAudioManager.class,
ShadowBluetoothUtils.class,
@@ -91,10 +94,12 @@
private static final String TEST_DEVICE_NAME_2 = "Test_A2DP_BT_Device_NAME_2";
private static final String TEST_HAP_DEVICE_NAME_1 = "Test_HAP_BT_Device_NAME_1";
private static final String TEST_HAP_DEVICE_NAME_2 = "Test_HAP_BT_Device_NAME_2";
+ private static final String TEST_LE_AUDIO_DEVICE_NAME_1 = "Test_LE_AUDIO_Device_NAME_1";
private static final String TEST_DEVICE_ADDRESS_1 = "00:A1:A1:A1:A1:A1";
private static final String TEST_DEVICE_ADDRESS_2 = "00:B2:B2:B2:B2:B2";
private static final String TEST_DEVICE_ADDRESS_3 = "00:C3:C3:C3:C3:C3";
private static final String TEST_DEVICE_ADDRESS_4 = "00:D4:D4:D4:D4:D4";
+ private static final String TEST_DEVICE_ADDRESS_5 = "00:E5:E5:E5:E5:E5";
private static final String TEST_PACKAGE_NAME = "com.test.packagename";
private static final String TEST_APPLICATION_LABEL = "APP Test Label";
@@ -109,11 +114,19 @@
@Mock
private HearingAidProfile mHearingAidProfile;
@Mock
+ private LeAudioProfile mLeAudioProfile;
+ @Mock
private AudioSwitchPreferenceController.AudioSwitchCallback mAudioSwitchPreferenceCallback;
@Mock
private MediaSessionManager mMediaSessionManager;
@Mock
private MediaController mMediaController;
+ @Mock
+ private CachedBluetoothDeviceManager mCachedDeviceManager;
+ @Mock
+ private CachedBluetoothDevice mCachedBluetoothDeviceL;
+ @Mock
+ private CachedBluetoothDevice mCachedBluetoothDeviceR;
private Context mContext;
private PreferenceScreen mScreen;
@@ -130,6 +143,7 @@
private MediaOutputPreferenceController mController;
private List<BluetoothDevice> mProfileConnectedDevices;
private List<BluetoothDevice> mHearingAidActiveDevices;
+ private List<BluetoothDevice> mLeAudioActiveDevices;
private List<MediaController> mMediaControllers = new ArrayList<>();
private MediaController.PlaybackInfo mPlaybackInfo;
private PlaybackState mPlaybackState;
@@ -137,6 +151,7 @@
private ApplicationInfo mAppInfo;
private PackageInfo mPackageInfo;
private PackageStats mPackageStats;
+ private Collection<CachedBluetoothDevice> mCachedDevices;
@Before
public void setUp() {
@@ -168,14 +183,22 @@
when(mLocalBluetoothManager.getEventManager()).thenReturn(mBluetoothEventManager);
when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
+ when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
when(mLocalBluetoothProfileManager.getA2dpProfile()).thenReturn(mA2dpProfile);
when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(mHearingAidProfile);
+ when(mLocalBluetoothProfileManager.getLeAudioProfile()).thenReturn(mLeAudioProfile);
mBluetoothManager = mContext.getSystemService(BluetoothManager.class);
mBluetoothAdapter = mBluetoothManager.getAdapter();
+ mCachedDevices = new ArrayList<>();
+ mCachedDevices.add(mCachedBluetoothDeviceL);
+ mCachedDevices.add(mCachedBluetoothDeviceR);
+ when(mCachedDeviceManager.getCachedDevicesCopy()).thenReturn(mCachedDevices);
+
mBluetoothDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_1));
when(mBluetoothDevice.getName()).thenReturn(TEST_DEVICE_NAME_1);
+ when(mBluetoothDevice.getAlias()).thenReturn(TEST_DEVICE_NAME_1);
when(mBluetoothDevice.isConnected()).thenReturn(true);
mSecondBluetoothDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_2));
@@ -184,6 +207,7 @@
mLeftBluetoothHapDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_3));
when(mLeftBluetoothHapDevice.getName()).thenReturn(TEST_HAP_DEVICE_NAME_1);
+ when(mLeftBluetoothHapDevice.getAlias()).thenReturn(TEST_HAP_DEVICE_NAME_1);
when(mLeftBluetoothHapDevice.isConnected()).thenReturn(true);
mRightBluetoothHapDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_4));
@@ -195,6 +219,7 @@
mPreference = new Preference(mContext);
mProfileConnectedDevices = new ArrayList<>();
mHearingAidActiveDevices = new ArrayList<>(2);
+ mLeAudioActiveDevices = new ArrayList<>();
when(mScreen.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
when(mScreen.getContext()).thenReturn(mContext);
@@ -234,7 +259,6 @@
* Preference summary should be device's name
*/
@Test
- @Ignore
public void updateState_withActiveBtDevice_setActivatedDeviceName() {
mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLUETOOTH_A2DP);
mAudioManager.setMode(AudioManager.MODE_NORMAL);
@@ -254,7 +278,6 @@
* Preference summary should be device's name
*/
@Test
- @Ignore
public void updateState_withActiveHADevice_setActivatedDeviceName() {
mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
mAudioManager.setMode(AudioManager.MODE_NORMAL);
@@ -270,6 +293,26 @@
}
@Test
+ public void updateState_withActiveLeAudioDevice_setActivatedDeviceName() {
+ mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLE_HEADSET);
+ mAudioManager.setMode(AudioManager.MODE_NORMAL);
+ when(mCachedBluetoothDeviceL.getDevice()).thenReturn(mBluetoothDevice);
+ when(mCachedBluetoothDeviceR.getDevice()).thenReturn(mSecondBluetoothDevice);
+ when(mBluetoothDevice.getAlias()).thenReturn(TEST_LE_AUDIO_DEVICE_NAME_1);
+ mProfileConnectedDevices.clear();
+ mProfileConnectedDevices.add(mBluetoothDevice);
+ mProfileConnectedDevices.add(mSecondBluetoothDevice);
+ mLeAudioActiveDevices.clear();
+ mLeAudioActiveDevices.add(mBluetoothDevice);
+ when(mLeAudioProfile.getConnectedDevices()).thenReturn(mProfileConnectedDevices);
+ when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);
+
+ assertThat(mPreference.getSummary()).isNull();
+ mController.updateState(mPreference);
+ assertThat(mPreference.getSummary()).isEqualTo(TEST_LE_AUDIO_DEVICE_NAME_1);
+ }
+
+ @Test
public void updateState_noActiveLocalPlayback_noTitle() {
mPlaybackState = new PlaybackState.Builder()
.setState(PlaybackState.STATE_NONE, 0, 1)
@@ -350,6 +393,49 @@
assertThat(mController.findActiveDevice()).isNull();
}
+ @Test
+ public void findActiveDevice_allProfilesWithActiveDevice_returnHADevice() {
+ BluetoothDevice btLeDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_5));
+ when(btLeDevice.getName()).thenReturn(TEST_LE_AUDIO_DEVICE_NAME_1);
+ mLeAudioActiveDevices.clear();
+ mLeAudioActiveDevices.add(btLeDevice);
+ mHearingAidActiveDevices.clear();
+ mHearingAidActiveDevices.add(mLeftBluetoothHapDevice);
+ when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
+ when(mA2dpProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
+ when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);
+
+ assertThat(mController.findActiveDevice()).isEqualTo(mLeftBluetoothHapDevice);
+ }
+
+ @Test
+ public void findActiveDevice_a2dpDeviceAndLeAudioDeviceActive_returnLeAudioDevice() {
+ BluetoothDevice btLeDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_5));
+ when(btLeDevice.getName()).thenReturn(TEST_LE_AUDIO_DEVICE_NAME_1);
+ mLeAudioActiveDevices.clear();
+ mLeAudioActiveDevices.add(btLeDevice);
+ mHearingAidActiveDevices.clear();
+ when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
+ when(mA2dpProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
+ when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);
+
+ assertThat(mController.findActiveDevice()).isEqualTo(btLeDevice);
+ }
+
+ @Test
+ public void findActiveDevice_onlyLeAudioDeviceActive_returnLeAudioDevice() {
+ BluetoothDevice btLeDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_5));
+ when(btLeDevice.getName()).thenReturn(TEST_LE_AUDIO_DEVICE_NAME_1);
+ mLeAudioActiveDevices.clear();
+ mLeAudioActiveDevices.add(btLeDevice);
+ mHearingAidActiveDevices.clear();
+ when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
+ when(mA2dpProfile.getActiveDevice()).thenReturn(null);
+ when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);
+
+ assertThat(mController.findActiveDevice()).isEqualTo(btLeDevice);
+ }
+
private void initPackage() {
mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager());
mAppInfo = new ApplicationInfo();
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
index 40cb25b..5f8c434 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
@@ -22,6 +22,7 @@
import android.content.pm.PackageManager;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
+import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;
import android.os.UserHandle;
import android.os.UserManager;
@@ -39,6 +40,7 @@
public class ShadowUtils {
private static FingerprintManager sFingerprintManager = null;
+ private static FaceManager sFaceManager = null;
private static boolean sIsUserAMonkey;
private static boolean sIsDemoUser;
private static ComponentName sDeviceOwnerComponentName;
@@ -63,6 +65,15 @@
sFingerprintManager = fingerprintManager;
}
+ @Implementation
+ protected static FaceManager getFaceManagerOrNull(Context context) {
+ return sFaceManager;
+ }
+
+ public static void setFaceManager(FaceManager faceManager) {
+ sFaceManager = faceManager;
+ }
+
public static void reset() {
sFingerprintManager = null;
sIsUserAMonkey = false;
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPreferenceControllerTest.java
index e8ee7c3..bc6053b 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPreferenceControllerTest.java
@@ -16,13 +16,14 @@
package com.android.settings.wifi.tether;
+import static com.android.settings.wifi.WifiUtils.setCanShowWifiHotspotCached;
+
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.when;
import android.content.Context;
-import android.net.TetheringManager;
import android.net.wifi.SoftApConfiguration;
import android.net.wifi.WifiManager;
@@ -62,8 +63,6 @@
@Mock
private Lifecycle mLifecycle;
@Mock
- private TetheringManager mTetheringManager;
- @Mock
private WifiManager mWifiManager;
@Mock
private PreferenceScreen mScreen;
@@ -74,38 +73,37 @@
@Before
public void setUp() {
+ setCanShowWifiHotspotCached(true);
FakeFeatureFactory.setupForTest();
mPreference = new PrimarySwitchPreference(mContext);
- when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
when(mScreen.findPreference(anyString())).thenReturn(mPreference);
mSoftApConfiguration = new SoftApConfiguration.Builder().setSsid(SSID).build();
when(mWifiManager.getSoftApConfiguration()).thenReturn(mSoftApConfiguration);
- when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
mController = new WifiTetherPreferenceController(mContext, mLifecycle, mWifiManager,
- mTetheringManager, false /* initSoftApManager */, true /* isWifiTetheringAllow */);
+ false /* initSoftApManager */, true /* isWifiTetheringAllow */);
mController.displayPreference(mScreen);
}
@Test
- public void isAvailable_noTetherRegex_shouldReturnFalse() {
- when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{});
- mController = new WifiTetherPreferenceController(mContext, mLifecycle, mWifiManager,
- mTetheringManager, false /* initSoftApManager */, true /* isWifiTetheringAllow */);
+ public void isAvailable_canNotShowWifiHotspot_shouldReturnFalse() {
+ setCanShowWifiHotspotCached(false);
assertThat(mController.isAvailable()).isFalse();
}
@Test
- public void isAvailable_hasTetherRegex_shouldReturnTrue() {
+ public void isAvailable_canShowWifiHostspot_shouldReturnTrue() {
+ setCanShowWifiHotspotCached(true);
+
assertThat(mController.isAvailable()).isTrue();
}
@Test
public void displayPreference_wifiTetheringNotAllowed_shouldDisable() {
mController = new WifiTetherPreferenceController(mContext, mLifecycle, mWifiManager,
- mTetheringManager, false /* initSoftApManager */, false /* isWifiTetheringAllow */);
+ false /* initSoftApManager */, false /* isWifiTetheringAllow */);
mController.displayPreference(mScreen);
@@ -116,7 +114,7 @@
@Test
public void displayPreference_wifiTetheringAllowed_shouldEnable() {
mController = new WifiTetherPreferenceController(mContext, mLifecycle, mWifiManager,
- mTetheringManager, false /* initSoftApManager */, true /* isWifiTetheringAllow */);
+ false /* initSoftApManager */, true /* isWifiTetheringAllow */);
mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
index d19bc90..7f8a06d 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
@@ -16,6 +16,8 @@
package com.android.settings.wifi.tether;
+import static com.android.settings.wifi.WifiUtils.setCanShowWifiHotspotCached;
+
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
@@ -35,6 +37,7 @@
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.UserManager;
+import android.util.FeatureFlagUtils;
import android.widget.TextView;
import androidx.fragment.app.FragmentActivity;
@@ -42,6 +45,8 @@
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
+import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowFragment;
@@ -55,6 +60,8 @@
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
import org.robolectric.util.ReflectionHelpers;
import java.util.List;
@@ -88,6 +95,8 @@
@Before
public void setUp() {
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
+ setCanShowWifiHotspotCached(true);
doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
doReturn(mConnectivityManager)
.when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
@@ -101,6 +110,17 @@
}
@Test
+ @Config(shadows = ShadowRestrictedDashboardFragment.class)
+ public void onCreate_canNotShowWifiHotspot_shouldFinish() {
+ setCanShowWifiHotspotCached(false);
+ mWifiTetherSettings = spy(new WifiTetherSettings(mWifiRestriction));
+
+ mWifiTetherSettings.onCreate(null);
+
+ verify(mWifiTetherSettings).finish();
+ }
+
+ @Test
@Config(shadows = ShadowFragment.class)
public void onStart_uiIsRestricted_removeAllPreferences() {
spyWifiTetherSettings();
@@ -201,6 +221,22 @@
assertThat(keys).contains(WifiTetherSettings.KEY_WIFI_TETHER_MAXIMIZE_COMPATIBILITY);
}
+ @Test
+ public void isPageSearchEnabled_canShowWifiHotspot_returnTrue() {
+ setCanShowWifiHotspotCached(true);
+
+ assertThat(WifiTetherSettings.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext))
+ .isTrue();
+ }
+
+ @Test
+ public void isPageSearchEnabled_canNotShowWifiHotspot_returnFalse() {
+ setCanShowWifiHotspotCached(false);
+
+ assertThat(WifiTetherSettings.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext))
+ .isFalse();
+ }
+
private void spyWifiTetherSettings() {
mWifiTetherSettings = spy(new WifiTetherSettings(mWifiRestriction));
final FragmentActivity activity = mock(FragmentActivity.class);
@@ -219,4 +255,13 @@
mWifiTetherSettings.onCreate(Bundle.EMPTY);
}
+
+ @Implements(RestrictedDashboardFragment.class)
+ public static final class ShadowRestrictedDashboardFragment {
+
+ @Implementation
+ public void onCreate(Bundle icicle) {
+ // do nothing
+ }
+ }
}
diff --git a/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java b/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
index 526fc0c..887f300 100644
--- a/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
+++ b/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
@@ -632,6 +632,106 @@
assertThat(testExcludedLogicalSlotIndex).isEqualTo(verifyExcludedLogicalSlotIndex);
}
+ @Test
+ public void isRemovableSimEnabled_noPsim_returnsFalse() {
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ oneSimSlotDeviceActiveEsim());
+
+ boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
+
+ assertThat(testSlot).isFalse();
+ }
+
+ @Test
+ public void isRemovableSimEnabled_activeRemovableEsimAndInactivePsim_returnsFalse() {
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ twoSimSlotsDeviceActiveRemovableEsimInactivePsim());
+
+ boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
+
+ assertThat(testSlot).isFalse();
+ }
+
+ @Test
+ public void isRemovableSimEnabled_activeRemovableEsimAndActivePsim_returnsTrue() {
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ twoSimSlotsDeviceActivePsimActiveRemovableEsim());
+
+ boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
+
+ assertThat(testSlot).isTrue();
+ }
+
+ @Test
+ public void isRemovableSimEnabled_inactiveRemovableEsimAndActivePsim_returnsTrue() {
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ twoSimSlotsDeviceInactiveRemovableEsimActivePsim());
+
+ boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
+
+ assertThat(testSlot).isTrue();
+ }
+
+ @Test
+ public void isRemovableSimEnabled_twoActiveRemovableEsimsAndInactivePsim_returnsFalse() {
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ twoSimSlotsDeviceTwoActiveRemovableEsimsInactivePsim());
+
+ boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
+
+ assertThat(testSlot).isFalse();
+ }
+
+ @Test
+ public void isRemovableSimEnabled_oneActiveOneInactiveRemovableEsimActivePsim_returnsTrue() {
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ twoSimSlotsDeviceOneActiveOneInactiveRemovableEsimsActivePsim());
+
+ boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
+
+ assertThat(testSlot).isTrue();
+ }
+
+ @Test
+ public void isRemovableSimEnabled_activePsim_returnsTrue() {
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ oneSimSlotDeviceActivePsim());
+
+ boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
+
+ assertThat(testSlot).isTrue();
+ }
+
+ @Test
+ public void isRemovableSimEnabled_inactivePsim_returnsFalse() {
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ oneSimSlotDeviceinactivePsim());
+
+ boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
+
+ assertThat(testSlot).isFalse();
+ }
+
+ @Test
+ public void isRemovableSimEnabled_activeEsimAndActivePsim_returnsTrue() {
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ twoSimSlotsDeviceActivePsimActiveEsim());
+
+ boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
+
+ assertThat(testSlot).isTrue();
+ }
+
+ @Test
+ public void isRemovableSimEnabled_activeEsimAndInactivePsim_returnsFalse() {
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ twoSimSlotsDeviceInactivePsimActiveEsim());
+
+ boolean testSlot = UiccSlotUtil.isRemovableSimEnabled(mTelephonyManager);
+
+ assertThat(testSlot).isFalse();
+ }
+
private void compareTwoUiccSlotMappings(Collection<UiccSlotMapping> testUiccSlotMappings,
Collection<UiccSlotMapping> verifyUiccSlotMappings) {
assertThat(testUiccSlotMappings.size()).isEqualTo(verifyUiccSlotMappings.size());
@@ -786,6 +886,10 @@
return new UiccSlotInfo[]{createUiccSlotInfo(true, false, 1, true)};
}
+ private UiccSlotInfo[] oneSimSlotDeviceinactivePsim() {
+ return new UiccSlotInfo[]{createUiccSlotInfo(false, true, -1, false)};
+ }
+
private UiccSlotInfo[] twoSimSlotsDeviceActivePsimActiveEsim() {
return new UiccSlotInfo[]{
createUiccSlotInfo(false, true, 0, true),
@@ -804,6 +908,30 @@
createUiccSlotInfo(true, true, 1, true)};
}
+ private UiccSlotInfo[] twoSimSlotsDeviceActiveRemovableEsimInactivePsim() {
+ return new UiccSlotInfo[]{
+ createUiccSlotInfo(true, true, 0, true),
+ createUiccSlotInfo(false, true, -1, false)};
+ }
+
+ private UiccSlotInfo[] twoSimSlotsDeviceInactiveRemovableEsimActivePsim() {
+ return new UiccSlotInfo[]{
+ createUiccSlotInfo(true, true, -1, false),
+ createUiccSlotInfo(false, true, 0, true)};
+ }
+
+ private UiccSlotInfo[] twoSimSlotsDeviceTwoActiveRemovableEsimsInactivePsim() {
+ return new UiccSlotInfo[]{
+ createUiccSlotInfoForRemovableEsimMep(0, true, 1, true),
+ createUiccSlotInfo(false, true, -1, false)};
+ }
+
+ private UiccSlotInfo[] twoSimSlotsDeviceOneActiveOneInactiveRemovableEsimsActivePsim() {
+ return new UiccSlotInfo[]{
+ createUiccSlotInfoForRemovableEsimMep(1, true, -1, false),
+ createUiccSlotInfo(false, true, 0, true)};
+ }
+
private UiccSlotInfo[] twoSimSlotsDeviceActiveEsimActivePsim() {
return new UiccSlotInfo[]{
createUiccSlotInfo(true, false, 0, true),
@@ -866,4 +994,20 @@
logicalSlotIdx2 /* logicalSlotIdx */,
isActiveEsim2 /* isActive */)));
}
+
+ private UiccSlotInfo createUiccSlotInfoForRemovableEsimMep(int logicalSlotIdx1,
+ boolean isActiveEsim1, int logicalSlotIdx2, boolean isActiveEsim2) {
+ return new UiccSlotInfo(
+ true, /* isEuicc */
+ "123", /* cardId */
+ CARD_STATE_INFO_PRESENT, /* cardStateInfo */
+ true, /* isExtendApduSupported */
+ true, /* isRemovable */
+ Arrays.asList(
+ new UiccPortInfo("" /* iccId */, 0 /* portIdx */,
+ logicalSlotIdx1 /* logicalSlotIdx */, isActiveEsim1 /* isActive */),
+ new UiccPortInfo("" /* iccId */, 1 /* portIdx */,
+ logicalSlotIdx2 /* logicalSlotIdx */,
+ isActiveEsim2 /* isActive */)));
+ }
}
diff --git a/tests/unit/src/com/android/settings/wifi/WifiUtilsTest.java b/tests/unit/src/com/android/settings/wifi/WifiUtilsTest.java
index 1a5e852..2826310 100644
--- a/tests/unit/src/com/android/settings/wifi/WifiUtilsTest.java
+++ b/tests/unit/src/com/android/settings/wifi/WifiUtilsTest.java
@@ -21,19 +21,53 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import android.content.Context;
+import android.content.res.Resources;
+import android.net.TetheringManager;
import android.net.wifi.SoftApConfiguration;
import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager;
+import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
+import com.android.settings.R;
import com.android.wifitrackerlib.WifiEntry;
+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;
@RunWith(AndroidJUnit4.class)
public class WifiUtilsTest {
+ static final String[] WIFI_REGEXS = {"wifi_regexs"};
+
+ @Rule
+ public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ @Spy
+ Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock
+ Resources mResources;
+ @Mock
+ WifiManager mWifiManager;
+ @Mock
+ TetheringManager mTetheringManager;
+
+ @Before
+ public void setUp() {
+ when(mContext.getResources()).thenReturn(mResources);
+ when(mResources.getBoolean(R.bool.config_show_wifi_hotspot_settings)).thenReturn(true);
+ when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+ when(mContext.getSystemService(TetheringManager.class)).thenReturn(mTetheringManager);
+ when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(WIFI_REGEXS);
+ }
+
@Test
public void testSSID() {
assertThat(WifiUtils.isSSIDTooLong("123")).isFalse();
@@ -108,4 +142,53 @@
WifiConfiguration config = WifiUtils.getWifiConfig(null /* wifiEntry */,
null /* scanResult */);
}
+
+ @Test
+ public void checkShowWifiHotspot_allReady_returnTrue() {
+ assertThat(WifiUtils.checkShowWifiHotspot(mContext)).isTrue();
+ }
+
+ @Test
+ public void checkShowWifiHotspot_contextIsNull_returnFalse() {
+ assertThat(WifiUtils.checkShowWifiHotspot(null)).isFalse();
+ }
+
+ @Test
+ public void checkShowWifiHotspot_configIsNotShow_returnFalse() {
+ when(mResources.getBoolean(R.bool.config_show_wifi_hotspot_settings)).thenReturn(false);
+
+ assertThat(WifiUtils.checkShowWifiHotspot(mContext)).isFalse();
+ }
+
+ @Test
+ public void checkShowWifiHotspot_wifiManagerIsNull_returnFalse() {
+ when(mContext.getSystemService(WifiManager.class)).thenReturn(null);
+
+ assertThat(WifiUtils.checkShowWifiHotspot(mContext)).isFalse();
+ }
+
+ @Test
+ public void checkShowWifiHotspot_tetheringManagerIsNull_returnFalse() {
+ when(mContext.getSystemService(TetheringManager.class)).thenReturn(null);
+
+ assertThat(WifiUtils.checkShowWifiHotspot(mContext)).isFalse();
+ }
+
+ @Test
+ public void checkShowWifiHotspot_wifiRegexsIsEmpty_returnFalse() {
+ when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(null);
+
+ assertThat(WifiUtils.checkShowWifiHotspot(mContext)).isFalse();
+ }
+
+ @Test
+ public void canShowWifiHotspot_cachedIsReady_returnCached() {
+ WifiUtils.setCanShowWifiHotspotCached(true);
+
+ assertThat(WifiUtils.canShowWifiHotspot(null)).isTrue();
+
+ WifiUtils.setCanShowWifiHotspotCached(false);
+
+ assertThat(WifiUtils.canShowWifiHotspot(null)).isFalse();
+ }
}