Merge "Make the Carrier Key Download Alarm intent protected" into sc-dev
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index 72627a3..68c67a3 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -153,6 +153,12 @@
<TextView android:id="@+id/nr_frequency" style="@style/info_value" />
</LinearLayout>
+ <!-- NR Frequency -->
+ <LinearLayout style="@style/RadioInfo_entry_layout" android:orientation="horizontal">
+ <TextView android:id="@+id/network_slicing_config_label" android:text="@string/radio_info_network_slicing_config" style="@style/info_label" />
+ <TextView android:id="@+id/network_slicing_config" style="@style/info_value" />
+ </LinearLayout>
+
<!-- Physical Channel Config -->
<LinearLayout style="@style/RadioInfo_entry_layout">
<TextView android:text="@string/radio_info_phy_chan_config" style="@style/info_label" />
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 48e877c..eefaebd 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Wagwoord is verkeerd. SIM is nou geblokkeer. Voer PUK2 in."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 is permanent geblokkeer."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Jy het <xliff:g id="NUMBER">%d</xliff:g> oorblywende pogings."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 is gesluit. Kontak diensverskaffer om te ontsluit."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 is nie meer geblokkeer nie"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Netwerk- of SIM-kaartfout"</string>
<string name="doneButton" msgid="7371209609238460207">"Klaar"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR is beskikbaar:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR-status:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekwensie:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Stel radiobandmodus"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Laai tans bandlys …"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Stel"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index a9a00ac..d1833a6 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"የይለፍ ቃል ልክ አይደለም። SIM አሁን ተቆልፏል። PUK2 ያስገቡ።"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"ፒን2 በቋሚነት ታግዷል።"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"እርስዎ <xliff:g id="NUMBER">%d</xliff:g> ቀሪ ሙከራዎች አልዎት።"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ተቆልፏል። ለማስከፈት የአገልግሎት አቅራቢን ያነጋግሩ።"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ከአሁን በኋላ አልታገደም"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"የአውታረ መረብ ወይም የሲም ካርድ ስህተት"</string>
<string name="doneButton" msgid="7371209609238460207">"ተከናውኗል"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR ይገኛል፦"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR ሁኔታ፦"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ድግግሞሽ፦"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"የሬዲዮ ባንድ ሁነታን ያቀናጁ"</string>
<string name="band_mode_loading" msgid="795923726636735967">"የባንድ ዝርዝርን በመጫን ላይ…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"አዋቅር"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 87864dd..ac4cbdf 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"كلمة المرور غير صحيحة. تم قفل شريحة SIM الآن. أدخل رمز PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"تم حظر PUK2 بشكل دائم."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"يتبقى لديك <xliff:g id="NUMBER">%d</xliff:g> من المحاولات."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"تم قفل شريحة SIM برمز PUK2. تواصَل مع مقدّم الخدمة لفتح قفل الشريحة."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"لم يعد رمز PIN2 محظورًا"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"حدث خطأ في الشبكة أو ببطاقة SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"تم"</string>
@@ -927,6 +926,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR متوفر:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"حالة NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"تردد NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"تحديد وضع النطاق اللاسلكي"</string>
<string name="band_mode_loading" msgid="795923726636735967">"جارٍ تحميل قائمة النطاقات…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"ضبط"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 2608f6a..70bf97e 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"ভুল পাছৱৰ্ড। এতিয়া ছিম লক কৰা হৈছে। PUK2 লিখক।"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 স্থায়ীভাৱে অৱৰোধ কৰা হৈছে।"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"আপোনাৰ হাতত <xliff:g id="NUMBER">%d</xliff:g>টা প্ৰয়াস বাকী আছে।"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 লক কৰা আছে। আনলক কৰিবলৈ সেৱা প্ৰদানকাৰীৰ সৈতে যোগাযোগ কৰক।"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 আৰু অৱৰোধ হৈ থকা নাই"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"নেটৱৰ্ক বা ছিম কাৰ্ডৰ আসোঁৱাহ।"</string>
<string name="doneButton" msgid="7371209609238460207">"হ’ল"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR উপলব্ধ:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR স্থিতি:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ফ্ৰিকুৱেন্সী:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"ৰেডিঅ’ৰ বেণ্ড ম’ড ছেট কৰক"</string>
<string name="band_mode_loading" msgid="795923726636735967">"বেণ্ড সূচীখন ল’ড কৰি থকা হৈছে…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"ছেট কৰক"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 3438b8e..c1ea981 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Parol səhvdir. SIM indi kilidlənib. PUK2-ni daxil et."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 həmişəlik qapadıldı."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Sizin <xliff:g id="NUMBER">%d</xliff:g> cəhdiniz qalıb."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 kilidlidir. Açmaq üçün xidmət provayderi ilə əlaqə saxlayın."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 artıq bloklanmayıb"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Şəbəkə və ya SIM kart xətası"</string>
<string name="doneButton" msgid="7371209609238460207">"Tamam"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR Əlçatandır:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR Statusu:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR Tezliyi:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Radio Diapazon Rejimini Quraşdırın"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Diapazon Siyahısı Yüklənir…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Ayarlayın"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index c83f75d..52c569c 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Lozinka nije tačna. SIM je sada blokiran. Unesite PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 je trajno blokiran."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Imate još <xliff:g id="NUMBER">%d</xliff:g> pokušaja."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 je zaključan. Za otključavanje se obratite dobavljaču usluge."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 više nije blokiran"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Greška na mreži ili SIM kartici"</string>
<string name="doneButton" msgid="7371209609238460207">"Gotovo"</string>
@@ -918,6 +917,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR dostupno:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR stanje:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR učestalost:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Podesite režim radijskog opsega"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Učitava se lista opsega…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Podesi"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 73285a4..bdd80f5 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -294,7 +294,7 @@
<string name="limited_sim_function_notification_title" msgid="612715399099846281">"Абмежаваныя функцыі SIM-карты"</string>
<string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"Выклікі і перадача даных праз <xliff:g id="CARRIER_NAME">%1$s</xliff:g> могуць блакіравацца пры выкарыстанні нумара <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>."</string>
<string name="limited_sim_function_notification_message" msgid="5338638075496721160">"Выклікі і перадача даных праз <xliff:g id="CARRIER_NAME">%1$s</xliff:g> блакіруюцца пры выкарыстанні іншай SIM-карты."</string>
- <string name="sip_accounts_removed_notification_title" msgid="3528076957535736095">"Знойдзены і выдалены ўстарэлыя ўліковыя запісы SIP"</string>
+ <string name="sip_accounts_removed_notification_title" msgid="3528076957535736095">"Знойдзены і выдалены састарэлыя ўліковыя запісы SIP"</string>
<string name="sip_accounts_removed_notification_message" msgid="1916856744869791592">"На платформе Android больш не падтрымліваецца SIP-тэлефанія.\nВашы існуючыя ўліковыя запісы SIP (<xliff:g id="REMOVED_SIP_ACCOUNTS">%s</xliff:g>) выдалены.\nПацвердзіце стандартны ўліковы запіс для выклікаў."</string>
<string name="sip_accounts_removed_notification_action" msgid="3772778402370555562">"Перайсці ў налады"</string>
<string name="data_usage_title" msgid="8438592133893837464">"Выкарыстанне трафіка"</string>
@@ -920,6 +920,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Даступнасць NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Стан NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Частата NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Задаць рэжым радыёдыяпазону"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Загружаецца спіс дыяпазонаў…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Задаць"</string>
@@ -931,5 +933,5 @@
<string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Запусціць сінхранізацыю з аператарам"</string>
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Сігнал Bluetooth слабы. Паспрабуйце пераключыцца на гучную сувязь."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Апавяшчэнне пра якасць выкліку"</string>
- <string name="notification_channel_sip_account" msgid="1261816025156179637">"Устарэлыя ўліковыя запісы SIP"</string>
+ <string name="notification_channel_sip_account" msgid="1261816025156179637">"Састарэлыя ўліковыя запісы SIP"</string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index a518114..6be0bcd 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Паролата е неправилна. SIM картата вече е заключена. Въведете PUK2 кода."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 е блокиран завинаги."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Остават ви <xliff:g id="NUMBER">%d</xliff:g> опита."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Заключена с PUK2. За отключване се обърнете към оператора."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"ПИН2 кодът вече не е блокиран"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Грешка в мрежата или SIM картата"</string>
<string name="doneButton" msgid="7371209609238460207">"Готово"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Налично NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Състояние на NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Честота за NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Задаване на режима за радиодиапазона"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Списъкът с диапазони се зарежда…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Задаване"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index c0db5fa..29dcb56 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"পাসওয়ার্ডটি ভুল৷ সিম এখন অবরুদ্ধ৷ PUK2 লিখুন৷"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 স্থায়ীভাবে অবরুদ্ধ করা হয়েছে৷"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"আপনার কাছে <xliff:g id="NUMBER">%d</xliff:g>টি প্রচেষ্টা অবশিষ্ট রয়েছে৷"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 লক করা আছে। আনলক করতে পরিষেবা প্রদানকারীর সাথে যোগাযোগ করুন।"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 এখন আর অবরুদ্ধ নয়"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"নেটওয়ার্ক বা সিম কার্ড ত্রুটি৷"</string>
<string name="doneButton" msgid="7371209609238460207">"সম্পন্ন হয়েছে"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR উপলভ্য:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR স্ট্যাটাস:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ফ্রিকোয়েন্সি:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"রেডিও ব্যান্ড মোড সেট করুন"</string>
<string name="band_mode_loading" msgid="795923726636735967">"ব্যান্ড তালিকা লোড হচ্ছে..."</string>
<string name="band_mode_set" msgid="6657819412803771421">"সেট করুন"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 1b15035..442c6fa 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Lozinka je netačna. SIM je sada zaključan. Unesite PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 je trajno blokiran."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Broj preostalih pokušaja: <xliff:g id="NUMBER">%d</xliff:g>."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"SIM je zaključan kodom PUK2. Kontaktirajte pružaoca usluge da ga otključate."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 više nije blokiran"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Greška na mreži ili SIM kartici"</string>
<string name="doneButton" msgid="7371209609238460207">"Gotovo"</string>
@@ -918,6 +917,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR dostupno:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR stanje:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR učestalost:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Postavite način radijskog opsega"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Učitavanje liste opsega…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Postavi"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index c4cc571..872159d 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Estat d\'NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Freqüència d\'NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Configura el mode de banda de senyal mòbil"</string>
<string name="band_mode_loading" msgid="795923726636735967">"S\'està carregant la llista de bandes…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Defineix"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 560aa8b..ed768a7 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Nesprávné heslo. SIM karta je teď uzamčena. Zadejte kód PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 je trvale zablokován."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Počet zbývajících pokusů: <xliff:g id="NUMBER">%d</xliff:g>."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Uzamčeno kódem PUK2. Se žádostí o odemknutí SIM karty se obraťte na poskytovatele služeb."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 již není blokován"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Došlo k chybě sítě nebo SIM karty."</string>
<string name="doneButton" msgid="7371209609238460207">"Hotovo"</string>
@@ -921,6 +920,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR k dispozici:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Stav NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvence NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Nastavit režim pásma bezdrátového modulu"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Načítání seznamu pásem…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Nastavit"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 8b92d31..51659c3 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Tilgængelig for NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Status for NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvens for NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Konfigurer radiobåndstilstand"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Indlæser båndliste…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Angiv"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 6efff20..275147d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Passwort falsch. SIM-Karte ist jetzt gesperrt. Bitte PUK2 eingeben."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 wurde endgültig gesperrt."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Du hast noch <xliff:g id="NUMBER">%d</xliff:g> Versuche."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 gesperrt. Wende dich zum Entsperren an den Mobilfunkanbieter."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 nicht mehr gesperrt"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Netzwerk- oder SIM-Kartenfehler"</string>
<string name="doneButton" msgid="7371209609238460207">"Fertig"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR verfügbar:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR-Status:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-Frequenz:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Frequenzbereichmodus festlegen"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Frequenzliste wird geladen…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Festlegen"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 3773eb3..2d8fd45 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Ο κωδικός πρόσβασης είναι λανθασμένος. Η SIM κλειδώθηκε. Καταχωρίστε το PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"Ο κωδικός PUK2 έχει μπλοκαριστεί οριστικά."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Απομένουν <xliff:g id="NUMBER">%d</xliff:g> προσπάθειες."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Το PUK2 κλειδώθηκε. Επικοινωνήστε με τον πάροχο υπηρεσιών για ξεκλείδωμα."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"Το PIN2 δεν είναι πλέον αποκλεισμένο"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Σφάλμα δικτύου ή κάρτας SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Τέλος"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR διαθέσιμο:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Κατάσταση NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Συχνότητα NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Ρύθμιση λειτουργίας ζώνης συχνοτήτων πομπού"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Φόρτωση λίστας ζωνών…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Ορισμός"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 5e676c3..3d96b08 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index bc4169e..1b12547 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 5e676c3..3d96b08 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 5e676c3..3d96b08 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index e69d221..478c18a 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -914,6 +914,7 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR Available:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR State:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR Frequency:"</string>
+ <string name="radio_info_network_slicing_config" msgid="7675131833885031563">"Network slicing config:"</string>
<string name="band_mode_title" msgid="7988822920724576842">"Set Radio Band Mode"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Loading Band List…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index e3bd0a4..3fd44d6 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Contraseña incorrecta. SIM bloqueada. Ingresa el PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"El código PUK2 se bloqueó de forma permanente."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Te quedan <xliff:g id="NUMBER">%d</xliff:g> intentos."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"SIM bloqueada con PUK2. Comunícate con el proveedor para desbloquearla."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"El PIN2 ya no está bloqueado."</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Error en la red o en la tarjeta SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Finalizado"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Estado de NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecuencia de NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Establecer modo de banda de radio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Establecer"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 7aa70f1..4d1f877 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Contraseña incorrecta. SIM bloqueada. Introducir PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"El PUK2 se ha bloqueado de forma permanente."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Quedan <xliff:g id="NUMBER">%d</xliff:g> intentos."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 bloqueado. Ponte en contacto con tu proveedor de servicios para desbloquearlo."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 desbloqueado"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Error en la tarjeta SIM o en la red"</string>
<string name="doneButton" msgid="7371209609238460207">"Hecho"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Estado de NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecuencia de NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Establecer modo de banda de señal móvil"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Seleccionar"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 3e671de..26366e9 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Parool on vale. SIM on nüüd lukus. Sisestage PUK-kood 2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 on püsivalt blokeeritud."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Teil on veel <xliff:g id="NUMBER">%d</xliff:g> katset."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 on lukustatud. Avamiseks võtke ühendust teenusepakkujaga."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN-kood 2 ei ole enam blokeeritud"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Võrgu või SIM-kaardi viga"</string>
<string name="doneButton" msgid="7371209609238460207">"Valmis"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR saadaval:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR-i olek:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-i sagedus:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Raadio ribarežiimi määramine"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Ribaloendi laadimine …"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Määra"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 0134194..81af2b4 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Pasahitza ez da zuzena. SIM txartela blokeatu egin da. Idatzi PUK2 kodea."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 kodea betiko blokeatu da."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> saiakera gelditzen zaizkizu."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 kodearekin blokeatuta dago SIM txartela. Desblokeatzeko, jarri operadorearekin harremanetan."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 kodea desblokeatu da"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Sarearen edo SIM txartelaren errorea"</string>
<string name="doneButton" msgid="7371209609238460207">"Eginda"</string>
@@ -876,7 +875,7 @@
<string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
<string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
<string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
- <string name="radio_info_subid" msgid="6839966868621703203">"Uneko azpiIDa:"</string>
+ <string name="radio_info_subid" msgid="6839966868621703203">"Oraingo azpiIDa:"</string>
<string name="radio_info_dds" msgid="1122593144425697126">"Datu-konexioetarako SIM lehenetsiaren azpiIDa:"</string>
<string name="radio_info_dl_kbps" msgid="2382922659525318726">"Deskargatzeko banda-zabalera (Kb/s):"</string>
<string name="radio_info_ul_kbps" msgid="2102225400904799036">"Kargen banda-zabalera (Kb/s):"</string>
@@ -888,7 +887,7 @@
<string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
<string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Dei-desbideratzea:"</string>
<string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"PPP berrezarpen kopurua abiarazi ezkero:"</string>
- <string name="radio_info_current_network_label" msgid="3052098695239642450">"Uneko sarea:"</string>
+ <string name="radio_info_current_network_label" msgid="3052098695239642450">"Oraingo sarea:"</string>
<string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Jasotako datuak:"</string>
<string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Ahots-deien zerbitzua:"</string>
<string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Seinalearen indarra:"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR erabilgarri:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR estatua:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR maiztasuna:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Ezarri irrati-bandaren modua"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Banden zerrenda kargatzen…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Ezarri"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 2520e4b..c563f1a 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"گذرواژه نادرست است. اکنون سیمکارت قفل شده است. PUK2 را وارد کنید."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 به صورت دائمی مسدود شده است."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> تلاش باقیمانده دارید."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 قفل است. برای باز کردن قفل، با ارائه دهنده خدمات تماس بگیرید."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"پین۲ دیگر مسدود نیست"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"خطای شبکه یا سیمکارت"</string>
<string name="doneButton" msgid="7371209609238460207">"تمام"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR دردسترس است:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"وضعیت NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"فرکانس NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"تنظیم حالت باند رادیو"</string>
<string name="band_mode_loading" msgid="795923726636735967">"درحال بار کردن فهرست باند…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"تنظیم"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index ddca76d..6506746 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Virheellinen salasana. SIM-kortti on lukittu. Anna PUK2-koodi."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2-koodi on pysyvästi estetty."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> yritystä jäljellä."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 lukittu. Ota yhteyttä palveluntarjoajaan lukituksen avaamiseksi."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-koodi ei ole enää estetty"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Verkko- tai SIM-korttivirhe"</string>
<string name="doneButton" msgid="7371209609238460207">"Valmis"</string>
@@ -773,8 +772,8 @@
<string name="clh_callFailed_protocol_Error_unspecified_txt" msgid="9203320572562697755">"Soittaminen epäonnistui. Virhekoodi 111."</string>
<string name="clh_callFailed_interworking_unspecified_txt" msgid="7969686413930847182">"Soittaminen epäonnistui. Virhekoodi 127."</string>
<string name="labelCallBarring" msgid="4180377113052853173">"Puhelujen esto"</string>
- <string name="sum_call_barring_enabled" msgid="5184331188926370824">"Käytössä"</string>
- <string name="sum_call_barring_disabled" msgid="5699448000600153096">"Pois käytöstä"</string>
+ <string name="sum_call_barring_enabled" msgid="5184331188926370824">"Päällä"</string>
+ <string name="sum_call_barring_disabled" msgid="5699448000600153096">"Pois päältä"</string>
<string name="call_barring_baoc" msgid="7400892586336429326">"Kaikki lähtevät"</string>
<string name="call_barring_baoc_enabled" msgid="3131509193386668182">"Poistetaanko kaikkien lähtevien puheluiden esto käytöstä?"</string>
<string name="call_barring_baoc_disabled" msgid="8534224684091141509">"Estetäänkö kaikki lähtevät puhelut?"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR saatavilla:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR:n tila:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR:n taajuus:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Radion taajuustilan valinta"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Ladataan taajuusluetteloa…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Aseta"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 65708bf..76d9bb6 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Le mot de passe est erroné. La carte SIM a été verrouillée. Entrez le code PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"Le code PUK2 est bloqué définitivement."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Il vous reste <xliff:g id="NUMBER">%d</xliff:g> tentatives."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Verrouillage PUK2. Communiquez avec le fournisseur de services pour procéder au déverrouillage."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"Le NIP2 n\'est plus bloqué."</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Erreur de réseau ou de carte SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Terminé"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible :"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"État NR :"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Fréquence NR :"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Définir le mode de bande radio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Chargement de la liste de bandes en cours…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Définir"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index f01edff..e92aac6 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Le mot de passe est erroné. La carte SIM est désormais verrouillée. Veuillez saisir le code PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"La clé PUK2 est bloquée de manière définitive."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Il vous reste <xliff:g id="NUMBER">%d</xliff:g> tentatives."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Verrouillage par clé PUK2. Contactez votre fournisseur de services pour déverrouiller la carte SIM."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"Le code PIN2 n\'est plus bloqué."</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Erreur de réseau ou de carte SIM."</string>
<string name="doneButton" msgid="7371209609238460207">"OK"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Accès NR disponible :"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"État NR :"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Fréquence NR :"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Définir le mode de bande radio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Chargement de la liste de bandes…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Définir"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 36052d6..145ce03 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Contrasinal incorrecto. A SIM está bloqueada agora. Introduce o PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"O PUK2 está permanentemente bloqueado."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Quédanche <xliff:g id="NUMBER">%d</xliff:g> intentos."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 bloqueado. Contacta co fornecedor de servizo para desbloquealo."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"O PIN2 xa non está bloqueado"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Erro de rede ou de tarxeta SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Feito"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR dispoñible:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Estado de NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecuencia de NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Definir modo de banda de radio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Definir"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 8e6198b..9ae6f2f 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"પાસવર્ડ ખોટો છે, SIM હમણાં અવરોધિત છે. PUK2 દાખલ કરો."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 ને કાયમી રૂપે અવરોધિત કરેલ છે."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"તમારી પાસે <xliff:g id="NUMBER">%d</xliff:g> પ્રયાસ બાકી છે."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 વડે લૉક થયું છે. અનલૉક કરવા માટે સેવા પ્રદાતાનો સંપર્ક કરો."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 હવે અવરોધિત નથી"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"નેટવર્ક અથવા SIM કાર્ડ ભૂલ"</string>
<string name="doneButton" msgid="7371209609238460207">"થઈ ગયું"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR ઉપલબ્ધ:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR સ્ટેટસ:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR આવર્તન:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"રેડિયો બૅન્ડ મોડ સેટ કરો"</string>
<string name="band_mode_loading" msgid="795923726636735967">"બૅન્ડની સૂચિ લોડ કરી રહ્યું છે…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"સેટ કરો"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 18396a1..0346a6d 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"पासवर्ड गलत है. सिम अब लॉक हो गई है. PUK2 डालें."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 स्थायी रूप से अवरोधित है."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"आपके पास <xliff:g id="NUMBER">%d</xliff:g> प्रयास शेष हैं."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"सिम कार्ड PUK2 से लॉक है. अनलॉक करने के लिए, सेवा देने वाली कंपनी से संपर्क करें."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 अब अवरोधित नहीं है"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"नेटवर्क या SIM कार्ड गड़बड़ी"</string>
<string name="doneButton" msgid="7371209609238460207">"पूरा हो गया"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR उपलब्ध है:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR की स्थिति:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR की फ़्रीक्वेंसी:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"\'रेडियो बैंड\' मोड सेट करें"</string>
<string name="band_mode_loading" msgid="795923726636735967">"बैंड सूची लोड की जा रही है…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"सेट करें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 9945922..10d0bff 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Zaporka nije točna. SIM je sada zaključan. Unesite PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 je trajno blokiran."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Imate još <xliff:g id="NUMBER">%d</xliff:g> pokušaja."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 zaključan. Obratite se davatelju usluga za otključavanje."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 više nije blokiran"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Pogreška mreže ili SIM kartice"</string>
<string name="doneButton" msgid="7371209609238460207">"Gotovo"</string>
@@ -918,6 +917,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Dostupno za NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Stanje NR-a:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvencija NR-a:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Postavi način radijske frekvencije"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Učitavanje popisa frekvencija…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Postavi"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index ff7a0be..3fb8dda 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"A jelszó helytelen. SIM kártya zárolva. Adja meg a PUK2 kódot."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"A PUK2 végleg letiltva."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> próbálkozási lehetősége maradt."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"A PUK2 zárolva van. A feloldás ügyében forduljon a szolgáltatóhoz."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 kód letiltása feloldva"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Hálózattal vagy SIM kártyával kapcsolatos hiba"</string>
<string name="doneButton" msgid="7371209609238460207">"Kész"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR rendelkezésre áll:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR-állapot:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekvencia:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Rádióhullámsáv mód beállítása"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Sávlista betöltése…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Beállítás"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index f005098..20c9471 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR-ը հասանելի է՝"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR-ի կարգավիճակը՝"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-ի հաճախականությունը՝"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Կարգավորել հաճախությունների շերտի ռեժիմը"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Շերտերի ցուցակը բեռնվում է…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Կարգավորել"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 3469355..c1a13ce 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Sandi salah. SIM kini dikunci. Masukkan PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 diblokir selamanya."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Tersisa <xliff:g id="NUMBER">%d</xliff:g> upaya lagi."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 terkunci. Hubungi penyedia layanan untuk membuka kunci."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 tidak lagi diblokir"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Kesalahan jaringan atau kartu SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Selesai"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR Tersedia:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Status NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekuensi NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Setel Mode Band Radio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Memuat Daftar Band…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Setel"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 9816ed4..68dd17e 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Rangt aðgangsorð. SIM-kortinu var læst. Sláðu inn PUK2-númerið."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 er læst fyrir fullt og allt."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> tilraunir eru eftir."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Læst með PUK2. Hafðu samband við þjónustuaðila til að taka úr lás."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-númer ekki lengur læst"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Villa í símkerfi eða á SIM-korti"</string>
<string name="doneButton" msgid="7371209609238460207">"Lokið"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR tiltækt:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR staða:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR tíðni:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Velja útvarpstíðni"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Hleður lista yfir tíðnisvið…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Stilla"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index cafc14e..15ac815 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Password errata. SIM bloccata. Inserisci codice PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 bloccato definitivamente."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Hai a disposizione ancora <xliff:g id="NUMBER">%d</xliff:g> tentativi."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 bloccato. Per sbloccarlo, contatta il fornitore di servizi."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 sbloccato"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Errore di rete o della SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Fine"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponibile:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Stato NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequenza NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Imposta modalità banda radio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Caricamento elenco bande…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Imposta"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index b5e52ea..a6f3196 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -920,6 +920,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"תומך ב-5G NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"מצב 5G NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"תדירות 5G NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"הגדרת מצב תדרים של רדיו"</string>
<string name="band_mode_loading" msgid="795923726636735967">"טוען רשימת תדרים…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"הגדרה"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index ef8cfdf..c304b74 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"パスワードが正しくありません。SIMはロックされました。PUK2を入力してください。"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2は完全にブロックされています。"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"入力できるのはあと<xliff:g id="NUMBER">%d</xliff:g>回です。"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 でロックされています。ロックを解除するには、サービス プロバイダにお問い合わせください。"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2はブロックされなくなりました"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"ネットワークまたはSIMカードのエラー"</string>
<string name="doneButton" msgid="7371209609238460207">"完了"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR 利用可能:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR ステータス:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 周波数:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"無線バンドモードの設定"</string>
<string name="band_mode_loading" msgid="795923726636735967">"バンドリストを読み込み中…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"設定"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 9b3cb43..2b6a1f6 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"პაროლი არასწორია. SIM ახლა დაბლოკილია. შეიყვანეთ PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 სამუდამოდ დაიბლოკა."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n" თქვენ გაქვთ <xliff:g id="NUMBER">%d</xliff:g> დარჩენილი მცდელობა."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ჩაკეტილია. განსაბლოკად დაუკავშირდით სერვისის პროვაიდერს."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 აღარ არის დაბლოკილი"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"ქსელის ან SIM ბარათის შეცდომა"</string>
<string name="doneButton" msgid="7371209609238460207">"დასრულდა"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR ხელმისაწვდომია:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR-ის მდგომარეობა:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-ის სიხშირე:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"რადიოდიაპაზონის რეჟიმის დაყენება"</string>
<string name="band_mode_loading" msgid="795923726636735967">"მიმდინარეობს დიაპაზონთა სიის ჩატვირთვა…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"დაყენება"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 5489d18..d488dcd 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Құпия сөз дұрыс емес. SIM қазір бекітілген. PUK2 кодын енгізіңіз."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 уақытша бөгелген."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> әрекет қалды."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 құлыптаулы. Құлпын ашу үшін қызмет көрсетушіге хабарласыңыз."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 енді бөгелмеген"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Желі немесе SIM картасының қатесі"</string>
<string name="doneButton" msgid="7371209609238460207">"Дайын"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR қолжетімді:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR күйі:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR жиілігі:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Радиожолақ режимін орнату"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Жолақтар тізімі жүктелуде…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Орнату"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index b0fad81..3c76790 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"មាន NR៖"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"ស្ថានភាព NR៖"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"កម្រិតញឹកញាប់នៃ NR៖"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"កំណត់មុខងារកម្រិតបញ្ជូនវិទ្យុ"</string>
<string name="band_mode_loading" msgid="795923726636735967">"កំពុងដំណើរការបញ្ជីក្រុម…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"កំណត់"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index e842351..ced50c5 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"ಪಾಸ್ವರ್ಡ್ ತಪ್ಪಾಗಿದೆ. SIM ಅನ್ನು ಇದೀಗ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ. PUK2 ನಮೂದಿಸಿ."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 ಅನ್ನು ಶಾಶ್ವತವಾಗಿ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"ನೀವು <xliff:g id="NUMBER">%d</xliff:g> ಬಾಕಿ ಉಳಿದಿರುವ ಪ್ರಯತ್ನಗಳನ್ನು ಹೊಂದಿರುವಿರಿ."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ಲಾಕ್ ಆಗಿದೆ. ಅನ್ಲಾಕ್ ಮಾಡಲು ಸೇವೆ ಒದಗಿಸುವವರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ಇನ್ನು ಮುಂದೆ ನಿರ್ಬಂಧಿತವಾಗಿರುವುದಿಲ್ಲ"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"ನೆಟ್ವರ್ಕ್ ಅಥವಾ ಸಿಮ್ ಕಾರ್ಡ್ ದೋಷ"</string>
<string name="doneButton" msgid="7371209609238460207">"ಮುಗಿದಿದೆ"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR ಲಭ್ಯವಿದೆ:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR ಸ್ಥಿತಿ:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ಫ್ರೀಕ್ವೆನ್ಸಿ:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"ರೇಡಿಯೋ ಬ್ಯಾಂಡ್ ಮೋಡ್ ಹೊಂದಿಸಿ"</string>
<string name="band_mode_loading" msgid="795923726636735967">"ಬ್ಯಾಂಡ್ ಪಟ್ಟಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"ಹೊಂದಿಸಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 6e06b13..541dc23 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"비밀번호가 잘못되어 SIM이 잠겼습니다. PUK2를 입력하세요."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2가 완전히 차단되었습니다."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g>번의 기회가 남았습니다."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2로 잠금 설정되었습니다. 모든 통신사에서 사용할 수 있도록 하려면 서비스 제공업체에 문의하세요."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 차단이 해제되었습니다."</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"네트워크 또는 SIM 카드 오류"</string>
<string name="doneButton" msgid="7371209609238460207">"완료"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR 사용 가능:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR 상태:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 빈도:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"무선 주파수 대역 모드 설정"</string>
<string name="band_mode_loading" msgid="795923726636735967">"대역 목록 로드 중…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"설정"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index a563806..5d533a6 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Сырсөз туура эмес. SIM азыр кулпуланды. PUK2 киргизиңиз."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 биротоло бөгөттөлдү."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Сизде <xliff:g id="NUMBER">%d</xliff:g> аракет калды."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 кулпуланды. Кулпуну ачуу үчүн оператор менен байланышыңыз."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"Мындан ары PIN2 бөгөттөлбөйт"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Тармак же SIM карта катасы"</string>
<string name="doneButton" msgid="7371209609238460207">"Даяр"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR жеткиликтүү:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR абалы:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR жыштыгы:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Радио жыштыгынын режимин коюу"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Жыштык режиминин тизмеси жүктөлүүдө…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Жөндөө"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 0fc3dfd..817a240 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"ມີ NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"ສະຖານະ NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"ຄວາມຖີ່ NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"ຕັ້ງໂໝດແຖບຄວາມຖີ່ວິທະຍຸ"</string>
<string name="band_mode_loading" msgid="795923726636735967">"ກຳລັງດາວໂຫລດລາຍຊື່ແຖບຄວາມຖີ່..."</string>
<string name="band_mode_set" msgid="6657819412803771421">"ກຳນົດ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 1f6cea8..c0b663b 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Netinkamas slaptažodis. SIM kortelė užrakinta. Įveskite PUK2 kodą."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 kodas visam laikui užblokuotas."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Liko <xliff:g id="NUMBER">%d</xliff:g> bandym."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 užrakintas. Kreipkitės į paslaugos teikėją, kad atrakintų."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 kodas atblokuotas"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Tinklo ar SIM kortelės klaida"</string>
<string name="doneButton" msgid="7371209609238460207">"Atlikta"</string>
@@ -921,6 +920,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR (pasiekiama):"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR būsena:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR dažnis:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Nustatyti radijo dažnių režimą"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Įkeliamas dažnių sąrašas…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Nustatyti"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 232e5d6..2d710a7 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Parole nav pareiza. SIM bloķēta. Ievadiet PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 kods ir neatgriezeniski bloķēts."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Jums atlikuši <xliff:g id="NUMBER">%d</xliff:g> mēģinājumi."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ir bloķēts. Lai atbloķētu, sazinieties ar pakalpojuma sniedzēju."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 vairs nav bloķēts"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Tīkla vai SIM kartes kļūda"</string>
<string name="doneButton" msgid="7371209609238460207">"Gatavs"</string>
@@ -918,6 +917,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR pieejamība:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR statuss:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR biežums:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Radio frekvenču joslu režīma iestatīšana"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Notiek joslu saraksta ielāde…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Iestatīt"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index af59d8c..7f72fa5 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Лозинката е неточна. SIM-картичката е сега заклучена. Внесете го ПУК2-кодот."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"ПУК2 кодот е трајно блокиран."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Имате уште <xliff:g id="NUMBER">%d</xliff:g> обиди."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2-кодот е заклучен. Контактирајте со операторот за отклучување."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-кодот веќе не е блокиран"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Грешка со мрежа или SIM картичка"</string>
<string name="doneButton" msgid="7371209609238460207">"Готово"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Достапно за NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Состојба на NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Фреквенција на NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Поставете режим на појас на радио"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Се вчитува список на појаси…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Постави"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 8c35189..4703be3 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"പാസ്വേഡ് തെറ്റാണ്. SIM ഇപ്പോൾ ലോക്കുചെയ്തിരിക്കുന്നു. PUK2 നൽകുക."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 ശാശ്വതമായി തടഞ്ഞിരിക്കുന്നു."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"നിങ്ങൾക്ക് <xliff:g id="NUMBER">%d</xliff:g> ശ്രമങ്ങൾ ശേഷിക്കുന്നു."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ലോക്ക് ആണ്. അൺലോക്ക് ചെയ്യാൻ സേവന ദാതാവിനെ ബന്ധപ്പെടുക."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ഇനി തടയില്ല"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"നെറ്റ്വർക്ക് അല്ലെങ്കിൽ സിം കാർഡ് പിശക്"</string>
<string name="doneButton" msgid="7371209609238460207">"പൂർത്തിയായി"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR ലഭ്യം:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR നില:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ഫ്രീക്വൻസി:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"റേഡിയോ ബാൻഡ് മോഡ് സജ്ജീകരിക്കുക"</string>
<string name="band_mode_loading" msgid="795923726636735967">"ബാൻഡ് ലിസ്റ്റ് ലോഡ് ചെയ്യുന്നു…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"സജ്ജീകരിക്കുക"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index d22c903..783c821 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR боломжтой:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR төлөв:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR давтамж:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Радио мессежийн горимыг тохируулах"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Мессежийн жагсаалтыг ачаалж байна…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Тохируулах"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index ccedfd5..1c32881 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"पासवर्ड चुकीचा आहे. सिम आता लॉक केले आहे. PUK2 प्रविष्ट करा."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 कायमचे अवरोधित केले आहे."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"आपल्याकडे <xliff:g id="NUMBER">%d</xliff:g> शिल्लक प्रयत्न आहेत."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 द्वारे लॉक केले आहे. ते अनलॉक करण्यासाठी सेवा पुरवठादाराशी संपर्क साधा."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"पिन2 अवरोधित केला नाही"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"नेटवर्क किंवा सिम कार्ड एरर"</string>
<string name="doneButton" msgid="7371209609238460207">"पूर्ण झाले"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR उपलब्ध:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR स्थिती:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR वारंवारता:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"रेडिओ बँड मोड सेट करा"</string>
<string name="band_mode_loading" msgid="795923726636735967">"बँड सूची लोड करत आहे…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"सेट करा"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index c343939..c58d6f6 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Kata laluan tidak betul. SIM kini dikunci. Masukkan PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 disekat secara kekal."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Anda mempunyai <xliff:g id="NUMBER">%d</xliff:g> percubaan lagi."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 dikunci. Hubungi penyedia perkhidmatan untuk membuka kunci."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 tidak disekat lagi"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Ralat rangkaian atau kad SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Selesai"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR Tersedia:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Keadaan NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekuensi NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Tetapkan Mod Jalur Radio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Memuatkan Senarai Jalur…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Tetapkan"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 0707f98..d6cd2c7 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"လျှို့ဝှက်စကားလုံး မမှန်ကန်ပါ။ SIM ယခုသော့ခတ်လိုက်ပါပြီ။ PUK2 ရိုက်ထည့်ပါ။"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 ကို ထာ၀ရ ပိတ်ထားပါသည်"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"သင့်တွင် လက်ကျန် ကြိုးစားခွင့် <xliff:g id="NUMBER">%d</xliff:g> ရှိသည်။"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 လော့ခ်ချထားသည်။ ဖွင့်ရန် ဝန်ဆောင်မှုပေးသူကို ဆက်သွယ်ပါ။"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"ပင်နံပါတ်2 အား အဆက်မဖြတ်တော့ပါ။"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"ကွန်ရက် သို့မဟုတ် ဆင်းမ်ကဒ်မှားယွင်းမှု"</string>
<string name="doneButton" msgid="7371209609238460207">"ပြီးပါပြီ"</string>
@@ -773,7 +772,7 @@
<string name="clh_callFailed_protocol_Error_unspecified_txt" msgid="9203320572562697755">"ခေါ်ဆိုမှုကို မပြုလုပ်နိုင်ပါ။ အမှားကုဒ် ၁၁၁။"</string>
<string name="clh_callFailed_interworking_unspecified_txt" msgid="7969686413930847182">"ခေါ်ဆိုမှုကို မပြုလုပ်နိုင်ပါ။ အမှားကုဒ် ၁၂၇။"</string>
<string name="labelCallBarring" msgid="4180377113052853173">"ခေါ်ဆိုမှုကို ပိတ်ပင်ရန်"</string>
- <string name="sum_call_barring_enabled" msgid="5184331188926370824">"ဖွင့်ထားသည်"</string>
+ <string name="sum_call_barring_enabled" msgid="5184331188926370824">"ဖွင့်"</string>
<string name="sum_call_barring_disabled" msgid="5699448000600153096">"ပိတ်ထားသည်"</string>
<string name="call_barring_baoc" msgid="7400892586336429326">"အထွက်ခေါ်ဆိုမှုအားလုံး"</string>
<string name="call_barring_baoc_enabled" msgid="3131509193386668182">"အထွက်ခေါ်ဆိုမှုအားလုံး ပိတ်ထားခြင်းကို ပယ်ဖျက်မလား။"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR အသုံးပြုနိုင်သည် -"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR အခြေအနေ -"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ကြိမ်နှုန်း -"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"ရေဒီယိုလိုင်းမုဒ်အဖြစ် သတ်မှတ်ပါ"</string>
<string name="band_mode_loading" msgid="795923726636735967">"ရေဒီယိုလိုင်းစာရင်းကို ဖွင့်နေသည်…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"သတ်မှတ်ရန်"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 160e808..efce396 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Passordet er feil. PIN-koden er nå blokkert. Skriv inn en PUK2-kode."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 er permanent sperret."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Du har <xliff:g id="NUMBER">%d</xliff:g> forsøk igjen."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2-låst. Kontakt tjenesteleverandøren for å låse opp."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-koden er ikke lenger blokkert"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Feil på nettverket eller SIM-kortet"</string>
<string name="doneButton" msgid="7371209609238460207">"Ferdig"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR tilgjengelig:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR-tilstand:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekvens:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Angi båndmodus for radio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Laster inn båndlisten …"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Angi"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 87ebf2c..7e0dac8 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"पासवर्ड गलत छ। सिम अब ब्लक गरिएको छ। PUK2 प्रविष्टि गर्नुहोस्।"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 स्थायी रूपमा रोक्का गरियो।"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n" तपाईंसँग <xliff:g id="NUMBER">%d</xliff:g> प्रयास बाँकी छन्।"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"SIM कार्ड PUK2 बाट लक गरिएको छ। अनलक गर्न सेवा प्रदायकलाई सम्पर्क गर्नुहोस्।"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 अब ब्लक गरिएको छैन"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"नेटवर्क वा SIM कार्ड त्रुटि।"</string>
<string name="doneButton" msgid="7371209609238460207">"सम्पन्न भयो"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR उपलब्ध छ:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR को स्थिती:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR फ्रिक्वेन्सी:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"रेडियोको ब्यान्डसम्बन्धी मोडलाई सेट गर्नुहोस्"</string>
<string name="band_mode_loading" msgid="795923726636735967">"ब्यान्डको सूची लोड गर्दै…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"सेट गर्नुहोस्"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 3082d29..c590abd 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Wachtwoord onjuist. Simkaart nu vergrendeld. Geef PUK2 op."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2-code is definitief geblokkeerd."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Je hebt nog <xliff:g id="NUMBER">%d</xliff:g> pogingen."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 vergrendeld. Neem contact op met je serviceprovider om te ontgrendelen."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 niet langer geblokkeerd"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Netwerk- of simkaartfout"</string>
<string name="doneButton" msgid="7371209609238460207">"Klaar"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR beschikbaar:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR-status:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frequentie:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Modus voor radioband instellen"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Bandlijst laden…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Instellen"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index c833757..f3b5023 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"ଭୁଲ୍ ପାସ୍ୱର୍ଡ। ବର୍ତ୍ତମାନ SIM ଲକ୍ ହୋଇଗଲା। PUK2କୁ ପ୍ରବେଶ କରନ୍ତୁ।"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2କୁ ସ୍ଥାୟୀରୂପେ ଅବରୋଧ କରାଯାଇଛି।"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"ଆପଣଙ୍କର <xliff:g id="NUMBER">%d</xliff:g>ଟି ସୁଯୋଗ ବଳକା ଅଛି।"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ଲକ୍ କରାଯାଇଛି। ଅନଲକ୍ କରିବାକୁ ସେବା ପ୍ରଦାନକାରୀ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2କୁ ଆଉ ଅବରୋଧ କରାଯାଇନାହିଁ"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"ନେଟ୍ୱର୍କ କିମ୍ବା SIM କାର୍ଡ ତ୍ରୁଟି"</string>
<string name="doneButton" msgid="7371209609238460207">"ହୋଇଗଲା"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR ଉପଲବ୍ଧ:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR ସ୍ଥିତି:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ଫ୍ରିକ୍ୱେନ୍ସୀ:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"ରେଡିଓ ବ୍ୟାଣ୍ଡ ମୋଡ୍ ସେଟ୍ କରନ୍ତୁ"</string>
<string name="band_mode_loading" msgid="795923726636735967">"ବ୍ୟାଣ୍ଡ ତାଲିକା ଲୋଡ୍ କରାଯାଉଛି…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"ସେଟ୍ କରନ୍ତୁ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index b59d012..038c430 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"ਪਾਸਵਰਡ ਗ਼ਲਤ। SIM ਹੁਣ ਲੌਕ ਹੈ। PUK2 ਦਰਜ ਕਰੋ।"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 ਸਥਾਈ ਤੌਰ ਤੇ ਬਲੌਕ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ਲਾਕ ਹੈ। ਅਣਲਾਕ ਕਰਨ ਲਈ ਸੇਵਾ ਪ੍ਰਦਾਨਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ਹੁਣ ਬਲੌਕ ਨਹੀਂ ਹੈ"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"ਨੈਟਵਰਕ ਜਾਂ SIM ਕਾਰਡ ਤਰੁੱਟੀ"</string>
<string name="doneButton" msgid="7371209609238460207">"ਹੋ ਗਿਆ"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR ਉਪਲਬਧ:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR ਸਥਿਤੀ:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ਵਾਰਵਾਰਤਾ:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"ਰੇਡੀਓ ਬੈਂਡ ਮੋਡ ਸੈੱਟ ਕਰੋ"</string>
<string name="band_mode_loading" msgid="795923726636735967">"ਬੈਂਡ ਸੂਚੀ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"ਸੈੱਟ ਕਰੋ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 887a2f5..03358d9 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Nieprawidłowe hasło. Karta SIM została zablokowana. Wpisz PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 został trwale zablokowany."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Masz jeszcze <xliff:g id="NUMBER">%d</xliff:g> prób(y)."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Kod PUK2 zablokowany. Aby odblokować, skontaktuj się z dostawcą usług."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 nie jest już zablokowany"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Błąd sieci lub karty SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Gotowe"</string>
@@ -921,6 +920,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Dostępne NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Stan NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Częstotliwość NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Ustawianie trybu pasma radiowego"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Ładuję listę pasm…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Ustaw"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 0b09574..3e92292 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Palavra-passe incorreta. SIM bloqueado. Introduza o PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 bloqueado permanentemente."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Tem mais <xliff:g id="NUMBER">%d</xliff:g> tentativas."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 bloqueado. Contacte o fornecedor de serviços para desbloquear."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"O PIN2 deixou de estar bloqueado"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Erro do cartão SIM ou da rede"</string>
<string name="doneButton" msgid="7371209609238460207">"Concluído"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponível:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Estado NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequência NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Definir modo de banda de rádio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"A carregar lista de bandas…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Definir"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 0e6a812..40eaf23 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponível:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Estado do NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequência do NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Definir modo de banda de rádio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Carregando a lista de bandas…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Definir"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index c446cf3..50588f0 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Parola nu este corectă. Cardul SIM a fost blocat. Introduceți codul PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"Codul PUK2 este blocat definitiv."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"V-au rămas <xliff:g id="NUMBER">%d</xliff:g> (de) încercări."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Blocat cu PUK2. Contactați furnizorul de servicii pentru a debloca."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"Codul PIN2 nu mai este blocat"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Eroare de rețea sau de card SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Terminat"</string>
@@ -918,6 +917,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Disponibilă NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Stare NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecvență NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Setați Modul bandă radio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Se încarcă lista de benzi…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Setați"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index b7cd6d6..69b93c0 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Неверный пароль. SIM-карта заблокирована. Введите код PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"Код PUK2 заблокирован навсегда"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Осталось попыток: <xliff:g id="NUMBER">%d</xliff:g>."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Код PUK2 заблокирован. Чтобы разблокировать его, обратитесь к оператору."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"Код PIN2 разблокирован."</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Ошибка сети или SIM-карты"</string>
<string name="doneButton" msgid="7371209609238460207">"Готово"</string>
@@ -921,6 +920,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR доступно:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Состояние NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Частота NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Настроить режим сети"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Загрузка списка частот…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Сохранить"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 6471591..0af60b6 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"මුරපදය වැරදිය. SIM දැන් අගුළු දමා තිබේ. PUK2 ඇතුළු කරන්න."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 සදාකාලිකවම අවහිරයි."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"ඔබට නැවත උත්සාහ කිරීම් <xliff:g id="NUMBER">%d</xliff:g> ක් තිබේ."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 අගුළු දැමිණි. අගුළු ඇරීමට සේවා සපයන්නා සම්බන්ධ කර ගන්න."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"තව දුරටත් PIN2 අවහිර කර නොතිබේ"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"ජාලයේ හෝ SIM කාඩ්පතෙහි දෝෂයක්"</string>
<string name="doneButton" msgid="7371209609238460207">"හරි"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR ලබා ගත හැකි:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR තත්ත්වය:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR සංඛ්යාතය:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"රේඩියෝ කලාප ප්රකාරය සකසන්න"</string>
<string name="band_mode_loading" msgid="795923726636735967">"කලාප ලැයිස්තුව පූරණය කරමින්…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"සකසන්න"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 1366168..6a8a304 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Heslo je nesprávne. SIM karta bola uzamknutá. Zadajte kód PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"Kód PUK2 je natrvalo blokovaný."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Zostávajú vám pokusy (počet: <xliff:g id="NUMBER">%d</xliff:g>)"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"SIM karta je blokovaná kódom PUK2. Ak ju chcete odblokovať, kontaktujte poskytovateľa služieb."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"Kód PIN2 už nie je blokovaný"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Došlo k chybe siete alebo SIM karty"</string>
<string name="doneButton" msgid="7371209609238460207">"Hotovo"</string>
@@ -921,6 +920,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Dostupné NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Stav NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvencia NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Nastaviť režim rádiového pásma"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Načítava sa zoznam pásiem…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Nastaviť"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 8d77ce8..7a7d124 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Geslo je napačno. Kartica SIM je zaklenjena. Vnesite kodo PUK 2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"Koda PUK2 je trajno blokirana."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Imate še toliko poskusov: <xliff:g id="NUMBER">%d</xliff:g>."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Zaklenjeno s kodo PUK2. Za odklepanje se obrnite na ponudnika storitev."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"Koda PIN 2 ni več blokirana"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Napaka omrežja ali kartice SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Dokončano"</string>
@@ -921,6 +920,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Razpoložljivo za NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Stanje NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvenca NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Nastavljanje načina radijskega območja"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Nalaganje seznama frekvenčnih pasov …"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Nastavi"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 0c22c14..483bf92 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Fjalëkalimi është i pasaktë. Karta SIM tani është e kyçur. Fut PUK2-shin."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2-shi është i bllokuar përgjithmonë."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Të kanë mbetur edhe <xliff:g id="NUMBER">%d</xliff:g> përpjekje."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Kodi PUK2 i kyçur. Kontakto me ofruesin e shërbimit për ta shkyçur."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-shi nuk është më i bllokuar"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Gabim në rrjet ose në kartën SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"U krye"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Ofrohet NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Gjendja e NR-së:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekuenca e NR-së:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Cakto modalitetin e brezit të radios"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Po ngarkon listën e brezave…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Cakto"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 9cddc29..905f491 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Лозинка није тачна. SIM је сада блокиран. Унесите PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 је трајно блокиран."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Имате још <xliff:g id="NUMBER">%d</xliff:g> покушаја."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 је закључан. За откључавање се обратите добављачу услуге."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 више није блокиран"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Грешка на мрежи или SIM картици"</string>
<string name="doneButton" msgid="7371209609238460207">"Готово"</string>
@@ -918,6 +917,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR доступно:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR стање:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR учесталост:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Подесите режим радијског опсега"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Учитава се листа опсега…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Подеси"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 4401c69..464b94c 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Felaktigt lösenord. SIM-kortet är nu låst. Ange PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK-kod 2 har blockerats permanent."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Du har <xliff:g id="NUMBER">%d</xliff:g> försök kvar."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 låst. Kontakta tjänsteleverantören för att låsa upp."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 är inte längre blockerad"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Nätverks- eller SIM-kortsfel"</string>
<string name="doneButton" msgid="7371209609238460207">"Färdig"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR tillgänglig:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR-status:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekvens:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Konfigurera radiobandsläget"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Läser in bandlista …"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Ange"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 21dbd38..8241f0b 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Nenosiri si sahihi. SIM sasa imefungwa. Weka PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 Imezuiwa kabisa."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Una majaribio <xliff:g id="NUMBER">%d</xliff:g> yaliyobaki."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"Imefungwa kwa sababu PUK2 si sahihi. Wasiliana na mtoa huduma ili aifungue."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 sasa haijazuiwa"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Hitilafu ya mtandao au SIM kadi"</string>
<string name="doneButton" msgid="7371209609238460207">"Kwisha"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR Inapatikana:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Hali ya NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Masafa ya NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Weka Hali ya Bendi ya Redio"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Inapakia Orodha ya Bendi…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Weka"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 437ba09..5a28420 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"கடவுச்சொல் தவறானது. சிம் இப்போது பூட்டப்பட்டது. PUK2ஐ உள்ளிடவும்."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 தற்காலிகமாகத் தடுக்கப்பட்டது."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"நீங்கள் <xliff:g id="NUMBER">%d</xliff:g> முறை முயற்சிக்கலாம்."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 லாக் செய்யப்பட்டுள்ளது. அன்லாக் செய்ய சேவை வழங்குநரைத் தொடர்புகொள்ளவும்."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 இனி தடுக்கப்படாது"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"நெட்வொர்க் அல்லது சிம் கார்டு பிழை"</string>
<string name="doneButton" msgid="7371209609238460207">"முடிந்தது"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR உள்ளது:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR நிலை:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR அலைவரிசை:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"ரேடியோ பேண்டு பயன்முறையை அமை"</string>
<string name="band_mode_loading" msgid="795923726636735967">"பேண்டு பட்டியலை ஏற்றுகிறது…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"அமை"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index b9f0660..0b0220f 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"పాస్వర్డ్ చెల్లదు. SIM ఇప్పుడు లాక్ చేయబడింది. PUK2ని నమోదు చేయండి."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 శాశ్వతంగా బ్లాక్ చేయబడింది."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"మీకు <xliff:g id="NUMBER">%d</xliff:g> ప్రయత్నాలు మిగిలి ఉన్నాయి."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 లాక్ చేయబడింది. అన్లాక్ చేయడానికి సర్వీస్ ప్రొవైడర్ను కాంటాక్ట్ చేయండి."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ఇప్పుడు బ్లాక్ అయ్యి లేదు"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"నెట్వర్క్ లేదా SIM కార్డ్ లోపం"</string>
<string name="doneButton" msgid="7371209609238460207">"పూర్తయింది"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR అందుబాటులో ఉంది:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR స్టేటస్:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ఫ్రీక్వెన్సీ:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"రేడియో బ్యాండ్ మోడ్ను సెట్ చేయండి"</string>
<string name="band_mode_loading" msgid="795923726636735967">"బ్యాండ్ జాబితాను లోడ్ చేస్తోంది…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"సెట్ చేయి"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index f709a7c..a13d23b 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"มี NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"สถานะ NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"ความถี่ NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"ตั้งค่าโหมดย่านความถี่วิทยุ"</string>
<string name="band_mode_loading" msgid="795923726636735967">"กำลังโหลดรายการย่านความถี่…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"ตั้งค่า"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 5d62d87..65d86ad 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Available ang NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Status ng NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequency ng NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Itakda ang Band Mode ng Radyo"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Nilo-load ang Listahan ng Band…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Itakda"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index c5a1060..01cdf49 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR Kullanılabilir:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR Durumu:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR Frekansı:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Radyo Bant Modunu Ayarla"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Bant Listesi Yükleniyor…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Ayarla"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index bcc8a1d..ab121ab 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -515,7 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Неправильний пароль. SIM-карту заблоковано. Введіть PUK2-код."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2-код назавжди заблоковано."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"У вас залишилося стільки спроб: <xliff:g id="NUMBER">%d</xliff:g>."</string>
- <string name="puk2_locked" msgid="6497760825455461057">"PUK2 заблоковано. Щоб розблокувати, зв’яжіться з постачальником послуг."</string>
+ <string name="puk2_locked" msgid="6497760825455461057">"Заблоковано кодом PUK2. Щоб розблокувати, зв’яжіться з оператором."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-код більше не заблоковано"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Помилка мережі або SIM-карти"</string>
<string name="doneButton" msgid="7371209609238460207">"Готово"</string>
@@ -920,6 +920,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR доступно:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Статус NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Частота NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Установити режим радіодіапазону"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Завантаження списку діапазонів частот…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Установити"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index e4af87b..46b33bd 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"پاس ورڈ غلط ہے۔ SIM اب مقفل ہے۔ PUK2 درج کریں۔"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 مستقل طور پر مسدود ہے۔"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"آپ کے پاس <xliff:g id="NUMBER">%d</xliff:g> کوششیں بچی ہیں۔"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 مقفل ہے۔ غیر مقفل کرنے کے ليے سروس فراہم کنندہ سے رابطہ کریں۔"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 اب مسدود نہیں ہے"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"نیٹ ورک یا SIM کارڈ کی خرابی"</string>
<string name="doneButton" msgid="7371209609238460207">"ہوگیا"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR دستیاب ہے:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR ریاست:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR فریکوئنسی:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"ریڈیو بینڈ موڈ سیٹ کریں"</string>
<string name="band_mode_loading" msgid="795923726636735967">"بینڈ کی فہرست لوڈ ہو رہی ہے…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"سیٹ کریں"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index bd2665d..cfd69b0 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Parol noto‘g‘ri. SIM karta qulflandi. PUK2 kodini kiriting."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 kod butunlay to‘sib qo‘yildi."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Sizda <xliff:g id="NUMBER">%d</xliff:g> ta urinish qoldi."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 bloklangan. Uni blokdan chiqarish uchun xizmat ta’minotchisiga murojaat qiling."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 kodi blokdan chiqarildi"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Tarmoq yoki SIM kartada xato"</string>
<string name="doneButton" msgid="7371209609238460207">"Tayyor"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR ochiq:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR holati:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR chastotasi:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Tarmoq rejimini sozlash"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Chastotalar ro‘yxati yuklanmoqda…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Saqlash"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 97b6146..28f7a37 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"Mật khẩu không đúng. SIM hiện đã bị chặn. Hãy nhập PUK2."</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 bị chặn vĩnh viễn."</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"Bạn còn <xliff:g id="NUMBER">%d</xliff:g> lần thử."</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"PUK2 đang bị khóa. Hãy liên hệ với nhà cung cấp dịch vụ để mở khóa."</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 không còn bị chặn"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"Lỗi mạng hoặc thẻ SIM"</string>
<string name="doneButton" msgid="7371209609238460207">"Xong"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"Hỗ trợ NR:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Trạng thái NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Tần số NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Đặt chế độ dải tần số"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Đang tải danh sách băng tần…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Đặt"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index ddf8300..e568da3 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"密码不正确。SIM 卡已锁定。请输入 PUK2 码。"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2码已被永远锁定。"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"您还可以尝试输入 <xliff:g id="NUMBER">%d</xliff:g> 次。"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"SIM 卡已通过 PUK2 进行锁定。请联系服务提供商来解锁。"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 码已解除锁定"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"网络或 SIM 卡错误"</string>
<string name="doneButton" msgid="7371209609238460207">"完成"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"5G 可用:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"5G 状态:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"5G 频率:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"设置无线装置频道模式"</string>
<string name="band_mode_loading" msgid="795923726636735967">"正在加载频道列表…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"设置"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 4da008f..df31e11 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR 可用:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR 狀態:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 頻率:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"設定無線電頻段模式"</string>
<string name="band_mode_loading" msgid="795923726636735967">"正在載入頻段清單…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"設定"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 3347e41..23393be 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -515,8 +515,7 @@
<string name="puk2_requested" msgid="6992374450720307514">"密碼不正確,SIM 卡現已遭到封鎖。請輸入 PUK2。"</string>
<string name="puk2_blocked" msgid="3131139031779319911">"PUK2 遭到永久封鎖。"</string>
<string name="pin2_attempts" msgid="5625178102026453023">\n"您還可以嘗試 <xliff:g id="NUMBER">%d</xliff:g> 次。"</string>
- <!-- no translation found for puk2_locked (6497760825455461057) -->
- <skip />
+ <string name="puk2_locked" msgid="6497760825455461057">"SIM 卡已遭 PUK2 碼鎖定,請要求服務供應商協助解鎖。"</string>
<string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 已解除封鎖"</string>
<string name="pin2_error_exception" msgid="8116103864600823641">"網路或 SIM 卡錯誤"</string>
<string name="doneButton" msgid="7371209609238460207">"完成"</string>
@@ -915,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"NR 可供使用:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"NR 狀態:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 頻率:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"設定無線電頻帶模式"</string>
<string name="band_mode_loading" msgid="795923726636735967">"正在載入頻帶清單…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"設定"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 3456b3a..4ad89d0 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -914,6 +914,8 @@
<string name="radio_info_nr_available" msgid="1321318331361249997">"I-NR Iyatholakala:"</string>
<string name="radio_info_nr_state" msgid="1337571996788535356">"Isimo se-NR:"</string>
<string name="radio_info_nr_frequency" msgid="1201156032796584128">"Imvamisa ye-NR:"</string>
+ <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+ <skip />
<string name="band_mode_title" msgid="7988822920724576842">"Isetha imodi yebhendi yerediyo"</string>
<string name="band_mode_loading" msgid="795923726636735967">"Ilayisha uhlu lwebhendi…"</string>
<string name="band_mode_set" msgid="6657819412803771421">"Setha"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 88d2f1a..e8a3350 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2159,6 +2159,8 @@
<string name="radio_info_nr_state">NR State:</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_nr_frequency">NR Frequency:</string>
+ <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_network_slicing_config">Network slicing config:</string>
<!-- Band Mode Selection -->
<!-- Band mode screen. Title of activity. -->
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 2b91a24..d985e9e 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -892,9 +892,15 @@
/** Returns the package name of a priveleged carrier app, or null if there is none. */
@Nullable
private String getCarrierPackageForPhoneId(int phoneId) {
- List<String> carrierPackageNames = TelephonyManager.from(mContext)
+ List<String> carrierPackageNames;
+ final long token = Binder.clearCallingIdentity();
+ try {
+ carrierPackageNames = TelephonyManager.from(mContext)
.getCarrierPackageNamesForIntentAndPhone(
- new Intent(CarrierService.CARRIER_SERVICE_INTERFACE), phoneId);
+ new Intent(CarrierService.CARRIER_SERVICE_INTERFACE), phoneId);
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
if (carrierPackageNames != null && carrierPackageNames.size() > 0) {
return carrierPackageNames.get(0);
} else {
@@ -1203,6 +1209,8 @@
int phoneId = SubscriptionManager.getPhoneId(subscriptionId);
PersistableBundle retConfig = CarrierConfigManager.getDefaultConfig();
if (SubscriptionManager.isValidPhoneId(phoneId)) {
+ logd("getConfigForSubIdWithFeature: subscriptionId=" + subscriptionId
+ + ", phoneId=" + phoneId);
PersistableBundle config = mConfigFromDefaultApp[phoneId];
if (config != null) {
retConfig.putAll(config);
diff --git a/src/com/android/phone/ImsRcsController.java b/src/com/android/phone/ImsRcsController.java
index bd6ba6b..31059e7 100644
--- a/src/com/android/phone/ImsRcsController.java
+++ b/src/com/android/phone/ImsRcsController.java
@@ -17,7 +17,6 @@
package com.android.phone;
import android.Manifest;
-import android.app.ActivityManager;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Binder;
@@ -276,9 +275,6 @@
List<Uri> contactNumbers, IRcsUceControllerCallback c) {
enforceAccessUserCapabilityExchangePermission("requestCapabilities");
enforceReadContactsPermission("requestCapabilities");
- if (!isCallingProcessInForeground(Binder.getCallingUid())) {
- throw new SecurityException("The caller is not in the foreground.");
- }
final long token = Binder.clearCallingIdentity();
try {
UceControllerManager uceCtrlManager = getRcsFeatureController(subId).getFeature(
@@ -300,9 +296,6 @@
String callingFeatureId, Uri contactNumber, IRcsUceControllerCallback c) {
enforceAccessUserCapabilityExchangePermission("requestAvailability");
enforceReadContactsPermission("requestAvailability");
- if (!isCallingProcessInForeground(Binder.getCallingUid())) {
- throw new SecurityException("The caller is not in the foreground.");
- }
final long token = Binder.clearCallingIdentity();
try {
UceControllerManager uceCtrlManager = getRcsFeatureController(subId).getFeature(
@@ -668,19 +661,6 @@
}
/**
- * Check if the calling process is in the foreground.
- *
- * @return true if the caller is in the foreground.
- */
- private boolean isCallingProcessInForeground(int uid) {
- ActivityManager am = mApp.getSystemService(ActivityManager.class);
- boolean isCallingProcessForeground = am != null
- && am.getUidImportance(uid)
- == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
- return isCallingProcessForeground;
- }
-
- /**
* Retrieve ImsPhone instance.
*
* @param subId the subscription ID
diff --git a/src/com/android/phone/ImsUtil.java b/src/com/android/phone/ImsUtil.java
index 0825cfb..ba4ad38 100644
--- a/src/com/android/phone/ImsUtil.java
+++ b/src/com/android/phone/ImsUtil.java
@@ -165,7 +165,7 @@
private static boolean getLastKnownRoamingState(int phoneId) {
try {
ImsPhone imsPhone = (ImsPhone) (PhoneFactory.getPhone(phoneId).getImsPhone());
- return imsPhone.getRoamingState();
+ return imsPhone.getLastKnownRoamingState();
} catch (NullPointerException | ClassCastException e) {
return false;
}
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 88bec27..63def4e 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -355,6 +355,7 @@
private ImsResolver mImsResolver;
private UserManager mUserManager;
private AppOpsManager mAppOps;
+ private PackageManager mPm;
private MainThreadHandler mMainThreadHandler;
private SubscriptionController mSubscriptionController;
private SharedPreferences mTelephonySharedPreferences;
@@ -2165,6 +2166,7 @@
mImsResolver = PhoneGlobals.getInstance().getImsResolver();
mUserManager = (UserManager) app.getSystemService(Context.USER_SERVICE);
mAppOps = (AppOpsManager)app.getSystemService(Context.APP_OPS_SERVICE);
+ mPm = app.getSystemService(PackageManager.class);
mMainThreadHandler = new MainThreadHandler();
mSubscriptionController = SubscriptionController.getInstance();
mTelephonySharedPreferences =
@@ -3102,6 +3104,7 @@
return null;
}
int subId = phone.getSubId();
+ enforceCallingPackage(callingPackage, Binder.getCallingUid(), "getImeiForSlot");
if (!TelephonyPermissions.checkCallingOrSelfReadDeviceIdentifiers(mApp, subId,
callingPackage, callingFeatureId, "getImeiForSlot")) {
return null;
@@ -3247,6 +3250,24 @@
//
/**
+ * Make sure the caller is the calling package itself
+ *
+ * @throws SecurityException if the caller is not the calling package
+ */
+ private void enforceCallingPackage(String callingPackage, int callingUid, String message) {
+ int packageUid = -1;
+ try {
+ packageUid = mPm.getPackageUid(callingPackage, 0);
+ } catch (PackageManager.NameNotFoundException e) {
+ // packageUid is -1
+ }
+ if (packageUid != callingUid) {
+ throw new SecurityException(message + ": Package " + callingPackage
+ + " does not belong to " + callingUid);
+ }
+ }
+
+ /**
* Make sure the caller has the MODIFY_PHONE_STATE permission.
*
* @throws SecurityException if the caller does not have the required permission
@@ -4488,7 +4509,9 @@
public void setImsProvisioningStatusForCapability(int subId, int capability, int tech,
boolean isProvisioned) {
if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
- && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
+ && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE
+ && tech != ImsRegistrationImplBase.REGISTRATION_TECH_NR
+ && tech != ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
}
checkModifyPhoneStatePermission(subId, "setImsProvisioningStatusForCapability");
@@ -4498,6 +4521,12 @@
if (!isImsProvisioningRequired(subId, capability, true)) {
return;
}
+ if (tech == ImsRegistrationImplBase.REGISTRATION_TECH_NR
+ || tech == ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
+ loge("setImsProvisioningStatusForCapability: called for technology that does "
+ + "not support provisioning - " + tech);
+ return;
+ }
// this capability requires provisioning, route to the correct API.
ImsManager ims = ImsManager.getInstance(mApp, getSlotIndex(subId));
@@ -4525,7 +4554,7 @@
}
cacheMmTelCapabilityProvisioning(subId, capability, tech, isProvisioned);
try {
- ims.changeMmTelCapability(capability, tech, isProvisioned);
+ ims.changeMmTelCapability(isProvisioned, capability, tech);
} catch (com.android.ims.ImsException e) {
loge("setImsProvisioningStatusForCapability: couldn't change UT capability"
+ ", Exception" + e.getMessage());
@@ -4547,7 +4576,9 @@
@Override
public boolean getImsProvisioningStatusForCapability(int subId, int capability, int tech) {
if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
- && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
+ && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE
+ && tech != ImsRegistrationImplBase.REGISTRATION_TECH_NR
+ && tech != ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
}
enforceReadPrivilegedPermission("getProvisioningStatusForCapability");
@@ -4558,6 +4589,13 @@
return true;
}
+ if (tech == ImsRegistrationImplBase.REGISTRATION_TECH_NR
+ || tech == ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
+ loge("getImsProvisioningStatusForCapability: called for technology that does "
+ + "not support provisioning - " + tech);
+ return true;
+ }
+
ImsManager ims = ImsManager.getInstance(mApp, getSlotIndex(subId));
switch (capability) {
case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE: {
@@ -4867,8 +4905,8 @@
*/
@Override
public int getDataNetworkType(String callingPackage, String callingFeatureId) {
- return getDataNetworkTypeForSubscriber(getDefaultSubscription(), callingPackage,
- callingFeatureId);
+ return getDataNetworkTypeForSubscriber(mSubscriptionController.getDefaultDataSubId(),
+ callingPackage, callingFeatureId);
}
/**
@@ -6664,6 +6702,7 @@
@Override
public int checkCarrierPrivilegesForPackage(int subId, String pkgName) {
+ enforceReadPrivilegedPermission("checkCarrierPrivilegesForPackage");
if (TextUtils.isEmpty(pkgName)) {
return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
}
@@ -6681,6 +6720,7 @@
@Override
public int checkCarrierPrivilegesForPackageAnyPhone(String pkgName) {
+ enforceReadPrivilegedPermission("checkCarrierPrivilegesForPackageAnyPhone");
if (TextUtils.isEmpty(pkgName))
return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
int result = TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED;
@@ -6704,6 +6744,7 @@
@Override
public List<String> getCarrierPackageNamesForIntentAndPhone(Intent intent, int phoneId) {
+ enforceReadPrivilegedPermission("getCarrierPackageNamesForIntentAndPhone");
if (!SubscriptionManager.isValidPhoneId(phoneId)) {
loge("phoneId " + phoneId + " is not valid.");
return null;
@@ -6718,6 +6759,7 @@
@Override
public List<String> getPackagesWithCarrierPrivileges(int phoneId) {
+ enforceReadPrivilegedPermission("getPackagesWithCarrierPrivileges");
PackageManager pm = mApp.getPackageManager();
List<String> privilegedPackages = new ArrayList<>();
List<PackageInfo> packages = null;
diff --git a/src/com/android/phone/TelephonyShellCommand.java b/src/com/android/phone/TelephonyShellCommand.java
index 8fc7e94..f5b6ad8 100644
--- a/src/com/android/phone/TelephonyShellCommand.java
+++ b/src/com/android/phone/TelephonyShellCommand.java
@@ -2295,6 +2295,7 @@
String packageName = getNextArgRequired();
boolean hasCarrierPrivileges;
+ final long token = Binder.clearCallingIdentity();
try {
hasCarrierPrivileges =
mInterface.checkCarrierPrivilegesForPackageAnyPhone(packageName)
@@ -2303,6 +2304,8 @@
Log.w(LOG_TAG, HAS_CARRIER_PRIVILEGES_COMMAND + " exception", e);
getErrPrintWriter().println("Exception: " + e.getMessage());
return -1;
+ } finally {
+ Binder.restoreCallingIdentity(token);
}
getOutPrintWriter().println(hasCarrierPrivileges);
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index 88de151..8c53971 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -56,6 +56,7 @@
import android.telephony.CellSignalStrengthLte;
import android.telephony.CellSignalStrengthWcdma;
import android.telephony.DataSpecificRegistrationInfo;
+import android.telephony.data.NetworkSlicingConfig;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.PhysicalChannelConfig;
import android.telephony.RadioAccessFamily;
@@ -245,6 +246,7 @@
private TextView mNrAvailable;
private TextView mNrState;
private TextView mNrFrequency;
+ private TextView mNetworkSlicingConfig;
private EditText mSmsc;
private Switch mRadioPowerOnSwitch;
private Button mCellInfoRefreshRateButton;
@@ -494,6 +496,7 @@
mNrState = (TextView) findViewById(R.id.nr_state);
mNrFrequency = (TextView) findViewById(R.id.nr_frequency);
mPhyChanConfig = (TextView) findViewById(R.id.phy_chan_config);
+ mNetworkSlicingConfig = (TextView) findViewById(R.id.network_slicing_config);
// hide 5G stats on devices that don't support 5G
if ((mTelephonyManager.getSupportedRadioAccessFamily()
@@ -508,6 +511,8 @@
mNrState.setVisibility(View.GONE);
((TextView) findViewById(R.id.nr_frequency_label)).setVisibility(View.GONE);
mNrFrequency.setVisibility(View.GONE);
+ ((TextView) findViewById(R.id.network_slicing_config_label)).setVisibility(View.GONE);
+ mNetworkSlicingConfig.setVisibility(View.GONE);
}
mPreferredNetworkType = (Spinner) findViewById(R.id.preferredNetworkType);
@@ -1125,6 +1130,10 @@
mNrState.setText(NetworkRegistrationInfo.nrStateToString(ss.getNrState()));
mNrFrequency.setText(ServiceState.frequencyRangeToString(ss.getNrFrequencyRange()));
}
+
+ NetworkSlicingConfig slicingConfig = new NetworkSlicingConfig();
+ mNetworkSlicingConfig.setText(slicingConfig.toString());
+
}
private void updateProperties() {
@@ -1331,7 +1340,7 @@
new MenuItem.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
boolean isImsRegistered = mPhone.isImsRegistered();
- boolean availableVolte = mPhone.isVolteEnabled();
+ boolean availableVolte = mPhone.isVoiceOverCellularImsEnabled();
boolean availableWfc = mPhone.isWifiCallingEnabled();
boolean availableVt = mPhone.isVideoEnabled();
boolean availableUt = mPhone.isUtEnabled();
diff --git a/src/com/android/services/telephony/CallQualityManager.java b/src/com/android/services/telephony/CallQualityManager.java
deleted file mode 100644
index 262ce88..0000000
--- a/src/com/android/services/telephony/CallQualityManager.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony;
-
-import android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.Bundle;
-import android.os.SystemClock;
-import android.telecom.BluetoothCallQualityReport;
-import android.util.Log;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.telephony.SlidingWindowEventCounter;
-import com.android.phone.R;
-
-/**
- * class to handle call quality events that are received by telecom and telephony
- */
-public class CallQualityManager {
- private static final String TAG = CallQualityManager.class.getCanonicalName();
-
- /** notification ids */
- public static final int BLUETOOTH_CHOPPY_VOICE_NOTIFICATION_ID = 700;
- public static final String CALL_QUALITY_CHANNEL_ID = "CallQualityNotificationChannel";
- public static final long NOTIFICATION_BACKOFF_TIME_MILLIS = 5L * 60 * 1000;
- public static final int NUM_OCCURRENCES_THRESHOLD = 5;
- public static final long TIME_WINDOW_MILLIS = 5 * 1000;
-
- private final Context mContext;
- private final NotificationChannel mNotificationChannel;
- private final NotificationManager mNotificationManager;
- private final SlidingWindowEventCounter mSlidingWindowEventCounter;
-
- private long mNotificationLastTime;
-
- public CallQualityManager(Context context) {
- mContext = context;
- mNotificationChannel = new NotificationChannel(CALL_QUALITY_CHANNEL_ID,
- mContext.getString(R.string.call_quality_notification_name),
- NotificationManager.IMPORTANCE_HIGH);
- mNotificationManager = (NotificationManager)
- mContext.getSystemService(Context.NOTIFICATION_SERVICE);
- mNotificationManager.createNotificationChannel(mNotificationChannel);
- //making sure at the start we qualify to show notifications
- mNotificationLastTime =
- SystemClock.elapsedRealtime() - NOTIFICATION_BACKOFF_TIME_MILLIS - 1;
- mSlidingWindowEventCounter =
- new SlidingWindowEventCounter(TIME_WINDOW_MILLIS, NUM_OCCURRENCES_THRESHOLD);
- }
-
- /**
- * method that is called whenever a
- * {@code BluetoothCallQualityReport.EVENT_SEND_BLUETOOTH_CALL_QUALITY_REPORT} is received
- * @param extras Bundle that includes serialized {@code BluetoothCallQualityReport} parcelable
- */
- @VisibleForTesting
- public void onBluetoothCallQualityReported(Bundle extras) {
- if (extras == null) {
- Log.d(TAG, "onBluetoothCallQualityReported: no extras provided");
- }
-
- BluetoothCallQualityReport callQualityReport = extras.getParcelable(
- BluetoothCallQualityReport.EXTRA_BLUETOOTH_CALL_QUALITY_REPORT);
-
- if (callQualityReport.isChoppyVoice()) {
- onChoppyVoice();
- }
- // TODO: once other signals are also sent, we will add more actions here
- }
-
- /**
- * method to post a notification to user suggesting ways to improve call quality in case of
- * bluetooth choppy voice
- */
- @VisibleForTesting
- public void onChoppyVoice() {
- String title = "Call Quality Improvement";
- Log.d(TAG, "Bluetooth choppy voice signal received.");
- if (mSlidingWindowEventCounter.addOccurrence(SystemClock.elapsedRealtime())) {
- timedNotify(title,
- mContext.getText(R.string.call_quality_notification_bluetooth_details));
- }
- }
-
- // notify user only if you haven't in the last NOTIFICATION_BACKOFF_TIME_MILLIS milliseconds
- private void timedNotify(String title, CharSequence details) {
- if (!mContext.getResources().getBoolean(
- R.bool.enable_bluetooth_call_quality_notification)) {
- Log.d(TAG, "Bluetooth call quality notifications not enabled.");
- return;
- }
- long now = SystemClock.elapsedRealtime();
- if (now - mNotificationLastTime > NOTIFICATION_BACKOFF_TIME_MILLIS) {
- int iconId = android.R.drawable.stat_notify_error;
-
- Notification notification = new Notification.Builder(mContext)
- .setSmallIcon(iconId)
- .setWhen(System.currentTimeMillis())
- .setAutoCancel(true)
- .setContentTitle(title)
- .setContentText(details)
- .setStyle(new Notification.BigTextStyle().bigText(details))
- .setChannelId(CALL_QUALITY_CHANNEL_ID)
- .setOnlyAlertOnce(true)
- .build();
-
- mNotificationManager.notify(TAG, BLUETOOTH_CHOPPY_VOICE_NOTIFICATION_ID, notification);
- mNotificationLastTime = now;
- Log.d(TAG, "Call quality signal received, showing notification");
- } else {
- Log.d(TAG, "Call quality signal received, but not showing notification, "
- + "as recently notified in the last "
- + NOTIFICATION_BACKOFF_TIME_MILLIS / 1000 + " seconds");
- }
- }
-
- /**
- * close the notifications that have been emitted during the call
- */
- public void clearNotifications() {
- mNotificationManager.cancel(TAG, BLUETOOTH_CHOPPY_VOICE_NOTIFICATION_ID);
- }
-}
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index b0b0303..1ddde75 100755
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -30,7 +30,6 @@
import android.os.Message;
import android.os.Messenger;
import android.os.PersistableBundle;
-import android.telecom.BluetoothCallQualityReport;
import android.telecom.CallAudioState;
import android.telecom.CallScreeningService;
import android.telecom.Conference;
@@ -887,8 +886,6 @@
private final Set<TelephonyConnectionListener> mTelephonyListeners = Collections.newSetFromMap(
new ConcurrentHashMap<TelephonyConnectionListener, Boolean>(8, 0.9f, 1));
- private CallQualityManager mCallQualityManager;
-
protected TelephonyConnection(com.android.internal.telephony.Connection originalConnection,
String callId, @android.telecom.Call.Details.CallDirection int callDirection) {
setCallDirection(callDirection);
@@ -901,12 +898,6 @@
@Override
public void onCallEvent(String event, Bundle extras) {
switch (event) {
- case BluetoothCallQualityReport.EVENT_BLUETOOTH_CALL_QUALITY_REPORT:
- if (mCallQualityManager == null) {
- mCallQualityManager = new CallQualityManager(getPhone().getContext());
- }
- mCallQualityManager.onBluetoothCallQualityReported(extras);
- break;
case Connection.EVENT_DEVICE_TO_DEVICE_MESSAGE:
// A Device to device message is being sent by a CallDiagnosticService.
handleOutgoingDeviceToDeviceMessage(extras);
@@ -3200,9 +3191,6 @@
setDisconnected(disconnectCause);
notifyDisconnected(disconnectCause);
notifyStateChanged(getState());
- if (mCallQualityManager != null) {
- mCallQualityManager.clearNotifications();
- }
}
/**
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index bc39ffc..8b7bd8f 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -1600,7 +1600,7 @@
Phone imsPhone = phone.getImsPhone();
return imsPhone != null
- && (imsPhone.isVolteEnabled() || imsPhone.isWifiCallingEnabled())
+ && (imsPhone.isVoiceOverCellularImsEnabled() || imsPhone.isWifiCallingEnabled())
&& (imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE);
}
diff --git a/src/com/android/services/telephony/rcs/DelegateBinderStateManager.java b/src/com/android/services/telephony/rcs/DelegateBinderStateManager.java
index 9d2c5d6..1a016ee 100644
--- a/src/com/android/services/telephony/rcs/DelegateBinderStateManager.java
+++ b/src/com/android/services/telephony/rcs/DelegateBinderStateManager.java
@@ -19,6 +19,7 @@
import android.telephony.ims.DelegateRegistrationState;
import android.telephony.ims.DelegateRequest;
import android.telephony.ims.FeatureTagState;
+import android.telephony.ims.SipDelegateConfiguration;
import android.telephony.ims.SipDelegateConnection;
import android.telephony.ims.SipDelegateImsConfiguration;
import android.telephony.ims.SipDelegateManager;
@@ -52,6 +53,11 @@
* The SipDelegate has notified telephony that the IMS configuration has changed.
*/
void onImsConfigurationChanged(SipDelegateImsConfiguration config);
+
+ /**
+ * The SipDelegate has notified telephony that the IMS configuration has changed.
+ */
+ void onConfigurationChanged(SipDelegateConfiguration config);
}
/** Allow for mocks to be created for testing. */
diff --git a/src/com/android/services/telephony/rcs/DelegateStateTracker.java b/src/com/android/services/telephony/rcs/DelegateStateTracker.java
index 18ad98e..321c7ba 100644
--- a/src/com/android/services/telephony/rcs/DelegateStateTracker.java
+++ b/src/com/android/services/telephony/rcs/DelegateStateTracker.java
@@ -19,6 +19,7 @@
import android.os.RemoteException;
import android.telephony.ims.DelegateRegistrationState;
import android.telephony.ims.FeatureTagState;
+import android.telephony.ims.SipDelegateConfiguration;
import android.telephony.ims.SipDelegateImsConfiguration;
import android.telephony.ims.aidl.ISipDelegate;
import android.telephony.ims.aidl.ISipDelegateConnectionStateCallback;
@@ -159,6 +160,20 @@
}
}
+ /**
+ * THe underlying SipDelegate has reported that the IMS configuration has changed.
+ * @param config The config to be sent to the IMS application.
+ */
+ @Override
+ public void onConfigurationChanged(SipDelegateConfiguration config) {
+ logi("onImsConfigurationChanged: Sending new IMS configuration.");
+ try {
+ mAppStateCallback.onConfigurationChanged(config);
+ } catch (RemoteException e) {
+ logw("onImsConfigurationChanged: IMS application is dead: " + e);
+ }
+ }
+
/** Write state about this tracker into the PrintWriter to be included in the dumpsys */
public void dump(PrintWriter printWriter) {
printWriter.println("Last reg state: " + mLastRegState);
diff --git a/src/com/android/services/telephony/rcs/MessageTransportStateTracker.java b/src/com/android/services/telephony/rcs/MessageTransportStateTracker.java
index daafeb2..e640735 100644
--- a/src/com/android/services/telephony/rcs/MessageTransportStateTracker.java
+++ b/src/com/android/services/telephony/rcs/MessageTransportStateTracker.java
@@ -21,6 +21,7 @@
import android.telephony.ims.DelegateMessageCallback;
import android.telephony.ims.DelegateRegistrationState;
import android.telephony.ims.FeatureTagState;
+import android.telephony.ims.SipDelegateConfiguration;
import android.telephony.ims.SipDelegateImsConfiguration;
import android.telephony.ims.SipDelegateManager;
import android.telephony.ims.SipMessage;
@@ -328,6 +329,11 @@
// Not needed for this Tracker
}
+ @Override
+ public void onConfigurationChanged(SipDelegateConfiguration config) {
+ // Not needed for this Tracker
+ }
+
/**
* Open the transport and allow SIP messages to be sent/received on the delegate specified.
* @param delegate The delegate connection to send SIP messages to on the ImsService.
@@ -355,6 +361,13 @@
}
/**
+ * @return The remote application's message callback.
+ */
+ public ISipDelegateMessageCallback getAppMessageCallback() {
+ return mAppCallback;
+ }
+
+ /**
* @return MessageCallback implementation to be sent to the ImsService.
*/
public ISipDelegateMessageCallback getMessageCallback() {
diff --git a/src/com/android/services/telephony/rcs/SipDelegateBinderConnection.java b/src/com/android/services/telephony/rcs/SipDelegateBinderConnection.java
index 3f6f269..5eb0558 100644
--- a/src/com/android/services/telephony/rcs/SipDelegateBinderConnection.java
+++ b/src/com/android/services/telephony/rcs/SipDelegateBinderConnection.java
@@ -22,6 +22,7 @@
import android.telephony.ims.DelegateRegistrationState;
import android.telephony.ims.DelegateRequest;
import android.telephony.ims.FeatureTagState;
+import android.telephony.ims.SipDelegateConfiguration;
import android.telephony.ims.SipDelegateImsConfiguration;
import android.telephony.ims.SipDelegateManager;
import android.telephony.ims.aidl.IImsRegistration;
@@ -108,6 +109,22 @@
}
@Override
+ public void onConfigurationChanged(
+ SipDelegateConfiguration registeredSipConfig) {
+ long token = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> {
+ logi("onConfigurationChanged");
+ for (StateCallback c : mStateCallbacks) {
+ c.onConfigurationChanged(registeredSipConfig);
+ }
+ });
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
+ }
+
+ @Override
public void onDestroyed(int reason) {
long token = Binder.clearCallingIdentity();
try {
diff --git a/src/com/android/services/telephony/rcs/SipDelegateController.java b/src/com/android/services/telephony/rcs/SipDelegateController.java
index 2d6d4f0..8cd4365 100644
--- a/src/com/android/services/telephony/rcs/SipDelegateController.java
+++ b/src/com/android/services/telephony/rcs/SipDelegateController.java
@@ -136,11 +136,21 @@
return mPackageName;
}
+ /**
+ * @return The ImsService's SIP delegate binder impl associated with this controller.
+ */
public ISipDelegate getSipDelegateInterface() {
return mMessageTransportStateTracker.getDelegateConnection();
}
/**
+ * @return The IMS app's message callback binder.
+ */
+ public ISipDelegateMessageCallback getAppMessageCallback() {
+ return mMessageTransportStateTracker.getAppMessageCallback();
+ }
+
+ /**
* Create the underlying SipDelegate.
* <p>
* This may not happen instantly, The CompletableFuture returned will not complete until
diff --git a/src/com/android/services/telephony/rcs/SipTransportController.java b/src/com/android/services/telephony/rcs/SipTransportController.java
index cecc8a2..6ffffaf 100644
--- a/src/com/android/services/telephony/rcs/SipTransportController.java
+++ b/src/com/android/services/telephony/rcs/SipTransportController.java
@@ -20,6 +20,7 @@
import android.app.role.RoleManager;
import android.content.Context;
import android.os.PersistableBundle;
+import android.os.RemoteCallbackList;
import android.os.RemoteException;
import android.os.UserHandle;
import android.telephony.CarrierConfigManager;
@@ -172,6 +173,34 @@
}
/**
+ * Extends RemoteCallbackList to track callbacks to the IMS applications with
+ * SipDelegateConnections and cleans them up if they die.
+ */
+ private class TrackedAppBinders extends RemoteCallbackList<ISipDelegateMessageCallback> {
+ @Override
+ public void onCallbackDied(ISipDelegateMessageCallback callback, Object cookie) {
+ mExecutorService.execute(() -> {
+ if (cookie instanceof SipDelegateController) {
+ SipDelegateController c = (SipDelegateController) cookie;
+ logi("onCallbackDied - Cleaning up delegates associated with package: "
+ + c.getPackageName());
+ boolean isNewDestroyQueued = addPendingDestroy(c,
+ SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD);
+ if (isNewDestroyQueued) {
+ CompletableFuture<Void> f = new CompletableFuture<>();
+ scheduleReevaluateNow(f);
+ f.thenRun(() -> logi("onCallbackDied - clean up complete for package: "
+ + c.getPackageName()));
+ }
+ } else {
+ logw("onCallbackDied: unexpected - cookie is not an instance of "
+ + "SipDelegateController");
+ }
+ });
+ }
+ }
+
+ /**
* Used in {@link #destroySipDelegate(int, ISipDelegate, int)} to store pending destroy
* requests.
*/
@@ -190,13 +219,16 @@
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
DestroyRequest that = (DestroyRequest) o;
- return reason == that.reason
- && controller.equals(that.controller);
+ // Only use controller for comparison, as we want to only have one DestroyRequest active
+ // per controller.
+ return controller.equals(that.controller);
}
@Override
public int hashCode() {
- return java.util.Objects.hash(controller, reason);
+ // Only use controller for hash, as we want to only have one DestroyRequest active per
+ // controller.
+ return java.util.Objects.hash(controller);
}
@Override
@@ -233,6 +265,8 @@
private final List<SipDelegateController> mDelegatePendingCreate = new ArrayList<>();
// SipDelegateControllers that are pending to be destroyed.
private final List<DestroyRequest> mDelegatePendingDestroy = new ArrayList<>();
+ // Cache of Binders to remote IMS applications for tracking their potential death
+ private final TrackedAppBinders mActiveAppBinders = new TrackedAppBinders();
// Future scheduled for operations that require the list of SipDelegateControllers to
// be evaluated. When the timer expires and triggers the reevaluate method, this controller
@@ -254,7 +288,7 @@
// Callback to monitor rcs provisioning change
private CarrierConfigManager mCarrierConfigManager;
// Cached allowed feature tags from carrier config
- ArraySet<String> mFeatureTagsAllowed = new ArraySet<>();
+ private ArraySet<String> mFeatureTagsAllowed = new ArraySet<>();
/**
* Create an instance of SipTransportController.
@@ -660,6 +694,11 @@
return;
}
+ // Remove tracking for all SipDelegates being destroyed first
+ for (DestroyRequest d : mDelegatePendingDestroy) {
+ logi("reevaluateDelegates: starting destroy for: " + d.controller.getPackageName());
+ mActiveAppBinders.unregister(d.controller.getAppMessageCallback());
+ }
// Destroy all pending destroy delegates first. Order doesn't matter.
List<CompletableFuture<Void>> pendingDestroyList = mDelegatePendingDestroy.stream()
.map(d -> triggerDestroy(d.controller, d.reason)).collect(
@@ -673,7 +712,8 @@
// Add newly created SipDelegates to end of queue before evaluating associated features.
mDelegatePriorityQueue.addAll(mDelegatePendingCreate);
for (SipDelegateController c : mDelegatePendingCreate) {
- logi("reevaluateDelegates: pending create: " + c);
+ logi("reevaluateDelegates: pending create: " + c.getPackageName());
+ mActiveAppBinders.register(c.getAppMessageCallback(), c);
}
mDelegatePendingCreate.clear();
@@ -704,8 +744,12 @@
// Executor doesn't matter here, schedule an event to update the IMS registration.
mEvaluateCompleteFuture = pendingChange
- .thenAccept((associatedFeatures) -> {
- logi("reevaluateDelegates: reevaluate complete," + " feature tags associated: "
+ .whenComplete((f, ex) -> {
+ if (ex != null) {
+ logw("reevaluateDelegates: Exception caught: " + ex);
+ }
+ }).thenAccept((associatedFeatures) -> {
+ logi("reevaluateDelegates: reevaluate complete, feature tags associated: "
+ associatedFeatures);
scheduleUpdateRegistration();
});
diff --git a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/DelegateActivity.java b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/DelegateActivity.java
index 7f751d6..1407671 100644
--- a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/DelegateActivity.java
+++ b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/DelegateActivity.java
@@ -26,8 +26,8 @@
import android.telephony.ims.FeatureTagState;
import android.telephony.ims.ImsException;
import android.telephony.ims.ImsManager;
+import android.telephony.ims.SipDelegateConfiguration;
import android.telephony.ims.SipDelegateConnection;
-import android.telephony.ims.SipDelegateImsConfiguration;
import android.telephony.ims.SipDelegateManager;
import android.telephony.ims.SipMessage;
import android.telephony.ims.stub.DelegateConnectionMessageCallback;
@@ -125,15 +125,16 @@
}
@Override
- public void onImsConfigurationChanged(
- SipDelegateImsConfiguration registeredSipConfig) {
- mCallbackResultStr += "onImsConfigurationChanged SipDelegateImsConfiguration:"
- + registeredSipConfig + "\r\n\r\n";
- Log.i(TAG, mCallbackResultStr);
+ public void onConfigurationChanged(
+ SipDelegateConfiguration registeredSipConfig) {
+ mCallbackResultStr += "onConfigurationChanged SipDelegateConfiguration:"
+ + "\r\n\r\n";
+ Log.i(TAG, "onConfigurationChanged: " + registeredSipConfig);
mHandler.sendMessage(mHandler.obtainMessage(MSG_RESULT));
dumpConfig(registeredSipConfig);
}
+
@Override
public void onFeatureTagStatusChanged(
@NonNull DelegateRegistrationState registrationState,
@@ -326,81 +327,33 @@
}
- private void dumpConfig(SipDelegateImsConfiguration config) {
- Log.i(TAG, "KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_HOME_DOMAIN_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_HOME_DOMAIN_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_IMEI_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IMEI_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_IPTYPE_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IPTYPE_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_PATH_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_PATH_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_URI_USER_PART_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_URI_USER_PART_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING:"
- + config.getString(SipDelegateImsConfiguration
- .KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING:"
- + config.getString(SipDelegateImsConfiguration
- .KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING:"
- + config.getString(SipDelegateImsConfiguration
- .KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING));
-
- Log.i(TAG, "KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT, -99));
-
- Log.i(TAG, "KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL:" + config.getBoolean(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL, false));
- Log.i(TAG, "KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL:" + config.getBoolean(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL, false));
- Log.i(TAG, "KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL:" + config.getBoolean(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL, false));
- Log.i(TAG, "KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL:" + config.getBoolean(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL, false));
- Log.i(TAG, "KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL:" + config.getBoolean(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL, false));
+ private void dumpConfig(SipDelegateConfiguration config) {
+ String result = "SipDelegateConfiguration{"
+ + "mVersion=" + config.getVersion()
+ + ", \n\tmTransportType=" + config.getTransportType()
+ + ", \n\tmLocalIpAddr=" + config.getLocalAddress()
+ + ", \n\tmSipServerAddr=" + config.getSipServerAddress()
+ + ", \n\tmIsSipCompactFormEnabled=" + config.isSipCompactFormEnabled()
+ + ", \n\tmIsSipKeepaliveEnabled=" + config.isSipKeepaliveEnabled()
+ + ", \n\tmMaxUdpPayloadSize=" + config.getMaxUdpPayloadSizeBytes()
+ + ", \n\tmPublicUserIdentifier=" + config.getPublicUserIdentifier()
+ + ", \n\tmPrivateUserIdentifier=" + config.getPrivateUserIdentifier()
+ + ", \n\tmHomeDomain=" + config.getHomeDomain()
+ + ", \n\tmImei=" + config.getImei()
+ + ", \n\tmGruu=" + config.getPublicGruuUri()
+ + ", \n\tmSipAuthHeader=" + config.getSipAuthenticationHeader()
+ + ", \n\tmSipAuthNonce=" + config.getSipAuthenticationNonce()
+ + ", \n\tmServiceRouteHeader=" + config.getSipServiceRouteHeader()
+ + ", \n\tmPathHeader=" + config.getSipPathHeader()
+ + ", \n\tmUserAgentHeader=" + config.getSipUserAgentHeader()
+ + ", \n\tmContactUserParam=" + config.getSipContactUserParameter()
+ + ", \n\tmPaniHeader=" + config.getSipPaniHeader()
+ + ", \n\tmPlaniHeader=" + config.getSipPlaniHeader()
+ + ", \n\tmCniHeader=" + config.getSipCniHeader()
+ + ", \n\tmAssociatedUriHeader=" + config.getSipAssociatedUriHeader()
+ + ", \n\tmIpSecConfiguration=" + config.getIpSecConfiguration()
+ + ", \n\tmNatConfiguration=" + config.getNatSocketAddress() + '}';
+ Log.i(TAG, result);
}
+
}
diff --git a/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/registration/RegistrationControllerImpl.java b/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/registration/RegistrationControllerImpl.java
index 9ababc3..6a70f3d 100644
--- a/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/registration/RegistrationControllerImpl.java
+++ b/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/registration/RegistrationControllerImpl.java
@@ -22,8 +22,8 @@
import android.telephony.ims.FeatureTagState;
import android.telephony.ims.ImsException;
import android.telephony.ims.ImsManager;
+import android.telephony.ims.SipDelegateConfiguration;
import android.telephony.ims.SipDelegateConnection;
-import android.telephony.ims.SipDelegateImsConfiguration;
import android.telephony.ims.SipDelegateManager;
import android.telephony.ims.SipMessage;
import android.telephony.ims.stub.DelegateConnectionMessageCallback;
@@ -109,7 +109,7 @@
private final SettableFuture<SipSession> sessionFuture = SettableFuture.create();
protected SipDelegateConnection sipDelegateConnection;
- private SipDelegateImsConfiguration configuration;
+ private SipDelegateConfiguration mConfiguration;
private final DelegateConnectionStateCallback connectionCallback =
new DelegateConnectionStateCallback() {
@@ -119,16 +119,15 @@
}
@Override
- public void onImsConfigurationChanged(
- SipDelegateImsConfiguration registeredSipConfig) {
+ public void onConfigurationChanged(
+ SipDelegateConfiguration registeredSipConfig) {
Log.d(
TAG,
"onSipConfigurationChanged: version="
- + registeredSipConfig.getVersion()
- + " bundle="
- + registeredSipConfig.copyBundle());
+ + registeredSipConfig.getVersion());
+ Log.i(TAG, "onSipConfigurationChanged: " + registeredSipConfig);
dumpConfig(registeredSipConfig);
- RegistrationContext.this.configuration = registeredSipConfig;
+ RegistrationContext.this.mConfiguration = registeredSipConfig;
}
@Override
@@ -233,84 +232,33 @@
Log.i(TAG, result);
}
- private void dumpConfig(SipDelegateImsConfiguration config) {
- Log.i(TAG, "KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_HOME_DOMAIN_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_HOME_DOMAIN_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_IMEI_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IMEI_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_IPTYPE_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IPTYPE_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING:" +
- config.getString(SipDelegateImsConfiguration.
- KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_PATH_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_PATH_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_URI_USER_PART_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_URI_USER_PART_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING:" +
- config.getString(SipDelegateImsConfiguration.
- KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING:" +
- config.getString(SipDelegateImsConfiguration.
- KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING));
- Log.i(TAG, "KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING:" + config.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING));
-
- Log.i(TAG, "KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT, -99));
- Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT:" + config.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT,
- -99));
-
- Log.i(TAG, "KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL:" + config.getBoolean(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL,
- false));
- Log.i(TAG, "KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL:" + config.getBoolean(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL, false));
- Log.i(TAG, "KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL:" + config.getBoolean(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL, false));
- Log.i(TAG, "KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL:" + config.getBoolean(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL, false));
- Log.i(TAG, "KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL:" + config.getBoolean(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL, false));
+ private void dumpConfig(SipDelegateConfiguration config) {
+ String result = "SipDelegateConfiguration{"
+ + "mVersion=" + config.getVersion()
+ + ", \n\tmTransportType=" + config.getTransportType()
+ + ", \n\tmLocalAddr=" + config.getLocalAddress()
+ + ", \n\tmSipServerAddr=" + config.getSipServerAddress()
+ + ", \n\tmIsSipCompactFormEnabled=" + config.isSipCompactFormEnabled()
+ + ", \n\tmIsSipKeepaliveEnabled=" + config.isSipKeepaliveEnabled()
+ + ", \n\tmMaxUdpPayloadSize=" + config.getMaxUdpPayloadSizeBytes()
+ + ", \n\tmPublicUserIdentifier=" + config.getPublicUserIdentifier()
+ + ", \n\tmPrivateUserIdentifier=" + config.getPrivateUserIdentifier()
+ + ", \n\tmHomeDomain=" + config.getHomeDomain()
+ + ", \n\tmImei=" + config.getImei()
+ + ", \n\tmGruu=" + config.getPublicGruuUri()
+ + ", \n\tmSipAuthHeader=" + config.getSipAuthenticationHeader()
+ + ", \n\tmSipAuthNonce=" + config.getSipAuthenticationNonce()
+ + ", \n\tmServiceRouteHeader=" + config.getSipServiceRouteHeader()
+ + ", \n\tmPathHeader=" + config.getSipPathHeader()
+ + ", \n\tmUserAgentHeader=" + config.getSipUserAgentHeader()
+ + ", \n\tmContactUserParam=" + config.getSipContactUserParameter()
+ + ", \n\tmPaniHeader=" + config.getSipPaniHeader()
+ + ", \n\tmPlaniHeader=" + config.getSipPlaniHeader()
+ + ", \n\tmCniHeader=" + config.getSipCniHeader()
+ + ", \n\tmAssociatedUriHeader=" + config.getSipAssociatedUriHeader()
+ + ", \n\tmIpSecConfiguration=" + config.getIpSecConfiguration()
+ + ", \n\tmNatConfiguration=" + config.getNatSocketAddress() + '}';
+ Log.i(TAG, result);
}
@Override
@@ -330,54 +278,48 @@
@Override
public long getVersion() {
- return configuration.getVersion();
+ return mConfiguration.getVersion();
}
@Override
public String getOutboundProxyAddr() {
- return configuration.getString(SipDelegateImsConfiguration.
- KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING);
+ return mConfiguration.getSipServerAddress().getAddress().getHostAddress();
}
@Override
public int getOutboundProxyPort() {
- return configuration.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT, -1);
+ return mConfiguration.getSipServerAddress().getPort();
}
@Override
public String getLocalIpAddress() {
- return configuration.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING);
+ return mConfiguration.getLocalAddress().getAddress().getHostAddress();
}
@Override
public int getLocalPort() {
- return configuration.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT, -1);
+ return mConfiguration.getLocalAddress().getPort();
}
@Override
public String getSipTransport() {
- return configuration.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING);
+ int sipTransport = mConfiguration.getTransportType();
+ return (sipTransport == SipDelegateConfiguration.SIP_TRANSPORT_TCP) ? "TCP" : "UDP";
}
@Override
public String getPublicUserIdentity() {
- return null;
+ return mConfiguration.getPublicUserIdentifier();
}
@Override
public String getDomain() {
- return configuration.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_HOME_DOMAIN_STRING);
+ return mConfiguration.getHomeDomain();
}
@Override
public List<String> getAssociatedUris() {
- String associatedUris = configuration.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING);
+ String associatedUris = mConfiguration.getSipAssociatedUriHeader();
if (!TextUtils.isEmpty(associatedUris)) {
return Splitter.on(',').trimResults(CharMatcher.anyOf("<>")).splitToList(
associatedUris);
@@ -388,15 +330,17 @@
@Override
public String getSecurityVerifyHeader() {
- return configuration.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING);
+ SipDelegateConfiguration.IpSecConfiguration c = mConfiguration.getIpSecConfiguration();
+ if (c == null) {
+ return null;
+ }
+ return c.getSipSecurityVerifyHeader();
}
@Override
public List<String> getServiceRouteHeaders() {
String serviceRoutes =
- configuration.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING);
+ mConfiguration.getSipServiceRouteHeader();
if (TextUtils.isEmpty(serviceRoutes)) {
return Collections.emptyList();
}
@@ -405,38 +349,33 @@
@Override
public String getContactUser() {
- return configuration.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_URI_USER_PART_STRING);
+ return mConfiguration.getSipContactUserParameter();
}
@Override
public String getImei() {
- return configuration.getString(SipDelegateImsConfiguration.KEY_SIP_CONFIG_IMEI_STRING);
+ return mConfiguration.getImei();
}
@Override
public String getPaniHeader() {
- return configuration.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING);
+ return mConfiguration.getSipPaniHeader();
}
@Override
public String getPlaniHeader() {
- return configuration.getString(
- SipDelegateImsConfiguration.
- KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING);
+ return mConfiguration.getSipPlaniHeader();
}
@Override
public String getUserAgentHeader() {
- return configuration.getString(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING);
+ return mConfiguration.getSipUserAgentHeader();
}
@Override
public int getMaxPayloadSizeOnUdp() {
- return configuration.getInt(
- SipDelegateImsConfiguration.KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT, 1500);
+ return mConfiguration.getMaxUdpPayloadSizeBytes() > 0
+ ? mConfiguration.getMaxUdpPayloadSizeBytes() : 1500;
}
/**
diff --git a/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java b/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
index 4d40702..8236f44 100644
--- a/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
@@ -24,9 +24,10 @@
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import android.net.InetAddresses;
import android.telephony.ims.DelegateRegistrationState;
import android.telephony.ims.FeatureTagState;
-import android.telephony.ims.SipDelegateImsConfiguration;
+import android.telephony.ims.SipDelegateConfiguration;
import android.telephony.ims.SipDelegateManager;
import android.telephony.ims.aidl.ISipDelegate;
import android.telephony.ims.aidl.ISipDelegateConnectionStateCallback;
@@ -44,6 +45,7 @@
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
+import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@@ -85,13 +87,17 @@
DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
.addRegisteredFeatureTag(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG)
.build();
- SipDelegateImsConfiguration config = new SipDelegateImsConfiguration.Builder(1/*version*/)
- .build();
+ InetSocketAddress localAddr = new InetSocketAddress(
+ InetAddresses.parseNumericAddress("1.1.1.1"), 80);
+ InetSocketAddress serverAddr = new InetSocketAddress(
+ InetAddresses.parseNumericAddress("2.2.2.2"), 81);
+ SipDelegateConfiguration c = new SipDelegateConfiguration.Builder(1,
+ SipDelegateConfiguration.SIP_TRANSPORT_TCP, localAddr, serverAddr).build();
stateTracker.onRegistrationStateChanged(regState);
- stateTracker.onImsConfigurationChanged(config);
+ stateTracker.onConfigurationChanged(c);
verify(mAppCallback).onFeatureTagStatusChanged(eq(regState),
eq(new ArrayList<>(deniedTags)));
- verify(mAppCallback).onImsConfigurationChanged(config);
+ verify(mAppCallback).onConfigurationChanged(c);
verify(mAppCallback, never()).onDestroyed(anyInt());
}
diff --git a/tests/src/com/android/services/telephony/rcs/SipDelegateBinderConnectionTest.java b/tests/src/com/android/services/telephony/rcs/SipDelegateBinderConnectionTest.java
index 360fa21..3d8e94b 100644
--- a/tests/src/com/android/services/telephony/rcs/SipDelegateBinderConnectionTest.java
+++ b/tests/src/com/android/services/telephony/rcs/SipDelegateBinderConnectionTest.java
@@ -25,12 +25,13 @@
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.verify;
+import android.net.InetAddresses;
import android.os.IBinder;
import android.os.RemoteException;
import android.telephony.ims.DelegateRegistrationState;
import android.telephony.ims.DelegateRequest;
import android.telephony.ims.FeatureTagState;
-import android.telephony.ims.SipDelegateImsConfiguration;
+import android.telephony.ims.SipDelegateConfiguration;
import android.telephony.ims.SipDelegateManager;
import android.telephony.ims.aidl.IImsRegistration;
import android.telephony.ims.aidl.ISipDelegate;
@@ -51,6 +52,7 @@
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
+import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Set;
import java.util.function.BiConsumer;
@@ -194,9 +196,14 @@
cb.onCreated(mMockDelegate, new ArrayList<>(deniedTags));
verify(mMockCreatedCallback).accept(mMockDelegate, deniedTags);
- SipDelegateImsConfiguration config = new SipDelegateImsConfiguration.Builder(1).build();
- cb.onImsConfigurationChanged(config);
- verify(mMockStateCallback).onImsConfigurationChanged(config);
+ InetSocketAddress localAddr = new InetSocketAddress(
+ InetAddresses.parseNumericAddress("1.1.1.1"), 80);
+ InetSocketAddress serverAddr = new InetSocketAddress(
+ InetAddresses.parseNumericAddress("2.2.2.2"), 81);
+ SipDelegateConfiguration c = new SipDelegateConfiguration.Builder(1,
+ SipDelegateConfiguration.SIP_TRANSPORT_TCP, localAddr, serverAddr).build();
+ cb.onConfigurationChanged(c);
+ verify(mMockStateCallback).onConfigurationChanged(c);
DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
.addRegisteredFeatureTags(request.getFeatureTags()).build();
diff --git a/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java b/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java
index d364fe4..0f139f8 100644
--- a/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java
@@ -62,6 +62,7 @@
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import java.util.ArrayList;
@@ -87,17 +88,25 @@
public final String packageName;
public final DelegateRequest delegateRequest;
public final SipDelegateController delegateController;
- public final ISipDelegate mMockDelegate;
- public final IBinder mMockDelegateBinder;
+ private final ISipDelegate mMockDelegate;
+ public final IBinder mockDelegateBinder;
+ public final ISipDelegateConnectionStateCallback mockDelegateConnectionCallback;
+ public final ISipDelegateMessageCallback mockMessageCallback;
+ public final IBinder mockMessageCallbackBinder;
SipDelegateControllerContainer(int id, String name, DelegateRequest request) {
delegateController = mock(SipDelegateController.class);
mMockDelegate = mock(ISipDelegate.class);
- mMockDelegateBinder = mock(IBinder.class);
- doReturn(mMockDelegateBinder).when(mMockDelegate).asBinder();
+ mockDelegateBinder = mock(IBinder.class);
+ doReturn(mockDelegateBinder).when(mMockDelegate).asBinder();
+ mockDelegateConnectionCallback = mock(ISipDelegateConnectionStateCallback.class);
+ mockMessageCallback = mock(ISipDelegateMessageCallback.class);
+ mockMessageCallbackBinder = mock(IBinder.class);
+ doReturn(mockMessageCallbackBinder).when(mockMessageCallback).asBinder();
doReturn(name).when(delegateController).getPackageName();
doReturn(request).when(delegateController).getInitialRequest();
doReturn(mMockDelegate).when(delegateController).getSipDelegateInterface();
+ doReturn(mockMessageCallback).when(delegateController).getAppMessageCallback();
subId = id;
packageName = name;
delegateRequest = request;
@@ -107,8 +116,6 @@
@Mock private RcsFeatureManager mRcsManager;
@Mock private ISipTransport mSipTransport;
@Mock private IImsRegistration mImsRegistration;
- @Mock private ISipDelegateConnectionStateCallback mMockStateCallback;
- @Mock private ISipDelegateMessageCallback mMockMessageCallback;
@Mock private SipTransportController.SipDelegateControllerFactory
mMockDelegateControllerFactory;
@Mock private SipTransportController.RoleManagerAdapter mMockRoleManager;
@@ -249,7 +256,8 @@
try {
controller.createSipDelegate(TEST_SUB_ID + 1,
new DelegateRequest(Collections.emptySet()), TEST_PACKAGE_NAME,
- mMockStateCallback, mMockMessageCallback);
+ mock(ISipDelegateConnectionStateCallback.class),
+ mock(ISipDelegateMessageCallback.class));
fail();
} catch (ImsException e) {
assertEquals(ImsException.CODE_ERROR_INVALID_SUBSCRIPTION, e.getCode());
@@ -265,7 +273,8 @@
try {
controller.createSipDelegate(TEST_SUB_ID,
new DelegateRequest(Collections.emptySet()), TEST_PACKAGE_NAME,
- mMockStateCallback, mMockMessageCallback);
+ mock(ISipDelegateConnectionStateCallback.class),
+ mock(ISipDelegateMessageCallback.class));
fail();
} catch (ImsException e) {
assertEquals(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION, e.getCode());
@@ -282,7 +291,8 @@
try {
controller.createSipDelegate(TEST_SUB_ID,
new DelegateRequest(Collections.emptySet()), TEST_PACKAGE_NAME,
- mMockStateCallback, mMockMessageCallback);
+ mock(ISipDelegateConnectionStateCallback.class),
+ mock(ISipDelegateMessageCallback.class));
fail();
} catch (ImsException e) {
assertEquals(ImsException.CODE_ERROR_SERVICE_UNAVAILABLE, e.getCode());
@@ -296,9 +306,8 @@
DelegateRequest r = getBaseDelegateRequest();
- SipDelegateController c = injectMockDelegateController(TEST_PACKAGE_NAME, r);
- createDelegateAndVerify(controller, c, r, r.getFeatureTags(), Collections.emptySet(),
- TEST_PACKAGE_NAME);
+ SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME, r);
+ createDelegateAndVerify(controller, c, r.getFeatureTags(), Collections.emptySet());
verifyDelegateRegistrationChangedEvent(1 /*times*/, 0 /*waitMs*/);
triggerFullNetworkRegistrationAndVerify(controller, c);
}
@@ -309,19 +318,45 @@
SipTransportController controller = setupLiveTransportController();
DelegateRequest r = getBaseDelegateRequest();
- SipDelegateController c = injectMockDelegateController(TEST_PACKAGE_NAME, r);
- createDelegateAndVerify(controller, c, r, r.getFeatureTags(), Collections.emptySet(),
- TEST_PACKAGE_NAME);
+ SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME, r);
+ createDelegateAndVerify(controller, c, r.getFeatureTags(), Collections.emptySet());
+ verify(c.mockMessageCallbackBinder).linkToDeath(any(), anyInt());
verifyDelegateRegistrationChangedEvent(1, 0 /*throttle*/);
destroyDelegateAndVerify(controller, c, false,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
+ verify(c.mockMessageCallbackBinder).unlinkToDeath(any(), anyInt());
verifyDelegateRegistrationChangedEvent(2 /*times*/, 0 /*waitMs*/);
triggerFullNetworkRegistrationAndVerifyNever(controller, c);
}
@SmallTest
@Test
+ public void createDestroyAppDied() throws Exception {
+ SipTransportController controller = setupLiveTransportController();
+ DelegateRequest r = getBaseDelegateRequest();
+ SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME, r);
+ createDelegateAndVerify(controller, c, r.getFeatureTags(), Collections.emptySet());
+ ArgumentCaptor<IBinder.DeathRecipient> captor =
+ ArgumentCaptor.forClass(IBinder.DeathRecipient.class);
+ verify(c.mockMessageCallbackBinder).linkToDeath(captor.capture(), anyInt());
+ IBinder.DeathRecipient deathRecipient = captor.getValue();
+ assertNotNull(deathRecipient);
+ verifyDelegateRegistrationChangedEvent(1, 0 /*throttle*/);
+
+ CompletableFuture<Integer> pendingDestroy = setDestroyFuture(c.delegateController, true,
+ SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD);
+ // Simulate app dying
+ deathRecipient.binderDied();
+ waitForExecutorAction(mExecutorService, TIMEOUT_MS);
+ verifyDestroyDelegate(c.delegateController, pendingDestroy, true,
+ SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD);
+ // If binderDied is called, then unregister does not lead to unlinkToDeath
+ triggerFullNetworkRegistrationAndVerifyNever(controller, c);
+ }
+
+ @SmallTest
+ @Test
public void testCreateButNotInRole() throws Exception {
SipTransportController controller = setupLiveTransportController();
@@ -330,9 +365,8 @@
SipDelegateManager.DENIED_REASON_NOT_ALLOWED);
// Try to create a SipDelegate for a package that is not the default sms role.
- SipDelegateController c = injectMockDelegateController(TEST_PACKAGE_NAME_2, r);
- createDelegateAndVerify(controller, c, r, Collections.emptySet(), getDeniedTags,
- TEST_PACKAGE_NAME_2);
+ SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME_2, r);
+ createDelegateAndVerify(controller, c, Collections.emptySet(), getDeniedTags);
}
@SmallTest
@@ -345,10 +379,9 @@
ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
firstDelegate.remove(ImsSignallingUtils.GROUP_CHAT_TAG);
DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
- SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
firstDelegateRequest);
- createDelegateAndVerify(controller, c1, firstDelegateRequest, firstDelegate,
- Collections.emptySet(), TEST_PACKAGE_NAME);
+ createDelegateAndVerify(controller, c1, firstDelegate, Collections.emptySet());
// there is a delay in the indication to update reg, so it should not happen yet.
verifyNoDelegateRegistrationChangedEvent();
@@ -360,10 +393,10 @@
Pair<Set<String>, Set<FeatureTagState>> grantedAndDenied = getAllowedAndDeniedTagsForConfig(
secondDelegateRequest, SipDelegateManager.DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE,
firstDelegate);
- SipDelegateController c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
secondDelegateRequest);
- createDelegateAndVerify(controller, c2, secondDelegateRequest, grantedAndDenied.first,
- grantedAndDenied.second, TEST_PACKAGE_NAME, 1);
+ createDelegateAndVerify(controller, c2, grantedAndDenied.first,
+ grantedAndDenied.second, 1);
// a reg changed event should happen after wait.
verifyDelegateRegistrationChangedEvent(1, 2 * THROTTLE_MS);
}
@@ -377,10 +410,10 @@
Set<FeatureTagState> firstDeniedTags = getDeniedTagsForReason(
firstDelegateRequest.getFeatureTags(),
SipDelegateManager.DENIED_REASON_NOT_ALLOWED);
- SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
firstDelegateRequest);
- createDelegateAndVerify(controller, c1, firstDelegateRequest,
- firstDelegateRequest.getFeatureTags(), Collections.emptySet(), TEST_PACKAGE_NAME);
+ createDelegateAndVerify(controller, c1, firstDelegateRequest.getFeatureTags(),
+ Collections.emptySet());
verifyDelegateRegistrationChangedEvent(1 /*times*/, THROTTLE_MS);
DelegateRequest secondDelegateRequest = getBaseDelegateRequest();
@@ -388,16 +421,16 @@
secondDelegateRequest.getFeatureTags(),
SipDelegateManager.DENIED_REASON_NOT_ALLOWED);
// Try to create a SipDelegate for a package that is not the default sms role.
- SipDelegateController c2 = injectMockDelegateController(TEST_PACKAGE_NAME_2,
+ SipDelegateControllerContainer c2 = injectMockDelegateController(TEST_PACKAGE_NAME_2,
secondDelegateRequest);
- createDelegateAndVerify(controller, c2, secondDelegateRequest, Collections.emptySet(),
- secondDeniedTags, TEST_PACKAGE_NAME_2, 1);
+ createDelegateAndVerify(controller, c2, Collections.emptySet(), secondDeniedTags, 1);
// now swap the SMS role.
- CompletableFuture<Boolean> pendingC1Change = setChangeSupportedFeatureTagsFuture(c1,
- Collections.emptySet(), firstDeniedTags);
- CompletableFuture<Boolean> pendingC2Change = setChangeSupportedFeatureTagsFuture(c2,
- secondDelegateRequest.getFeatureTags(), Collections.emptySet());
+ CompletableFuture<Boolean> pendingC1Change = setChangeSupportedFeatureTagsFuture(
+ c1.delegateController, Collections.emptySet(), firstDeniedTags);
+ CompletableFuture<Boolean> pendingC2Change = setChangeSupportedFeatureTagsFuture(
+ c2.delegateController, secondDelegateRequest.getFeatureTags(),
+ Collections.emptySet());
setSmsRoleAndEvaluate(controller, TEST_PACKAGE_NAME_2);
// swapping roles should trigger a deregistration event on the ImsService side.
verifyDelegateDeregistrationEvent();
@@ -405,17 +438,18 @@
verifyDelegateRegistrationChangedEvent(1 /*times*/, THROTTLE_MS);
// trigger completion stage to run
waitForExecutorAction(mExecutorService, TIMEOUT_MS);
- verify(c1).changeSupportedFeatureTags(Collections.emptySet(), firstDeniedTags);
+ verify(c1.delegateController).changeSupportedFeatureTags(Collections.emptySet(),
+ firstDeniedTags);
// we should not get a change for c2 until pendingC1Change completes.
- verify(c2, never()).changeSupportedFeatureTags(secondDelegateRequest.getFeatureTags(),
- Collections.emptySet());
+ verify(c2.delegateController, never()).changeSupportedFeatureTags(
+ secondDelegateRequest.getFeatureTags(), Collections.emptySet());
// ensure we are not blocking executor here
waitForExecutorAction(mExecutorService, TIMEOUT_MS);
completePendingChange(pendingC1Change, true);
// trigger completion stage to run
waitForExecutorAction(mExecutorService, TIMEOUT_MS);
- verify(c2).changeSupportedFeatureTags(secondDelegateRequest.getFeatureTags(),
- Collections.emptySet());
+ verify(c2.delegateController).changeSupportedFeatureTags(
+ secondDelegateRequest.getFeatureTags(), Collections.emptySet());
// ensure we are not blocking executor here
waitForExecutorAction(mExecutorService, TIMEOUT_MS);
completePendingChange(pendingC2Change, true);
@@ -432,10 +466,9 @@
ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
firstDelegate.remove(ImsSignallingUtils.GROUP_CHAT_TAG);
DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
- SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
firstDelegateRequest);
- createDelegateAndVerify(controller, c1, firstDelegateRequest, firstDelegate,
- Collections.emptySet(), TEST_PACKAGE_NAME);
+ createDelegateAndVerify(controller, c1, firstDelegate, Collections.emptySet());
verifyNoDelegateRegistrationChangedEvent();
// First delegate requests RCS message + Group RCS message. For this delegate, single RCS
@@ -446,21 +479,21 @@
Pair<Set<String>, Set<FeatureTagState>> grantedAndDenied = getAllowedAndDeniedTagsForConfig(
secondDelegateRequest, SipDelegateManager.DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE,
firstDelegate);
- SipDelegateController c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
secondDelegateRequest);
- createDelegateAndVerify(controller, c2, secondDelegateRequest, grantedAndDenied.first,
- grantedAndDenied.second, TEST_PACKAGE_NAME, 1);
+ createDelegateAndVerify(controller, c2, grantedAndDenied.first, grantedAndDenied.second, 1);
verifyNoDelegateRegistrationChangedEvent();
// Destroy the firstDelegate, which should now cause all previously denied tags to be
// granted to the new delegate.
- CompletableFuture<Boolean> pendingC2Change = setChangeSupportedFeatureTagsFuture(c2,
- secondDelegate, Collections.emptySet());
+ CompletableFuture<Boolean> pendingC2Change = setChangeSupportedFeatureTagsFuture(
+ c2.delegateController, secondDelegate, Collections.emptySet());
destroyDelegateAndVerify(controller, c1, false /*force*/,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
// wait for create to be processed.
assertTrue(waitForExecutorAction(mExecutorService, TIMEOUT_MS));
- verify(c2).changeSupportedFeatureTags(secondDelegate, Collections.emptySet());
+ verify(c2.delegateController).changeSupportedFeatureTags(secondDelegate,
+ Collections.emptySet());
completePendingChange(pendingC2Change, true);
verifyDelegateRegistrationChangedEvent(1 /*times*/, THROTTLE_MS);
@@ -475,10 +508,10 @@
ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
firstDelegate.remove(ImsSignallingUtils.GROUP_CHAT_TAG);
DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
- SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
firstDelegateRequest);
CompletableFuture<Boolean> pendingC1Change = createDelegate(controller, c1,
- firstDelegateRequest, firstDelegate, Collections.emptySet(), TEST_PACKAGE_NAME);
+ firstDelegate, Collections.emptySet());
// Request RCS message + group RCS Message. For this delegate, single RCS message should be
// denied.
@@ -488,11 +521,10 @@
Pair<Set<String>, Set<FeatureTagState>> grantedAndDeniedC2 =
getAllowedAndDeniedTagsForConfig(secondDelegateRequest,
SipDelegateManager.DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE, firstDelegate);
- SipDelegateController c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
secondDelegateRequest);
CompletableFuture<Boolean> pendingC2Change = createDelegate(controller, c2,
- secondDelegateRequest, grantedAndDeniedC2.first, grantedAndDeniedC2.second,
- TEST_PACKAGE_NAME);
+ grantedAndDeniedC2.first, grantedAndDeniedC2.second);
// Request group RCS message + file transfer. All should be denied at first
ArraySet<String> thirdDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
@@ -502,42 +534,44 @@
getAllowedAndDeniedTagsForConfig(thirdDelegateRequest,
SipDelegateManager.DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE, firstDelegate,
grantedAndDeniedC2.first);
- SipDelegateController c3 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c3 = injectMockDelegateController(TEST_PACKAGE_NAME,
thirdDelegateRequest);
CompletableFuture<Boolean> pendingC3Change = createDelegate(controller, c3,
- thirdDelegateRequest, grantedAndDeniedC3.first, grantedAndDeniedC3.second,
- TEST_PACKAGE_NAME);
+ grantedAndDeniedC3.first, grantedAndDeniedC3.second);
verifyNoDelegateRegistrationChangedEvent();
assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
- verifyDelegateChanged(c1, pendingC1Change, firstDelegate, Collections.emptySet(), 0);
- verifyDelegateChanged(c2, pendingC2Change, grantedAndDeniedC2.first,
+ verifyDelegateChanged(c1.delegateController, pendingC1Change, firstDelegate,
+ Collections.emptySet(), 0);
+ verifyDelegateChanged(c2.delegateController, pendingC2Change, grantedAndDeniedC2.first,
grantedAndDeniedC2.second, 0);
- verifyDelegateChanged(c3, pendingC3Change, grantedAndDeniedC3.first,
+ verifyDelegateChanged(c3.delegateController, pendingC3Change, grantedAndDeniedC3.first,
grantedAndDeniedC3.second, 0);
verifyDelegateRegistrationChangedEvent(1, 2 * THROTTLE_MS);
// Destroy the first and second controller in quick succession, this should only generate
// one reevaluate for the third controller.
CompletableFuture<Boolean> pendingChangeC3 = setChangeSupportedFeatureTagsFuture(
- c3, thirdDelegate, Collections.emptySet());
- CompletableFuture<Integer> pendingDestroyC1 = destroyDelegate(controller, c1,
- false /*force*/,
+ c3.delegateController, thirdDelegate, Collections.emptySet());
+ CompletableFuture<Integer> pendingDestroyC1 = destroyDelegate(controller,
+ c1.delegateController, false /*force*/,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
- CompletableFuture<Integer> pendingDestroyC2 = destroyDelegate(controller, c2,
- false /*force*/,
+ CompletableFuture<Integer> pendingDestroyC2 = destroyDelegate(controller,
+ c2.delegateController, false /*force*/,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
- verifyDestroyDelegate(controller, c1, pendingDestroyC1, false /*force*/,
+ verifyDestroyDelegate(c1.delegateController, pendingDestroyC1, false /*force*/,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
- verifyDestroyDelegate(controller, c2, pendingDestroyC2, false /*force*/,
+ verifyDestroyDelegate(c2.delegateController, pendingDestroyC2, false /*force*/,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
// All requested features should now be granted
completePendingChange(pendingChangeC3, true);
- verify(c3).changeSupportedFeatureTags(thirdDelegate, Collections.emptySet());
+ verify(c3.delegateController)
+ .changeSupportedFeatureTags(thirdDelegate, Collections.emptySet());
// In total reeval should have only been called twice.
- verify(c3, times(2)).changeSupportedFeatureTags(any(), any());
+ verify(c3.delegateController, times(2))
+ .changeSupportedFeatureTags(any(), any());
verifyDelegateRegistrationChangedEvent(2 /*times*/, 2 * THROTTLE_MS);
}
@@ -548,17 +582,16 @@
ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
- SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME,
firstDelegateRequest);
- createDelegateAndVerify(controller, c1, firstDelegateRequest, firstDelegate,
- Collections.emptySet(), TEST_PACKAGE_NAME);
+ createDelegateAndVerify(controller, c, firstDelegate, Collections.emptySet());
verifyDelegateRegistrationChangedEvent(1 /*times*/, 0 /*waitMs*/);
- CompletableFuture<Integer> pendingDestroy = setDestroyFuture(c1, true,
+ CompletableFuture<Integer> pendingDestroy = setDestroyFuture(c.delegateController, true,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
controller.onAssociatedSubscriptionUpdated(TEST_SUB_ID + 1);
waitForExecutorAction(mExecutorService, TIMEOUT_MS);
- verifyDestroyDelegate(controller, c1, pendingDestroy, true /*force*/,
+ verifyDestroyDelegate(c.delegateController, pendingDestroy, true /*force*/,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
verifyDelegateRegistrationChangedEvent(2 /*times*/, 0 /*waitMs*/);
}
@@ -570,16 +603,15 @@
ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
- SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME,
firstDelegateRequest);
- createDelegateAndVerify(controller, c1, firstDelegateRequest, firstDelegate,
- Collections.emptySet(), TEST_PACKAGE_NAME);
+ createDelegateAndVerify(controller, c, firstDelegate, Collections.emptySet());
- CompletableFuture<Integer> pendingDestroy = setDestroyFuture(c1, true,
+ CompletableFuture<Integer> pendingDestroy = setDestroyFuture(c.delegateController, true,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD);
controller.onRcsDisconnected();
waitForExecutorAction(mExecutorService, TIMEOUT_MS);
- verifyDestroyDelegate(controller, c1, pendingDestroy, true /*force*/,
+ verifyDestroyDelegate(c.delegateController, pendingDestroy, true /*force*/,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD);
verifyDelegateRegistrationChangedEvent(1, 0 /*waitMs*/);
}
@@ -591,18 +623,17 @@
ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
- SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME,
firstDelegateRequest);
- createDelegateAndVerify(controller, c1, firstDelegateRequest, firstDelegate,
- Collections.emptySet(), TEST_PACKAGE_NAME);
+ createDelegateAndVerify(controller, c, firstDelegate, Collections.emptySet());
- CompletableFuture<Integer> pendingDestroy = setDestroyFuture(c1, true,
- SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
+ CompletableFuture<Integer> pendingDestroy = setDestroyFuture(c.delegateController,
+ true, SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
controller.onDestroy();
waitForExecutorAction(mExecutorService, TIMEOUT_MS);
verifyDelegateDeregistrationEvent();
// verify change was called.
- verify(c1).destroy(true /*force*/,
+ verify(c.delegateController).destroy(true /*force*/,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
// ensure thread is not blocked while waiting for pending complete.
waitForExecutorAction(mExecutorService, TIMEOUT_MS);
@@ -620,16 +651,17 @@
ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
- SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
firstDelegateRequest);
CompletableFuture<Boolean> pendingC1Change = createDelegate(controller, c1,
- firstDelegateRequest, firstDelegate, Collections.emptySet(), TEST_PACKAGE_NAME);
+ firstDelegate, Collections.emptySet());
assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
- verifyDelegateChanged(c1, pendingC1Change, firstDelegate, Collections.emptySet(), 0);
+ verifyDelegateChanged(c1.delegateController, pendingC1Change, firstDelegate,
+ Collections.emptySet(), 0);
- CompletableFuture<Integer> pendingDestroy = setDestroyFuture(c1, true,
- SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
+ CompletableFuture<Integer> pendingDestroy = setDestroyFuture(c1.delegateController,
+ true, SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
// triggers reeval now.
controller.onAssociatedSubscriptionUpdated(TEST_SUB_ID + 1);
waitForExecutorAction(mExecutorService, TIMEOUT_MS);
@@ -639,18 +671,18 @@
secondDelegate.add(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG);
secondDelegate.add(ImsSignallingUtils.FILE_TRANSFER_HTTP_TAG);
DelegateRequest secondDelegateRequest = new DelegateRequest(secondDelegate);
- SipDelegateController c2 = injectMockDelegateController(TEST_SUB_ID + 1,
+ SipDelegateControllerContainer c2 = injectMockDelegateController(TEST_SUB_ID + 1,
TEST_PACKAGE_NAME, secondDelegateRequest);
- CompletableFuture<Boolean> pendingC2Change = createDelegate(controller, c2,
- TEST_SUB_ID + 1, secondDelegateRequest, secondDelegate,
- Collections.emptySet(), TEST_PACKAGE_NAME);
+ CompletableFuture<Boolean> pendingC2Change = createDelegate(controller, c2, secondDelegate,
+ Collections.emptySet());
assertTrue(scheduleDelayedWait(THROTTLE_MS));
//trigger destroyed event
- verifyDestroyDelegate(controller, c1, pendingDestroy, true /*force*/,
+ verifyDestroyDelegate(c1.delegateController, pendingDestroy, true /*force*/,
SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
- verifyDelegateChanged(c2, pendingC2Change, secondDelegate, Collections.emptySet(), 0);
+ verifyDelegateChanged(c2.delegateController, pendingC2Change, secondDelegate,
+ Collections.emptySet(), 0);
}
@SmallTest
@@ -664,16 +696,17 @@
ArraySet<String> allowedTags = new ArraySet<>(requestTags);
ArraySet<String> deniedTags = new ArraySet<>();
DelegateRequest delegateRequest = new DelegateRequest(requestTags);
- SipDelegateController sc = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME,
delegateRequest);
- CompletableFuture<Boolean> pendingScChange = createDelegate(controller, sc,
- delegateRequest, requestTags, Collections.emptySet(), TEST_PACKAGE_NAME);
+ CompletableFuture<Boolean> pendingScChange = createDelegate(controller, c, requestTags,
+ Collections.emptySet());
allowedTags.remove(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG);
deniedTags.add(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG);
assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
- verifyDelegateChanged(sc, pendingScChange, allowedTags, getDeniedTagsForReason(
- deniedTags, SipDelegateManager.DENIED_REASON_NOT_ALLOWED), 0);
+ verifyDelegateChanged(c.delegateController, pendingScChange, allowedTags,
+ getDeniedTagsForReason(deniedTags,
+ SipDelegateManager.DENIED_REASON_NOT_ALLOWED), 0);
}
@SmallTest
@@ -685,14 +718,15 @@
ArraySet<String> requestTags = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
ArraySet<String> deniedTags = new ArraySet<>(requestTags);
DelegateRequest delegateRequest = new DelegateRequest(requestTags);
- SipDelegateController sc = injectMockDelegateController(TEST_PACKAGE_NAME,
+ SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME,
delegateRequest);
- CompletableFuture<Boolean> pendingScChange = createDelegate(controller, sc,
- delegateRequest, requestTags, Collections.emptySet(), TEST_PACKAGE_NAME);
+ CompletableFuture<Boolean> pendingScChange = createDelegate(controller, c, requestTags,
+ Collections.emptySet());
assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
- verifyDelegateChanged(sc, pendingScChange, Collections.emptySet(), getDeniedTagsForReason(
- deniedTags, SipDelegateManager.DENIED_REASON_NOT_ALLOWED), 0);
+ verifyDelegateChanged(c.delegateController, pendingScChange, Collections.emptySet(),
+ getDeniedTagsForReason(deniedTags,
+ SipDelegateManager.DENIED_REASON_NOT_ALLOWED), 0);
}
@SmallTest
@@ -705,13 +739,14 @@
ArraySet<String> requestTags = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
ArraySet<String> allowedTags = new ArraySet<>(requestTags);
DelegateRequest delegateRequest = new DelegateRequest(requestTags);
- SipDelegateController sc = injectMockDelegateController(TEST_PACKAGE_NAME,
- delegateRequest);
- CompletableFuture<Boolean> pendingScChange = createDelegate(controller, sc,
- delegateRequest, requestTags, Collections.emptySet(), TEST_PACKAGE_NAME);
+ SipDelegateControllerContainer controllerContainer =
+ injectMockDelegateController(TEST_PACKAGE_NAME, delegateRequest);
+ CompletableFuture<Boolean> pendingScChange = createDelegate(controller, controllerContainer,
+ requestTags, Collections.emptySet());
assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
- verifyDelegateChanged(sc, pendingScChange, allowedTags, Collections.emptySet(), 0);
+ verifyDelegateChanged(controllerContainer.delegateController, pendingScChange, allowedTags,
+ Collections.emptySet(), 0);
}
@SafeVarargs
@@ -756,31 +791,32 @@
}
private void createDelegateAndVerify(SipTransportController controller,
- SipDelegateController delegateController, DelegateRequest r, Set<String> allowedTags,
- Set<FeatureTagState> deniedTags, String packageName,
- int numPreviousChanges) throws ImsException {
+ SipDelegateControllerContainer controllerContainer, Set<String> allowedTags,
+ Set<FeatureTagState> deniedTags, int numPreviousChanges) {
- CompletableFuture<Boolean> pendingChange = createDelegate(controller, delegateController, r,
- allowedTags, deniedTags, packageName);
- verifyDelegateChanged(delegateController, pendingChange, allowedTags, deniedTags,
- numPreviousChanges);
+ CompletableFuture<Boolean> pendingChange = createDelegate(controller, controllerContainer,
+ allowedTags, deniedTags);
+ verifyDelegateChanged(controllerContainer.delegateController, pendingChange, allowedTags,
+ deniedTags, numPreviousChanges);
}
private void createDelegateAndVerify(SipTransportController controller,
- SipDelegateController delegateController, DelegateRequest r, Set<String> allowedTags,
- Set<FeatureTagState> deniedTags, String packageName) throws ImsException {
- createDelegateAndVerify(controller, delegateController, r, allowedTags, deniedTags,
- packageName, 0);
+ SipDelegateControllerContainer controllerContainer, Set<String> allowedTags,
+ Set<FeatureTagState> deniedTags) {
+ createDelegateAndVerify(controller, controllerContainer, allowedTags, deniedTags, 0);
}
private CompletableFuture<Boolean> createDelegate(SipTransportController controller,
- SipDelegateController delegateController, int subId, DelegateRequest r,
- Set<String> allowedTags, Set<FeatureTagState> deniedTags, String packageName) {
+ SipDelegateControllerContainer delegateControllerContainer, Set<String> allowedTags,
+ Set<FeatureTagState> deniedTags) {
CompletableFuture<Boolean> pendingChange = setChangeSupportedFeatureTagsFuture(
- delegateController, allowedTags, deniedTags);
+ delegateControllerContainer.delegateController, allowedTags, deniedTags);
try {
- controller.createSipDelegate(subId, r, packageName, mMockStateCallback,
- mMockMessageCallback);
+ controller.createSipDelegate(delegateControllerContainer.subId,
+ delegateControllerContainer.delegateRequest,
+ delegateControllerContainer.packageName,
+ delegateControllerContainer.mockDelegateConnectionCallback,
+ delegateControllerContainer.mockMessageCallback);
} catch (ImsException e) {
fail("ImsException thrown:" + e);
}
@@ -791,13 +827,6 @@
return pendingChange;
}
- private CompletableFuture<Boolean> createDelegate(SipTransportController controller,
- SipDelegateController delegateController, DelegateRequest r, Set<String> allowedTags,
- Set<FeatureTagState> deniedTags, String packageName) throws ImsException {
- return createDelegate(controller, delegateController, TEST_SUB_ID, r, allowedTags,
- deniedTags, packageName);
- }
-
private void verifyDelegateChanged(SipDelegateController delegateController,
CompletableFuture<Boolean> pendingChange, Set<String> allowedTags,
Set<FeatureTagState> deniedTags, int numPreviousChangeStages) {
@@ -817,10 +846,11 @@
}
private void destroyDelegateAndVerify(SipTransportController controller,
- SipDelegateController delegateController, boolean force, int reason) {
+ SipDelegateControllerContainer controllerContainer, boolean force, int reason) {
+ SipDelegateController delegateController = controllerContainer.delegateController;
CompletableFuture<Integer> pendingDestroy = destroyDelegate(controller, delegateController,
force, reason);
- verifyDestroyDelegate(controller, delegateController, pendingDestroy, force, reason);
+ verifyDestroyDelegate(delegateController, pendingDestroy, force, reason);
}
private CompletableFuture<Integer> destroyDelegate(SipTransportController controller,
@@ -836,9 +866,8 @@
return pendingDestroy;
}
- private void verifyDestroyDelegate(SipTransportController controller,
- SipDelegateController delegateController, CompletableFuture<Integer> pendingDestroy,
- boolean force, int reason) {
+ private void verifyDestroyDelegate(SipDelegateController delegateController,
+ CompletableFuture<Integer> pendingDestroy, boolean force, int reason) {
// verify destroy was called.
verify(delegateController).destroy(force, reason);
// ensure thread is not blocked while waiting for pending complete.
@@ -847,7 +876,8 @@
}
private void triggerFullNetworkRegistrationAndVerify(SipTransportController controller,
- SipDelegateController delegateController) {
+ SipDelegateControllerContainer controllerContainer) {
+ SipDelegateController delegateController = controllerContainer.delegateController;
controller.triggerFullNetworkRegistration(TEST_SUB_ID,
delegateController.getSipDelegateInterface(), 403, "forbidden");
// move to internal & trigger event
@@ -856,7 +886,8 @@
}
private void triggerFullNetworkRegistrationAndVerifyNever(SipTransportController controller,
- SipDelegateController delegateController) {
+ SipDelegateControllerContainer controllerContainer) {
+ SipDelegateController delegateController = controllerContainer.delegateController;
controller.triggerFullNetworkRegistration(TEST_SUB_ID,
delegateController.getSipDelegateInterface(), 403, "forbidden");
// move to internal & potentially trigger event
@@ -872,29 +903,22 @@
return new DelegateRequest(featureTags);
}
- private Set<FeatureTagState> getBaseDeniedSet() {
- Set<FeatureTagState> deniedTags = new ArraySet<>();
- deniedTags.add(new FeatureTagState(ImsSignallingUtils.MMTEL_TAG,
- SipDelegateManager.DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE));
- return deniedTags;
- }
-
private Set<FeatureTagState> getDeniedTagsForReason(Set<String> deniedTags, int reason) {
return deniedTags.stream().map(t -> new FeatureTagState(t, reason))
.collect(Collectors.toSet());
}
- private SipDelegateController injectMockDelegateController(String packageName,
+ private SipDelegateControllerContainer injectMockDelegateController(String packageName,
DelegateRequest r) {
return injectMockDelegateController(TEST_SUB_ID, packageName, r);
}
- private SipDelegateController injectMockDelegateController(int subId, String packageName,
- DelegateRequest r) {
+ private SipDelegateControllerContainer injectMockDelegateController(int subId,
+ String packageName, DelegateRequest r) {
SipDelegateControllerContainer c = new SipDelegateControllerContainer(subId,
packageName, r);
mMockControllers.add(c);
- return c.delegateController;
+ return c;
}
private SipDelegateController getMockDelegateController(int subId, String packageName,