Merge "Updated FP enroll confirmation string" into tm-dev
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 13cfedd..2d7f6b7 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -852,7 +852,7 @@
<string name="bluetooth_preference_no_found_devices" msgid="1331122763066030155">"Geen toestelle beskikbaar nie"</string>
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Koppel"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ontkoppel"</string>
- <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Saambind en koppel"</string>
+ <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Bind saam en koppel"</string>
<string name="bluetooth_device_context_unpair" msgid="7525735305244087162">"Ontsaambind"</string>
<string name="bluetooth_device_context_disconnect_unpair" msgid="2001359431289794561">"Ontkoppel en ontsaambind"</string>
<string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"Opsies…"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 06f7203..3356340 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -3639,7 +3639,7 @@
<string name="keywords_profile_challenge" msgid="5135555521652143612">"የስራ ፈተና፣ ስራ፣ መገለጫ"</string>
<string name="keywords_unification" msgid="2677472004971453468">"የሥራ መገለጫ፣ የሚተዳደር መገለጫ፣ አዋህድ፣ ውህደት፣ ሥራ፣ መገለጫ"</string>
<string name="keywords_gesture" msgid="3456930847450080520">"የጣት ምልክቶች"</string>
- <string name="keywords_wallet" msgid="3757421969956996972">"የኪስ ቦርሳ"</string>
+ <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
<string name="keywords_payment_settings" msgid="6268791289277000043">"ይክፈሉ፣ መታ ያድርጉ፣ ክፍያዎች"</string>
<string name="keywords_backup" msgid="707735920706667685">"ምትኬ"</string>
<string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"የጣት ምልክት"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index a1cbab9..e06d56b 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -6106,7 +6106,7 @@
<string name="dream_preview_button_title" msgid="6637456541851795952">"معاينة"</string>
<string name="dream_picker_category" msgid="7726447836872744867">"اختيار شاشة استراحة"</string>
<string name="dream_complications_toggle_title" msgid="4273232303027449163">"إظهار معلومات إضافية"</string>
- <string name="dream_complications_toggle_summary" msgid="4742579722349951711">"يمكنك من خلال شاشة التوقف عرض تفاصيل حول الوقت والتاريخ وحالة الطقس وجودة الهواء وCast."</string>
+ <string name="dream_complications_toggle_summary" msgid="4742579722349951711">"يمكنك من خلال شاشة الاستراحة عرض تفاصيل حول الوقت والتاريخ وحالة الطقس وجودة الهواء وCast."</string>
<string name="dream_more_settings_category" msgid="3119192146760773748">"إعدادات إضافية"</string>
<string name="dream_setup_title" msgid="2458303874255396142">"اختيار شاشة التوقف"</string>
<string name="dream_setup_description" msgid="7508547154038580296">"اختَر ما يظهر لك على شاشتك عندما يكون جهازك اللوحي في حالة إرساء. قد يستهلك جهازك قدرًا أكبر من الطاقة عند استخدام شاشة توقّف."</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 1feaecd..e4a8e25 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -2535,7 +2535,7 @@
<string name="accessibility_summary_state_disabled" msgid="9173234532752799694">"Aus"</string>
<string name="accessibility_summary_state_stopped" msgid="2343602489802623424">"Fehler. Tippen, um weitere Informationen zu erhalten."</string>
<string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Dieser Dienst funktioniert nicht."</string>
- <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Bedienungshilfenverknüpfungen"</string>
+ <string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"Kurzbefehle für Bedienungshilfen"</string>
<string name="enable_quick_setting" msgid="6648073323202243604">"In Schnelleinstellungen anzeigen"</string>
<string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rot-Grün-Sehschwäche"</string>
<string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rot-Grün-Sehschwäche"</string>
@@ -4121,7 +4121,7 @@
<string name="notification_content_block_title" msgid="6689085826061361351">"Benachrichtigungen anzeigen"</string>
<string name="notification_content_block_summary" msgid="329171999992248925">"Benachrichtigungen nie in der Leiste oder auf Peripheriegeräten anzeigen"</string>
<string name="notification_badge_title" msgid="6854537463548411313">"App-Benachrichtigungspunkt erlauben"</string>
- <string name="notification_channel_badge_title" msgid="6505542437385640049">"App-Benachrichtigungs00ADpunkt anzeigen"</string>
+ <string name="notification_channel_badge_title" msgid="6505542437385640049">"App-Benachrichtigungspunkt anzeigen"</string>
<string name="app_notification_override_dnd_title" msgid="3769539356442226691">"„Bitte nicht stören“ ignorieren"</string>
<string name="app_notification_override_dnd_summary" msgid="4894641191397562920">"Diese Benachrichtigungen dürfen auch dann gemeldet werden, wenn „Bitte nicht stören“ aktiviert ist"</string>
<string name="app_notification_visibility_override_title" msgid="7778628150022065920">"Sperrbildschirm"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 2ee0a1a..7e65be2 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -3580,7 +3580,7 @@
<string name="connected_devices_dashboard_android_auto_no_nfc_summary" msgid="2532811870469405527">"Bluetooth, Android Auto, modo en automóvil"</string>
<string name="connected_devices_dashboard_android_auto_no_driving_mode_summary" msgid="6426996842202276640">"Bluetooth, Android Auto, NFC"</string>
<string name="connected_devices_dashboard_android_auto_no_nfc_no_driving_mode" msgid="1672426693308438634">"Bluetooth, Android Auto"</string>
- <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"No disponible porque la NFC está desactivada"</string>
+ <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"No disponible porque NFC está desactivada"</string>
<string name="nfc_and_payment_settings_no_payment_installed_summary" msgid="4879818114908207465">"Para usar esta opción, debes instalar una app de pagos"</string>
<string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps y notificaciones"</string>
<string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Apps recientes y predeterminadas"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 3f21960..a2de168 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -635,9 +635,9 @@
<string name="setup_lock_settings_picker_message" product="device" msgid="8961855222808442301">"با فعال کردن قابلیتهای حفاظتی دستگاه، نگذارید دیگران بدون اجازه شما از این دستگاه استفاده کنند. قفل صفحه موردنظر برای استفاده را انتخاب کنید."</string>
<string name="setup_lock_settings_picker_message" product="default" msgid="8867435145945818970">"با فعال کردن قابلیتهای حفاظتی دستگاه، نگذارید دیگران بدون اجازه شما از این تلفن استفاده کنند. قفل صفحه موردنظر برای استفاده را انتخاب کنید."</string>
<string name="lock_settings_picker_biometric_message" msgid="2609666443527262781">"روش پشتیبان قفل صفحه را انتخاب کنید"</string>
- <string name="lock_settings_picker_admin_restricted_personal_message" msgid="3532653662159888328">"اگر قفل صفحه را فراموش کنید، سرپرست سیستم نمیتواند آن را بازنشانی کند."</string>
+ <string name="lock_settings_picker_admin_restricted_personal_message" msgid="3532653662159888328">"اگر قفل صفحه را فراموش کنید، سرپرست فناوری اطلاعات نمیتواند آن را بازنشانی کند."</string>
<string name="lock_settings_picker_admin_restricted_personal_message_action" msgid="5956615234246626264">"قفل کاری مجزایی تنظیم کنید"</string>
- <string name="lock_settings_picker_profile_message" msgid="9142379549980873478">"اگر این قفل را فراموش کردید، از سرپرست سیستم بخواهید آن را بازنشانی کند"</string>
+ <string name="lock_settings_picker_profile_message" msgid="9142379549980873478">"اگر این قفل را فراموش کردید، از سرپرست فناوری اطلاعات بخواهید آن را بازنشانی کند"</string>
<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>
@@ -2304,7 +2304,7 @@
<string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
<string name="talkback_summary" msgid="5820927220378864281">"صفحهخوان در وهله اول برای افراد نابینا و کمبینا در نظر گرفته شده است"</string>
<string name="select_to_speak_summary" msgid="1995285446766920925">"روی موارد موجود در صفحهتان ضربه بزنید تا بلند خوانده شوند"</string>
- <string name="accessibility_captioning_title" msgid="4561871958958925225">"اولویتهای زیرنویس"</string>
+ <string name="accessibility_captioning_title" msgid="4561871958958925225">"اولویتهای زیرنویس ناشنوایان"</string>
<string name="accessibility_captioning_about_title" msgid="3542171637334191563">"درباره اولویتهای زیرنویس ناشنوایان"</string>
<string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"درباره اولویتهای زیرنویس ناشنوایان بیشتر بدانید"</string>
<string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"بزرگنمایی"</string>
@@ -2508,7 +2508,7 @@
<string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"کلیدهای میزان صدا را نگهدارید"</string>
<string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"سه ضربه روی صفحه بزنید"</string>
<string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"ادامه"</string>
- <string name="accessibility_hearingaid_title" msgid="427173678199203191">"سمعکها"</string>
+ <string name="accessibility_hearingaid_title" msgid="427173678199203191">"سمعک"</string>
<string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"هیچ سمعکی متصل نشده است"</string>
<string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"افزودن سمعکها"</string>
<string name="accessibility_hearingaid_pair_instructions_title" msgid="2357706801112207624">"مرتبط کردن سمعک"</string>
@@ -4070,7 +4070,7 @@
<string name="interact_across_profiles_switch_enabled" msgid="7294719120282287495">"متصل"</string>
<string name="interact_across_profiles_switch_disabled" msgid="4312196170211463988">"متصل کردن این برنامهها"</string>
<string name="interact_across_profiles_summary_1" msgid="6093976896137600231">"برنامههای متصل از اجازههای مشترکی استفاده میکنند و میتوانند به دادههای یکدیگر دسترسی پیدا کنند."</string>
- <string name="interact_across_profiles_summary_2" msgid="505748305453633885">"برای اینکه دادههای شخصی با مدیر فناوری اطلاعات همرسانی نشود، تنها درصورتی برنامهها را متصل کنید که به آنها اعتماد داشته باشید."</string>
+ <string name="interact_across_profiles_summary_2" msgid="505748305453633885">"برای اینکه دادههای شخصی با سرپرست فناوری اطلاعات همرسانی نشود، تنها درصورتی برنامهها را متصل کنید که به آنها اعتماد داشته باشید."</string>
<string name="interact_across_profiles_summary_3" msgid="444428694843299854">"هرزمان خواستید میتوانید اتصال برنامهها را در تنظیمات حریمخصوصی دستگاه قطع کنید."</string>
<string name="interact_across_profiles_consent_dialog_title" msgid="8530621211216508681">"به برنامه کاری <xliff:g id="NAME">%1$s</xliff:g> برای دسترسی به دادههای شخصیتان اعتماد دارید؟"</string>
<string name="interact_across_profiles_consent_dialog_summary" msgid="3949870271562055048">"تنها درصورتی برنامهها را متصل کنید که به آنها اعتماد دارید که دادههای شخصی را با سرپرست فناوری اطلاعاتتان همرسانی نمیکنند."</string>
@@ -4513,7 +4513,7 @@
<string name="share_remote_bugreport_dialog_title" msgid="1575283098565582433">"گزارش اشکال به اشتراک گذاشته شود؟"</string>
<string name="share_remote_bugreport_dialog_message_finished" msgid="4869053468609007680">"سرپرست فناوری اطلاعات شما برای کمک به عیبیابی این دستگاه، گزارش اشکال درخواست کرده است. ممکن است برنامهها و دادهها به اشتراک گذاشته شوند."</string>
<string name="share_remote_bugreport_dialog_message" msgid="8714439220818865391">"سرپرست فناوری اطلاعات شما برای کمک به عیبیابی این دستگاه، درخواست گزارش اشکال کرده است. ممکن است برنامهها و دادهها به اشتراک گذاشته شوند و سرعت دستگاهتان بهطور موقت کاهش یابد."</string>
- <string name="sharing_remote_bugreport_dialog_message" msgid="3523877008096439251">"این گزارش اشکال با سرپرست فناوری شما همرسانی میشود. برای جزئیات بیشتر با او تماس بگیرید."</string>
+ <string name="sharing_remote_bugreport_dialog_message" msgid="3523877008096439251">"این گزارش اشکال با سرپرست فناوری اطلاعات همرسانی میشود. برای جزئیات بیشتر با او تماس بگیرید."</string>
<string name="share_remote_bugreport_action" msgid="7173093464692893276">"اشتراکگذاری"</string>
<string name="decline_remote_bugreport_action" msgid="1276509879613158895">"نپذیرفتن"</string>
<string name="usb_use_charging_only" msgid="1743303747327057947">"بدون انتقال داده"</string>
@@ -4669,7 +4669,7 @@
<string name="backup_disabled" msgid="4503062265560959320">"پشتیبانگیری غیرفعال است"</string>
<string name="android_version_summary" msgid="7818952662015042768">"بهروزرسانیشده به Android نسخه <xliff:g id="VERSION">%1$s</xliff:g>"</string>
<string name="android_version_pending_update_summary" msgid="5404532347171027730">"بهروزرسانی در دسترس است"</string>
- <string name="disabled_by_policy_title" msgid="3635622338687810583">"سرپرست سیستم آن را مسدود کرده است"</string>
+ <string name="disabled_by_policy_title" msgid="3635622338687810583">"سرپرست فناوری اطلاعات آن را مسدود کرده است"</string>
<string name="disabled_by_policy_title_adjust_volume" msgid="1669689058213728099">"نمیتوان بلندی صدا را تغییر داد"</string>
<string name="disabled_by_policy_title_outgoing_calls" msgid="400089720689494562">"امکان برقراری تماس وجود ندارد"</string>
<string name="disabled_by_policy_title_sms" msgid="8951840850778406831">"امکان ارسال پیامک وجود ندارد"</string>
@@ -4885,7 +4885,7 @@
<string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"حسگرها خاموش است"</string>
<string name="managed_profile_settings_title" msgid="3400923723423564217">"تنظیمات نمایه کاری"</string>
<string name="managed_profile_contact_search_title" msgid="6562061740814513737">"جستجوی مخاطبین فهرست کار در برنامههای شخصی"</string>
- <string name="managed_profile_contact_search_summary" msgid="4974727886709219105">"ممکن است سرپرست سیستم بتواند جستجوها و تماسهای ورودیتان را ببیند"</string>
+ <string name="managed_profile_contact_search_summary" msgid="4974727886709219105">"ممکن است سرپرست فناوری اطلاعات بتواند جستجوها و تماسهای ورودیتان را ببیند"</string>
<string name="cross_profile_calendar_title" msgid="7570277841490216947">"تقویم بیننمایهای"</string>
<string name="cross_profile_calendar_summary" msgid="8856185206722860069">"نمایش رویدادهای کاری در تقویم شخصی"</string>
<plurals name="hours" formatted="false" msgid="1853396353451635458">
@@ -4915,7 +4915,7 @@
<string name="double_tap_power_for_camera_title" msgid="7982364144330923683">"باز کردن سریع دوربین"</string>
<string name="double_tap_power_for_camera_summary" msgid="1100926048598415509">"برای باز کردن سریع دوربین، دکمه روشن/خاموش را دو بار فشار دهید. در همه صفحهها کار میکند."</string>
<string name="double_tap_power_for_camera_suggestion_title" msgid="4299496243418753571">"باز کردن سریع دوربین"</string>
- <string name="double_twist_for_camera_mode_title" msgid="472455236910935684">"خودگرفت با چرخش دوربین"</string>
+ <string name="double_twist_for_camera_mode_title" msgid="472455236910935684">"خودگرفت با چرخاندن دوربین"</string>
<string name="double_twist_for_camera_mode_summary" msgid="592503740044744951"></string>
<string name="double_twist_for_camera_suggestion_title" msgid="8178844037382604158">"سریعتر گرفتن خودگرفت"</string>
<string name="system_navigation_title" msgid="1698862900901417194">"پیمایش سیستمی"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 844f44e..e8b2553 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -2571,8 +2571,8 @@
<item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_2">%1$s</xliff:g> secondes</item>
</plurals>
<string name="accessibility_menu_item_settings" msgid="2652637954865389271">"Paramètres"</string>
- <string name="accessibility_feature_state_on" msgid="1777344331063467511">"Activé"</string>
- <string name="accessibility_feature_state_off" msgid="169119895905460512">"Désactivé"</string>
+ <string name="accessibility_feature_state_on" msgid="1777344331063467511">"Activée"</string>
+ <string name="accessibility_feature_state_off" msgid="169119895905460512">"Désactivée"</string>
<string name="captioning_preview_title" msgid="2888561631323180535">"Aperçu"</string>
<string name="captioning_standard_options_title" msgid="5360264497750980205">"Options standards"</string>
<string name="captioning_locale" msgid="5533303294290661590">"Langue"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 9887605..b81b5d1 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1411,11 +1411,11 @@
<string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"S\'active à l\'heure choisie"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"S\'active à l\'heure du coucher"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"État"</string>
- <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ne s\'active jamais automatiquement"</string>
+ <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ne s\'activera jamais automatiquement"</string>
<string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"S\'active automatiquement au coucher du soleil"</string>
<string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"S\'active automatiquement à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="dark_ui_summary_off_auto_mode_custom_bedtime" msgid="7759826673214624622">"S\'active automatiquement à l\'heure du coucher"</string>
- <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Ne jamais désactiver automatiquement"</string>
+ <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Ne se désactivera jamais automatiquement"</string>
<string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Désactiver automatiquement au lever du soleil"</string>
<string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Désactiver automatiquement à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="dark_ui_summary_on_auto_mode_custom_bedtime" msgid="1976993025762551246">"Se désactive automatiquement après l\'heure du coucher"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 0fb84bc..e3ae2fc 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -494,7 +494,7 @@
<string name="skip_anyway_button_label" msgid="3442274117023270068">"हां छोड़ें"</string>
<string name="go_back_button_label" msgid="6139455414099035594">"वापस जाएं"</string>
<string name="skip_lock_screen_dialog_button_label" msgid="641984698150020591">"सेट अप न करें"</string>
- <string name="cancel_lock_screen_dialog_button_label" msgid="1801132985957491690">"अभी नहीं"</string>
+ <string name="cancel_lock_screen_dialog_button_label" msgid="1801132985957491690">"रद्द करें"</string>
<string name="security_settings_fingerprint_enroll_find_sensor_title" msgid="886085239313346000">"सेंसर को छुएं"</string>
<string name="security_settings_udfps_enroll_find_sensor_title" msgid="8077484429913330179">"फ़िंगरप्रिंट सेट अप करने का तरीका"</string>
<string name="security_settings_fingerprint_enroll_find_sensor_message" msgid="6160543980992596286">"यह आपके फ़ोन के पीछे दिया गया है. अपने अंगूठे के पास की उंगली का उपयोग करें."</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index b96d684..fe79f9d 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -578,7 +578,7 @@
<string name="lock_screen_password_skip_title" msgid="8891463713793185768">"Preskočiti postavljanje zaporke?"</string>
<string name="lock_screen_password_skip_face_title" msgid="8166210519462164998">"Preskočiti postavljanje zaporke i lica?"</string>
<string name="lock_screen_password_skip_fingerprint_title" msgid="2506392546016772170">"Preskočiti postavljanje zaporke i otiska prsta?"</string>
- <string name="lock_screen_password_skip_biometrics_title" msgid="900281322095862009">"Preskočiti postav. zaporke, lica i otiska prsta?"</string>
+ <string name="lock_screen_password_skip_biometrics_title" msgid="900281322095862009">"Preskočiti postavljanje zaporke, lica i otiska prsta?"</string>
<string name="lock_screen_pattern_skip_title" msgid="7214938393640060932">"Preskočiti postavljanje uzorka?"</string>
<string name="lock_screen_pattern_skip_face_title" msgid="145100333454316334">"Preskočiti postavljanje uzorka i lica?"</string>
<string name="lock_screen_pattern_skip_fingerprint_title" msgid="2513110208722100495">"Preskočiti postavljanje uzorka i otiska prsta?"</string>
@@ -5058,7 +5058,7 @@
<string name="emergency_gesture_entrypoint_summary" msgid="4730874229911208834">"Upravlja aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="emergency_gesture_screen_summary" msgid="6640521030845132507">"Najmanje pet puta brzo pritisnite tipku za uključivanje/isključivanje da biste pokrenuli radnje u nastavku"</string>
<string name="emergency_gesture_sound_setting_title" msgid="7153948164862156536">"Reprodukcija alarma odbrojavanja"</string>
- <string name="emergency_gesture_sound_setting_summary" msgid="6573377104470235173">"Reproduciraj glasni zvuk pri pokretanju SOS poziva"</string>
+ <string name="emergency_gesture_sound_setting_summary" msgid="6573377104470235173">"Reproduciraj glasan zvuk pri pokretanju SOS poziva"</string>
<string name="emergency_gesture_category_call_for_help_title" msgid="1680040129478289510">"Traženje pomoći"</string>
<string name="emergency_gesture_call_for_help_title" msgid="4969340870836239982">"Poziv upomoć"</string>
<string name="emergency_gesture_call_for_help_dialog_title" msgid="8901271205171421201">"Telefonski broj za pomoć"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index f861f07..a62bbde 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -601,7 +601,7 @@
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Դուք ավելացրել եք մատնահետքերի առավելագույն թույլատրելի քանակը"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Հնարավոր չէ ավելացնել այլ մատնահետքեր"</string>
<string name="fingerprint_last_delete_title" msgid="4081475675646514726">"Հեռացնե՞լ բոլոր մատնահետքերը"</string>
- <string name="fingerprint_delete_title" msgid="1469865327307917858">"Ջնջել «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>»-ը"</string>
+ <string name="fingerprint_delete_title" msgid="1469865327307917858">"Հեռացնե՞լ <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> մատնահետքը"</string>
<string name="fingerprint_delete_message" msgid="1454995433333496541">"Ջնջե՞լ այս մատնահետքը։"</string>
<string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» մատնահետքի հետ կապված պատկերներն ու նմուշը, որոնք պահված են ձեր սարքում, կջնջվեն"</string>
<string name="fingerprint_last_delete_message" msgid="7860374760549404410">"Դուք չեք կարողանա օգտագործել ձեր մատնահետքը՝ հեռախոսն ապակողպելու կամ հավելվածներում ձեր ինքնությունը հաստատելու համար։"</string>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index de50015..18178f8 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -428,7 +428,7 @@
<item msgid="1666628329913333563">"Besar"</item>
</string-array>
<string-array name="vpn_types_long">
- <item msgid="6621806338070912611">"PPTP VPN"</item>
+ <item msgid="6621806338070912611">"VPN PPTP"</item>
<item msgid="2552427673212085780">"L2TP/IPSec VPN dengan kunci pra-bagi"</item>
<item msgid="7378096704485168082">"L2TP/IPSec VPN dengan sertifikat"</item>
<item msgid="3792393562235791509">"IPSec VPN dengan kunci pra-bagi dan autentikasi Xauth"</item>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 4ed979f..abc3d90 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -2337,7 +2337,7 @@
<string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Stækka með flýtilykli og með því að ýta þrisvar"</string>
<string name="accessibility_introduction_title" msgid="8834950581512452348">"Um þjónustuna „<xliff:g id="SERVICE">%1$s</xliff:g>“"</string>
<string name="accessibility_text_reading_options_title" msgid="3224648909213325563">"Skjástærð og texti"</string>
- <string name="accessibility_text_reading_options_suggestion_title" msgid="2492155642665312733">"Breyta því hvernig texti birtist á skjánum"</string>
+ <string name="accessibility_text_reading_options_suggestion_title" msgid="2492155642665312733">"Breyta hvernig texti birtist"</string>
<string name="accessibility_text_reading_preview_mail_subject" msgid="4597374768612733616">"Efni: Hönnun loftbelgja"</string>
<string name="accessibility_text_reading_preview_mail_from" msgid="1797499780365288020">"Frá: Bjarna"</string>
<string name="accessibility_text_reading_preview_mail_content" msgid="8078152365771951802">"Góðan daginn!\n\nÉg vildi bara athuga hvernig gengur með hönnunina. Verður allt tilbúið áður en við byrjum að búa til nýju blöðrurnar?"</string>
@@ -4979,7 +4979,7 @@
<string name="emergency_gesture_switchbar_title" msgid="7421353963329899514">"Nota neyðartilkynningu"</string>
<string name="emergency_gesture_entrypoint_summary" msgid="4730874229911208834">"Stýrt af <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="emergency_gesture_screen_summary" msgid="6640521030845132507">"Ýttu hratt á aflrofann 5 sinnum eða oftar til að virkja aðgerðirnar hér að neðan"</string>
- <string name="emergency_gesture_sound_setting_title" msgid="7153948164862156536">"Spila niðurtalningarviðvörun"</string>
+ <string name="emergency_gesture_sound_setting_title" msgid="7153948164862156536">"Spila niðurtalningarviðvörun"</string>
<string name="emergency_gesture_sound_setting_summary" msgid="6573377104470235173">"Spila hátt hljóð þegar neyðartilkynning hefst"</string>
<string name="emergency_gesture_category_call_for_help_title" msgid="1680040129478289510">"Biðja um hjálp"</string>
<string name="emergency_gesture_call_for_help_title" msgid="4969340870836239982">"Hringja á hjálp"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index df1c04f..ac0aa4d 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -933,7 +933,7 @@
<string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Телефонды NFC құрылғысына жақындатқанда, дерек алмасуға рұқсат беру"</string>
<string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC желісін қосу"</string>
<string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC арқылы бұл құрылғы басқа маңайдағы құрылғылармен не нысандармен, соның ішінде төлем терминалдарымен, кіру деректерін оқу құралдармен және интеративті жарнамалармен немесе тэгтермен деректер алмасады."</string>
- <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC үшін құрылғы құлпын ашуды сұрау"</string>
+ <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC үшін құрылғы құлпын ашуды талап ету"</string>
<string name="nfc_secure_toggle_summary" product="default" msgid="407654335737959071">"Экранның құлпы ашылғанда ғана NFC пайдалануға рұқсат беру"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
<string name="android_beam_on_summary" msgid="6067720758437490896">"Қолданба мазмұнын NFC арқылы жіберуге әзір"</string>
@@ -5666,7 +5666,7 @@
<string name="do_not_disturb_main_switch_title_on" msgid="6965566556539821313">"Қазір өшіру"</string>
<string name="do_not_disturb_main_switch_title_off" msgid="7088088515823752545">"Қазір қосу"</string>
<string name="night_light_main_switch_title" msgid="3428298022467805219">"Түнгі жарықты пайдалану"</string>
- <string name="nfc_main_switch_title" msgid="6295839988954817432">"NFC-ді пайдалану"</string>
+ <string name="nfc_main_switch_title" msgid="6295839988954817432">"NFC функциясын пайдалану"</string>
<string name="adaptive_battery_main_switch_title" msgid="3127477920505485813">"Батарея шығынын бейімдеу функциясын пайдалану"</string>
<string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"Жарықтықты бейімдеу функциясын пайдалану"</string>
<string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"Wi-Fi қоңырауларын пайдалану"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index adbc49a..61bac51 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -4204,7 +4204,7 @@
<string name="zen_mode_all_calls_summary" msgid="7337907849083824698">"എല്ലാ കോളുകളും നിങ്ങൾക്ക് ലഭിക്കും"</string>
<string name="zen_mode_contacts_count" msgid="6568631261119795799">"{count,plural, =0{ഒന്നുമില്ല}=1{ഒരു കോൺടാക്റ്റ്}other{# കോൺടാക്റ്റുകൾ}}"</string>
<string name="zen_mode_from_anyone" msgid="6027004263046694174">"ആർക്കും വിളിക്കാം"</string>
- <string name="zen_mode_from_contacts" msgid="2989933306317064818">"കോൺടാക്റ്റുകൾ"</string>
+ <string name="zen_mode_from_contacts" msgid="2989933306317064818">"Contacts"</string>
<string name="zen_mode_from_starred" msgid="8616516644241652287">"നക്ഷത്രചിഹ്നമിട്ടവ"</string>
<string name="zen_mode_from_some" msgid="3708450042225044524">"ചില ആളുകളോ സംഭാഷണങ്ങളോ"</string>
<string name="zen_calls_summary_starred_repeat" msgid="8078759939219244001">"നക്ഷത്രമിട്ടിട്ടുള്ള കോൺടാക്റ്റുകളിൽ നിന്നും ആവർത്തിച്ച് വിളിക്കുന്നവരിൽ നിന്നും"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 88ae5b6..5a6cbdf 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -4943,7 +4943,7 @@
<string name="left_edge" msgid="1513576842959071849">"Bahagian tepi sebelah kiri"</string>
<string name="right_edge" msgid="1505309103265829121">"Bahagian tepi sebelah kanan"</string>
<string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Kepekaan yang lebih tinggi mungkin mempengaruhi fungsi gerak isyarat apl di tepi skrin."</string>
- <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Kepekaan Belakang"</string>
+ <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Kepekaan Navigasi Kembali"</string>
<string name="gesture_settings_activity_title" msgid="2025828425762595733">"Kepekaan Navigasi Gerak Isyarat"</string>
<string name="button_navigation_settings_activity_title" msgid="7335636045504461813">"Navigasi butang"</string>
<string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigasi gerak isyarat, kepekaan ke belakang, gerak isyarat ke belakang"</string>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index 48f001a..55a86d1 100644
--- a/res/values-pa/arrays.xml
+++ b/res/values-pa/arrays.xml
@@ -372,7 +372,7 @@
</string-array>
<string-array name="long_press_timeout_selector_list_titles">
<item msgid="8908021508913038488">"ਘੱਟ ਸਮੇਂ ਲਈ"</item>
- <item msgid="7397961711906421599">"ਔਸਤ"</item>
+ <item msgid="7397961711906421599">"ਦਰਮਿਆਨੇ ਸਮੇਂ ਲਈ"</item>
<item msgid="4079132024502041928">"ਲੰਬੇ ਸਮੇਂ ਲਈ"</item>
</string-array>
<string-array name="captioning_typeface_selector_titles">
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 34e2a80..bdc1993 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -4853,7 +4853,7 @@
<string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"corte de tela, entalhe"</string>
<string name="overlay_option_device_default" msgid="7986355499809313848">"Padrão do dispositivo"</string>
<string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Falha ao aplicar sobreposição"</string>
- <string name="special_access" msgid="1767980727423395147">"Acesso especial a apps"</string>
+ <string name="special_access" msgid="1767980727423395147">"Acesso especial para apps"</string>
<plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> app pode usar dados ilimitados</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps podem usar dados ilimitados</item>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 8f5a716..317d1ee 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -5219,7 +5219,7 @@
<string name="change_wifi_state_app_detail_switch" msgid="1385358508267180745">"Permitir controlar o Wi-Fi"</string>
<string name="change_wifi_state_app_detail_summary" msgid="8230854855584217111">"Permitir a esta aplicação ativar ou desativar o Wi-Fi, procurar e estabelecer ligação a redes Wi-Fi, adicionar ou remover redes, assim como iniciar uma zona Wi-Fi apenas local."</string>
<string name="media_output_title" msgid="8283629315159510680">"Reproduzir multimédia:"</string>
- <string name="media_output_label_title" msgid="4139048973886819148">"Reproduzir <xliff:g id="LABEL">%s</xliff:g> em"</string>
+ <string name="media_output_label_title" msgid="4139048973886819148">"Abrir <xliff:g id="LABEL">%s</xliff:g> em"</string>
<string name="media_output_default_summary" msgid="4200343059396412376">"Este dispositivo"</string>
<string name="media_output_summary" product="default" msgid="4760338801715262899">"Telemóvel"</string>
<string name="media_output_summary" product="tablet" msgid="5138101426462250247">"Tablet"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 34e2a80..bdc1993 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -4853,7 +4853,7 @@
<string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"corte de tela, entalhe"</string>
<string name="overlay_option_device_default" msgid="7986355499809313848">"Padrão do dispositivo"</string>
<string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Falha ao aplicar sobreposição"</string>
- <string name="special_access" msgid="1767980727423395147">"Acesso especial a apps"</string>
+ <string name="special_access" msgid="1767980727423395147">"Acesso especial para apps"</string>
<plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> app pode usar dados ilimitados</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps podem usar dados ilimitados</item>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 44d82dc..8b484a0 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -1472,7 +1472,7 @@
<string name="wallpaper_dashboard_summary" msgid="2324472863981057118">"Главный экран, заблокированный экран"</string>
<string name="wallpaper_settings_summary_default" msgid="7569803705735001813">"По умолчанию"</string>
<string name="wallpaper_settings_summary_custom" msgid="3174561317688848729">"Пользовательские"</string>
- <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Сменить обои"</string>
+ <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Обои"</string>
<string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Выберите обои для экрана"</string>
<string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Установка обоев"</string>
<string name="style_suggestion_title" msgid="1213747484782364775">"Настройка телефона"</string>
@@ -2385,7 +2385,7 @@
<string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Увеличение с помощью кнопки и по тройному нажатию"</string>
<string name="accessibility_introduction_title" msgid="8834950581512452348">"О функции \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
<string name="accessibility_text_reading_options_title" msgid="3224648909213325563">"Масштаб экрана и текст"</string>
- <string name="accessibility_text_reading_options_suggestion_title" msgid="2492155642665312733">"Настройки отображения текста"</string>
+ <string name="accessibility_text_reading_options_suggestion_title" msgid="2492155642665312733">"Отображение текста"</string>
<string name="accessibility_text_reading_preview_mail_subject" msgid="4597374768612733616">"Тема: Дизайн воздушного шара"</string>
<string name="accessibility_text_reading_preview_mail_from" msgid="1797499780365288020">"От: Борис"</string>
<string name="accessibility_text_reading_preview_mail_content" msgid="8078152365771951802">"Доброе утро!\n\nКак дела с дизайном? Он будет готов до того, как мы начнем разработку новых шаров?"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index a540e2f..d665c7e 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -5389,7 +5389,7 @@
<string name="change_wifi_state_app_detail_switch" msgid="1385358508267180745">"Povoliť aplikácii ovládať Wi-Fi"</string>
<string name="change_wifi_state_app_detail_summary" msgid="8230854855584217111">"Toto povolenie umožňuje tejto aplikácii zapínať a vypínať Wi-Fi, hľadať siete Wi-Fi a pripájať sa k nim, pridávať a odstraňovať siete alebo vytvárať miestny hotspot"</string>
<string name="media_output_title" msgid="8283629315159510680">"Prehrať média v zariadení"</string>
- <string name="media_output_label_title" msgid="4139048973886819148">"Prehrať <xliff:g id="LABEL">%s</xliff:g> cez"</string>
+ <string name="media_output_label_title" msgid="4139048973886819148">"Pustiť <xliff:g id="LABEL">%s</xliff:g> cez"</string>
<string name="media_output_default_summary" msgid="4200343059396412376">"Toto zariadenie"</string>
<string name="media_output_summary" product="default" msgid="4760338801715262899">"Telefón"</string>
<string name="media_output_summary" product="tablet" msgid="5138101426462250247">"Tablet"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index d4e7e7d..a421e1c 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -5572,7 +5572,7 @@
<string name="overlay_settings_title" msgid="1032863083496396365">"அமைப்புகளில் திரை மேலடுக்கை அனுமதித்தல்"</string>
<string name="overlay_settings_summary" msgid="2745336273786148166">"அமைப்புகள் திரைகளுக்கு மேலாகக் காட்டுவதற்கு மற்ற ஆப்ஸில் டிஸ்ப்ளே செய்யப்படக்கூடிய ஆப்ஸை அனுமதிக்கும்"</string>
<string name="allow_mock_modem" msgid="3832264806530479214">"மாதிரி மோடத்தை அனுமதித்தல்"</string>
- <string name="allow_mock_modem_summary" msgid="9097416612748005374">"கருவியியல் பரிசோதனைக்காக மாதிரி மோடம் சேவையை இயக்க இந்தச் சாதனத்தை அனுமதிக்கவும். மொபைலைச் சாதாரணமாகப் பயன்படுத்தும்போது இதை இயக்க வேண்டாம்"</string>
+ <string name="allow_mock_modem_summary" msgid="9097416612748005374">"கருவியியல் பரிசோதனைக்காக மாதிரி மோடம் சேவையை இயக்க இந்தச் சாதனத்தை அனுமதிக்கும். மொபைலைச் சாதாரணமாகப் பயன்படுத்தும்போது இதை இயக்க வேண்டாம்"</string>
<string name="media_controls_title" msgid="403271085636252597">"மீடியா"</string>
<string name="media_controls_resume_title" msgid="855076860336652370">"மீடியா பிளேயரைப் பின் செய்தல்"</string>
<string name="media_controls_resume_description" msgid="3163482266454802097">"வீடியோவின் இயக்கத்தை விரைவாகத் தொடங்க, விரைவு அமைப்புகளில் மீடியா பிளேயரைத் திறந்து வைத்திருக்கும்"</string>
diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
index 60faab9..7003eed 100644
--- a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
+++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
@@ -180,10 +180,11 @@
| AuthenticatorException e) {
// handled below
Log.w(TAG, "Remove account error: " + e);
- RemoveAccountFailureDialog.show(getTargetFragment());
}
Log.i(TAG, "failed: " + failed);
- if (!failed) {
+ if (failed) {
+ RemoveAccountFailureDialog.show(getTargetFragment());
+ } else {
targetActivity.finish();
}
}, null, mUserHandle);
diff --git a/src/com/android/settings/display/BrightnessLevelPreferenceController.java b/src/com/android/settings/display/BrightnessLevelPreferenceController.java
index 171f426..2d549fc 100644
--- a/src/com/android/settings/display/BrightnessLevelPreferenceController.java
+++ b/src/com/android/settings/display/BrightnessLevelPreferenceController.java
@@ -141,6 +141,7 @@
mContentResolver.registerContentObserver(BRIGHTNESS_ADJ_URI, false, mBrightnessObserver);
mDisplayManager.registerDisplayListener(mDisplayListener, mHandler,
DisplayManager.EVENT_FLAG_DISPLAY_BRIGHTNESS);
+ updatedSummary(mPreference);
}
@Override
diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java
index 1ba0502..0bba86f 100644
--- a/src/com/android/settings/network/SubscriptionUtil.java
+++ b/src/com/android/settings/network/SubscriptionUtil.java
@@ -479,7 +479,7 @@
.stream()
.filter(subInfo -> subInfo.getSubscriptionId() == subId)
.findFirst()
- .get();
+ .orElse(null);
}
/**
diff --git a/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java b/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java
index 935e235..4eee605 100644
--- a/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java
+++ b/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java
@@ -21,6 +21,8 @@
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.UiccCardInfo;
+import android.telephony.UiccPortInfo;
+import android.telephony.UiccSlotInfo;
import android.telephony.UiccSlotMapping;
import android.telephony.euicc.EuiccManager;
import android.util.Log;
@@ -28,6 +30,8 @@
import com.android.settings.SidecarFragment;
import com.android.settings.network.telephony.EuiccOperationSidecar;
+import com.google.common.collect.ImmutableList;
+
import java.util.Collection;
import java.util.Comparator;
import java.util.List;
@@ -44,6 +48,7 @@
private int mPort;
private SubscriptionInfo mRemovedSubInfo;
private boolean mIsDuringSimSlotMapping;
+ private List<SubscriptionInfo> mActiveSubInfos;
/** Returns a SwitchToEuiccSubscriptionSidecar sidecar instance. */
public static SwitchToEuiccSubscriptionSidecar get(FragmentManager fm) {
@@ -87,6 +92,10 @@
setState(State.RUNNING, Substate.UNUSED);
mCallbackIntent = createCallbackIntent();
mSubId = subscriptionId;
+ SubscriptionManager subscriptionManager = getContext().getSystemService(
+ SubscriptionManager.class);
+ mActiveSubInfos = SubscriptionUtil.getActiveSubscriptions(subscriptionManager);
+
int targetSlot = getTargetSlot();
if (targetSlot < 0) {
Log.d(TAG, "There is no esim, the TargetSlot is " + targetSlot);
@@ -99,15 +108,29 @@
mPort = (port < 0) ? getTargetPortId(targetSlot, removedSubInfo) : port;
mRemovedSubInfo = removedSubInfo;
Log.d(TAG,
- String.format("set esim into the SubId%d Slot%d:Port%d",
+ String.format("set esim into the SubId%d Physical Slot%d:Port%d",
mSubId, targetSlot, mPort));
-
- if (mTelephonyManager.isMultiSimEnabled() && removedSubInfo != null
- && removedSubInfo.isEmbedded()) {
- // In DSDS mode+MEP, if the replaced esim is active, then it should be disabled esim
- // profile before changing SimSlotMapping process.
- // Use INVALID_SUBSCRIPTION_ID to disable the esim profile.
- // The SimSlotMapping is ready, then to execute activate/inactivate esim.
+ if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ // If the subId is INVALID_SUBSCRIPTION_ID, disable the esim (the default esim slot
+ // which is selected by the framework).
+ switchToSubscription();
+ } else if ((mTelephonyManager.isMultiSimEnabled() && removedSubInfo != null
+ && removedSubInfo.isEmbedded())
+ || isEsimEnabledAtTargetSlotPort(targetSlot, mPort)) {
+ // Case1: In DSDS mode+MEP, if the replaced esim is active, then the replaced esim
+ // should be disabled before changing SimSlotMapping process.
+ //
+ // Case2: If the user enables the esimA on the target slot:port and the target
+ // slot:port is active and there is an active esimB on target slot:port, then the
+ // settings disables the esimB before the settings enables the esimA on the
+ // target slot:port.
+ //
+ // Step:
+ // 1. disables the replaced esim.
+ // 2. switches the SimSlotMapping if the target slot port is not active.
+ // 3. enables the target esim.
+ // Note: Use INVALID_SUBSCRIPTION_ID to disable the esim profile.
+ Log.d(TAG, "disable the enabled esim before the settings enables the target esim");
mIsDuringSimSlotMapping = true;
mEuiccManager.switchToSubscription(SubscriptionManager.INVALID_SUBSCRIPTION_ID, mPort,
mCallbackIntent);
@@ -117,8 +140,8 @@
}
private int getTargetPortId(int physicalEsimSlotIndex, SubscriptionInfo removedSubInfo) {
- if (!isMultipleEnabledProfilesSupported()) {
- Log.d(TAG, "The device is no MEP, port is 0");
+ if (!isMultipleEnabledProfilesSupported(physicalEsimSlotIndex)) {
+ Log.d(TAG, "The slotId" + physicalEsimSlotIndex + " is no MEP, port is 0");
return 0;
}
@@ -150,11 +173,12 @@
// port is 0.
int port = 0;
- SubscriptionManager subscriptionManager = getContext().getSystemService(
- SubscriptionManager.class);
+ if(mActiveSubInfos == null){
+ Log.d(TAG, "mActiveSubInfos is null.");
+ return port;
+ }
List<SubscriptionInfo> activeEsimSubInfos =
- SubscriptionUtil.getActiveSubscriptions(subscriptionManager)
- .stream()
+ mActiveSubInfos.stream()
.filter(i -> i.isEmbedded())
.sorted(Comparator.comparingInt(SubscriptionInfo::getPortIndex))
.collect(Collectors.toList());
@@ -167,7 +191,31 @@
}
private int getTargetSlot() {
- return UiccSlotUtil.getEsimSlotId(getContext());
+ return UiccSlotUtil.getEsimSlotId(getContext(), mSubId);
+ }
+
+ private boolean isEsimEnabledAtTargetSlotPort(int physicalSlotIndex, int portIndex) {
+ int logicalSlotId = getLogicalSlotIndex(physicalSlotIndex, portIndex);
+ if (logicalSlotId == SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+ return false;
+ }
+ return mActiveSubInfos != null
+ && mActiveSubInfos.stream()
+ .anyMatch(i -> i.isEmbedded() && i.getSimSlotIndex() == logicalSlotId);
+ }
+
+ private int getLogicalSlotIndex(int physicalSlotIndex, int portIndex) {
+ ImmutableList<UiccSlotInfo> slotInfos = UiccSlotUtil.getSlotInfos(mTelephonyManager);
+ if (slotInfos != null && physicalSlotIndex >= 0 && physicalSlotIndex < slotInfos.size()
+ && slotInfos.get(physicalSlotIndex) != null) {
+ for (UiccPortInfo portInfo : slotInfos.get(physicalSlotIndex).getPorts()) {
+ if (portInfo.getPortIndex() == portIndex) {
+ return portInfo.getLogicalSlotIndex();
+ }
+ }
+ }
+
+ return SubscriptionManager.INVALID_SIM_SLOT_INDEX;
}
private void onSwitchSlotSidecarStateChange() {
@@ -185,14 +233,15 @@
}
}
- private boolean isMultipleEnabledProfilesSupported() {
+ private boolean isMultipleEnabledProfilesSupported(int physicalEsimSlotIndex) {
List<UiccCardInfo> cardInfos = mTelephonyManager.getUiccCardsInfo();
if (cardInfos == null) {
Log.w(TAG, "UICC cards info list is empty.");
return false;
}
- return cardInfos.stream().anyMatch(
- cardInfo -> cardInfo.isMultipleEnabledProfilesSupported());
+ return cardInfos.stream()
+ .anyMatch(cardInfo -> cardInfo.getPhysicalSlotIndex() == physicalEsimSlotIndex
+ && cardInfo.isMultipleEnabledProfilesSupported());
}
private void switchToSubscription() {
diff --git a/src/com/android/settings/network/UiccSlotUtil.java b/src/com/android/settings/network/UiccSlotUtil.java
index c9c52cb..7ba2e0f 100644
--- a/src/com/android/settings/network/UiccSlotUtil.java
+++ b/src/com/android/settings/network/UiccSlotUtil.java
@@ -22,11 +22,13 @@
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import android.telephony.UiccCardInfo;
import android.telephony.UiccSlotInfo;
import android.telephony.UiccSlotMapping;
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;
@@ -36,6 +38,7 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
+import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -183,9 +186,27 @@
* @param context the application context.
* @return the esim slot. If the value is -1, there is not the esim.
*/
- public static int getEsimSlotId(Context context) {
+ public static int getEsimSlotId(Context context, int subId) {
TelephonyManager telMgr = context.getSystemService(TelephonyManager.class);
+ List<UiccCardInfo> uiccCardInfos = telMgr.getUiccCardsInfo();
ImmutableList<UiccSlotInfo> slotInfos = UiccSlotUtil.getSlotInfos(telMgr);
+ SubscriptionManager subscriptionManager = context.getSystemService(
+ SubscriptionManager.class);
+ SubscriptionInfo subInfo = SubscriptionUtil.getSubById(subscriptionManager, subId);
+
+ // checking whether this is the removable esim. If it is, then return the removable slot id.
+ if (subInfo != null && subInfo.isEmbedded()) {
+ for (UiccCardInfo uiccCardInfo : uiccCardInfos) {
+ if (uiccCardInfo.getCardId() == subInfo.getCardId()
+ && uiccCardInfo.getCardId() > TelephonyManager.UNSUPPORTED_CARD_ID
+ && uiccCardInfo.isEuicc()
+ && uiccCardInfo.isRemovable()) {
+ Log.d(TAG, "getEsimSlotId: This subInfo is removable esim.");
+ return uiccCardInfo.getPhysicalSlotIndex();
+ }
+ }
+ }
+
int firstEsimSlot = IntStream.range(0, slotInfos.size())
.filter(
index -> {
diff --git a/src/com/android/settings/sim/PreferredSimDialogFragment.java b/src/com/android/settings/sim/PreferredSimDialogFragment.java
index 6b5e2b5..806e04b 100644
--- a/src/com/android/settings/sim/PreferredSimDialogFragment.java
+++ b/src/com/android/settings/sim/PreferredSimDialogFragment.java
@@ -88,6 +88,11 @@
return;
}
+ if (dialog == null) {
+ Log.d(TAG, "Dialog is null.");
+ dismiss();
+ }
+
final SubscriptionInfo info = getPreferredSubscription();
if (info == null) {
dismiss();
diff --git a/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java b/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java
index 1f84177..a989d52 100644
--- a/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java
+++ b/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java
@@ -100,6 +100,11 @@
return;
}
+ if (dialog == null) {
+ Log.d(TAG, "Dialog is null.");
+ dismiss();
+ }
+
SubscriptionInfo currentDataSubInfo = getDefaultDataSubInfo();
SubscriptionInfo newSubInfo = getNonDefaultDataSubscriptionInfo(currentDataSubInfo);
diff --git a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java
index c2a8611..82c6b70 100644
--- a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java
@@ -136,6 +136,21 @@
}
@Test
+ public void onStart_shouldSetSummary() {
+ BrightnessLevelPreferenceController controller =
+ new BrightnessLevelPreferenceController(mContext, null);
+ controller.displayPreference(mScreen);
+
+ controller.onStop();
+ when(mDisplay.getBrightnessInfo()).thenReturn(
+ new BrightnessInfo(0.5f, 0.0f, 1.0f, BrightnessInfo.HIGH_BRIGHTNESS_MODE_OFF,
+ 0.5f, BrightnessInfo.BRIGHTNESS_MAX_REASON_NONE));
+ controller.onStart();
+
+ verify(mPreference).setSummary("87%");
+ }
+
+ @Test
public void updateState_inVrMode_shouldSetSummaryToVrBrightness() {
doReturn(true).when(mController).isInVrMode();
System.putFloat(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, 0.6f);
diff --git a/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java b/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
index 5aa73ea..526fc0c 100644
--- a/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
+++ b/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
@@ -25,7 +25,9 @@
import android.content.Context;
import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import android.telephony.UiccCardInfo;
import android.telephony.UiccPortInfo;
import android.telephony.UiccSlotInfo;
import android.telephony.UiccSlotMapping;
@@ -53,16 +55,24 @@
private Context mContext;
@Mock
private TelephonyManager mTelephonyManager;
+ @Mock
+ private SubscriptionManager mSubscriptionManager;
private static final int ESIM_PHYSICAL_SLOT = 0;
private static final int PSIM_PHYSICAL_SLOT = 1;
+ private List<SubscriptionInfo> mSubscriptionInfoList = new ArrayList<>();
+ private List<UiccCardInfo> mUiccCardInfo = new ArrayList<>();
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(ApplicationProvider.getApplicationContext());
when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
+ when(mTelephonyManager.getUiccCardsInfo()).thenReturn(mUiccCardInfo);
+
+ when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
+ when(mSubscriptionManager.getAllSubscriptionInfoList()).thenReturn(mSubscriptionInfoList);
}
@Test
@@ -88,15 +98,35 @@
public void getEsimSlotId_twoSimSlotsDeviceAndEsimIsSlot0_returnTheCorrectEsimSlot() {
when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
twoSimSlotsDeviceActiveEsimActivePsim());
- int testSlot = UiccSlotUtil.getEsimSlotId(mContext);
+ int testSlot = UiccSlotUtil.getEsimSlotId(mContext,0);
assertThat(testSlot).isEqualTo(0);
}
+
@Test
- public void getEsimSlotId_twoSimSlotsDeviceAndRemovableEsimIsSlot1_returnTheCorrectEsimSlot() {
+ public void getEsimSlotId_simIsRemovableEsimAndRemovableEsimIsSlot1_returnRemovableEsimSlot1() {
+ int subId = 0;
+ int cardId = 0;
+ mSubscriptionInfoList.add(createSubscriptionInfo(subId,-1, -1, true, cardId));
+ mUiccCardInfo.add(createUiccCardInfo(true, 3, 0, false, -1, -1));
+ mUiccCardInfo.add(createUiccCardInfo(true, cardId, 1, true, -1, -1));
+ when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
+ twoSimSlotsDeviceActiveEsimActiveRemovableEsim());
+ int testSlot = UiccSlotUtil.getEsimSlotId(mContext, subId);
+
+ assertThat(testSlot).isEqualTo(1);
+ }
+
+ @Test
+ public void getEsimSlotId_simIsRemovableEsimAndTwoRemovableSlots_returnRemovableEsimSlot1() {
+ int subId = 0;
+ int cardId = 0;
+ mSubscriptionInfoList.add(createSubscriptionInfo(subId,-1, -1, true, cardId));
+ mUiccCardInfo.add(createUiccCardInfo(false, 4, 0, true, -1, -1));
+ mUiccCardInfo.add(createUiccCardInfo(true, cardId, 1, true, -1, -1));
when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
twoSimSlotsDeviceActivePsimActiveRemovableEsim());
- int testSlot = UiccSlotUtil.getEsimSlotId(mContext);
+ int testSlot = UiccSlotUtil.getEsimSlotId(mContext, subId);
assertThat(testSlot).isEqualTo(1);
}
@@ -105,7 +135,7 @@
public void getEsimSlotId_twoSimSlotsDeviceAndEsimIsSlot1_returnTheCorrectEsimSlot() {
when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
twoSimSlotsDeviceActivePsimActiveEsim());
- int testSlot = UiccSlotUtil.getEsimSlotId(mContext);
+ int testSlot = UiccSlotUtil.getEsimSlotId(mContext,0);
assertThat(testSlot).isEqualTo(1);
}
@@ -114,7 +144,7 @@
public void getEsimSlotId_noEimSlotDevice_returnTheCorrectEsimSlot() {
when(mTelephonyManager.getUiccSlotsInfo()).thenReturn(
oneSimSlotDeviceActivePsim());
- int testSlot = UiccSlotUtil.getEsimSlotId(mContext);
+ int testSlot = UiccSlotUtil.getEsimSlotId(mContext,0);
assertThat(testSlot).isEqualTo(-1);
}
@@ -620,13 +650,38 @@
}
private SubscriptionInfo createSubscriptionInfo(int logicalSlotIndex, int portIndex) {
+ return createSubscriptionInfo(0, logicalSlotIndex, portIndex, true, 25);
+ }
+
+ private SubscriptionInfo createSubscriptionInfo(int subId, int logicalSlotIndex, int portIndex,
+ boolean isEmbedded, int cardId) {
return new SubscriptionInfo(
- 0, "", logicalSlotIndex, "", "", 0, 0, "", 0, null, "", "", "",
- true /* isEmbedded */,
- null, "", 25,
+ subId, "",
+ logicalSlotIndex, "", "", 0, 0, "", 0, null, "", "", "",
+ isEmbedded /* isEmbedded */,
+ null, "",
+ cardId,
false, null, false, 0, 0, 0, null, null, true, portIndex);
}
+ private UiccCardInfo createUiccCardInfo(boolean isEuicc, int cardId, int physicalSlotIndex,
+ boolean isRemovable, int logicalSlotIndex, int portIndex) {
+ return new UiccCardInfo(
+ isEuicc /* isEuicc */,
+ cardId /* cardId */,
+ null /* eid */,
+ physicalSlotIndex /* physicalSlotIndex */,
+ isRemovable /* isRemovable */,
+ false /* isMultipleEnabledProfileSupported */,
+ Collections.singletonList(
+ new UiccPortInfo(
+ "123451234567890" /* iccId */,
+ portIndex /* portIdx */,
+ logicalSlotIndex /* logicalSlotIdx */,
+ true /* isActive */)
+ ));
+ }
+
private List<SubscriptionInfo> createActiveSubscriptionInfoListOneSim(int logicalSlotIndex,
int portIndex) {
List<SubscriptionInfo> subscriptionInfoList = new ArrayList<>();
@@ -737,6 +792,12 @@
createUiccSlotInfo(true, false, 1, true)};
}
+ private UiccSlotInfo[] twoSimSlotsDeviceActiveEsimActiveRemovableEsim() {
+ return new UiccSlotInfo[]{
+ createUiccSlotInfo(true, false, 0, true),
+ createUiccSlotInfo(true, true, 1, true)};
+ }
+
private UiccSlotInfo[] twoSimSlotsDeviceActivePsimActiveRemovableEsim() {
return new UiccSlotInfo[]{
createUiccSlotInfo(false, true, 0, true),