Merge "Add satellite ConfigDataGenerator tool" into main
diff --git a/ecc/input/eccdata.txt b/ecc/input/eccdata.txt
index c4edc9e..95b70d5 100644
--- a/ecc/input/eccdata.txt
+++ b/ecc/input/eccdata.txt
@@ -1019,6 +1019,7 @@
eccs {
phone_number: "114"
types: TYPE_UNSPECIFIED
+ routing: NORMAL
}
eccs {
phone_number: "191"
diff --git a/ecc/output/eccdata b/ecc/output/eccdata
index 482ed79..513d6b9 100644
--- a/ecc/output/eccdata
+++ b/ecc/output/eccdata
Binary files differ
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 89f775a..987d5dd 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"কল ছেটিংসমূহ"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"কেৱল প্ৰশাসকে কল ছেটিংসমূহ সলনি কৰিব পাৰে।"</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"ফ’ন একাউণ্টৰ ছেটিং কেৱল প্ৰশাসক অথবা কৰ্মস্থানৰ ব্যৱহাৰকাৰীয়েহে সলনি কৰিব পাৰে।"</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"ডিভাইচৰ গৰাকীয়ে ম’বাইল নেটৱৰ্কৰ ছেটিং সলনি কৰাৰ ক্ষমতা সীমিত কৰিছে।"</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"ছেটিংসমূহ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"কল ছেটিংসমূহত আসোঁৱাহ"</string>
<string name="reading_settings" msgid="1605904432450871183">"ছেটিংসমূহ পঢ়ি থকা হৈছে…"</string>
@@ -902,7 +901,7 @@
<string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"ভইচ নেটৱৰ্কৰ প্ৰকাৰ:"</string>
<string name="radio_info_data_network_type_label" msgid="8886597029237501929">"ডেটা নেটৱৰ্কৰ প্ৰকাৰ:"</string>
<string name="radio_info_override_network_type_label" msgid="4176280017221092005">"নেটৱৰ্ক প্ৰকাৰ অ’ভাৰৰাইড কৰক:"</string>
- <string name="radio_info_voice_raw_registration_state_label" msgid="2822988327145825128">"কণ্ঠস্বৰৰ অসম্পাদিত পঞ্জীয়নৰ স্থিতি:"</string>
+ <string name="radio_info_voice_raw_registration_state_label" msgid="2822988327145825128">"ভইচৰ অসম্পাদিত পঞ্জীয়নৰ স্থিতি:"</string>
<string name="radio_info_data_raw_registration_state_label" msgid="2895895513822604539">"ডেটাৰ অসম্পাদিত পঞ্জীয়নৰ স্থিতি:"</string>
<string name="radio_info_wlan_data_raw_registration_state_label" msgid="6396894835757296612">"WLAN ডেটাৰ অসম্পাদিত পঞ্জীয়নৰ স্থিতি:"</string>
<string name="phone_index_label" msgid="6222406512768964268">"ফ’নৰ ইনডেক্স বাছনি কৰক"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index ce8cfbb..bc42892 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Налады выклікаў"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Налады выклікаў можа мяняць толькі адміністратар."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Налады ўліковага запісу на тэлефоне можа мяняць толькі адміністратар ці карыстальнік працоўнага профілю."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Уладальнік прылады забараніў змяняць налады мабільнай сеткі."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Налады (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Памылка налад выкліку"</string>
<string name="reading_settings" msgid="1605904432450871183">"Чытанне налад..."</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 47d7b00..fb7264e 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Настройки за обаждане"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Само администраторът може да променя настройките за обаждане."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Настройките на профилите в телефона могат да се променят само от администратора или служебния потребител."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Собственикът на устройството е ограничил възможността за промяна на настройките за мобилната мрежа."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Настройки (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Грешка в настройките за обаждане"</string>
<string name="reading_settings" msgid="1605904432450871183">"Извършва се четене на настройки…"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index aa52760..8f47094 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"কল সেটিংস"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"কেবলমাত্র প্রশাসক ব্যবহারকারী কল সেটিংস পরিবর্তন করতে পারবেন৷"</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"শুধুমাত্র অ্যাডমিন বা অফিস প্রোফাইল ব্যবহারকারী ফোনের অ্যাকাউন্ট সেটিংস পরিবর্তন করতে পারবেন।"</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"ডিভাইসের মালিক, মোবাইল নেটওয়ার্ক সেটিংস পরিবর্তন করার সুবিধা সীমাবদ্ধ করে রেখেছেন।"</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"সেটিংস (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"কল সেটিংসে ত্রুটি"</string>
<string name="reading_settings" msgid="1605904432450871183">"সেটিংস পড়ছে…"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index c0ee99b..2fd44d8 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -134,7 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Postavke poziva"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Postavke poziva može promijeniti samo administrator."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Postavke računa na telefonu može promijeniti samo administrator ili poslovni korisnik."</string>
- <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Vlasnik uređaja ograničio je mogućnost promjene postavki mobilne mreže."</string>
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Vlasnik uređaja je ograničio mogućnost promjene postavki mobilne mreže."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Postavke (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Greška u postavkama poziva"</string>
<string name="reading_settings" msgid="1605904432450871183">"Čitanje postavki…"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index d01d946..e351f02 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Configuració de trucada"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Només l\'administrador pot canviar la configuració de trucades."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Només l\'administrador o l\'usuari de la feina pot canviar la configuració del compte del telèfon."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"El propietari del dispositiu ha restringit la possibilitat de canviar la configuració de la xarxa mòbil."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Configuració (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Error de configuració de trucada"</string>
<string name="reading_settings" msgid="1605904432450871183">"S\'està llegint la configuració…"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 39b2eb5..5b76b8f 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Nastavení hovorů"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Nastavení hovorů může změnit pouze uživatel s oprávněním administrátora."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Nastavení telefonního účtu může změnit jen administrátor nebo uživatel pracovního účtu."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Vlastník zařízení omezil možnost změnit nastavení mobilní sítě."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Nastavení (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Chyba nastavení hovorů"</string>
<string name="reading_settings" msgid="1605904432450871183">"Načítání nastavení..."</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 5254dcc..1fc277f 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Kõneseaded"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Kõne seadeid saab muuta ainult administraator."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Telefoni konto seadeid saab muuta ainult administraator või tööprofiili kasutaja."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Seadme omanik on mobiilsidevõrgu seadete muutmise võimalust piiranud."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Seaded (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Kõneseadete viga"</string>
<string name="reading_settings" msgid="1605904432450871183">"Seadete lugemine ..."</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index db9da03..60abd7f 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"تنظیمات تماس"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"فقط کاربر سرپرست میتواند تنظیمات تماس را تغییر دهد."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"فقط کاربر کاری یا سرپرست میتواند تنظیمات حساب تلفن را تغییر دهد."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"مالک دستگاه امکان تغییر دادن تنظیمات شبکه تلفن همراه را محدود کرده است."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"تنظیمات (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"خطای تنظیمات تماس"</string>
<string name="reading_settings" msgid="1605904432450871183">"در حال خواندن تنظیمات..."</string>
@@ -287,8 +286,8 @@
<string name="roaming" msgid="1576180772877858949">"فراگردی"</string>
<string name="roaming_enable" msgid="6853685214521494819">"اتصال به سرویسهای داده هنگام فراگردی"</string>
<string name="roaming_disable" msgid="8856224638624592681">"اتصال به سرویسهای داده هنگام فراگردی"</string>
- <string name="roaming_reenable_message" msgid="1951802463885727915">"فراگردی داده خاموش شده است. برای روشن کردن آن، ضربه بزنید."</string>
- <string name="roaming_enabled_message" msgid="9022249120750897">"ممکن است هزینههای فراگردی اعمال شود. برای اصلاح ضربه بزنید."</string>
+ <string name="roaming_reenable_message" msgid="1951802463885727915">"فراگردی داده خاموش شده است. برای روشن کردن آن، تکضرب بزنید."</string>
+ <string name="roaming_enabled_message" msgid="9022249120750897">"ممکن است هزینههای فراگردی اعمال شود. برای اصلاح تکضرب بزنید."</string>
<string name="roaming_notification_title" msgid="3590348480688047320">"اتصال داده تلفن همراه قطع شد"</string>
<string name="roaming_on_notification_title" msgid="7451473196411559173">"فراگردی داده روشن است"</string>
<string name="roaming_warning" msgid="7855681468067171971">"شاید هزینه زیادی برای شما داشته باشد."</string>
@@ -565,11 +564,11 @@
<string name="incall_error_carrier_roaming_satellite_mode" msgid="678603203562886361">"میتوانید بدون شبکه تلفن همراه یا شبکه Wi-Fi پیام ارسال و دریافت کنید."</string>
<string name="emergency_information_hint" msgid="9208897544917793012">"اطلاعات اضطراری"</string>
<string name="emergency_information_owner_hint" msgid="6256909888049185316">"مالک"</string>
- <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"برای دیدن اطلاعات، دوباره ضربه بزنید"</string>
+ <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"برای دیدن اطلاعات، دوباره تکضرب بزنید"</string>
<string name="emergency_enable_radio_dialog_title" msgid="2667568200755388829">"تماس اضطراری"</string>
<string name="single_emergency_number_title" msgid="8413371079579067196">"شماره تلفن اضطراری"</string>
<string name="numerous_emergency_numbers_title" msgid="8972398932506755510">"شماره تلفنهای اضطراری"</string>
- <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"برای تماس با <xliff:g id="EMERGENCY_NUMBER">%s</xliff:g> دوباره ضربه بزنید"</string>
+ <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"برای تماس با <xliff:g id="EMERGENCY_NUMBER">%s</xliff:g> دوباره تکضرب بزنید"</string>
<string name="emergency_enable_radio_dialog_message" msgid="1695305158151408629">"در حال روشن کردن رادیو..."</string>
<string name="emergency_enable_radio_dialog_retry" msgid="4329131876852608587">"سرویسی در دسترس نیست. دوباره امتحان کنید..."</string>
<string name="radio_off_during_emergency_call" msgid="8011154134040481609">"در طول تماس اضطراری نمیتوانید به حالت هواپیما بروید."</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index b99db67..d347488 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Puheluasetukset"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Vain järjestelmänvalvoja voi muuttaa puheluasetuksia."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Vain järjestelmänvalvoja tai työkäyttäjä voi muuttaa puhelintilin asetuksia."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Laitteen omistaja on rajoittanut mobiiliverkkoasetusten muuttamista."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Asetukset (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Virhe puheluasetuksissa"</string>
<string name="reading_settings" msgid="1605904432450871183">"Luetaan asetuksia…"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 8407e0b..8fac282 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Paramètres d\'appel"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Seul l\'administrateur peut modifier les paramètres d\'appel."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Seul l\'administrateur ou l\'utilisateur professionnel peut modifier les paramètres du compte téléphonique."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Le propriétaire de l\'appareil a limité la possibilité de modifier les paramètres du réseau mobile."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Paramètres (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Erreur des paramètres d\'appel"</string>
<string name="reading_settings" msgid="1605904432450871183">"Lecture des paramètres..."</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 0b630ab..19d127d 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"કૉલ સેટિંગ"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"કૉલ સેટિંગને ફક્ત ઍડમિન વપરાશકર્તા દ્વારા જ બદલી શકાય છે."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"ફોન એકાઉન્ટના સેટિંગને ફક્ત ઍડમિન અથવા ઑફિસના વપરાશકર્તા જ બદલી શકે છે."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"ડિવાઇસના માલિકે મોબાઇલ નેટવર્ક સેટિંગ બદલવાની ક્ષમતા પ્રતિબંધિત કરી છે."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"સેટિંગ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"કૉલ સેટિંગની ભૂલ"</string>
<string name="reading_settings" msgid="1605904432450871183">"સેટિંગ વાંચી રહ્યાં છે…"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 991837b..731c6fb 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Զանգի կարգավորումներ"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Զանգի կարգավորումները կարող է փոխել միայն ադմինիստրատոր հանդիսացող օգտատերը:"</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Հեռախոսի հաշվի կարգավորումները կարող է փոխել միայն ադմինիստրատորը կամ աշխատանքային հաշվի օգտատերը։"</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Սարքի սեփականատերը սահմանափակել է բջջային ցանցի կարգավորումները փոխելու հնարավորությունը։"</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Կարգավորումներ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Զանգի կարգավորումների սխալ"</string>
<string name="reading_settings" msgid="1605904432450871183">"Ընթերցման կարգավորումներ..."</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index b7a2233..1e9ca9a 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Setelan panggilan"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Setelan panggilan telepon hanya dapat diubah oleh pengguna admin."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Setelan akun Telepon hanya dapat diubah admin atau pengguna untuk kerja."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Pemilik perangkat telah membatasi kemampuan untuk mengubah setelan jaringan seluler."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Setelan (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Kesalahan setelan panggilan"</string>
<string name="reading_settings" msgid="1605904432450871183">"Membaca setelan…"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9e9ca3b..cadede4 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Impostazioni chiamate"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Le impostazioni delle chiamate possono essere modificate solo dall\'utente amministratore."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Le impostazioni dell\'account del telefono possono essere modificate solo dall\'amministratore o dall\'utente di lavoro."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Il proprietario del dispositivo ha limitato la possibilità di modificare le impostazioni della rete mobile."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Impostazioni (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Errore durante aggiornam. impostaz. chiamate"</string>
<string name="reading_settings" msgid="1605904432450871183">"Lettura impostazioni..."</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 18e69d4..f93dc1d 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"הגדרות שיחה"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"רק מנהל המערכת יכול לשנות הגדרות שיחה."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"אפשר לשנות את הגדרות החשבון בטלפון רק מהחשבון של האדמין או של העבודה."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"אי אפשר לשנות את הגדרות הרשת הסלולרית בגלל מגבלות שהוגדרו על ידי בעלי המכשיר."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"הגדרות (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"שגיאה בהגדרות שיחה"</string>
<string name="reading_settings" msgid="1605904432450871183">"קריאת ההגדרות מתבצעת…"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index a3effbb..25ab94d 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Қоңырау параметрлері"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Қоңырау параметрлерін тек әкімші пайдаланушы өзгерте алады."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Телефонның аккаунт параметрлерін тек әкімші немесе жұмыстағы пайдаланушы өзгерте алады."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Құрылғының иесі мобильдік желі параметрлерін өзгертуге шектеу қойды."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Параметрлер (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Қоңырау параметрлерінің қателігі"</string>
<string name="reading_settings" msgid="1605904432450871183">"Параметрлерді оқуда…"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 7f2271e..9feb53a 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"ಕರೆ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"ಕರೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಕೇವಲ ನಿರ್ವಾಹಕ ಬಳಕೆದಾರರು ಮಾತ್ರ ಬದಲಾಯಿಸಬಹುದು."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"ಫೋನ್ ಖಾತೆಯ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನಿರ್ವಾಹಕರು ಅಥವಾ ಕೆಲಸದ ಬಳಕೆದಾರರಿಂದ ಮಾತ್ರ ಬದಲಾಯಿಸಬಹುದಾಗಿದೆ."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"ಸಾಧನದ ಮಾಲೀಕರು ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ನಿರ್ಬಂಧಿಸಿದ್ದಾರೆ."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"ಸೆಟ್ಟಿಂಗ್ಗಳು (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"ಕರೆ ಸೆಟ್ಟಿಂಗ್ಗಳ ದೋಷ"</string>
<string name="reading_settings" msgid="1605904432450871183">"ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಓದಲಾಗುತ್ತಿದೆ…"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index b275825..c3b4425 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"통화 설정"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"관리자만 통화 설정을 변경할 수 있습니다."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"전화 계정 설정은 관리자 또는 직장 사용자만 변경할 수 있습니다."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"기기 소유자가 모바일 네트워크 설정 변경 기능을 제한했습니다."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"설정(<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"통화 설정 오류"</string>
<string name="reading_settings" msgid="1605904432450871183">"설정을 읽는 중..."</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index ee1714b..3b086e9 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Чалуу параметрлери"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Чалуу параметрлерин администратор гана өзгөртө алат."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Телефондогу аккаунттун параметрлерин администратор же жумуштагы колдонуучу гана өзгөртө алат."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Түзмөктүн ээси мобилдик тармактын параметрлерин өзгөртүүгө тыюу салды."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Параметрлер (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Чалуу жөндөөлөрүндө ката кетти"</string>
<string name="reading_settings" msgid="1605904432450871183">"Параметрлер окулууда…"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 2f3613c..3034573 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Skambinimo nustatymai"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Skambučių nustatymus gali keisti tik administruojantis naudotojas."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Telefono paskyros nustatymus gali keisti tik administratorius arba darbo paskyros naudotojas."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Įrenginio savininkas apribojo galimybę keisti mobiliojo ryšio tinklo nustatymus."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Nustatymai (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Skambinimo nustatymų klaida"</string>
<string name="reading_settings" msgid="1605904432450871183">"Analizuojami nustatymai..."</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 9222b9c..10a7a49 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Zvanu iestatījumi"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Tikai lietotājs ar administratora tiesībām var mainīt zvanu iestatījumus."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Tikai administrators vai primārais lietotājs var mainīt tālruņa konta iestatījumus."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Ierīces īpašnieks ir ierobežojis iespēju mainīt mobilā tīkla iestatījumus."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Iestatījumi (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Zvanu iestatījumu kļūda"</string>
<string name="reading_settings" msgid="1605904432450871183">"Notiek iestatījumu lasīšana..."</string>
@@ -845,8 +844,8 @@
<string name="dsds_dialog_cancel" msgid="3245958947099586655">"Atcelt"</string>
<string name="removable_esim_string" msgid="7931369811671787649">"Iestatīt noņemamu eSIM kā noklusējumu"</string>
<string name="radio_info_radio_power" msgid="8805595022160471587">"Mobilā tālruņa radio signāla stiprums"</string>
- <string name="simulate_out_of_service_string" msgid="7787925611727597193">"Simulācijas ierīce nedarbojas (tikai būvējuma atkļūdošana)"</string>
- <string name="mock_carrier_roaming_satellite_string" msgid="4796300252858292593">"Mobilo sakaru operatora satelīta režīma imitēšana (tikai būvējuma atkļūdošana)"</string>
+ <string name="simulate_out_of_service_string" msgid="7787925611727597193">"Simulācijas ierīce nedarbojas (tikai atkļūdošanas būvējums)"</string>
+ <string name="mock_carrier_roaming_satellite_string" msgid="4796300252858292593">"Mobilo sakaru operatora satelīta režīma imitēšana (tikai atkļūdošanas būvējums)"</string>
<string name="esos_satellite_string" msgid="7274794226125968657">"Izmēģināt īsta satelīta eSOS režīmu (tikai atkļūdošanas būvējumā)"</string>
<string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Skatīt SIM adrešu grāmatu"</string>
<string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Skatīt ierobežotā zvanu saraksta numurus"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 9a42ee7..450fce0 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Поставки за повици"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Поставките за повик може да ги измени само администраторскиот корисник."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Поставките за сметката на телефонот може да ги промени само администраторот или деловниот корисник."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Сопственикот на уредот ја ограничил можноста за менување на поставките за мобилната мрежа."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Поставки (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Грешка со поставки на повици"</string>
<string name="reading_settings" msgid="1605904432450871183">"Се читаат поставките..."</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index ba2d965..2975abd 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"कॉल सेटिंग्ज"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"कॉल सेटिंग्ज केवळ प्रशासक वापरकर्त्याद्वारे बदलल्या जाऊ शकतात."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"फोन खाते सेटिंग्ज फक्त ॲडमिन किंवा ऑफिसच्या वापरकर्त्याद्वारे बदलली जाऊ शकतात."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"डिव्हाइसच्या मालकाने मोबाइल नेटवर्क सेटिंग्ज बदलण्याची क्षमता प्रतिबंधित केली आहे."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"सेटिंग्ज (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"कॉल सेटिंग्ज एरर"</string>
<string name="reading_settings" msgid="1605904432450871183">"सेटिंग्ज वाचत आहे…"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 28c6e45..f63b198 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"कल सेटिङहरू"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"कल सेटिङहरू केवल प्रशासकीय प्रयोगकर्ताद्वारा परिवर्तन गर्न सकिन्छ।"</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"एड्मिन वा कार्य प्रोफाइलका प्रयोगकर्ता मात्र फोनमा लिंक गरिएको खाताका सेटिङ बदल्न सक्नुहुन्छ।"</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"डिभाइसका मालिकले मोबाइल नेटवर्कसम्बन्धी सेटिङ परिवर्तन गर्न रोक लगाउनुभएको छ।"</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"सेटिङहरू (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"कल सेटिङमा त्रुटि"</string>
<string name="reading_settings" msgid="1605904432450871183">"सेटिङहरू पढ्दै..."</string>
@@ -599,8 +598,8 @@
<string name="importToFDNfromContacts" msgid="5068664870738407341">"कन्ट्याक्टबाट इम्पोर्ट गर्नुहोस्"</string>
<string name="singleContactImportedMsg" msgid="3619804066300998934">"आयातित सम्पर्क"</string>
<string name="failedToImportSingleContactMsg" msgid="228095510489830266">"सम्पर्क इम्पोर्ट गर्न असफल"</string>
- <string name="hac_mode_title" msgid="4127986689621125468">"श्रवणका लागि सहयोगी यन्त्रहरू"</string>
- <string name="hac_mode_summary" msgid="7774989500136009881">"श्रवण सहायता अनुकूलता खोल्नुहोस्"</string>
+ <string name="hac_mode_title" msgid="4127986689621125468">"हियरिङ डिभाइसहरू"</string>
+ <string name="hac_mode_summary" msgid="7774989500136009881">"हियरिङ डिभाइस कम्प्याटिबिलिटी अन गर्नुहोस्"</string>
<string name="rtt_mode_title" msgid="3075948111362818043">"द्रुत टेक्स्ट म्यासेज (RTT) कल"</string>
<string name="rtt_mode_summary" msgid="8631541375609989562">"भ्वाइस कलभित्रै सन्देश प्रवाह गर्ने अनुमति दिनुहोस्"</string>
<string name="rtt_mode_more_information" msgid="587500128658756318">"RTT ले बहिरा, सुन्नमा कठिन हुने, बोल्न नसक्ने र आवाज मात्र नभई कल गर्दा थप कुराहरू चाहिने मान्छेहरूलाई सहायता गर्छ!<br> <a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>>थप जान्नुहोस्</a>\n <br><br> - RTT कलहरूलाई सन्देशसम्बन्धी ट्रान्सक्रिप्टका रूपमा सुरक्षित गरिन्छ\n <br> - RTT भिडियो कलहरूमा उपलब्ध छैन"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index f2fcb46..585a53e 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"ਕਾਲ ਸੈਟਿੰਗਾਂ ਸਿਰਫ਼ ਪ੍ਰਸ਼ਾਸਕ ਵਰਤੋਂਕਾਰ ਵੱਲੋਂ ਹੀ ਬਦਲੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।"</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"ਫ਼ੋਨ ਦੀਆਂ ਖਾਤਾ ਸੈਟਿੰਗਾਂ ਸਿਰਫ਼ ਪ੍ਰਸ਼ਾਸਕ ਜਾਂ ਕਾਰਜ-ਸਥਾਨ ਵਰਤੋਂਕਾਰ ਵੱਲੋਂ ਹੀ ਬਦਲੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।"</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"ਡੀਵਾਈਸ ਦੇ ਮਾਲਕ ਨੇ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗਾਂ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ \'ਤੇ ਪਾਬੰਦੀ ਲਗਾ ਦਿੱਤੀ ਹੈ।"</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"ਸੈਟਿੰਗਾਂ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"ਕਾਲ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਗੜਬੜ"</string>
<string name="reading_settings" msgid="1605904432450871183">"ਸੈਟਿੰਗਾਂ ਪੜ੍ਹ ਰਿਹਾ ਹੈ…"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 4ceb936..62c51e8 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Definições de chamadas"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"As definições de chamadas só podem ser alteradas pelo utilizador gestor."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"As definições da conta do telemóvel só podem ser alteradas pelo administrador ou utilizador de trabalho."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"O proprietário do dispositivo restringiu a capacidade de alterar as definições de rede móvel."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Definições (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Erro nas definições de chamada"</string>
<string name="reading_settings" msgid="1605904432450871183">"A ler as definições..."</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 26c9ad1..dd8a134 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Setări pentru apeluri"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Numai administratorul poate să modifice setările pentru apeluri."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Setările contului de pe telefon pot fi modificate numai de administrator sau de un utilizator profesional."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Proprietarul dispozitivului a restricționat posibilitatea de a modifica setările pentru rețelele mobile."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Setări (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Eroare în setările pentru apeluri"</string>
<string name="reading_settings" msgid="1605904432450871183">"Se citesc setările..."</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 5a20434..c29bef1 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"ඇමතුම් සැකසීම්"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"ඇමතුම් සැකසීම් වෙනස් කළ හැක්කේ පරිපාලක පරිශීලකයාට පමණි."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"දුරකථන ගිණුම් සැකසීම් වෙනස් කළ හැක්කේ පරිපාලක හෝ කාර්යාල පරිශීලකයාට පමණි."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"උපාංග හිමිකරු ජංගම ජාල සැකසීම් වෙනස් කිරීමේ හැකියාව සීමා කර ඇත."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"සැකසීම් (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"ඇමතුම් සැකසුම් දෝෂය"</string>
<string name="reading_settings" msgid="1605904432450871183">"සැකසුම් කියවමින්…"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 0914c42..d540299 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Nastavenia hovorov"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Nastavenia hovorov môže zmeniť iba používateľ s povoleniami správcu."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Nastavenia telefónneho účtu môže zmeniť iba správca alebo spravovaný používateľ."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Vlastník zariadenia obmedzil možnosť zmeny nastavení mobilnej siete."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Nastavenia (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Chyba nastavení hovorov"</string>
<string name="reading_settings" msgid="1605904432450871183">"Nastavenia sa načítavajú…"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 38e9aa9..214fcc4 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Nastavitve klicev"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Nastavitve klicanja lahko spremeni samo uporabnik s skrbniškim dostopom."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Nastavitve računa telefona lahko spremeni samo uporabnik s skrbniškim ali službenim dostopom."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Lastnik naprave je omejil možnost spreminjanja nastavitev mobilnega omrežja."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Nastavitve (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Napaka nastavitev klicev"</string>
<string name="reading_settings" msgid="1605904432450871183">"Branje nastavitev …"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index da21924..a9aad0d 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Cilësimet e telefonatës"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Cilësimet e telefonatës mund të ndryshohen vetëm nga administratori."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Cilësimet e llogarisë të telefonit mund të ndryshohen vetëm nga administratori ose një përdorues në punë."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Zotëruesi i pajisjes ka kufizuar aftësinë për të ndryshuar cilësimet e rrjetit celular."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Cilësimet (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Gabim në cilësimet e telefonatës"</string>
<string name="reading_settings" msgid="1605904432450871183">"Po lexon cilësimet…"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 14a3732..65921b3 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Samtalsinställningar"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Det är bara administratören som kan ändra samtalsinställningar."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Endast administratören eller arbetsanvändaren får ändra telefonens kontoinställningar."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Enhetens ägare har begränsat möjligheten att ändra inställningar för mobilnätverk."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Inställningar (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Felaktiga samtalsinställningar"</string>
<string name="reading_settings" msgid="1605904432450871183">"Läser inställningar…"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index c8b23d2..61ff509 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Mipangilio ya simu"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Mipangilio ya simu inaweza kubadilishwa na mtumiaji wa akaunti ya msimamizi."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Mipangilio ya akaunti ya simu inaweza tu kubadilishwa na msimamizi au mtumiaji wa kazini."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Mmiliki wa kifaa amezuia kubadilisha mipangilio ya mtandao wa simu."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Mipangilio (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Hitilafu ya mipangilio ya kupiga simu"</string>
<string name="reading_settings" msgid="1605904432450871183">"Inasoma mipangilio…."</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 1ae8368..24a1a8c 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"அழைப்பு அமைப்பு"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"நிர்வாகிப் பயனர் மட்டுமே அழைப்பிற்கான அமைப்புகளை மாற்ற முடியும்."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"நிர்வாகி/பணிக்கணக்கு பயனர் மட்டுமே அமைப்புகளை மாற்றலாம்."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"மொபைல் நெட்வொர்க் அமைப்புகளை மாற்றும் வசதியைச் சாதன உரிமையாளர் முடக்கியுள்ளார்."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"அமைப்புகள் (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"அழைப்பு அமைப்புகளில் பிழை"</string>
<string name="reading_settings" msgid="1605904432450871183">"அமைப்புகளைப் படிக்கிறது…"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 9f25981..ba6a581 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"కాల్ సెట్టింగ్లు"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"కాల్ సెట్టింగ్లను నిర్వాహక వినియోగదారు మాత్రమే మార్చగలరు."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"ఫోన్ ఖాతా సెట్టింగ్లను అడ్మిన్ లేదా వర్క్ యూజర్ మాత్రమే మార్చగలరు."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"పరికర ఓనర్ మొబైల్ నెట్వర్క్ సెట్టింగ్లను మార్చగల సామర్థ్యాన్ని పరిమితం చేశారు."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"సెట్టింగ్లు (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"కాల్ సెట్టింగ్ల ఎర్రర్"</string>
<string name="reading_settings" msgid="1605904432450871183">"సెట్టింగ్లను చదువుతోంది…"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 675cd79..1994bdf 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"การตั้งค่าการโทร"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"ผู้ใช้ระดับผู้ดูแลระบบเท่านั้นที่สามารถเปลี่ยนแปลงการตั้งค่าการโทรได้"</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"เฉพาะผู้ดูแลระบบหรือผู้ใช้ที่ทำงานเท่านั้นที่สามารถเปลี่ยนการตั้งค่าบัญชีของโทรศัพท์ได้"</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"เจ้าของอุปกรณ์ได้จำกัดความสามารถในการเปลี่ยนการตั้งค่าเครือข่ายมือถือ"</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"การตั้งค่า (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"ข้อผิดพลาดในการตั้งค่าการโทร"</string>
<string name="reading_settings" msgid="1605904432450871183">"กำลังประมวลการตั้งค่า…"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 7890362..5935a58 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Cài đặt cuộc gọi"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Chỉ người dùng quản trị mới có thể thay đổi cài đặt cuộc gọi."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Chỉ quản trị viên hoặc người dùng tài khoản cho công việc mới có thể thay đổi chế độ cài đặt tài khoản điện thoại."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Chủ sở hữu thiết bị đã hạn chế khả năng thay đổi chế độ cài đặt mạng di động."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Cài đặt (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Lỗi cài đặt cuộc gọi"</string>
<string name="reading_settings" msgid="1605904432450871183">"Đang đọc các tùy chọn cài đặt…"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 97ec241..12ac0bc 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -134,8 +134,7 @@
<string name="updating_title" msgid="6130548922615719689">"Izilungiselelo zekholi"</string>
<string name="call_settings_admin_user_only" msgid="7238947387649986286">"Izilungiselelo zekholi zingaguqulwa kuphela ngumsebenzisi oyinhloko."</string>
<string name="phone_account_settings_user_restriction" msgid="9142685151087208396">"Amasethingi e-akhawunti yefoni angashintshwa kuphela umphathi noma umsebenzisi wasemsebenzini."</string>
- <!-- no translation found for phone_account_no_config_mobile_networks (7351062247756521227) -->
- <skip />
+ <string name="phone_account_no_config_mobile_networks" msgid="7351062247756521227">"Umnikazi wedivayisi ukhawule amandla okushintsha amasethingi enethiwekhi yeselula."</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"Izilungiselelo (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"Iphutha lokulungiselela ikholi"</string>
<string name="reading_settings" msgid="1605904432450871183">"Ifunda izilungiselelo..."</string>
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 47fd96e..d4822ad 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -44,7 +44,6 @@
import android.os.Message;
import android.os.PermissionEnforcer;
import android.os.PersistableBundle;
-import android.os.Process;
import android.os.RemoteException;
import android.os.ResultReceiver;
import android.os.SystemProperties;
@@ -1758,12 +1757,14 @@
private void enforceCallerIsSystemOrRequestingPackage(@NonNull String requestingPackage)
throws SecurityException {
final int callingUid = Binder.getCallingUid();
- if (callingUid == Process.ROOT_UID || callingUid == Process.SYSTEM_UID
- || callingUid == Process.SHELL_UID || callingUid == Process.PHONE_UID) {
- // Bug reports (dumpstate.cpp) run as SHELL, and let some other privileged UIDs through
- // as well.
+ if (TelephonyPermissions.isRootOrShell(callingUid)
+ || TelephonyPermissions.isSystemOrPhone(
+ callingUid)) {
+ // Bug reports (dumpstate.cpp) run as SHELL, and let some other privileged UIDs
+ // through as well.
return;
}
+
// An app is trying to dump extra detail, block it if they aren't who they claim to be.
AppOpsManager appOps = mContext.getSystemService(AppOpsManager.class);
if (appOps == null) {
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 07b027e..9aed910 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -165,6 +165,7 @@
import android.telephony.satellite.ISatelliteTransmissionUpdateCallback;
import android.telephony.satellite.NtnSignalStrength;
import android.telephony.satellite.NtnSignalStrengthCallback;
+import android.telephony.satellite.ProvisionSubscriberId;
import android.telephony.satellite.SatelliteCapabilities;
import android.telephony.satellite.SatelliteDatagram;
import android.telephony.satellite.SatelliteDatagramCallback;
@@ -4291,7 +4292,7 @@
@Override
public void disableVisualVoicemailSmsFilter(String callingPackage, int subId) {
mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
-
+ enforceVisualVoicemailPackage(callingPackage, subId);
enforceTelephonyFeatureWithException(callingPackage,
PackageManager.FEATURE_TELEPHONY_CALLING, "disableVisualVoicemailSmsFilter");
@@ -12296,7 +12297,7 @@
private static void validateSignalStrengthUpdateRequest(Context context,
SignalStrengthUpdateRequest request, int callingUid) {
- if (callingUid == Process.PHONE_UID || callingUid == Process.SYSTEM_UID) {
+ if (TelephonyPermissions.isSystemOrPhone(callingUid)) {
// phone/system process do not have further restriction on request
return;
}
@@ -14272,4 +14273,48 @@
enforcePackageUsageStatsPermission("requestSatelliteSessionStats");
mSatelliteController.requestSatelliteSessionStats(subId, result);
}
+
+ /**
+ * Request to get list of prioritized satellite subscriber ids to be used for provision.
+ *
+ * @param result The result receiver, which returns the list of prioritized satellite tokens
+ * to be used for provision if the request is successful or an error code if the request failed.
+ *
+ * @throws SecurityException if the caller doesn't have the required permission.
+ */
+ @Override
+ public void requestProvisionSubscriberIds(@NonNull ResultReceiver result) {
+ enforceSatelliteCommunicationPermission("requestProvisionSubscriberIds");
+ mSatelliteController.requestProvisionSubscriberIds(result);
+ }
+
+ /**
+ * Request to get provisioned status for given a satellite subscriber id.
+ *
+ * @param satelliteSubscriberId Satellite subscriber id requiring provisioned status check.
+ * @param result The result receiver, which returns the provisioned status of the token if the
+ * request is successful or an error code if the request failed.
+ *
+ * @throws SecurityException if the caller doesn't have the required permission.
+ */
+ @Override
+ public void requestIsProvisioned(String satelliteSubscriberId, @NonNull ResultReceiver result) {
+ enforceSatelliteCommunicationPermission("requestIsProvisioned");
+ mSatelliteController.requestIsProvisioned(satelliteSubscriberId, result);
+ }
+
+ /**
+ * Deliver the list of provisioned satellite subscriber ids.
+ *
+ * @param list List of provisioned satellite subscriber ids.
+ * @param result The result receiver that returns whether deliver success or fail.
+ *
+ * @throws SecurityException if the caller doesn't have the required permission.
+ */
+ @Override
+ public void provisionSatellite(List<ProvisionSubscriberId> list,
+ @NonNull ResultReceiver result) {
+ enforceSatelliteCommunicationPermission("provisionSatellite");
+ mSatelliteController.provisionSatellite(list, result);
+ }
}
diff --git a/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java b/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
index 25f00dd..ac4c9f9 100644
--- a/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
+++ b/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
@@ -19,6 +19,7 @@
import static android.telephony.satellite.SatelliteManager.KEY_SATELLITE_COMMUNICATION_ALLOWED;
import static android.telephony.satellite.SatelliteManager.KEY_SATELLITE_PROVISIONED;
import static android.telephony.satellite.SatelliteManager.KEY_SATELLITE_SUPPORTED;
+import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_LOCATION_NOT_AVAILABLE;
import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_REQUEST_NOT_SUPPORTED;
import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_SUCCESS;
@@ -212,6 +213,11 @@
private static final String CONFIG_UPDATER_SATELLITE_IS_ALLOW_ACCESS_CONTROL_KEY =
"config_updater_satellite_is_allow_access_control";
+ private static final String LATEST_SATELLITE_COMMUNICATION_ALLOWED_SET_TIME_KEY =
+ "latest_satellite_communication_allowed_set_time";
+ private static final String LATEST_SATELLITE_COMMUNICATION_ALLOWED_KEY =
+ "latest_satellite_communication_allowed";
+
private SharedPreferences mSharedPreferences;
private final ConfigUpdaterMetricsStats mConfigUpdaterMetricsStats;
@Nullable
@@ -618,6 +624,22 @@
}
}
+ private void persistLatestSatelliteCommunicationAllowedState() {
+ if (mSharedPreferences == null) {
+ ploge("persistLatestSatelliteCommunicationAllowedState: mSharedPreferences is null");
+ return;
+ }
+
+ try {
+ mSharedPreferences.edit().putLong(LATEST_SATELLITE_COMMUNICATION_ALLOWED_SET_TIME_KEY,
+ mLatestSatelliteCommunicationAllowedSetTime).apply();
+ mSharedPreferences.edit().putBoolean(LATEST_SATELLITE_COMMUNICATION_ALLOWED_KEY,
+ mLatestSatelliteCommunicationAllowed).apply();
+ } catch (Exception ex) {
+ ploge("persistLatestSatelliteCommunicationAllowedState error : " + ex);
+ }
+ }
+
/**
* Update country codes and S2CellFile with the new data from ConfigUpdater
*/
@@ -755,6 +777,27 @@
SatelliteConstants.CONFIG_DATA_SOURCE_CONFIG_UPDATER);
}
+ private void loadCachedLatestSatelliteCommunicationAllowedState() {
+ if (mSharedPreferences == null) {
+ ploge("loadCachedLatestSatelliteCommunicationAllowedState: mSharedPreferences is null");
+ return;
+ }
+
+ try {
+ mLatestSatelliteCommunicationAllowedSetTime =
+ mSharedPreferences.getLong(LATEST_SATELLITE_COMMUNICATION_ALLOWED_SET_TIME_KEY,
+ 0);
+ mLatestSatelliteCommunicationAllowed =
+ mSharedPreferences.getBoolean(LATEST_SATELLITE_COMMUNICATION_ALLOWED_KEY,
+ false);
+ } catch (Exception ex) {
+ ploge("loadCachedLatestSatelliteCommunicationAllowedState: ex=" + ex);
+ }
+ plogd("mLatestSatelliteCommunicationAllowedSetTime="
+ + mLatestSatelliteCommunicationAllowedSetTime
+ + ", mLatestSatelliteCommunicationAllowed=" + mLatestSatelliteCommunicationAllowed);
+ }
+
private long getLocationFreshDurationNanos() {
synchronized (mLock) {
if (mIsOverlayConfigOverridden) {
@@ -877,7 +920,9 @@
private void sendSatelliteAllowResultToReceivers(int resultCode, Bundle resultData,
boolean allowed) {
- updateCurrentSatelliteAllowedState(allowed);
+ if (resultCode == SATELLITE_RESULT_SUCCESS) {
+ updateCurrentSatelliteAllowedState(allowed);
+ }
synchronized (mLock) {
for (ResultReceiver resultReceiver : mSatelliteAllowResultReceivers) {
resultReceiver.send(resultCode, resultData);
@@ -946,7 +991,7 @@
}
}
- /* returns true,if the latest query was executed in 24Hr, or returns false. */
+ /* returns true if the latest query was executed in 12Hr, or returns false. */
private boolean isCommunicationAllowedCacheValid() {
if (mLatestSatelliteCommunicationAllowedSetTime > 0) {
long currentTime = SystemClock.elapsedRealtimeNanos();
@@ -1066,14 +1111,15 @@
} else {
plogd("current location is not available");
if (isCommunicationAllowedCacheValid()) {
- plogd("onCurrentLocationAvailable: 24Hr cache is still valid, using it");
+ plogd("onCurrentLocationAvailable: 12Hr cache is still valid, using it");
bundle.putBoolean(KEY_SATELLITE_COMMUNICATION_ALLOWED,
mLatestSatelliteCommunicationAllowed);
sendSatelliteAllowResultToReceivers(SATELLITE_RESULT_SUCCESS, bundle,
mLatestSatelliteCommunicationAllowed);
} else {
bundle.putBoolean(KEY_SATELLITE_COMMUNICATION_ALLOWED, false);
- sendSatelliteAllowResultToReceivers(SATELLITE_RESULT_SUCCESS, bundle, false);
+ sendSatelliteAllowResultToReceivers(
+ SATELLITE_RESULT_LOCATION_NOT_AVAILABLE, bundle, false);
}
}
}
@@ -1109,6 +1155,7 @@
satelliteAllowed);
mLatestSatelliteCommunicationAllowed = satelliteAllowed;
mLatestSatelliteCommunicationAllowedSetTime = SystemClock.elapsedRealtimeNanos();
+ persistLatestSatelliteCommunicationAllowedState();
} catch (Exception ex) {
ploge("checkSatelliteAccessRestrictionForLocation: ex=" + ex);
reportAnomaly(UUID_ON_DEVICE_LOOKUP_EXCEPTION,
@@ -1544,9 +1591,11 @@
mLatestSatelliteCommunicationAllowedSetTime = 0;
mLatestSatelliteCommunicationAllowed = false;
mCurrentSatelliteAllowedState = false;
+ persistLatestSatelliteCommunicationAllowedState();
} else if ("clear_cache_only".equalsIgnoreCase(state)) {
mLatestSatelliteCommunicationAllowedSetTime = 0;
mLatestSatelliteCommunicationAllowed = false;
+ persistLatestSatelliteCommunicationAllowedState();
} else {
loge("setIsSatelliteCommunicationAllowedForCurrentLocationCache: invalid state="
+ state);
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 51c4fc7..4421f0c 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -1186,8 +1186,10 @@
}
if (mDomainSelectionResolver.isDomainSelectionSupported()) {
- // Normal routing emergency number shall be handled by normal call domain selctor.
- int routing = getEmergencyCallRouting(phone, number, needToTurnOnRadio);
+ // Normal routing emergency number shall be handled by normal call domain selector.
+ int routing = (isEmergencyNumber)
+ ? getEmergencyCallRouting(phone, number, needToTurnOnRadio)
+ : EmergencyNumber.EMERGENCY_CALL_ROUTING_UNKNOWN;
if (isEmergencyNumber && routing != EmergencyNumber.EMERGENCY_CALL_ROUTING_NORMAL) {
final Connection resultConnection =
placeEmergencyConnection(phone,
@@ -2668,6 +2670,12 @@
createEmergencyConnection(phone, (TelephonyConnection) resultConnection,
numberToDial, isTestEmergencyNumber, request, needToTurnOnRadio,
mEmergencyStateTracker.getEmergencyRegistrationResult());
+ } else if (result == android.telephony.DisconnectCause.EMERGENCY_PERM_FAILURE) {
+ mEmergencyConnection.removeTelephonyConnectionListener(
+ mEmergencyConnectionListener);
+ TelephonyConnection c = mEmergencyConnection;
+ releaseEmergencyCallDomainSelection(true, false);
+ retryOutgoingOriginalConnection(c, phone, true);
} else {
mEmergencyConnection = null;
mAlternateEmergencyConnection = null;
@@ -2922,6 +2930,9 @@
}
private int getEmergencyCallRouting(Phone phone, String number, boolean needToTurnOnRadio) {
+ if (phone == null) {
+ return EmergencyNumber.EMERGENCY_CALL_ROUTING_UNKNOWN;
+ }
// This method shall be called only if AOSP domain selection is enabled.
if (mDynamicRoutingController == null) {
mDynamicRoutingController = DynamicRoutingController.getInstance();
@@ -3230,6 +3241,12 @@
recreateEmergencyConnection(c, phone, domain);
mIsEmergencyCallPending = false;
}, mDomainSelectionMainExecutor);
+ } else if (result == android.telephony.DisconnectCause.EMERGENCY_PERM_FAILURE) {
+ mEmergencyConnection.removeTelephonyConnectionListener(
+ mEmergencyConnectionListener);
+ TelephonyConnection ec = mEmergencyConnection;
+ releaseEmergencyCallDomainSelection(true, false);
+ retryOutgoingOriginalConnection(ec, phone, true);
} else {
mEmergencyConnection = null;
mAlternateEmergencyConnection = null;
diff --git a/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java b/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java
index 8d49634..aedd06e 100644
--- a/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java
+++ b/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java
@@ -35,6 +35,7 @@
import android.telephony.ims.ImsReasonInfo;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.CallFailCause;
/**
* Implements domain selector for outgoing non-emergency calls.
@@ -325,33 +326,49 @@
}
// Check if this is a re-dial scenario
- // IMS -> CS
ImsReasonInfo imsReasonInfo = mSelectionAttributes.getPsDisconnectCause();
- if (mReselectDomain && imsReasonInfo != null) {
- logd("PsDisconnectCause:" + imsReasonInfo.getCode());
+ if (mReselectDomain) {
mReselectDomain = false;
- if (imsReasonInfo.getCode() == ImsReasonInfo.CODE_LOCAL_CALL_CS_RETRY_REQUIRED) {
- if (isOutOfService()) {
- loge("Cannot place call in current ServiceState: " + mServiceState.getState());
- notifySelectionTerminated(DisconnectCause.OUT_OF_SERVICE);
- } else {
- logd("Redialing over CS");
- notifyCsSelected();
- }
- return;
- } else {
- logd("Redialing cancelled.");
- // Not a valid redial
- notifySelectionTerminated(DisconnectCause.NOT_VALID);
+
+ // Out of service
+ if (isOutOfService()) {
+ loge("Cannot place call in current ServiceState: " + mServiceState.getState());
+ notifySelectionTerminated(DisconnectCause.OUT_OF_SERVICE);
+
return;
}
- }
- // CS -> IMS
- // TODO: @PreciseDisconnectCauses doesn't contain cause code related to redial on IMS.
- if (mReselectDomain /*mSelectionAttributes.getCsDisconnectCause() == IMS_REDIAL_CODE*/) {
- logd("Redialing cancelled.");
+ // IMS -> CS
+ if (imsReasonInfo != null) {
+ logd("PsDisconnectCause:" + imsReasonInfo.getCode());
+ if (imsReasonInfo.getCode() == ImsReasonInfo.CODE_LOCAL_CALL_CS_RETRY_REQUIRED) {
+ logd("Redialing over CS");
+ notifyCsSelected();
+ } else {
+ // Not a valid redial
+ logd("Redialing cancelled.");
+ notifySelectionTerminated(DisconnectCause.NOT_VALID);
+ }
+ return;
+ }
+
+ // CS -> IMS
+ int csDisconnectCause = mSelectionAttributes.getCsDisconnectCause();
+ switch (csDisconnectCause) {
+ case CallFailCause.EMC_REDIAL_ON_IMS:
+ case CallFailCause.EMC_REDIAL_ON_VOWIFI:
+ // Check IMS registration state.
+ if (mImsStateTracker.isImsRegistered()) {
+ logd("IMS is registered");
+ notifyPsSelected();
+ return;
+ } else {
+ logd("IMS is NOT registered");
+ }
+ }
+
// Not a valid redial
+ logd("Redialing cancelled.");
notifySelectionTerminated(DisconnectCause.NOT_VALID);
return;
}
diff --git a/testapps/GbaTestApp/res/values-as/strings.xml b/testapps/GbaTestApp/res/values-as/strings.xml
index 3fbba0f..48b8163 100644
--- a/testapps/GbaTestApp/res/values-as/strings.xml
+++ b/testapps/GbaTestApp/res/values-as/strings.xml
@@ -20,7 +20,7 @@
<string name="request_naf_url" msgid="4487793541217737042">"নেটৱৰ্ক এপ্লিকেশ্বন ফাংশ্বন (NAF) URL"</string>
<string name="request_force_bootstrapping" msgid="206043602616214325">"বলেৰে বুটষ্ট্ৰেপিং কৰিবনে?"</string>
<string name="request_org" msgid="8416693445448308975">"প্ৰতিষ্ঠানৰ ক’ড"</string>
- <string name="request_security_protocol" msgid="1444164827561010482">"UA সুৰক্ষা প্ৰ’ট’কল আইডি"</string>
+ <string name="request_security_protocol" msgid="1444164827561010482">"UA সুৰক্ষা প্ৰ্ৰ\'টকল আইডি"</string>
<string name="request_tls_cipher_suite" msgid="6659854717595308404">"TLS Cipher Suite আইডি"</string>
<string name="response_success" msgid="2469204471244527663">"GBA প্ৰমাণীকৰণ সফল হৈছে নেকি?"</string>
<string name="response_fail_reason" msgid="3401426967253202496">"ব্যৰ্থতাৰ কাৰণৰ আইডি"</string>
diff --git a/testapps/TestSatelliteApp/res/layout/activity_TestSatelliteWrapper.xml b/testapps/TestSatelliteApp/res/layout/activity_TestSatelliteWrapper.xml
index 7f2f026..43bb1c5 100644
--- a/testapps/TestSatelliteApp/res/layout/activity_TestSatelliteWrapper.xml
+++ b/testapps/TestSatelliteApp/res/layout/activity_TestSatelliteWrapper.xml
@@ -130,6 +130,18 @@
android:layout_height="wrap_content"
android:paddingRight="4dp"
android:text="@string/getSatellitePlmnsForCarrier"/>
+ <Button
+ android:id="@+id/registerForCarrierRoamingNtnModeChanged"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingRight="4dp"
+ android:text="@string/registerForCarrierRoamingNtnModeChanged"/>
+ <Button
+ android:id="@+id/unregisterForCarrierRoamingNtnModeChanged"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingRight="4dp"
+ android:text="@string/unregisterForCarrierRoamingNtnModeChanged"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/testapps/TestSatelliteApp/res/values/donottranslate_strings.xml b/testapps/TestSatelliteApp/res/values/donottranslate_strings.xml
index df2aaf7..e7fbb97 100644
--- a/testapps/TestSatelliteApp/res/values/donottranslate_strings.xml
+++ b/testapps/TestSatelliteApp/res/values/donottranslate_strings.xml
@@ -93,4 +93,7 @@
<string name="Back">Back</string>
<string name="ClearLog">Clear Log</string>
+
+ <string name="registerForCarrierRoamingNtnModeChanged">registerForCarrierRoamingNtnModeChanged</string>
+ <string name="unregisterForCarrierRoamingNtnModeChanged">unregisterForCarrierRoamingNtnModeChanged</string>
</resources>
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
index 27967f4..93a8131 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
@@ -23,6 +23,7 @@
import android.os.OutcomeReceiver;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
+import android.telephony.satellite.wrapper.CarrierRoamingNtnModeListenerWrapper;
import android.telephony.satellite.wrapper.NtnSignalStrengthCallbackWrapper;
import android.telephony.satellite.wrapper.NtnSignalStrengthWrapper;
import android.telephony.satellite.wrapper.SatelliteCapabilitiesCallbackWrapper;
@@ -53,6 +54,7 @@
private final ExecutorService mExecutor = Executors.newSingleThreadExecutor();
private SatelliteManagerWrapper mSatelliteManagerWrapper;
private NtnSignalStrengthCallback mNtnSignalStrengthCallback = null;
+ private CarrierRoamingNtnModeListener mCarrierRoamingNtnModeListener = null;
private SatelliteCapabilitiesCallbackWrapper mSatelliteCapabilitiesCallback;
private SubscriptionManager mSubscriptionManager;
private int mSubId;
@@ -99,6 +101,10 @@
.setOnClickListener(this::getAttachRestrictionReasonsForCarrier);
findViewById(R.id.getSatellitePlmnsForCarrier)
.setOnClickListener(this::getSatellitePlmnsForCarrier);
+ findViewById(R.id.registerForCarrierRoamingNtnModeChanged)
+ .setOnClickListener(this::registerForCarrierRoamingNtnModeChanged);
+ findViewById(R.id.unregisterForCarrierRoamingNtnModeChanged)
+ .setOnClickListener(this::unregisterForCarrierRoamingNtnModeChanged);
findViewById(R.id.Back).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
@@ -180,6 +186,39 @@
}
}
+ private void registerForCarrierRoamingNtnModeChanged(View view) {
+ addLogMessage("registerForCarrierRoamingNtnModeChanged");
+ logd("registerForCarrierRoamingNtnModeChanged()");
+ if (mCarrierRoamingNtnModeListener == null) {
+ logd("Creating new CarrierRoamingNtnModeListener instance.");
+ mCarrierRoamingNtnModeListener = new CarrierRoamingNtnModeListener();
+ }
+
+ try {
+ mSatelliteManagerWrapper.registerForCarrierRoamingNtnModeChanged(mSubId, mExecutor,
+ mCarrierRoamingNtnModeListener);
+ } catch (Exception ex) {
+ String errorMessage = "registerForCarrierRoamingNtnModeChanged: " + ex.getMessage();
+ logd(errorMessage);
+ addLogMessage(errorMessage);
+ mCarrierRoamingNtnModeListener = null;
+ }
+ }
+
+ private void unregisterForCarrierRoamingNtnModeChanged(View view) {
+ addLogMessage("unregisterForCarrierRoamingNtnModeChanged");
+ logd("unregisterForCarrierRoamingNtnModeChanged()");
+ if (mCarrierRoamingNtnModeListener != null) {
+ mSatelliteManagerWrapper.unregisterForCarrierRoamingNtnModeChanged(mSubId,
+ mCarrierRoamingNtnModeListener);
+ mCarrierRoamingNtnModeListener = null;
+ addLogMessage("mCarrierRoamingNtnModeListener was unregistered");
+ } else {
+ addLogMessage("mCarrierRoamingNtnModeListener is null, ignored.");
+ }
+ }
+
+
private void registerForNtnSignalStrengthChanged(View view) {
addLogMessage("registerForNtnSignalStrengthChanged");
logd("registerForNtnSignalStrengthChanged()");
@@ -285,6 +324,16 @@
}
}
+ private class CarrierRoamingNtnModeListener implements CarrierRoamingNtnModeListenerWrapper {
+
+ @Override
+ public void onCarrierRoamingNtnModeChanged(boolean active) {
+ String message = "Received onCarrierRoamingNtnModeChanged active: " + active;
+ logd(message);
+ addLogMessage(message);
+ }
+ }
+
private void isNonTerrestrialNetwork(View view) {
boolean isNonTerrestrialNetwork = mSatelliteManagerWrapper.isNonTerrestrialNetwork(mSubId);
addLogMessage("isNonTerrestrialNetwork=" + isNonTerrestrialNetwork);
diff --git a/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java b/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java
index f34b4a7..8eba53b 100644
--- a/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java
+++ b/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java
@@ -17,6 +17,7 @@
package com.android.phone.satellite.accesscontrol;
import static android.telephony.satellite.SatelliteManager.KEY_SATELLITE_COMMUNICATION_ALLOWED;
+import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_LOCATION_NOT_AVAILABLE;
import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_MODEM_ERROR;
import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_REQUEST_NOT_SUPPORTED;
import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_SUCCESS;
@@ -397,8 +398,10 @@
assertEquals(SATELLITE_RESULT_SUCCESS, mQueriedSatelliteAllowedResultCode);
assertTrue(mQueriedSatelliteAllowed);
- // Timed out to wait for current location. No cached country codes.
+ // Timed out to wait for current location. No cached allowed state.
clearAllInvocations();
+ mSatelliteAccessControllerUT.setIsSatelliteCommunicationAllowedForCurrentLocationCache(
+ "cache_clear_and_not_allowed");
when(mMockCountryDetector.getCurrentNetworkCountryIso()).thenReturn(EMPTY_STRING_LIST);
when(mMockTelecomManager.isInEmergencyCall()).thenReturn(false);
when(mMockPhone.isInEcm()).thenReturn(true);
@@ -424,9 +427,7 @@
any(SatelliteOnDeviceAccessController.LocationToken.class));
assertTrue(waitForRequestIsSatelliteAllowedForCurrentLocationResult(
mSatelliteAllowedSemaphore, 1));
- assertEquals(SATELLITE_RESULT_SUCCESS,
- mQueriedSatelliteAllowedResultCode);
- assertTrue(mQueriedSatelliteAllowed);
+ assertEquals(SATELLITE_RESULT_LOCATION_NOT_AVAILABLE, mQueriedSatelliteAllowedResultCode);
// Network country codes are not available. TelecomManager.isInEmergencyCall() returns
// false. No phone is in ECM. Last known location is not fresh. Cached country codes should
@@ -453,7 +454,6 @@
mSatelliteAllowedSemaphore, 1));
assertEquals(SATELLITE_RESULT_SUCCESS, mQueriedSatelliteAllowedResultCode);
assertFalse(mQueriedSatelliteAllowed);
-
}
@Test
diff --git a/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java b/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
index 22ab787..304cf2a 100644
--- a/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
+++ b/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
@@ -3000,6 +3000,41 @@
}
@Test
+ public void testDomainSelectionSwitchPhones() throws Exception {
+ setupForCallTest();
+
+ doReturn(CompletableFuture.completedFuture(EMERGENCY_PERM_FAILURE))
+ .when(mEmergencyStateTracker)
+ .startEmergencyCall(eq(mPhone0), any(), eq(false));
+ doReturn(CompletableFuture.completedFuture(NOT_DISCONNECTED))
+ .when(mEmergencyStateTracker)
+ .startEmergencyCall(eq(mPhone1), any(), eq(false));
+
+ doReturn(mEmergencyCallDomainSelectionConnection).when(mDomainSelectionResolver)
+ .getDomainSelectionConnection(any(), anyInt(), eq(true));
+ doReturn(true).when(mTelephonyManagerProxy).isCurrentEmergencyNumber(anyString());
+
+ doReturn(true).when(mDomainSelectionResolver).isDomainSelectionSupported();
+
+ mTestConnectionService.onCreateOutgoingConnection(PHONE_ACCOUNT_HANDLE_1,
+ createConnectionRequest(PHONE_ACCOUNT_HANDLE_1,
+ TEST_EMERGENCY_NUMBER, TELECOM_CALL_ID1));
+
+ ArgumentCaptor<DomainSelectionService.SelectionAttributes> attrCaptor =
+ ArgumentCaptor.forClass(
+ DomainSelectionService.SelectionAttributes.class);
+
+ verify(mEmergencyStateTracker).startEmergencyCall(eq(mPhone0), any(), anyBoolean());
+ verify(mEmergencyStateTracker).startEmergencyCall(eq(mPhone1), any(), anyBoolean());
+ verify(mEmergencyCallDomainSelectionConnection).createEmergencyConnection(
+ attrCaptor.capture(), any());
+
+ DomainSelectionService.SelectionAttributes attr = attrCaptor.getValue();
+
+ assertEquals(mPhone1.getPhoneId(), attr.getSlotIndex());
+ }
+
+ @Test
public void testOnSelectionTerminatedPerm() throws Exception {
setupForCallTest();
diff --git a/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java b/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java
index d4ee933..fb3fef1 100644
--- a/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java
+++ b/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java
@@ -471,7 +471,8 @@
doReturn(TelephonyManager.SIM_STATE_PIN_REQUIRED)
.when(mTelephonyManager).getSimState(anyInt());
doReturn(true).when(mCsrdCtrl).isThereOtherSlot();
- doReturn(new String[] {"jp"}).when(mResources).getStringArray(anyInt());
+ doReturn(new String[] {"jp"}).when(mResources).getStringArray(
+ eq(R.array.config_countries_require_sim_for_emergency));
EmergencyRegistrationResult regResult = getEmergencyRegResult(
UNKNOWN, REGISTRATION_STATE_UNKNOWN, 0, false, false, 0, 0, "", "", "jp");
@@ -586,7 +587,8 @@
@Test
public void testDefaultCombinedImsRegisteredSelectPsThenExtendedServiceRequestFailIsoMatch()
throws Exception {
- doReturn(new String[] {"us"}).when(mResources).getStringArray(anyInt());
+ doReturn(new String[] {"us"}).when(mResources).getStringArray(
+ eq(R.array.config_countries_prefer_cs_preferred_scan_after_csfb_failure));
createSelector(SLOT_0_SUB_ID);
unsolBarringInfoChanged(false);
@@ -625,7 +627,8 @@
@Test
public void testDefaultCombinedImsRegisteredSelectPsThenExtendedServiceRequestFailIsoNotMatch()
throws Exception {
- doReturn(new String[] {"us"}).when(mResources).getStringArray(anyInt());
+ doReturn(new String[] {"us"}).when(mResources).getStringArray(
+ eq(R.array.config_countries_prefer_cs_preferred_scan_after_csfb_failure));
createSelector(SLOT_0_SUB_ID);
unsolBarringInfoChanged(false);
@@ -1788,7 +1791,8 @@
doReturn(TelephonyManager.SIM_STATE_PIN_REQUIRED)
.when(mTelephonyManager).getSimState(anyInt());
doReturn(true).when(mCsrdCtrl).isThereOtherSlot();
- doReturn(new String[] {"jp"}).when(mResources).getStringArray(anyInt());
+ doReturn(new String[] {"jp"}).when(mResources).getStringArray(
+ eq(R.array.config_countries_require_sim_for_emergency));
EmergencyRegistrationResult regResult = getEmergencyRegResult(EUTRAN,
REGISTRATION_STATE_UNKNOWN,
@@ -1812,7 +1816,8 @@
doReturn(TelephonyManager.SIM_STATE_PIN_REQUIRED)
.when(mTelephonyManager).getSimState(anyInt());
doReturn(true).when(mCsrdCtrl).isThereOtherSlot();
- doReturn(new String[] {"jp"}).when(mResources).getStringArray(anyInt());
+ doReturn(new String[] {"jp"}).when(mResources).getStringArray(
+ eq(R.array.config_countries_require_sim_for_emergency));
EmergencyRegistrationResult regResult = getEmergencyRegResult(UNKNOWN,
REGISTRATION_STATE_UNKNOWN,
@@ -1843,7 +1848,8 @@
doReturn(TelephonyManager.SIM_STATE_PIN_REQUIRED)
.when(mTelephonyManager).getSimState(anyInt());
doReturn(false).when(mCsrdCtrl).isThereOtherSlot();
- doReturn(new String[] {"jp"}).when(mResources).getStringArray(anyInt());
+ doReturn(new String[] {"jp"}).when(mResources).getStringArray(
+ eq(R.array.config_countries_require_sim_for_emergency));
EmergencyRegistrationResult regResult = getEmergencyRegResult(EUTRAN,
REGISTRATION_STATE_UNKNOWN,
@@ -1865,7 +1871,8 @@
unsolBarringInfoChanged(false);
doReturn(2).when(mTelephonyManager).getActiveModemCount();
doReturn(true).when(mCsrdCtrl).isThereOtherSlotInService();
- doReturn(new String[] {"in"}).when(mResources).getStringArray(anyInt());
+ doReturn(new String[] {"in"}).when(mResources).getStringArray(
+ eq(R.array.config_countries_prefer_normal_service_capable_subscription));
EmergencyRegistrationResult regResult = getEmergencyRegResult(EUTRAN,
REGISTRATION_STATE_UNKNOWN,
@@ -1889,7 +1896,8 @@
doReturn(2).when(mTelephonyManager).getActiveModemCount();
doReturn(true).when(mCsrdCtrl).isThereOtherSlotInService();
- doReturn(new String[] {"in"}).when(mResources).getStringArray(anyInt());
+ doReturn(new String[] {"in"}).when(mResources).getStringArray(
+ eq(R.array.config_countries_prefer_normal_service_capable_subscription));
EmergencyRegistrationResult regResult = getEmergencyRegResult(UNKNOWN,
REGISTRATION_STATE_UNKNOWN,
diff --git a/tests/src/com/android/services/telephony/domainselection/NormalCallDomainSelectorTest.java b/tests/src/com/android/services/telephony/domainselection/NormalCallDomainSelectorTest.java
index 309418e..cf5f8e9 100644
--- a/tests/src/com/android/services/telephony/domainselection/NormalCallDomainSelectorTest.java
+++ b/tests/src/com/android/services/telephony/domainselection/NormalCallDomainSelectorTest.java
@@ -53,6 +53,8 @@
import androidx.test.runner.AndroidJUnit4;
+import com.android.internal.telephony.CallFailCause;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -446,7 +448,6 @@
.setEmergency(false)
.setVideoCall(false)
.setExitedFromAirplaneMode(false)
- .setPsDisconnectCause(imsReasonInfoCsRetry)
.build();
mNormalCallDomainSelector.selectDomain(attributes, transportSelectorCallback);
@@ -590,6 +591,82 @@
mNormalCallDomainSelector.getSelectorState());
}
+ @Test
+ public void testEmcCsFailureAndPsRedial() {
+ final TestTransportSelectorCallback transportSelectorCallback =
+ new TestTransportSelectorCallback(mNormalCallDomainSelector);
+
+ final ServiceState serviceState = new ServiceState();
+
+ // dial CS call
+ serviceState.setState(ServiceState.STATE_IN_SERVICE);
+ initialize(serviceState, false, false, false, false);
+ NetworkRegistrationInfo nwRegistrationInfo = new NetworkRegistrationInfo(
+ NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
+ NetworkRegistrationInfo.REGISTRATION_STATE_HOME,
+ AccessNetworkConstants.AccessNetworkType.UTRAN, 0, false,
+ null, null, null, false, 0, 0, 0);
+ serviceState.addNetworkRegistrationInfo(nwRegistrationInfo);
+ DomainSelectionService.SelectionAttributes attributes =
+ new DomainSelectionService.SelectionAttributes.Builder(
+ SLOT_ID, SUB_ID_1, SELECTOR_TYPE_CALLING)
+ .setAddress(TEST_URI)
+ .setCallId(TEST_CALLID)
+ .setEmergency(false)
+ .setVideoCall(false)
+ .setExitedFromAirplaneMode(false)
+ .build();
+
+ mNormalCallDomainSelector.selectDomain(attributes, transportSelectorCallback);
+
+ processAllMessages();
+ assertEquals(transportSelectorCallback.mSelectedDomain, NetworkRegistrationInfo.DOMAIN_CS);
+ assertEquals(NormalCallDomainSelector.SelectorState.INACTIVE,
+ mNormalCallDomainSelector.getSelectorState());
+
+ // EMC_REDIAL_ON_IMS
+ transportSelectorCallback.reset();
+ serviceState.setState(ServiceState.STATE_IN_SERVICE);
+ initialize(serviceState, true, false, true, false);
+ attributes = new DomainSelectionService.SelectionAttributes.Builder(
+ SLOT_ID, SUB_ID_1, SELECTOR_TYPE_CALLING)
+ .setAddress(TEST_URI)
+ .setCallId(TEST_CALLID)
+ .setEmergency(false)
+ .setVideoCall(false)
+ .setExitedFromAirplaneMode(false)
+ .setCsDisconnectCause(CallFailCause.EMC_REDIAL_ON_IMS)
+ .build();
+
+ mNormalCallDomainSelector.reselectDomain(attributes);
+
+ processAllMessages();
+ assertTrue(transportSelectorCallback.mWwanSelected);
+ assertEquals(NetworkRegistrationInfo.DOMAIN_PS, transportSelectorCallback.mSelectedDomain);
+ assertEquals(NormalCallDomainSelector.SelectorState.INACTIVE,
+ mNormalCallDomainSelector.getSelectorState());
+
+ // EMC_REDIAL_ON_VOWIFI
+ transportSelectorCallback.reset();
+ initialize(serviceState, true, true, true, false);
+ attributes = new DomainSelectionService.SelectionAttributes.Builder(
+ SLOT_ID, SUB_ID_1, SELECTOR_TYPE_CALLING)
+ .setAddress(TEST_URI)
+ .setCallId(TEST_CALLID)
+ .setEmergency(false)
+ .setVideoCall(false)
+ .setExitedFromAirplaneMode(false)
+ .setCsDisconnectCause(CallFailCause.EMC_REDIAL_ON_VOWIFI)
+ .build();
+
+ mNormalCallDomainSelector.reselectDomain(attributes);
+
+ processAllMessages();
+ assertTrue(transportSelectorCallback.mWlanSelected);
+ assertEquals(NormalCallDomainSelector.SelectorState.INACTIVE,
+ mNormalCallDomainSelector.getSelectorState());
+ }
+
static class TestTransportSelectorCallback implements TransportSelectorCallback,
WwanSelectorCallback {
public boolean mCreated;
@@ -655,6 +732,7 @@
Log.i(TAG, "onDomainSelected - called");
mSelectedDomain = domain;
mDomainSelected = true;
+ mWwanSelected = true;
assertEquals(NormalCallDomainSelector.SelectorState.INACTIVE,
mNormalCallDomainSelector.getSelectorState());