Merge "Improve DisconnectCause API for mainline." into main
diff --git a/Android.bp b/Android.bp
index c717d86..3bbafc0 100644
--- a/Android.bp
+++ b/Android.bp
@@ -49,6 +49,7 @@
"android.permission.flags-aconfig-java",
"satellite-s2storage-ro",
"s2-geometry-library-java",
+ "dropbox_flags_lib",
],
srcs: [
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index dab1dfb..a082a1e 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Verlaat noodterugbelmodus om \'n nienoodoproep te maak."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Nie geregistreer op netwerk nie."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobiele netwerk nie beskikbaar nie."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobiele netwerk is nie beskikbaar nie. Koppel aan \'n draadlose netwerk om \'n oproep te maak."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Voer \'n geldige nommer in om \'n oproep te maak."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Oproep het misluk."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Oproep kan nie op die oomblik bygevoeg word nie. Jy kan probeer in verbinding tree deur \'n boodskap te stuur."</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 95437d5..dedb212 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"አስቸኳይ ያልሆነ ጥሪ ለማድረግ ከአስቸኳይ መልሰህ ደውል ሁነታ ይውጡ።"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"በአውታረ መረቡ ላይ አልተመዘገበም።"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"የተንቀሳቃሽ አደራጅ የለም።"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"የተንቀሳቃሽ ስልክ አውታረ መረብ አይገኝም። ጥሪ ለማድረግ ከሽቦ አልባ አውታረ መረብ ጋር ያገናኙ።"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"አንድ ጥሪ ለማድረግ የሚሰራ ቁጥር ያስገቡ።"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"ጥሪ አልተሳካም።"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"ጥሪ አሁን መታከል አይችልም። መልዕክት በመላክ ለማግኘት መሞከር ይችላሉ።"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 54eeb24..0a7b99d 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"ينبغي الخروج من وضع معاودة الاتصال بالطوارئ لإجراء مكالمة غير طارئة."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"غير مسجل على الشبكة."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"شبكة الجوال غير متاحة."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"شبكة الجوّال ليست متوفرة. اتصل بشبكة لاسلكية لإجراء مكالمة."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"لإجراء مكالمة، أدخل رقمًا صالحًا."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"تعذّرت المكالمة."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"يتعذر إجراء المكالمة في الوقت الحالي. يمكنك محاولة التواصل من خلال إرسال رسالة."</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index b68f32b..572ebf5 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"সাধাৰণ কল কৰিবৰ কাৰণে জৰুৰীকালীন কলবেক ম\'ডৰ পৰা বাহিৰ হওক।"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"নেটৱৰ্কত পঞ্জীকৃত নহয়।"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"ম’বাইল নেটৱৰ্ক উপলব্ধ নহয়।"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"ম’বাইল নেটৱৰ্ক উপলব্ধ নহয়। কল কৰিবৰ কাৰণে কোনো বেতাঁৰ নেটৱৰ্কৰ সৈতে সংযোগ কৰক।"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"কল কৰিবৰ কাৰণে এটা মান্য নম্বৰ দিয়ক।"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"কল বিফল হৈছে"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"এই মুহূৰ্তত কল যোগ কৰিব নোৱাৰি। আপুনি এটা বাৰ্তা পঠাই যোগাযোগ কৰিবলৈ চেষ্টা কৰি চাব পাৰে।"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 38a8f9f..9ac9ef4 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Qeyri-fövqəladə zəng etmək üçün fövqəladə zəng rejimindən çıxın."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Şəbəkədə qeydə alınmayıb."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobil şəbəkə əlçatımlı deyil."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobil şəbəkə əlçatmazdır. Zəng etmək üçün Wi-Fi şəbəkəsinə qoşulun."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Zəngi yerləşdirmək üçün düzgün nömrə daxil edin."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Zəng alınmadı."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Hazırda zəngi əlavə etmək mümkün deyil. Mesaj göndərərək təkrar əlaqə saxlaya bilərsiniz."</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 69a0f7b..af45ee5 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Izađite iz režima hitnog povratnog poziva da biste uputili poziv koji nije hitan."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Nije registrovano na mreži."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilna mreža nije dostupna."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobilna mreža nije dostupna. Povežite se na bežičnu da biste uputili poziv."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Da biste uputili poziv, unesite važeći broj."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Poziv nije uspeo."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Dodavanje poziva trenutno nije moguće. Možete da pokušate da ostvarite kontakt pomoću poruke."</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 0f7f46a..ef233ad 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Каб зрабіць звычайны выклік, выйдзіце з рэжыму экстранных зваротных выклікаў."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Не зарэгістраваны ў сетцы."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Мабільная сетка недаступная."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Мабільная сетка недаступная. Падлучыцеся да бесправадной сеткі, каб зрабіць выклік."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Каб зрабіць выклік, увядзіце сапраўдны нумар."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Збой выклiку."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Немагчыма зараз дадаць выклік. Можна выйсці на сувязь, адправіўшы паведамленне."</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 97f086f..88680b5 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Излезте от режима на обратно обаждане при спешност, за да можете да извършвате обаждания, които не са спешни."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Няма регистрация в мрежата."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Няма мобилна мрежа."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Няма мобилна мрежа. Свържете се с безжична, за да се обадите."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"За да извършите обаждане, въведете валиден номер."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Обаждането не бе успешно."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Обаждането не може да бъде добавено сега. Може да се опитате да се свържете чрез изпращане на съобщение."</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index f1fefbc..64b2ec2 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"একটি সাধারণ কল করতে জরুরি কলব্যাক মোডের বাইরে আসুন৷"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"নেটওয়ার্কে নিবন্ধিত নয়৷"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"মোবাইল নেটওয়ার্ক উপলব্ধ নয়৷"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"মোবাইল নেটওয়ার্ক উপলব্ধ নেই৷ একটি কল করতে কোনো ওয়্যারলেস নেটওয়ার্কে সংযোগ করুন৷"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"কোনো কল স্থাপন করতে, একটি বৈধ নম্বর লিখুন৷"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"কল ব্যর্থ হয়েছে৷"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"এই সময়ে কলটি যোগ করা যাবে না। আপনি একটি মেসেজ পাঠিয়ে যোগাযোগ করার চেষ্টা করতে পারেন।"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 992f1b2..0974633 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Izađite iz načina rada za hitni povratni poziv da uputite poziv koji nije hitan."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Nije registrirano na mreži."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilna mreža nije dostupna."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobilna mreža nije dostupna. Povežite se na bežičnu mrežu da pozovete."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Da uputite poziv, upišite važeći broj."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Poziv nije uspio."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Trenutno nije moguće dodati poziv. Možete pokušati poslati poruku."</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 6557918..7909dab 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Surt del mode de devolució de trucada d\'emergència per fer un altre tipus de trucada."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"No registrat a la xarxa."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"La xarxa mòbil no està disponible."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"La xarxa mòbil no està disponible. Per fer una trucada, connecta\'t a una xarxa sense fil."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Per realitzar una trucada, introdueix un número vàlid."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"No s\'ha pogut fer la trucada."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"En aquest moment no es pot afegir la trucada. Prova d\'enviar un missatge."</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 660da5e..bb2537b 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Chcete-li uskutečnit běžný hovor, opusťte režim tísňového volání."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Přihlášení k síti nebylo úspěšné."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilní síť je nedostupná."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobilní síť není k dispozici. Pokud chcete provést hovor, připojte se k bezdrátové síti."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Chcete-li uskutečnit hovor, zadejte platné telefonní číslo."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Volání se nezdařilo."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Hovor momentálně není možné přidat. Můžete místo toho zkusit poslat zprávu."</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 801eb12..8aa7028 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Afslut nødtilbagekaldstilstand for at foretage et almindeligt opkald."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Ikke registreret på netværk."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilnetværket er ikke tilgængeligt."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobilnetværk er ikke tilgængeligt. Opret forbindelse til et trådløst netværk for at foretage et opkald."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Angiv et gyldigt nummer for at foretage et opkald."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Opkald mislykkedes."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Opkaldet kan ikke tilføjes lige nu. Du kan prøve at sende en besked i stedet."</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 7378480..b67165f 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Beende den Notfallrückrufmodus, um einen Anruf zu tätigen, bei dem es sich nicht um einen Notfall handelt."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Nicht in Netzwerk registriert."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilfunknetz ist nicht verfügbar."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Es ist kein Mobilfunknetz verfügbar. Stelle zum Telefonieren eine WLAN-Verbindung her."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Gib eine gültige Nummer ein."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Fehler beim Anruf."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Der Anruf kann momentan nicht hinzugefügt werden. Versuche stattdessen, eine Nachricht zu senden."</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 875ae61..513aa73 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Πραγματοποιήστε έξοδο από τη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για να πραγματοποιήσετε μια κλήση μη έκτακτης ανάγκης."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Δεν έχετε εγγραφεί στο δίκτυο."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Το δίκτυο κινητής τηλεφωνίας δεν είναι διαθέσιμο."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Το δίκτυο κινητής τηλεφωνίας δεν είναι διαθέσιμο. Συνδεθείτε σε ένα ασύρματο δίκτυο για να πραγματοποιήσετε μια κλήση."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Για να πραγματοποιήσετε κλήση, εισαγάγετε έναν έγκυρο αριθμό."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Η κλήση απέτυχε."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Δεν είναι δυνατή η προσθήκη της κλήσης αυτήν τη στιγμή. Δοκιμάστε να επικοινωνήσετε με αποστολή μηνύματος."</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 9a7861f..4fe888f 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Exit emergency callback mode to make a non-emergency call."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Not registered on network."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobile network not available."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobile network isn\'t available. Connect to a wireless network to make a call."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"To place a call, enter a valid number."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Call failed."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Call cannot be added at this time. You can try to get in touch by sending a message."</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 81942d0..9eb9192 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -542,7 +542,9 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Exit emergency callback mode to make a non-emergency call."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Not registered on network."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobile network not available."</string>
+ <string name="incall_error_out_of_service_2g" msgid="904434080740846116">"Mobile network not available.\n\nConnect to a wireless network to make a call.\n\n2G is disabled on this device, which may be impacting your connectivity. Go to Settings and enable Allow 2G to continue."</string>
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobile network is not available. Connect to a wireless network to make a call."</string>
+ <string name="incall_error_out_of_service_wfc_2g_user" msgid="8218768986365299663">"Mobile network is not available.\n\nConnect to a wireless network to make a call.\n\n2G is disabled on this device, which may be impacting your connectivity. Go to Settings and enable Allow 2G to continue."</string>
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"To place a call, enter a valid number."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Call failed."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Call cannot be added at this time. You can try to reach out by sending a message."</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 9a7861f..4fe888f 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Exit emergency callback mode to make a non-emergency call."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Not registered on network."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobile network not available."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobile network isn\'t available. Connect to a wireless network to make a call."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"To place a call, enter a valid number."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Call failed."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Call cannot be added at this time. You can try to get in touch by sending a message."</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 9a7861f..4fe888f 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Exit emergency callback mode to make a non-emergency call."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Not registered on network."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobile network not available."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobile network isn\'t available. Connect to a wireless network to make a call."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"To place a call, enter a valid number."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Call failed."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Call cannot be added at this time. You can try to get in touch by sending a message."</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index d275cc4..ba58d76 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -542,7 +542,9 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Exit emergency callback mode to make a non-emergency call."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Not registered on network."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobile network not available."</string>
+ <string name="incall_error_out_of_service_2g" msgid="904434080740846116">"Mobile network not available.\n\nConnect to a wireless network to make a call.\n\n2G is disabled on this device, which may be impacting your connectivity. Go to Settings and enable Allow 2G to continue."</string>
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobile network is not available. Connect to a wireless network to make a call."</string>
+ <string name="incall_error_out_of_service_wfc_2g_user" msgid="8218768986365299663">"Mobile network is not available.\n\nConnect to a wireless network to make a call.\n\n2G is disabled on this device, which may be impacting your connectivity. Go to Settings and enable Allow 2G to continue."</string>
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"To place a call, enter a valid number."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Call failed."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Call cannot be added at this time. You can try to reach out by sending a message."</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 2a25ded..95062e1 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Para realizar una llamada que no sea de emergencia, sal del modo de devolución de llamada de emergencia."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"No registrado en la red."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"La red móvil no está disponible."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"La red móvil no está disponible. Conéctate a una red inalámbrica para realizar una llamada."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Para realizar una llamada, ingresa un número válido."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Error en la llamada"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"No se puede agregar la llamada en este momento. Para comunicarte, puedes enviar un mensaje."</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 26d5631..30e38d1 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Sal del modo de devolución de llamada de emergencia para hacer otro tipo de llamada."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"No se ha podido conectar a la red"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"La red móvil no está disponible."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"La red móvil no está disponible. Conéctate a una para llamar."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Para realizar una llamada, introduce un número válido."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"No se ha podido llamar."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"No se puede realizar la llamada en estos momentos. Intenta ponerte en contacto mediante un mensaje."</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 60c4d40..d8a5219 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Muude kui hädaabikõne tegemiseks väljuge hädaabikõnede režiimist."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Ei ole võrku registreeritud."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobiilsidevõrk pole saadaval."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobiilsidevõrk pole saadaval. Helistamiseks looge ühendus traadita võrguga."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Helistamiseks sisestage kehtiv number."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Kõne ebaõnnestus."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Kõnet ei saa praegu lisada. Proovige helistamise asemel sõnum saata."</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 4790caa..10b2532 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Larrialdikoak ez diren deiak egiteko, irten larrialdi-zerbitzuen deiak jasotzeko modutik."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Ez dago sarean erregistratuta."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Sare mugikorra ez dago erabilgarri."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Sare mugikorra ez dago erabilgarri. Deia egiteko, konektatu haririk gabeko sare batera."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Deitzeko, idatzi balio duen zenbaki bat."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Ezin izan da deitu."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Une honetan, ezin da egin deia. Deitu ordez, mezu bat bidaltzen saia zaitezke."</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 76ae668..2d4d5c4 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"برای برقراری تماس غیراضطراری از حالت پاسخ تماس اضطراری خارج شوید."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"در شبکه ثبت نشده است."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"شبکهٔ تلفن همراه موجود نیست."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"شبکه تلفن همراه دردسترس نیست. برای برقراری تماس به شبکه بیسیم متصل شوید."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"برای برقراری تماس، یک شماره معتبر وارد کنید."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"تماس ناموفق بود."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"درحال حاضر برقراری تماس امکانپذیر نیست. میتوانید با ارسال پیام ارتباط برقرار کنید."</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 2bd6ac9..3e96bd0 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Poistu hätäpuhelujen takaisinsoittotilasta soittaaksesi muun kuin hätäpuhelun."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Ei rekisteröity verkkoon."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobiiliverkko ei käytettävissä."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobiiliverkko ei ole käytettävissä. Yhdistä langattomaan verkkoon, jos haluat soittaa puhelun."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Soita antamalla kelvollinen numero."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Puhelu epäonnistui."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Puhelua ei voi lisätä juuri nyt. Voit sen sijaan yrittää lähettää viestin."</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 95e6ae9..1b4c843 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Quittez le mode de rappel d\'urgence pour effectuer un appel non urgent."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Non enregistré sur le réseau"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Réseau pour mobile non disponible"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Le réseau mobile n\'est pas accessible. Connectez-vous à un réseau sans fil pour effectuer un appel."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Pour faire un appel, entrez un numéro valide."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Échec de l\'appel."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Impossible d\'ajouter l\'appel pour le moment. Vous pouvez essayer de joindre la personne en lui envoyant un message."</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 8b3f378..f8c4345 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Veuillez quitter le mode de rappel d\'urgence pour passer un appel standard."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Non enregistré sur le réseau."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Réseau mobile non disponible"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Le réseau mobile n\'est pas disponible. Connectez-vous à un réseau sans fil pour passer un appel."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Pour émettre un appel, veuillez saisir un numéro valide."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Échec de l\'appel."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Impossible d\'ajouter un appel pour le moment. Essayez plutôt d\'envoyer un message."</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 5ce9ea3..e2076da 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Sae do modo de devolución de chamada de emerxencia para facer unha chamada que non sexa de emerxencia."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Sen rexistro na rede"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"A rede móbil non está dispoñible."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"A rede móbil non está dispoñible. Conéctate a unha rede sen fíos para facer unha chamada."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Para realizar unha chamada, introduce un número válido."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Produciuse un erro na chamada."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Non se pode realizar a chamada neste momento. Podes tentar poñerte en contacto mediante unha mensaxe."</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 99606a0..e6a4476 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"બિન-કટોકટીનો કૉલ કરવા માટે કટોકટી કૉલબૅક મોડમાંથી બહાર નીકળો."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"નેટવર્ક પર નોંધણી કરાયેલ નથી."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"મોબાઇલ નેટવર્ક ઉપલબ્ધ નથી."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"મોબાઇલ નેટવર્ક ઉપલબ્ધ નથી. કૉલ કરવા માટે વાયરલેસ નેટવર્ક સાથે કનેક્ટ કરો."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"કૉલ કરવા માટે, માન્ય નંબર દાખલ કરો."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"કૉલ નિષ્ફળ થયો."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"આ સમયે કૉલ ઉમેરી શકાતો નથી. તમે એક સંદેશ મોકલીને સંપર્ક કરવાનો પ્રયાસ કરી શકો છો."</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index febd572..84f3e8d 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"गैर-आपातकालीन कॉल करने के लिए आपातकालीन कॉलबैक मोड से बाहर निकलें."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"नेटवर्क पर पंजीकृत नहीं."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"मोबाइल नेटवर्क उपलब्ध नहीं."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"मोबाइल नेटवर्क उपलब्ध नहीं है. कॉल करने के लिए किसी वायरलेस नेटवर्क से कनेक्ट करें."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"कॉल करने के लिए, मान्य नंबर डालें."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"कॉल विफल."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"अभी कॉल जोड़ा नहीं जा सकता. आप संदेश भेजकर संपर्क करने की कोशिश कर सकते हैं."</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 790b6be..d675cc1 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Isključite način hitnih poziva da biste uputili poziv koji nije hitan."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Nije registrirano na mreži."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilna mreža nije dostupna."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobilna mreža nije dostupna. Povežite se s bežičnom mrežom da biste uputili poziv."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Unesite važeći broj da biste uspostavili poziv."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Poziv nije uspio."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Poziv se trenutačno ne može dodati. Pokušajte poslati poruku."</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 54c112b..62c0a0d 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Lépjen ki a Segélykérő visszahívása módból nem vészjellegű hívás kezdeményezéséhez."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Nincs regisztrálva a hálózaton."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"A mobilhálózat nem érhető el."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"A mobilhálózat nem érhető el. Hívás indításához csatlakozzon egy vezeték nélküli hálózathoz."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Hívásindításhoz adjon meg egy érvényes számot."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Sikertelen hívás."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Jelenleg nem indítható hívás. Üzenet küldésével érheti el a másik felet."</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 8e68a06..93f4792 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Սովորական զանգ կատարելու համար դուրս եկեք շտապ կանչի ռեժիմից։"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Ցանցում գրանցված չէ:"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Բջջային ցանցն անհասանելի է:"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Բջջային ցանցն անհասանելի է: Զանգելու համար միացեք Wi-Fi ցանցին:"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Զանգ կատարելու համար մուտքագրեք ճիշտ համար:"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Զանգը ձախողվեց:"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Զանգն այս պահին հնարավոր չէ ավելացնել: Փորձեք հաղորդագրություն ուղարկել:"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 9484f54..c60842c 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Keluar dari mode telepon balik darurat untuk melakukan panggilan non-darurat."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Tidak terdaftar pada jaringan."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Jaringan seluler tidak tersedia."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Jaringan seluler tidak tersedia. Sambungkan ke jaringan nirkabel untuk melakukan panggilan."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Untuk melakukan panggilan telepon, masukkan nomor yang valid."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Telepon gagal."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Panggilan tidak bisa ditambahkan saat ini. Anda bisa mencoba menghubungi dengan mengirim pesan."</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 123519e..9184bda 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Hætta í stillingu fyrir svarhringingu neyðarsímtala til að hringja símtal sem ekki er neyðarsímtal."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Ekki skráð á símkerfi."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Farsímakerfi ekki tiltækt."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Farsímakerfi er ekki tiltækt. Tengstu þráðlausu neti til að hringja."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Sláðu inn gilt númer til að hringja símtal."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Tókst ekki að hringja."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Ekki er hægt að bæta símtali við að svo stöddu. Þú getur reynt að hafa samband með því að senda skilaboð."</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 2b8e870..bd10a9d 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Per effettuare chiamate non di emergenza, esci dalla modalità di richiamata di emergenza."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Non registrato sulla rete."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Rete cellulare non disponibile."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"La rete cellulare non è disponibile. Connettiti a una rete wireless per effettuare una chiamata."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Per effettuare una chiamata, inserisci un numero valido."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Chiamata non riuscita."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Impossibile aggiungere la chiamata al momento. Prova a inviare un messaggio."</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 78e4cfc..d5f8023 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"עליך לצאת ממצב חירום של התקשרות חזרה כדי לבצע שיחות שאינן שיחות חירום."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"לא רשום ברשת."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"הרשת הסלולרית אינה זמינה."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"הרשת הסלולרית לא זמינה. עליך להתחבר לרשת אלחוטית כדי להתקשר."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"כדי להתקשר, יש להזין מספר טלפון חוקי."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"השיחה נכשלה."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"לא ניתן להוסיף את השיחה כרגע. אפשר לנסות לשלוח הודעה."</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 4127de8..14ccfc8 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"緊急通報以外の通話を発信するには、緊急通報待機モードを終了してください。"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"ご加入の通信サービスがありません"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"モバイルネットワークが利用できません。"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"モバイル ネットワークを利用できません。電話をかけるにはワイヤレス ネットワークに接続してください。"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"発信するには、有効な番号を入力してください。"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"発信できませんでした。"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"現在、通話を追加できません。連絡するには、メッセージを送信してみてください。"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index f4ca82e..e042a63 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"გამოდით გადაუდებელი გადმორეკვის რეჟიმიდან არაგადაუდებელი ზარის განსახორციელებლად."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"ქსელში რეგისტრირებული არ არის."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"მობილური ქსელი მიუწვდომელია."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"მობილური ქსელი მიუწვდომელია. ზარის განსახორციელებლად დაუკავშირდით უსადენო ქსელს."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"ზარის განხორციელებისათვის, შეიყვანეთ მოქმედი ნომერი."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"ზარი ვერ განხორციელდა."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"ამჟამად ზარის დამატება შეუძლებელია. შეგიძლიათ სცადოთ დაკავშირება შეტყობინების გაგზავნით."</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 72e9c7f..9d0c5ad 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Төтенше емес қоңырау шалу үшін төтенше қоңырауды кері шалу режимінен шығыңыз."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Желіде тіркелмеген."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Ұялы желі қол жетімсіз."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Мобильдік желі қолжетімді емес. Қоңырау шалу үшін сымсыз желіге қосылыңыз."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Қоңырау шалу үшін жарамды нөмірді енгізіңіз."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Қоңырау шалынбады."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Қоңырауды қазір қосу мүмкін емес. Хабар жіберіп хабарласуға болады."</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index d42deb0..cd02eab 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"ចាកចេញពីរបៀបហៅទៅវិញពេលមានអាសន្នដើម្បីធ្វើការហៅធម្មតា។"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"មិនបានចុះឈ្មោះនៅលើបណ្ដាញ។"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"បណ្ដាញឧបករណ៍ចល័តមិនអាចប្រើបាន។"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"មិនមានបណ្តាញទូរសព្ទទេ។ ភ្ជាប់ទៅបណ្តាញឥតខ្សែ ដើម្បីអាចហៅទូរសព្ទបាន។"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"ដើម្បីធ្វើការហៅ បញ្ចូលលេខដែលមានសុពលភាព។"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"បានបរាជ័យការហៅ។"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"មិនអាចបញ្ចូលការហៅបានទេនៅពេលនេះ។ អ្នកអាចព្យាយាមទាក់ទងតាមរយៈការផ្ញើសារ។"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 011b30b..cb4cd80 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"ತುರ್ತು ರಹಿತ ಕರೆಯನ್ನು ಮಾಡಲು ತುರ್ತು ಮರು ಕರೆಮಾಡುವಿಕೆ ಮೋಡ್ ಅನ್ನು ನಿರ್ಗಮಿಸಿ."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಇನ್ನೂ ನೋಂದಣಿಯಾಗಿಲ್ಲ."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ ಲಭ್ಯವಿಲ್ಲ."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ ಲಭ್ಯವಿಲ್ಲ. ಕರೆ ಮಾಡಲು ವೈರ್ಲೆಸ್ ನೆಟ್ವರ್ಕ್ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿ."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"ಕರೆಯನ್ನು ಮಾಡಲು, ಮಾನ್ಯವಾದ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"ಕರೆ ವಿಫಲವಾಗಿದೆ."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"ಈ ಸಮಯದಲ್ಲಿ ಕರೆಯನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುವ ಮೂಲಕ ನೀವು ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸಬಹುದು."</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 6b403d9..ee2f78b 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"일반 전화를 걸려면 긴급 콜백 모드를 해제하세요."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"네트워크에서 등록되지 않았습니다."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"모바일 네트워크를 사용할 수 없습니다."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"모바일 네트워크를 사용할 수 없습니다. 전화를 걸려면 무선 네트워크에 연결하세요."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"전화를 걸려면 올바른 번호를 입력하세요."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"전화 연결 실패"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"현재는 통화를 추가할 수 없습니다. 메시지를 보내 연락해 보세요."</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 3fca1ed..31486b2 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Кадимки шартта чалуу үчүн шашылыш кайра чалуу режиминен чыгыңыз."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Тармакта катталган эмес."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Мобилдик тармак жок."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Мобилдик тармак жеткиликтүү эмес. Чалуу үчүн зымсыз тармакка туташыңыз."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Чалуу үчүн, жарактуу номер киргизиңиз."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Чалынбай калды."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Чалуу бул жолу кошулбай койду. Билдирүү жөнөтүп, байланышсаңыз болот."</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 10ddb89..87ad624 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -542,7 +542,9 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"ອອກຈາກໂໝດໂທກັບສຸກເສີນ ເພື່ອເຮັດການໂທປົກກະຕິ."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"ບໍ່ໄດ້ລົງທະບຽນໃນເຄືອຂ່າຍ."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"ເຄືອຂ່າຍມືຖືບໍ່ສາມາດໃຊ້ໄດ້."</string>
+ <string name="incall_error_out_of_service_2g" msgid="904434080740846116">"ເຄືອຂ່າຍມືຖືບໍ່ມີໃຫ້ໃຊ້.\n\nເຊື່ອມຕໍ່ຫາເຄືອຂ່າຍໄຮ້ສາຍເພື່ອໂທອອກ.\n\n2G ປິດໄວ້ຢູ່ອຸປະກອນນີ້, ເຊິ່ງອາດສົ່ງຜົນຕໍ່ການເຊື່ອມຕໍ່ຂອງທ່ານ. ໄປຫາການຕັ້ງຄ່າ ແລະ ເປີດການນຳໃຊ້ອະນຸຍາດ 2G ເພື່ອສືບຕໍ່."</string>
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"ບໍ່ສາມາດໃຊ້ອິນເຕີເນັດມືຖືໄດ້. ກະລຸນາເຊື່ອມຕໍ່ຫາ Wi-Fi ເພື່ອໂທ."</string>
+ <string name="incall_error_out_of_service_wfc_2g_user" msgid="8218768986365299663">"ເຄືອຂ່າຍມືຖືບໍ່ມີໃຫ້ໃຊ້.\n\nເຊື່ອມຕໍ່ຫາເຄືອຂ່າຍໄຮ້ສາຍເພື່ອໂທອອກ.\n\n2G ປິດໄວ້ຢູ່ອຸປະກອນນີ້, ເຊິ່ງອາດສົ່ງຜົນຕໍ່ການເຊື່ອມຕໍ່ຂອງທ່ານ. ໄປຫາການຕັ້ງຄ່າ ແລະ ເປີດການນຳໃຊ້ອະນຸຍາດ 2G ເພື່ອສືບຕໍ່."</string>
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"ເພື່ອທີ່ຈະໂທ, ປ້ອນເບີໂທທີ່ໃຊ້ໄດ້ເຂົ້າໄປ."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"ໂທບໍ່ສຳເລັດ."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"ບໍ່ສາມາດໂທໄດ້ໃນຕອນນີ້. ທ່ານສາມາດລອງຕິດຕໍ່ຫາໄດ້ໂດຍການສົ່ງຂໍ້ຄວາມ."</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 9e1a340..8f52238 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Jei norite skambinti ne pagalbos numeriu, išjunkite atgalinio skambinimo pagalbos numeriu režimą."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Neregistruota tinkle."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilusis tinklas negalimas."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobiliojo ryšio tinklas nepasiekiamas. Prisijunkite prie belaidžio ryšio tinklo, kad galėtumėte skambinti."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Kad galėtumėte paskambinti, įveskite tinkamą numerį."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Paskambinti nepavyko."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Šiuo metu skambučio pridėti negalima. Galite pabandyti susisiekti išsiųsdami pranešimą."</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 90165b8..d83b344 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Lai veiktu parastu zvanu, izejiet no ārkārtas atzvana režīma."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Tīklā nav reģistrēts."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilais tīkls nav pieejams."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobilais tīkls nav pieejams. Lai veiktu zvanu, izveidojiet savienojumu ar bezvadu tīklu."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Lai veiktu zvanu, ievadiet derīgu numuru."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Zvans neizdevās."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Pašlaik nevar pievienot zvanu. Varat mēģināt sūtīt īsziņu."</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 2c68ef1..e1acdf1 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Излезете од режимот на итен повратен повик за да направите обичен повик."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Не е регистриран на мрежа."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Не е достапна мобилна мрежа."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Не е достапна мобилна мрежа. Поврзете се на безжична мрежа за да повикате."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"За да повикате, внесете важечки број."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Повикот не успеа."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Повикот не може да се додаде во моментов. Може да се обидете да стапите во контакт со испраќање порака."</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index b0785bb..673d94a 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"അടിയന്തിരമല്ലാത്ത കോൾ ചെയ്യാൻ അടിയന്തിര കോൾബാക്ക് മോഡിൽ നിന്ന് പുറത്തുകടക്കുക."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"നെറ്റ്വർക്കിൽ രജിസ്റ്റർ ചെയ്തിട്ടില്ല."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"മൊബൈൽ നെറ്റ്വർക്ക് ലഭ്യമല്ല."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"മൊബൈൽ നെറ്റ്വർക്ക് ലഭ്യമല്ല. കോൾ വിളിക്കാൻ വയർലെസ്സ് നെറ്റ്വർക്കിലേക്ക് കണക്റ്റുചെയ്യുക."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"ഒരു കോൾ ചെയ്യുന്നതിന്, സാധുതയുള്ള നമ്പർ നൽകുക."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"കോൾ ചെയ്യാനായില്ല."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"ഇപ്പോൾ കോൾ ചേർക്കാനാവില്ല. നിങ്ങൾക്കൊരു സന്ദേശമയച്ചുകൊണ്ട് ബന്ധപ്പെടാൻ ശ്രമിക്കാം."</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 712042a..1ebd098 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Яаралтай түргэн тусламжийн бус дуудлага хийхийн тулд яаралтай түргэн тусламжийн callback горимоос гарна уу."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Сүлжээнд бүртгэгдээгүй."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Мобайль сүлжээ байхгүй."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Мобайл сүлжээнд холбогдох боломжгүй байна. Дуудлага хийхийн тулд утасгүй интернетэд холбогдоно уу."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Дуудлага хийхийн тулд хүчин төгөлдөр дугаар оруулна уу."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Дуудлага амжилтгүй болсон."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Дуудлагыг энэ удаад нэмэх боломжгүй. Та мессеж илгээн холбоо тогтоохыг оролдох боломжтой."</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 1201657..cf422b7 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"आणीबाणी नसलेला कॉल करण्यासाठी आणीबाणी कॉलबॅक मोडमधून बाहेर पडा."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"नेटवर्कवर नोंदणीकृत नाही."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"मोबाइल नेटवर्क उपलब्ध नाही."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"मोबाइल नेटवर्क उपलब्ध नाही. कॉल करण्यासाठी वायरलेस नेटवर्कशी कनेक्ट करा."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"कॉल करण्यासाठी, एक वैध नंबर एंटर करा."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"कॉल अयशस्वी झाला."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"या वेळी कॉल जोडू शकत नाही. तुम्ही मेसेज पाठवून संपर्क करण्याचा प्रयत्न करू शकता."</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 18b47c2..a83870e 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Keluar daripada mod panggil balik kecemasan untuk membuat panggilan bukan kecemasan."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Tidak didaftarkan pada rangkaian."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Rangkaian mudah alih tidak tersedia."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Rangkaian selular tidak tersedia. Sambung ke rangkaian wayarles untuk membuat panggilan."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Untuk membuat panggilan, masukkan nombor yang sah."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Panggilan gagal."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Panggilan tidak dapat ditambahkan pada masa ini. Anda boleh cuba menghantar mesej untuk berhubung."</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 0f4321a..9d5af81 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"အရေးပေါ် မဟုတ်သည့် ခေါ်ဆိုမှုကို ပြုလုပ်ရန် အရေးပေါ် ဖုန်းခေါ်မှုမှ ထွက်ပါ။"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"ကွန်ယက်ပေါ်မှာ မှတ်ပုံတင်မှု မပြုလုပ်ထားပါ"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"မိုဘိုင်းကွန်ယက်များ မရှိပါ"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"မိုဘိုင်းကွန်ရက် မရနိုင်ပါ။ ခေါ်ဆိုမှုပြုလုပ်ရန် ကြိုးမဲ့ကွန်ရက်သို့ ချိတ်ဆက်လိုက်ပါ။"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"ဖုန်းခေါ်ရန်အတွက်၊ သင့်လျော်သည့်နံပါတ် ရိုက်ထည့်ပါ။"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"ခေါ်ဆို၍ မရပါ။"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"ယခုအချိန်တွင် ခေါ်ဆိုမှု ထပ်မထည့်နိုင်ပါ။ မက်ဆေ့ဂျ်ပို့ဆောင်ခြင်းဖြင့်လည်း ဆက်သွယ်ရန်ကြိုးစားနိုင်ပါသည်။"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index fb8a4fe..72afdde 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Avslutt modusen for nødanrop for å gjøre et vanlig anrop."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Ikke registrert på nettverket."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilnettverket er ikke tilgjengelig."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobilnettverk er ikke tilgjengelig. Koble til et trådløst nettverk for å ringe."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Skriv inn et gyldig nummer for å plassere en samtale."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Anropet mislyktes."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Kan ikke legge til anropet akkurat nå. Du kan prøve å ta kontakt ved å sende en melding."</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 1b399ab..5c8ea0f 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"गैर-आपत्कालीन कल गर्न आपत्कालीन कलब्याक मोडबाट निस्कनुहोस्।"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"नेटवर्कमा दर्ता भएको छैन।"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"मोबाइल नेटवर्क उपलब्ध छैन।"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"मोबाइल नेटवर्क उपलब्ध छैन। कल गर्न तारविनाको नेटवर्कमा कनेक्ट गर्नुहोस्।"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"एक कल गर्नको लागि, एक वैध नम्बर प्रविष्टि गर्नुहोस्।"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"कल विफल भयो।"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"यतिबेला कल गर्न सकिएन। तपाईंले कुनै सन्देश पठाएर सम्पर्क गर्ने प्रयास गर्न सक्नुहुन्छ।"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index da89764..3715624 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Sluit de modus voor noodoproepen af om een niet-noodoproep te plaatsen."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Niet geregistreerd op netwerk."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobiel netwerk niet beschikbaar."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobiel netwerk is niet beschikbaar. Maak verbinding met een draadloos netwerk om te bellen."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Als je wilt bellen, moet je een geldig nummer invoeren."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Gesprek mislukt."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Gesprek kan op dit moment niet worden toegevoegd. Je kunt contact opnemen door een bericht te sturen."</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index fd8e728..99d535e 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"ଗୋଟିଏ ସାଧାରଣ କଲ୍ କରିବା ପାଇଁ ଜରୁରିକାଳୀନ କଲବ୍ୟାକ୍ ମୋଡ୍ରୁ ବାହାରି ଆସନ୍ତୁ।"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"ନେଟ୍ୱର୍କରେ ପଞ୍ଜୀକୃତ କରାଯାଇନାହିଁ।"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"ମୋବାଇଲ୍ ନେଟ୍ୱର୍କ ଉପଲବ୍ଧ ନାହିଁ।"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"ମୋବାଇଲ୍ ନେଟ୍ୱର୍କ ଉପଲବ୍ଧ ନାହିଁ। କଲ୍ କରିବା ପାଇଁ ଗୋଟିଏ ତାରବିହୀନ ନେଟ୍ୱର୍କରେ କନେକ୍ଟ କରନ୍ତୁ"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"ଗୋଟିଏ କଲ୍ କରିବା ପାଇଁ ଏକ ବୈଧ ନମ୍ବର୍ ପ୍ରବେଶ କରନ୍ତୁ।"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"କଲ୍ ହେଲା ନାହିଁ।"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"ଏବେ କଲ୍କୁ ଯୋଡ଼ାଯାଇପାରିବ ନାହିଁ। ଆପଣ ମେସେଜ୍ ପଠାଇ ସମ୍ପର୍କ କରିବା ପାଇଁ ଚେଷ୍ଟା କରିପାରନ୍ତି।"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 8dd6abd..23050fa 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"ਇੱਕ ਗ਼ੈਰ-ਅਪਾਤਕਾਲ ਕਾਲ ਕਰਨ ਲਈ ਅਪਾਤਕਾਲ ਕਾਲਬੈਕ ਮੋਡ ਤੋਂ ਬਾਹਰ ਆਓ।"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"ਨੈਟਵਰਕ ਤੇ ਰਜਿਸਟਰ ਨਹੀਂ ਕੀਤਾ।"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"ਮੋਬਾਈਲ ਨੈਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ।"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ ਹੈ। ਕਾਲ ਕਰਨ ਲਈ ਕਿਸੇ ਵਾਇਰਲੈੱਸ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰੋ।"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ, ਇੱਕ ਪ੍ਰਮਾਣਿਕ ਨੰਬਰ ਦਰਜ ਕਰੋ।"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"ਕਾਲ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ।"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"ਇਸ ਸਮੇਂ ਕਾਲ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਤੁਸੀਂ ਇੱਕ ਸੁਨੇਹਾ ਭੇਜ ਕੇ ਸੰਪਰਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ।"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 18ff3b1..3cacd93 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Aby zadzwonić normalnie, wyjdź z trybu alarmowego połączenia zwrotnego."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Nie zarejestrowano w sieci"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Sieć komórkowa jest niedostępna."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Sieć komórkowa jest niedostępna. Połącz się z siecią bezprzewodową, by zadzwonić."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Aby zadzwonić, wybierz prawidłowy numer."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Nie udało się połączyć."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"W tej chwili nie możesz zadzwonić. Zamiast tego możesz wysłać wiadomość."</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 10fb31a..adb9607 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Sair do modo de chamada de retorno de emergência para efetuar uma chamada que não é de emergência."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Sem registo na rede."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Rede móvel não disponível."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"A rede móvel não está disponível. Ligue-se a uma rede sem fios para efetuar uma chamada."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Para telefonar, introduza um número válido."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"A chamada falhou."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Não é possível adicionar a chamada neste momento. Pode tentar entrar em contacto ao enviar uma mensagem."</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 02288b9..afde39c 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Saia do modo de retorno de chamada de emergência para fazer uma chamada que não seja de emergência."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Não registrado na rede."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Rede móvel não disponível."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"A rede móvel não está disponível. Conecte-se a uma rede sem fio para fazer uma chamada."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Para realizar uma chamada, digite um número válido."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Falha na chamada."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Não é possível ligar no momento. Entre em contato enviando uma mensagem."</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 94cf9d4..fc1b4f1 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Ieși din modul de apelare inversă de urgență pentru a efectua un apel care nu este de urgență."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Neînregistrat în rețea."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Rețeaua mobilă nu este disponibilă."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Rețeaua mobilă nu este disponibilă. Pentru a apela, conectează-te la o rețea wireless."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Pentru a apela, introdu un număr valid."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Apelul nu a fost inițiat."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Apelul nu poate fi inițiat în acest moment. Poți lua legătura cu persoana respectivă trimițându-i un mesaj."</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index ec534c6..bf2d6d7 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Чтобы сделать обычный звонок, выйдите из режима экстренных обратных вызовов."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Нет регистрации в сети."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Мобильная сеть недоступна."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Мобильная сеть недоступна. Чтобы позвонить, подключитесь к Wi-Fi."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Недействительный номер."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Не удалось отправить вызов."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Не удается позвонить. Попробуйте отправить сообщение."</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 22f0a1c..9aee983 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"හදිසි-නොවන ඇමතුමක් සිදු කිරීමට හදිසි අවස්ථා පසු ඇමතුම් ප්රකාරයෙන් ඉවත් වන්න."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"ජාලය මත ලියාපදිංචි වී නැත."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"ජංගම ජාලය නොමැත."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"ජංගම ජාලය ලබා ගැනීමට නොහැකිය. ඇමතුමක් කිරීමට රැහැන් රහිත ජාලයකට සම්බන්ධ කරන්න."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"ඇමතුමක් ලබාගැනීමට, වලංගු අංකයක් ලබාගන්න."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"ඇමතුම අසාර්ථක විය."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"ඇමතුම මෙම වේලාවේදී එක් කිරීමට නොහැකිය. ඔබට පණිවිඩයක් යැවීමෙන් ළඟා වීමට උත්සාහ කිරීමට හැකිය."</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 623f3c0..bfeda2d 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Ak chcete volať štandardným spôsobom, ukončite režim tiesňového spätného volania."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Prihlásenie do siete nebolo úspešné."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilná sieť nie je k dispozícii."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobilná sieť nie je k dispozícii. Ak chcete volať, pripojte sa k bezdrôtovej sieti."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Ak chcete volať, zadajte platné číslo"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Hovor zlyhal."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Hovor sa momentálne nedá pridať. Môžete namiesto toho skúsiť poslať správu."</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 975cdc7..c1b0705 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Če ne gre za klic v sili, zaprite način za povratni klici v sili."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Ni registrirano v omrežju."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Omrežje prenosnega telefona ni na voljo."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobilno omrežje ni na voljo. Če želite opraviti klic, vzpostavite povezavo z brezžičnim omrežjem."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Če želite opraviti klic, vnesite veljavno številko."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Klic ni uspel."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Trenutno ni mogoče dodati klica. Poskusite poslati sporočilo."</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 0d4d021..e9ca645 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Dil nga modaliteti i kthimit të telefonatës së urgjencës për të bërë një telefonatë jo urgjente."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"I paregjistruar në rrjet."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Rrjeti celular nuk mundësohet."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Rrjeti celular nuk ofrohet. Lidhu me një rrjet wireless për të bërë një telefonatë."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Për të kryer një telefonatë, fut një numër të vlefshëm."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Thirrja dështoi."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Telefonata nuk mund të shtohet në këtë moment. Mund të provosh të kontaktosh duke dërguar një mesazh."</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index d25009f..bf7fd05 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Изађите из режима хитног повратног позива да бисте упутили позив који није хитан."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Није регистровано на мрежи."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Мобилна мрежа није доступна."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Мобилна мрежа није доступна. Повежите се на бежичну да бисте упутили позив."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Да бисте упутили позив, унесите важећи број."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Позив није успео."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Додавање позива тренутно није могуће. Можете да покушате да остварите контакт помоћу поруке."</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 19ce90f..05d9e42 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Avsluta läget för återuppringning vid nödsamtal om du vill ringa ett vanligt samtal."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Inte registrerat på nätverk."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Inget mobilt nätverk är tillgängligt."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Det finns inga tillgängliga mobilnätverk. Anslut till ett trådlöst nätverk om du vill ringa."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Ange ett giltigt nummer om du vill ringa ett samtal."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Det gick inte att koppla samtalet."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Det går inte att lägga till samtalet just nu. Ta istället kontakt genom att skicka ett meddelande."</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 9e1f6fe..17ac2e3 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Ondoka kwenye hali ya kupiga simu za dharura ili upige simu zisizokuwa za dharura."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Haijasajiliwa kwa mitandao"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mtandao wa simu haupatikani."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mtandao wa simu za mkononi haupatikani. Unganisha kwenye mtandao pasiwaya ili upige simu."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Ili upige simu, weka namba sahihi."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Imeshindwa kupiga simu."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Simu haiwezi kuongezwa kwa sasa. Unaweza kujaribu kuwasiliana kwa kutuma ujumbe."</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 620d4c0..14ed9c3 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"வழக்கமான அழைப்பிற்கு, அவசரகாலத் திரும்ப அழைக்கும் பயன்முறையிலிருந்து வெளியேறவும்."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"நெட்வொர்க்கில் பதிவுசெய்யப்படவில்லை."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"மொபைல் நெட்வொர்க் கிடைக்கவில்லை."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"மொபைல் நெட்வொர்க் கிடைக்கவில்லை. அழைக்க, வயர்லெஸ் நெட்வொர்க்குடன் இணைக்கவும்."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"அழைக்க, சரியான எண்ணை உள்ளிடவும்."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"அழைப்பு தோல்வியடைந்தது."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"தற்போது அழைக்க முடியவில்லை. செய்தியை அனுப்பி, தொடர்புகொள்ள முயலவும்."</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 45417a6..4570539 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"సాధారణ కాల్ చేయడానికి అత్యవసర కాల్బ్యాక్ మోడ్ నుండి నిష్క్రమించండి."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"నెట్వర్క్లో నమోదు కాలేదు."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"మొబైల్ నెట్వర్క్ అందుబాటులో లేదు."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"మొబైల్ నెట్వర్క్ అందుబాటులో లేదు. కాల్ చేయడానికి వైర్లెస్ నెట్వర్క్కు కనెక్ట్ చేయండి."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"కాల్ చేయడానికి, చెల్లుబాటు అయ్యే నంబర్ను నమోదు చేయండి."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"కాల్ విఫలమైంది."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"ఈ సమయంలో కాల్ జోడించబడదు. మీరు మెసేజ్ను పంపడం ద్వారా సంప్రదించవచ్చు."</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 1ada10d..3a0bd24 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"โปรดออกจากโหมดการโทรกลับกรณีฉุกเฉินเพื่อโทรไปยังหมายเลขที่ไม่ใช่หมายเลขฉุกเฉิน"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"ยังไม่ได้ลงทะเบียนบนเครือข่าย"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"เครือข่ายมือถือใช้งานไม่ได้"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"เครือข่ายมือถือไม่พร้อมใช้งาน โปรดเชื่อมต่อเครือข่ายไร้สายเพื่อโทรออก"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"หากต้องการโทรออก โปรดป้อนหมายเลขที่ถูกต้อง"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"การโทรล้มเหลว"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"เพิ่มการโทรไม่ได้ในขณะนี้ คุณสามารถพยายามติดต่อได้โดยการส่งข้อความ"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 81d5bd3..f7c8702 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Lumabas sa emergency callback mode upang makapagsagawa ng hindi pang-emergency na pagtawag."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Hindi nakarehistro sa network."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Hindi available ang mobile network."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Hindi available ang mobile network. Kumonekta sa isang wireless network upang tumawag."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Upang tumawag, maglagay ng wastong numero."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Nabigo ang tawag."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Hindi maidaragdag ang tawag na ito sa ngayon. Maaari mong subukang makipag-ugnayan sa pamamagitan ng pagpapadala ng isang mensahe."</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 40eb5e7..207c136 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Acil durum çağrısı dışında bir çağrı yapmak için acil durumda geri aranma modundan çıkın."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Ağda kayıtlı değil."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobil ağ kullanılamıyor."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobil ağ kullanılamıyor. Telefon etmek için kablosuz ağa bağlanın."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Arama yapmak için geçerli bir numara girin."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Sesli arama başarısız oldu."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Çağrı şu anda eklenemiyor. Mesaj göndererek ulaşmayı deneyebilirsiniz."</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 345d8e7..ec92d11 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Щоб зателефонувати на звичайний номер, вимкніть режим екстрених викликів."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Не зареєстровано в мережі."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Мобільна мережа недоступна."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Мобільна мережа недоступна. Щоб зателефонувати, під’єднайтеся до бездротової мережі."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Щоб зателефонувати, введіть дійсний номер."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Не вдалося здійснити виклик."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Не вдається додати виклик. Спробуйте надіслати повідомлення."</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 520f493..2ace00e 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"غیر ایمرجنسی کال کرنے کیلئے ایمرجنسی کال بیک موڈ سے اخراج کریں۔"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"نیٹ ورک پر رجسٹرڈ نہیں ہے۔"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"موبائل نیٹ ورک دستیاب نہیں ہے۔"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"موبائل نیٹ ورک دستیاب نہیں ہے۔ کال کرنے کیلئے کسی وائرلیس نیٹ ورک سے منسلک ہوں۔"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"کال کرنے کیلئے، ایک درست نمبر درج کریں۔"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"کال ناکام ہوگئی۔"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"اس وقت کال شامل نہیں کی جا سکتی۔ آپ ایک پیغام بھیج کر رابطہ کرنے کی کوشش کر سکتے ہیں۔"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 19d5563..5134094 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Odatiy qo‘ng‘iroq qilish uchun favqulodda qayta qo‘ng‘iroq rejimidan chiqing."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Tarmoqda ro‘yxatdan o‘tmagan."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Uyali tarmoq mavjud emas."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobil tarmoqdan foydalanib bo‘lmaydi. Qo‘ng‘iroq qilish uchun Wi-Fi tarmog‘iga ulaning."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Qo‘ng‘iroq qilish uchun raqamni to‘g‘ri kiriting."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Chaqiruv amalga oshmadi."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Qo‘ng‘iroq qilib bo‘lmayapti. Xabar yuborib ko‘ring."</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index ebaf17f..e27545f 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Thoát khỏi chế độ gọi lại khẩn cấp để thực hiện cuộc gọi không khẩn cấp."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Chưa được đăng ký trên mạng."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Mạng di động không khả dụng."</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Hiện không có mạng di động. Hãy kết nối với mạng không dây để thực hiện cuộc gọi."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Để thực hiện cuộc gọi, hãy nhập một số hợp lệ."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Cuộc gọi không thành công."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Không thể thêm cuộc gọi tại thời điểm này. Bạn có thể cố gắng liên hệ bằng cách gửi tin nhắn."</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index f439c6b..4b9ba8a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"要拨打非紧急电话,请先退出紧急回拨模式。"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"尚未注册网络。"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"无法连接到移动网络"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"移动网络不可用。需连接至无线网络才能拨打电话。"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"要拨打电话,请输入有效的电话号码。"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"无法通话。"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"暂时无法拨打电话。您可以尝试通过发送信息来联系对方。"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 0fadc35..670aa88 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"離開緊急回撥模式即可撥打非緊急電話。"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"未在網絡上完成註冊。"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"無法使用流動網絡。"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"無法使用流動網絡。請連接無線網絡,以撥打電話。"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"要撥打電話,請輸入有效的號碼。"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"無法接通。"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"目前無法新增通話。你可以改以傳送短訊聯絡對方。"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index c2aa76c..06441c4 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"結束緊急回撥模式,以便撥打非緊急電話。"</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"尚未註冊網路。"</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"無法使用 Google 行動服務網路。"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"無法使用行動網路。連上 Wi-Fi 網路即可撥打電話。"</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"如要撥打電話,請輸入有效的號碼。"</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"無法通話。"</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"目前無法新增通話,你可以試著傳送簡訊聯絡對方。"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 452a3c8..d29847b 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -542,7 +542,11 @@
<string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Phuma kwimodi yokushayela emuva yesiko esiphuthumayo ukuze wenze ikholi yemodi engaphuthumi."</string>
<string name="incall_error_emergency_only" msgid="8786127461027964653">"Ayibhalisiwe kwinethiwekhi."</string>
<string name="incall_error_out_of_service" msgid="1927265196942672791">"Inethiwekhi yefoni ayitholakali"</string>
+ <!-- no translation found for incall_error_out_of_service_2g (904434080740846116) -->
+ <skip />
<string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Inethiwekhi yeselula ayitholakali. Xhumeka kunethiwekhi engenantambo ukuze wenze ikholi."</string>
+ <!-- no translation found for incall_error_out_of_service_wfc_2g_user (8218768986365299663) -->
+ <skip />
<string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Ukuze wenze ikholi, faka inombolo evumelekile."</string>
<string name="incall_error_call_failed" msgid="393508653582682539">"Ikholi ihlulekile."</string>
<string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Ikholi ayikwazi ukungezwa ngalesi sikhathi. Ungazama ukufinyelela ngokuthumela umlayezo."</string>
diff --git a/res/values/config.xml b/res/values/config.xml
index f8aeb5e..2ad2af3 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -318,13 +318,6 @@
<string-array name="thermal_mitigation_allowlisted_packages" translatable="false">
</string-array>
- <!-- Array of carriers that don't care about NGRAN's preference in the preferred emergency
- network scan list after SIM is removed. -->
- <integer-array name="config_carriers_ignore_ngran_preference_when_sim_removed">
- <!-- 001-01 Test SIM -->
- <item>1911</item>
- </integer-array>
-
<!-- Array of countries that active SIM is needed for emergency calls. Values should be
ISO3166 country codes in lowercase. -->
<string-array name="config_countries_require_sim_for_emergency" translatable="false">
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 61143c9..972e7cb 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1206,8 +1206,13 @@
<string name="incall_error_emergency_only">Not registered on network.</string>
<!-- In-call screen: call failure message displayed in an error dialog -->
<string name="incall_error_out_of_service">Mobile network not available.</string>
+ <!-- In-call screen: call failure message displayed in an error dialog if 2G is disabled -->
+ <string name="incall_error_out_of_service_2g">Mobile network not available.\n\nConnect to a wireless network to make a call.\n\n2G is disabled on this device, which may be impacting your connectivity. Go to Settings and enable "Allow 2G" to continue.</string>
<!-- In-call screen: call failure message displayed in an error dialog -->
<string name="incall_error_out_of_service_wfc">Mobile network is not available. Connect to a wireless network to make a call.</string>
+ <!-- In-call screen: call failure message displayed in an error dialog if the user disabled 2G -->
+ <string name="incall_error_out_of_service_wfc_2g_user">Mobile network is not available.\n\nConnect to a wireless network to make a call.\n\n2G is disabled on this device, which may be impacting your connectivity. Go to Settings and enable "Allow 2G" to continue.</string>
+
<!-- In-call screen: call failure message displayed in an error dialog -->
<string name="incall_error_no_phone_number_supplied">To place a call, enter a valid number.</string>
<!-- In-call screen: call failure message displayed in an error dialog -->
diff --git a/src/com/android/phone/CallForwardEditPreference.java b/src/com/android/phone/CallForwardEditPreference.java
index d1c8303..b877112 100644
--- a/src/com/android/phone/CallForwardEditPreference.java
+++ b/src/com/android/phone/CallForwardEditPreference.java
@@ -26,6 +26,7 @@
import com.android.internal.telephony.CommandException;
import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.flags.Flags;
import java.util.HashMap;
import java.util.Locale;
@@ -34,6 +35,9 @@
private static final String LOG_TAG = "CallForwardEditPreference";
private static final String SRC_TAGS[] = {"{0}"};
+
+ private static final int DEFAULT_NO_REPLY_TIMER_FOR_CFNRY = 20;
+
private CharSequence mSummaryOnTemplate;
/**
* Remembers which button was clicked by a user. If no button is clicked yet, this should have
@@ -154,7 +158,14 @@
.getCarrierConfigForSubId(mPhone.getSubId());
if (carrierConfig.getBoolean(
CarrierConfigManager.KEY_SUPPORT_NO_REPLY_TIMER_FOR_CFNRY_BOOL, true)) {
- time = 20;
+ if (Flags.setNoReplyTimerForCfnry()) {
+ // Get timer value from carrier config
+ time = carrierConfig.getInt(
+ CarrierConfigManager.KEY_NO_REPLY_TIMER_FOR_CFNRY_SEC_INT,
+ DEFAULT_NO_REPLY_TIMER_FOR_CFNRY);
+ } else {
+ time = DEFAULT_NO_REPLY_TIMER_FOR_CFNRY;
+ }
}
}
final String number = getPhoneNumber();
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index 2ae39df..c3d7305 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -78,6 +78,7 @@
import com.android.internal.telephony.imsphone.ImsPhone;
import com.android.internal.telephony.imsphone.ImsPhoneCallTracker;
import com.android.internal.telephony.satellite.SatelliteController;
+import com.android.internal.telephony.subscription.SubscriptionManagerService;
import com.android.internal.telephony.uicc.UiccPort;
import com.android.internal.telephony.uicc.UiccProfile;
import com.android.internal.util.IndentingPrintWriter;
@@ -342,11 +343,23 @@
break;
case EVENT_DATA_ROAMING_DISCONNECTED:
- notificationMgr.showDataRoamingNotification(msg.arg1, false);
+ if (SubscriptionManagerService.getInstance()
+ .isEsimBootStrapProvisioningActiveForSubId(msg.arg1)) {
+ Log.i(LOG_TAG,
+ "skip notification/warnings during esim bootstrap activation");
+ } else {
+ notificationMgr.showDataRoamingNotification(msg.arg1, false);
+ }
break;
case EVENT_DATA_ROAMING_CONNECTED:
- notificationMgr.showDataRoamingNotification(msg.arg1, true);
+ if (SubscriptionManagerService.getInstance()
+ .isEsimBootStrapProvisioningActiveForSubId(msg.arg1)) {
+ Log.i(LOG_TAG,
+ "skip notification/warnings during esim bootstrap activation");
+ } else {
+ notificationMgr.showDataRoamingNotification(msg.arg1, true);
+ }
break;
case EVENT_DATA_ROAMING_OK:
@@ -594,7 +607,7 @@
mImsStateCallbackController =
ImsStateCallbackController.make(this, PhoneFactory.getPhones().length);
mTelephonyRcsService = new TelephonyRcsService(this,
- PhoneFactory.getPhones().length);
+ PhoneFactory.getPhones().length, mFeatureFlags);
mTelephonyRcsService.initialize();
imsRcsController.setRcsService(mTelephonyRcsService);
mImsProvisioningController =
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index e18818c..1751778 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -257,6 +257,7 @@
import com.android.phone.vvm.RemoteVvmTaskManager;
import com.android.phone.vvm.VisualVoicemailSettingsUtil;
import com.android.phone.vvm.VisualVoicemailSmsFilterConfig;
+import com.android.server.feature.flags.Flags;
import com.android.services.telephony.TelecomAccountRegistry;
import com.android.services.telephony.TelephonyConnectionService;
import com.android.telephony.Rlog;
@@ -422,17 +423,18 @@
private final PhoneGlobals mApp;
private FeatureFlags mFeatureFlags;
+ private com.android.server.telecom.flags.FeatureFlags mTelecomFeatureFlags;
private final CallManager mCM;
private final ImsResolver mImsResolver;
private final SatelliteController mSatelliteController;
private final SatelliteAccessController mSatelliteAccessController;
private final UserManager mUserManager;
- private final AppOpsManager mAppOps;
private final MainThreadHandler mMainThreadHandler;
private final SharedPreferences mTelephonySharedPreferences;
private final PhoneConfigurationManager mPhoneConfigurationManager;
private final RadioInterfaceCapabilityController mRadioInterfaceCapabilities;
+ private AppOpsManager mAppOps;
private PackageManager mPackageManager;
/** User Activity */
@@ -2462,6 +2464,7 @@
private PhoneInterfaceManager(PhoneGlobals app, FeatureFlags featureFlags) {
mApp = app;
mFeatureFlags = featureFlags;
+ mTelecomFeatureFlags = new com.android.server.telecom.flags.FeatureFlagsImpl();
mCM = PhoneGlobals.getInstance().mCM;
mImsResolver = ImsResolver.getInstance();
mSatelliteController = SatelliteController.getInstance();
@@ -9463,7 +9466,7 @@
try {
if (reason == TelephonyManager.DATA_ENABLED_REASON_USER && enabled
&& null != callingPackage && opEnableMobileDataByUser()) {
- mAppOps.noteOp(AppOpsManager.OPSTR_ENABLE_MOBILE_DATA_BY_USER,
+ mAppOps.noteOpNoThrow(AppOpsManager.OPSTR_ENABLE_MOBILE_DATA_BY_USER,
callingUid, callingPackage, null, null);
}
Phone phone = getPhone(subId);
@@ -12894,8 +12897,16 @@
public void persistEmergencyCallDiagnosticData(@NonNull String dropboxTag, boolean enableLogcat,
long logcatStartTimestampMillis, boolean enableTelecomDump,
boolean enableTelephonyDump) {
- mApp.enforceCallingPermission(android.Manifest.permission.DUMP,
- "persistEmergencyCallDiagnosticData");
+ // Verify that the caller has READ_DROPBOX_DATA permission.
+ if (mTelecomFeatureFlags.telecomResolveHiddenDependencies()
+ && Flags.enableReadDropboxPermission()) {
+ mApp.enforceCallingPermission(permission.READ_DROPBOX_DATA,
+ "persistEmergencyCallDiagnosticData");
+ } else {
+ // Otherwise, enforce legacy permission.
+ mApp.enforceCallingPermission(android.Manifest.permission.DUMP,
+ "persistEmergencyCallDiagnosticData");
+ }
final long identity = Binder.clearCallingIdentity();
try {
persistEmergencyCallDiagnosticDataInternal(dropboxTag, enableLogcat,
@@ -14016,6 +14027,16 @@
}
/*
+ * PhoneInterfaceManager is a singleton. Unit test calls the init() with context.
+ * But the context that is passed in is unused if the phone app is already alive.
+ * In this case PackageManager object is different in PhoneInterfaceManager and Unit test.
+ */
+ @VisibleForTesting
+ public void setAppOpsManager(AppOpsManager appOps) {
+ mAppOps = appOps;
+ }
+
+ /*
* PhoneInterfaceManager is a singleton. Unit test calls the init() with FeatureFlags.
* But the FeatureFlags that is passed in is unused if the phone app is already alive.
* In this case FeatureFlags object is different in PhoneInterfaceManager and Unit test.
diff --git a/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java b/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
index 5da52d6..3e44062 100644
--- a/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
+++ b/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
@@ -113,7 +113,7 @@
@Nullable
Intent resolveEuiccUiIntent() {
EuiccManager euiccManager = (EuiccManager) getSystemService(Context.EUICC_SERVICE);
- if (!euiccManager.isEnabled()) {
+ if (euiccManager == null || !euiccManager.isEnabled()) {
Log.w(TAG, "eUICC not enabled");
return null;
}
diff --git a/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java b/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
index 36280e9..45cd611 100644
--- a/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
+++ b/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
@@ -28,6 +28,7 @@
import android.location.Location;
import android.location.LocationManager;
import android.location.LocationRequest;
+import android.os.AsyncResult;
import android.os.Build;
import android.os.Bundle;
import android.os.CancellationSignal;
@@ -220,7 +221,8 @@
cleanupOnDeviceAccessControllerResources();
break;
case EVENT_CONFIG_DATA_UPDATED:
- updateSatelliteConfigData((Context) msg.obj);
+ AsyncResult ar = (AsyncResult) msg.obj;
+ updateSatelliteConfigData((Context) ar.userObj);
break;
default:
logw("SatelliteAccessControllerHandler: unexpected message code: " + msg.what);
@@ -349,8 +351,7 @@
* Update country codes, S2CellFile and satellite region allowed by ConfigUpdater
* or CarrierConfig
*/
- @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
- public void updateSatelliteConfigData(Context context) {
+ private void updateSatelliteConfigData(Context context) {
logd("updateSatelliteConfigData");
SatelliteConfig satelliteConfig = mSatelliteController.getSatelliteConfig();
diff --git a/src/com/android/services/telephony/DisconnectCauseUtil.java b/src/com/android/services/telephony/DisconnectCauseUtil.java
index 33bcfb5..d1961fd 100644
--- a/src/com/android/services/telephony/DisconnectCauseUtil.java
+++ b/src/com/android/services/telephony/DisconnectCauseUtil.java
@@ -23,12 +23,15 @@
import android.telecom.DisconnectCause;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
import android.telephony.ims.ImsReasonInfo;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.CallFailCause;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
+import com.android.internal.telephony.flags.FeatureFlags;
+import com.android.internal.telephony.flags.FeatureFlagsImpl;
import com.android.phone.ImsUtil;
import com.android.phone.PhoneGlobals;
import com.android.phone.R;
@@ -86,7 +89,7 @@
public static DisconnectCause toTelecomDisconnectCause(int telephonyDisconnectCause,
String reason, int phoneId) {
return toTelecomDisconnectCause(telephonyDisconnectCause, CallFailCause.NOT_VALID,
- reason, phoneId, null, new FlagsAdapterImpl());
+ reason, phoneId, null, new FlagsAdapterImpl(), false);
}
/**
@@ -103,7 +106,27 @@
int telephonyDisconnectCause, int telephonyPreciseDisconnectCause, String reason,
int phoneId, ImsReasonInfo imsReasonInfo, FlagsAdapter featureFlags) {
return toTelecomDisconnectCause(telephonyDisconnectCause, telephonyPreciseDisconnectCause,
- reason, phoneId, imsReasonInfo, getCarrierConfigBundle(phoneId), featureFlags);
+ reason, phoneId, imsReasonInfo, getCarrierConfigBundle(phoneId), featureFlags,
+ false);
+ }
+
+ /**
+ * Converts from a disconnect code in {@link android.telephony.DisconnectCause} into a more
+ * generic {@link android.telecom.DisconnectCause}.object, possibly populated with a localized
+ * message and tone for Slot.
+ * @param telephonyDisconnectCause The code for the reason for the disconnect.
+ * @param telephonyPreciseDisconnectCause The code for the precise reason for the disconnect.
+ * @param reason Description of the reason for the disconnect, not intended for the user to see.
+ * @param phoneId To support localized message based on phoneId
+ * @param imsReasonInfo
+ */
+ public static DisconnectCause toTelecomDisconnectCause(
+ int telephonyDisconnectCause, int telephonyPreciseDisconnectCause, String reason,
+ int phoneId, ImsReasonInfo imsReasonInfo, FlagsAdapter featureFlags,
+ boolean shouldTreatAsEmergency) {
+ return toTelecomDisconnectCause(telephonyDisconnectCause, telephonyPreciseDisconnectCause,
+ reason, phoneId, imsReasonInfo, getCarrierConfigBundle(phoneId), featureFlags,
+ shouldTreatAsEmergency);
}
/**
@@ -116,7 +139,7 @@
static DisconnectCause toTelecomDisconnectCause(
int telephonyDisconnectCause, int telephonyPreciseDisconnectCause, String reason,
int phoneId, ImsReasonInfo imsReasonInfo, PersistableBundle carrierConfig,
- FlagsAdapter featureFlags) {
+ FlagsAdapter featureFlags, boolean shouldTreatAsEmergency) {
Context context = PhoneGlobals.getInstance();
return new DisconnectCause.Builder(
@@ -124,7 +147,7 @@
.setLabel(toTelecomDisconnectCauseLabel(context, telephonyDisconnectCause,
telephonyPreciseDisconnectCause, carrierConfig, featureFlags))
.setDescription(toTelecomDisconnectCauseDescription(
- context, telephonyDisconnectCause, phoneId))
+ context, telephonyDisconnectCause, phoneId, shouldTreatAsEmergency))
.setReason(toTelecomDisconnectReason(
context, telephonyDisconnectCause, reason, phoneId))
.setTone(toTelecomDisconnectCauseTone(
@@ -633,7 +656,8 @@
* Returns a description of the disconnect cause to be shown to the user.
*/
private static CharSequence toTelecomDisconnectCauseDescription(
- Context context, int telephonyDisconnectCause, int phoneId) {
+ Context context, int telephonyDisconnectCause, int phoneId,
+ boolean shouldTreatAsEmergency) {
if (context == null ) {
return "";
}
@@ -756,14 +780,31 @@
case android.telephony.DisconnectCause.OUT_OF_SERVICE:
// No network connection.
+ FeatureFlags mFeatureFlags = new FeatureFlagsImpl();
if (ImsUtil.shouldPromoteWfc(context, phoneId)) {
resourceId = R.string.incall_error_promote_wfc;
} else if (ImsUtil.isWfcModeWifiOnly(context, phoneId)) {
resourceId = R.string.incall_error_wfc_only_no_wireless_network;
} else if (ImsUtil.isWfcEnabled(context, phoneId)) {
- resourceId = R.string.incall_error_out_of_service_wfc;
+ if (!mFeatureFlags.showCallFailNotificationFor2gToggle()) {
+ resourceId = R.string.incall_error_out_of_service_wfc;
+ break;
+ }
+ if (is2gDisabled(phoneId) && !shouldTreatAsEmergency) {
+ resourceId = R.string.incall_error_out_of_service_wfc_2g_user;
+ } else {
+ resourceId = R.string.incall_error_out_of_service_wfc;
+ }
} else {
- resourceId = R.string.incall_error_out_of_service;
+ if (!mFeatureFlags.showCallFailNotificationFor2gToggle()) {
+ resourceId = R.string.incall_error_out_of_service;
+ break;
+ }
+ if (is2gDisabled(phoneId) && !shouldTreatAsEmergency) {
+ resourceId = R.string.incall_error_out_of_service_2g;
+ } else {
+ resourceId = R.string.incall_error_out_of_service;
+ }
}
break;
@@ -986,4 +1027,18 @@
return config;
}
+ /**
+ * Returns true if 2G is disabled.
+ */
+ protected static boolean is2gDisabled(int phoneId) {
+ Phone phone = PhoneFactory.getPhone(phoneId);
+ if (phone == null) {
+ return false;
+ }
+ long bitmask2g = TelephonyManager.NETWORK_CLASS_BITMASK_2G;
+ long currentlyAllowedNetworkTypes = phone.getAllowedNetworkTypes(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G);
+ boolean is2gEnabled = (currentlyAllowedNetworkTypes & bitmask2g) != 0;
+ return !is2gEnabled;
+ }
}
diff --git a/src/com/android/services/telephony/TelecomAccountRegistry.java b/src/com/android/services/telephony/TelecomAccountRegistry.java
index a246a1c..064c69b 100644
--- a/src/com/android/services/telephony/TelecomAccountRegistry.java
+++ b/src/com/android/services/telephony/TelecomAccountRegistry.java
@@ -78,6 +78,7 @@
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.function.Predicate;
@@ -1700,6 +1701,35 @@
new AccountEntry(PhoneFactory.getDefaultPhone(), true /* emergency */,
false /* isTest */));
}
+
+ // In some very rare cases, when setting the default voice sub in
+ // SubscriptionManagerService, the phone accounts here have not yet been built.
+ // So calling setUserSelectedOutgoingPhoneAccount in SubscriptionManagerService
+ // becomes a no-op. The workaround here is to reconcile and make sure the
+ // outgoing phone account is properly set in telecom.
+ int defaultVoiceSubId = SubscriptionManager.getDefaultVoiceSubscriptionId();
+ if (SubscriptionManager.isValidSubscriptionId(defaultVoiceSubId)) {
+ PhoneAccountHandle defaultVoiceAccountHandle =
+ getPhoneAccountHandleForSubId(defaultVoiceSubId);
+ if (defaultVoiceAccountHandle != null) {
+ PhoneAccountHandle currentAccount = mTelecomManager
+ .getUserSelectedOutgoingPhoneAccount();
+ // In some rare cases, the current phone account could be non-telephony
+ // phone account. We do not override in this case.
+ boolean wasPreviousAccountSameComponentOrUnset = currentAccount == null
+ || Objects.equals(defaultVoiceAccountHandle.getComponentName(),
+ currentAccount.getComponentName());
+
+ // Set the phone account again if it's out-of-sync.
+ if (!defaultVoiceAccountHandle.equals(currentAccount)
+ && wasPreviousAccountSameComponentOrUnset) {
+ Log.d(this, "setupAccounts: Re-setup phone account "
+ + "again for default voice sub " + defaultVoiceSubId);
+ mTelecomManager.setUserSelectedOutgoingPhoneAccount(
+ defaultVoiceAccountHandle);
+ }
+ }
+ }
}
// Add a fake account entry.
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index 7749a2c..5bfad6b 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -2561,7 +2561,8 @@
preciseDisconnectCause,
mOriginalConnection.getVendorDisconnectCause(),
getPhone().getPhoneId(), imsReasonInfo,
- new FlagsAdapterImpl()));
+ new FlagsAdapterImpl(),
+ shouldTreatAsEmergencyCall()));
close();
}
break;
diff --git a/src/com/android/services/telephony/domainselection/CarrierConfigHelper.java b/src/com/android/services/telephony/domainselection/CarrierConfigHelper.java
deleted file mode 100644
index d39a6b7..0000000
--- a/src/com/android/services/telephony/domainselection/CarrierConfigHelper.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright (C) 2023 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.domainselection;
-
-import static android.telephony.AccessNetworkConstants.AccessNetworkType.NGRAN;
-import static android.telephony.CarrierConfigManager.ImsEmergency.KEY_EMERGENCY_OVER_IMS_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.content.res.Resources;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-import android.os.PersistableBundle;
-import android.os.SystemProperties;
-import android.preference.PreferenceManager;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.ArrayMap;
-import android.util.Log;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.phone.R;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/** Helper class to cache carrier configurations. */
-public class CarrierConfigHelper extends Handler {
- private static final String TAG = "CarrierConfigHelper";
- private static final boolean DBG = (SystemProperties.getInt("ro.debuggable", 0) == 1);
-
- @VisibleForTesting
- public static final String KEY_VONR_EMERGENCY_SUPPORT = "vonr_emergency_support";
-
- private final Context mContext;
- private final CarrierConfigManager mConfigManager;
- private final TelephonyManager mTelephonyManager;
- private final ArrayMap<Integer, Boolean> mVoNrSupported = new ArrayMap<>();
-
- private final CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener =
- (slotIndex, subId, carrierId, specificCarrierId) -> onCarrierConfigurationChanged(
- slotIndex, subId, carrierId);
-
- // For test purpose only
- private final SharedPreferences mSharedPreferences;
-
- private List<Integer> mIgnoreNrWhenSimRemoved = null;
-
- /**
- * Creates an instance.
- *
- * @param context The Context this is associated with.
- * @param looper The Looper to run the CarrierConfigHelper.
- */
- public CarrierConfigHelper(@NonNull Context context, @NonNull Looper looper) {
- this(context, looper, null);
- }
-
- /**
- * Creates an instance.
- *
- * @param context The Context this is associated with.
- * @param looper The Looper to run the CarrierConfigHelper.
- * @param sharedPreferences The SharedPreferences instance.
- */
- @VisibleForTesting
- public CarrierConfigHelper(@NonNull Context context, @NonNull Looper looper,
- @Nullable SharedPreferences sharedPreferences) {
- super(looper);
-
- mContext = context;
- mTelephonyManager = context.getSystemService(TelephonyManager.class);
- mConfigManager = context.getSystemService(CarrierConfigManager.class);
- mConfigManager.registerCarrierConfigChangeListener(this::post,
- mCarrierConfigChangeListener);
- mSharedPreferences = sharedPreferences;
-
- readFromSharedPreference();
- readResourceConfiguration();
- }
-
- /**
- * Returns whether VoNR emergency was supported with the last valid subscription.
- *
- * @param slotIndex The SIM slot index.
- * @return true if VoNR emergency was supported with the last valid subscription.
- * Otherwise, false.
- */
- public boolean isVoNrEmergencySupported(int slotIndex) {
- return mVoNrSupported.get(Integer.valueOf(slotIndex));
- }
-
- @Override
- public void handleMessage(Message msg) {
- switch(msg.what) {
- default:
- super.handleMessage(msg);
- break;
- }
- }
-
- private void readFromSharedPreference() {
- mVoNrSupported.clear();
- int modemCount = mTelephonyManager.getActiveModemCount();
- SharedPreferences sp = (mSharedPreferences != null) ? mSharedPreferences
- : PreferenceManager.getDefaultSharedPreferences(mContext);
- for (int i = 0; i < modemCount; i++) {
- Boolean savedConfig = Boolean.valueOf(
- sp.getBoolean(KEY_VONR_EMERGENCY_SUPPORT + i, false));
- mVoNrSupported.put(Integer.valueOf(i), savedConfig);
- Log.i(TAG, "readFromSharedPreference slot=" + i + ", " + savedConfig);
- }
- }
-
- private void onCarrierConfigurationChanged(int slotIndex, int subId, int carrierId) {
- Log.i(TAG, "onCarrierConfigurationChanged slotIndex=" + slotIndex
- + ", subId=" + subId + ", carrierId=" + carrierId);
-
- if (slotIndex < 0
- || !SubscriptionManager.isValidSubscriptionId(subId)
- || mTelephonyManager.getSimState(slotIndex) != TelephonyManager.SIM_STATE_READY) {
- return;
- }
-
- PersistableBundle b = mConfigManager.getConfigForSubId(subId,
- KEY_EMERGENCY_OVER_IMS_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY);
- if (b.isEmpty()) {
- Log.e(TAG, "onCarrierConfigurationChanged empty result");
- return;
- }
-
- if (!CarrierConfigManager.isConfigForIdentifiedCarrier(b)) {
- Log.i(TAG, "onCarrierConfigurationChanged not carrier specific configuration");
- return;
- }
-
- int[] imsRatsConfig = b.getIntArray(
- KEY_EMERGENCY_OVER_IMS_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY);
- if (imsRatsConfig == null) imsRatsConfig = new int[0];
- boolean carrierConfig = false;
- for (int i = 0; i < imsRatsConfig.length; i++) {
- if (imsRatsConfig[i] == NGRAN) {
- carrierConfig = true;
- break;
- }
- }
- if (mIgnoreNrWhenSimRemoved.contains(carrierId)) carrierConfig = false;
-
- Boolean savedConfig = mVoNrSupported.get(Integer.valueOf(slotIndex));
- if (carrierConfig == savedConfig) {
- return;
- }
-
- mVoNrSupported.put(Integer.valueOf(slotIndex), Boolean.valueOf(carrierConfig));
-
- SharedPreferences sp = (mSharedPreferences != null) ? mSharedPreferences
- : PreferenceManager.getDefaultSharedPreferences(mContext);
- SharedPreferences.Editor editor = sp.edit();
- editor.putBoolean(KEY_VONR_EMERGENCY_SUPPORT + slotIndex, carrierConfig);
- editor.apply();
-
- Log.i(TAG, "onCarrierConfigurationChanged preference updated slotIndex=" + slotIndex
- + ", supported=" + carrierConfig);
- }
-
- private void readResourceConfiguration() {
- try {
- mIgnoreNrWhenSimRemoved = Arrays.stream(mContext.getResources().getIntArray(
- R.array.config_carriers_ignore_ngran_preference_when_sim_removed))
- .boxed().collect(Collectors.toList());
- } catch (Resources.NotFoundException nfe) {
- Log.e(TAG, "readResourceConfiguration exception=" + nfe);
- } catch (NullPointerException npe) {
- Log.e(TAG, "readResourceConfiguration exception=" + npe);
- }
- if (mIgnoreNrWhenSimRemoved == null) {
- mIgnoreNrWhenSimRemoved = new ArrayList<Integer>();
- }
- Log.i(TAG, "readResourceConfiguration ignoreNrWhenSimRemoved=" + mIgnoreNrWhenSimRemoved);
- }
-
- /** Destroys the instance. */
- public void destroy() {
- if (DBG) Log.d(TAG, "destroy");
- mConfigManager.unregisterCarrierConfigChangeListener(mCarrierConfigChangeListener);
- }
-}
diff --git a/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelector.java b/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelector.java
index 962cbf1..7d7744c 100644
--- a/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelector.java
+++ b/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelector.java
@@ -211,7 +211,6 @@
private final PowerManager.WakeLock mPartialWakeLock;
private final CrossSimRedialingController mCrossSimRedialingController;
- private final CarrierConfigHelper mCarrierConfigHelper;
private final EmergencyCallbackModeHelper mEcbmHelper;
/** Constructor. */
@@ -219,7 +218,6 @@
@NonNull Looper looper, @NonNull ImsStateTracker imsStateTracker,
@NonNull DestroyListener destroyListener,
@NonNull CrossSimRedialingController csrController,
- @NonNull CarrierConfigHelper carrierConfigHelper,
@NonNull EmergencyCallbackModeHelper ecbmHelper) {
super(context, slotId, subId, looper, imsStateTracker, destroyListener, TAG);
@@ -230,7 +228,6 @@
mPartialWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
mCrossSimRedialingController = csrController;
- mCarrierConfigHelper = carrierConfigHelper;
mEcbmHelper = ecbmHelper;
acquireWakeLock();
}
@@ -532,7 +529,6 @@
b.getIntArray(KEY_EMERGENCY_OVER_IMS_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY);
mImsRoamRatsConfig = b.getIntArray(
KEY_EMERGENCY_OVER_IMS_ROAMING_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY);
- maybeModifyImsRats();
mCsRatsConfig =
b.getIntArray(KEY_EMERGENCY_OVER_CS_SUPPORTED_ACCESS_NETWORK_TYPES_INT_ARRAY);
@@ -605,16 +601,6 @@
}
}
- /** Adds NGRAN if SIM is absent or locked and the last valid subscription supported NGRAN. */
- private void maybeModifyImsRats() {
- if (mCarrierConfigHelper.isVoNrEmergencySupported(getSlotId())
- && !isSimReady() && mImsRatsConfig.length < 2) {
- // Default configuration includes only EUTRAN.
- mImsRatsConfig = new int[] { EUTRAN, NGRAN };
- mImsRoamRatsConfig = new int[] { EUTRAN, NGRAN };
- }
- }
-
/**
* Caches the resource configuration.
*/
diff --git a/src/com/android/services/telephony/domainselection/TelephonyDomainSelectionService.java b/src/com/android/services/telephony/domainselection/TelephonyDomainSelectionService.java
index d79a260..8f1a319 100644
--- a/src/com/android/services/telephony/domainselection/TelephonyDomainSelectionService.java
+++ b/src/com/android/services/telephony/domainselection/TelephonyDomainSelectionService.java
@@ -73,7 +73,6 @@
@NonNull ImsStateTracker imsStateTracker,
@NonNull DomainSelectorBase.DestroyListener listener,
@NonNull CrossSimRedialingController crossSimRedialingController,
- @NonNull CarrierConfigHelper carrierConfigHelper,
@NonNull EmergencyCallbackModeHelper emergencyCallbackModeHelper);
}
@@ -84,7 +83,6 @@
@NonNull ImsStateTracker imsStateTracker,
@NonNull DomainSelectorBase.DestroyListener listener,
@NonNull CrossSimRedialingController crossSimRedialingController,
- @NonNull CarrierConfigHelper carrierConfigHelper,
@NonNull EmergencyCallbackModeHelper emergencyCallbackModeHelper) {
DomainSelectorBase selector = null;
@@ -97,7 +95,7 @@
if (isEmergency) {
selector = new EmergencyCallDomainSelector(context, slotId, subId, looper,
imsStateTracker, listener, crossSimRedialingController,
- carrierConfigHelper, emergencyCallbackModeHelper);
+ emergencyCallbackModeHelper);
} else {
selector = new NormalCallDomainSelector(context, slotId, subId, looper,
imsStateTracker, listener);
@@ -201,23 +199,20 @@
private final DomainSelectorFactory mDomainSelectorFactory;
private Handler mServiceHandler;
private CrossSimRedialingController mCrossSimRedialingController;
- private CarrierConfigHelper mCarrierConfigHelper;
private EmergencyCallbackModeHelper mEmergencyCallbackModeHelper;
/** Default constructor. */
public TelephonyDomainSelectionService() {
- this(ImsStateTracker::new, new DefaultDomainSelectorFactory(), null, null);
+ this(ImsStateTracker::new, new DefaultDomainSelectorFactory(), null);
}
@VisibleForTesting
protected TelephonyDomainSelectionService(
@NonNull ImsStateTrackerFactory imsStateTrackerFactory,
@NonNull DomainSelectorFactory domainSelectorFactory,
- @Nullable CarrierConfigHelper carrierConfigHelper,
@Nullable EmergencyCallbackModeHelper ecbmHelper) {
mImsStateTrackerFactory = imsStateTrackerFactory;
mDomainSelectorFactory = domainSelectorFactory;
- mCarrierConfigHelper = carrierConfigHelper;
}
@Override
@@ -242,9 +237,6 @@
}
mCrossSimRedialingController = new CrossSimRedialingController(mContext, getLooper());
- if (mCarrierConfigHelper == null) {
- mCarrierConfigHelper = new CarrierConfigHelper(mContext, getLooper());
- }
if (mEmergencyCallbackModeHelper == null) {
mEmergencyCallbackModeHelper = new EmergencyCallbackModeHelper(mContext, getLooper());
}
@@ -291,11 +283,6 @@
mCrossSimRedialingController = null;
}
- if (mCarrierConfigHelper != null) {
- mCarrierConfigHelper.destroy();
- mCarrierConfigHelper = null;
- }
-
if (mEmergencyCallbackModeHelper != null) {
mEmergencyCallbackModeHelper.destroy();
mEmergencyCallbackModeHelper = null;
@@ -323,7 +310,7 @@
ImsStateTracker ist = getImsStateTracker(slotId);
DomainSelectorBase selector = mDomainSelectorFactory.create(mContext, slotId, subId,
selectorType, isEmergency, getLooper(), ist, mDestroyListener,
- mCrossSimRedialingController, mCarrierConfigHelper, mEmergencyCallbackModeHelper);
+ mCrossSimRedialingController, mEmergencyCallbackModeHelper);
if (selector != null) {
// Ensures that ImsStateTracker is started before selecting the domain if not started
diff --git a/src/com/android/services/telephony/rcs/TelephonyRcsService.java b/src/com/android/services/telephony/rcs/TelephonyRcsService.java
index f6ba40b..63753c2 100644
--- a/src/com/android/services/telephony/rcs/TelephonyRcsService.java
+++ b/src/com/android/services/telephony/rcs/TelephonyRcsService.java
@@ -33,6 +33,7 @@
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.PhoneConfigurationManager;
+import com.android.internal.telephony.flags.FeatureFlags;
import com.android.internal.telephony.metrics.RcsStats;
import com.android.internal.util.IndentingPrintWriter;
import com.android.phone.ImsStateCallbackController;
@@ -63,7 +64,8 @@
/**
* @return an instance of {@link UceControllerManager} associated with the slot specified.
*/
- UceControllerManager createUceControllerManager(Context context, int slotId, int subId);
+ UceControllerManager createUceControllerManager(Context context, int slotId, int subId,
+ FeatureFlags featureFlags);
/**
* @return an instance of {@link SipTransportController} for the slot and subscription
@@ -80,8 +82,8 @@
@Override
public UceControllerManager createUceControllerManager(Context context, int slotId,
- int subId) {
- return new UceControllerManager(context, slotId, subId);
+ int subId, FeatureFlags featureFlags) {
+ return new UceControllerManager(context, slotId, subId, featureFlags);
}
@Override
@@ -112,6 +114,7 @@
private final Context mContext;
private final Object mLock = new Object();
+ private final FeatureFlags mFeatureFlags;
private int mNumSlots;
// Maps slot ID -> RcsFeatureController.
@@ -160,23 +163,26 @@
return true;
});
- public TelephonyRcsService(Context context, int numSlots) {
+ public TelephonyRcsService(Context context, int numSlots, FeatureFlags featureFlags) {
mContext = context;
mNumSlots = numSlots;
mFeatureControllers = new SparseArray<>(numSlots);
mSlotToAssociatedSubIds = new SparseArray<>(numSlots);
mRcsUceEnabled = sResourceProxy.getDeviceUceEnabled(mContext);
+ mFeatureFlags = featureFlags;
RcsStats.getInstance().registerUceCallback();
}
@VisibleForTesting
- public TelephonyRcsService(Context context, int numSlots, ResourceProxy resourceProxy) {
+ public TelephonyRcsService(Context context, int numSlots, ResourceProxy resourceProxy,
+ FeatureFlags featureFlags) {
mContext = context;
mNumSlots = numSlots;
mFeatureControllers = new SparseArray<>(numSlots);
mSlotToAssociatedSubIds = new SparseArray<>(numSlots);
sResourceProxy = resourceProxy;
mRcsUceEnabled = sResourceProxy.getDeviceUceEnabled(mContext);
+ mFeatureFlags = featureFlags;
RcsStats.getInstance().registerUceCallback();
}
@@ -310,8 +316,8 @@
private void updateSupportedFeatures(RcsFeatureController c, int slotId, int subId) {
if (isDeviceUceEnabled() && doesSubscriptionSupportPresence(subId)) {
if (c.getFeature(UceControllerManager.class) == null) {
- c.addFeature(mFeatureFactory.createUceControllerManager(mContext, slotId, subId),
- UceControllerManager.class);
+ c.addFeature(mFeatureFactory.createUceControllerManager(
+ mContext, slotId, subId, mFeatureFlags), UceControllerManager.class);
}
} else {
if (c.getFeature(UceControllerManager.class) != null) {
diff --git a/src/com/android/services/telephony/rcs/UceControllerManager.java b/src/com/android/services/telephony/rcs/UceControllerManager.java
index 02ae048..b7e12a3 100644
--- a/src/com/android/services/telephony/rcs/UceControllerManager.java
+++ b/src/com/android/services/telephony/rcs/UceControllerManager.java
@@ -32,6 +32,7 @@
import com.android.ims.RcsFeatureManager;
import com.android.ims.rcs.uce.UceController;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.flags.FeatureFlags;
import java.io.PrintWriter;
import java.util.List;
@@ -53,15 +54,17 @@
private final int mSlotId;
private final Context mContext;
private final ExecutorService mExecutorService;
+ private final FeatureFlags mFeatureFlags;
private volatile @Nullable UceController mUceController;
private volatile @Nullable RcsFeatureManager mRcsFeatureManager;
- public UceControllerManager(Context context, int slotId, int subId) {
+ public UceControllerManager(Context context, int slotId, int subId, FeatureFlags featureFlags) {
Log.d(LOG_TAG, "create: slotId=" + slotId + ", subId=" + subId);
mSlotId = slotId;
mContext = context;
mExecutorService = Executors.newSingleThreadExecutor();
+ mFeatureFlags = featureFlags;
initUceController(subId);
}
@@ -70,11 +73,12 @@
*/
@VisibleForTesting
public UceControllerManager(Context context, int slotId, ExecutorService executor,
- UceController uceController) {
+ UceController uceController, FeatureFlags featureFlags) {
mSlotId = slotId;
mContext = context;
mExecutorService = executor;
mUceController = uceController;
+ mFeatureFlags = featureFlags;
}
@Override
@@ -440,7 +444,7 @@
if (mUceController == null) {
// Create new UceController only when the subscription ID is valid.
if (SubscriptionManager.isValidSubscriptionId(newSubId)) {
- mUceController = new UceController(mContext, newSubId);
+ mUceController = new UceController(mContext, newSubId, mFeatureFlags);
}
} else if (mUceController.getSubId() != newSubId) {
// The subscription ID is updated. Remove the old UceController instance.
@@ -448,7 +452,7 @@
mUceController = null;
// Create new UceController only when the subscription ID is valid.
if (SubscriptionManager.isValidSubscriptionId(newSubId)) {
- mUceController = new UceController(mContext, newSubId);
+ mUceController = new UceController(mContext, newSubId, mFeatureFlags);
}
}
}
diff --git a/tests/src/com/android/phone/PhoneInterfaceManagerTest.java b/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
index 2d338f2..6227e32 100644
--- a/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
+++ b/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
@@ -23,6 +23,8 @@
import static org.junit.Assert.fail;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doThrow;
@@ -32,6 +34,7 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.app.AppOpsManager;
import android.compat.testing.PlatformCompatChangeRule;
import android.content.Context;
import android.content.SharedPreferences;
@@ -90,6 +93,9 @@
@Mock
private SubscriptionManagerService mSubscriptionManagerService;
+ @Mock
+ private AppOpsManager mAppOps;
+
@Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
@Before
@@ -117,6 +123,8 @@
doReturn(false).when(mFeatureFlags).enforceTelephonyFeatureMappingForPublicApis();
mPhoneInterfaceManager.setPackageManager(mPackageManager);
doReturn(true).when(mPackageManager).hasSystemFeature(anyString());
+
+ mPhoneInterfaceManager.setAppOpsManager(mAppOps);
}
@Test
@@ -422,37 +430,18 @@
public void notifyEnableDataWithAppOps_enableByUser_doNoteOp() {
mSetFlagsRule.enableFlags(Flags.FLAG_OP_ENABLE_MOBILE_DATA_BY_USER);
String packageName = "INVALID_PACKAGE";
- String error = "";
- try {
- mPhoneInterfaceManager.setDataEnabledForReason(1,
- TelephonyManager.DATA_ENABLED_REASON_USER, true, packageName);
- } catch (SecurityException expected) {
- // The test doesn't have access to note the op, but we're just interested that it makes
- // the attempt.
- error = expected.getMessage();
- }
-
- String appop = "ENABLE_MOBILE_DATA_BY_USER";
- assertTrue("expected error to contain " + packageName + " but it didn't: " + error,
- error.contains(packageName));
- assertTrue("expected error to contain " + appop + " but it didn't: " + error,
- error.contains(appop));
+ mPhoneInterfaceManager.setDataEnabledForReason(1,
+ TelephonyManager.DATA_ENABLED_REASON_USER, true, packageName);
+ verify(mAppOps).noteOpNoThrow(eq(AppOpsManager.OPSTR_ENABLE_MOBILE_DATA_BY_USER), anyInt(),
+ eq(packageName), isNull(), isNull());
}
@Test
public void notifyEnableDataWithAppOps_enableByCarrier_doNotNoteOp() {
mSetFlagsRule.enableFlags(Flags.FLAG_OP_ENABLE_MOBILE_DATA_BY_USER);
String packageName = "INVALID_PACKAGE";
- String error = "";
- try {
- mPhoneInterfaceManager.setDataEnabledForReason(1,
- TelephonyManager.DATA_ENABLED_REASON_CARRIER, true, packageName);
- } catch (SecurityException expected) {
- // The test doesn't have access to note the op, but we're just interested that it makes
- // the attempt.
- error = expected.getMessage();
- }
- assertEquals("Expected error to be empty, was " + error, error, "");
+ verify(mAppOps, never()).noteOpNoThrow(eq(AppOpsManager.OPSTR_ENABLE_MOBILE_DATA_BY_USER),
+ anyInt(), eq(packageName), isNull(), isNull());
}
@Test
diff --git a/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java b/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java
index e6f70aa..045cc1d 100644
--- a/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java
+++ b/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessControllerTest.java
@@ -21,9 +21,12 @@
import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_REQUEST_NOT_SUPPORTED;
import static android.telephony.satellite.SatelliteManager.SATELLITE_RESULT_SUCCESS;
+import static com.android.phone.satellite.accesscontrol.SatelliteAccessController.EVENT_CONFIG_DATA_UPDATED;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.ArgumentMatchers.any;
@@ -46,10 +49,13 @@
import android.location.Location;
import android.location.LocationManager;
import android.location.LocationRequest;
+import android.os.AsyncResult;
import android.os.Bundle;
import android.os.CancellationSignal;
+import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
+import android.os.Message;
import android.os.ResultReceiver;
import android.telecom.TelecomManager;
import android.testing.TestableLooper;
@@ -128,12 +134,20 @@
private TestableLooper mTestableLooper;
private Phone[] mPhones;
private TestSatelliteAccessController mSatelliteAccessControllerUT;
+
@Captor
private ArgumentCaptor<CancellationSignal> mLocationRequestCancellationSignalCaptor;
@Captor
private ArgumentCaptor<Consumer<Location>> mLocationRequestConsumerCaptor;
@Captor
private ArgumentCaptor<ResultReceiver> mResultReceiverFromSatelliteControllerCaptor;
+ @Captor
+ private ArgumentCaptor<Handler> mConfigUpdateHandlerCaptor;
+ @Captor
+ private ArgumentCaptor<Integer> mConfigUpdateIntCaptor;
+ @Captor
+ private ArgumentCaptor<Object> mConfigUpdateObjectCaptor;
+
private boolean mQueriedSatelliteAllowed = false;
private int mQueriedSatelliteAllowedResultCode = SATELLITE_RESULT_SUCCESS;
private Semaphore mSatelliteAllowedSemaphore = new Semaphore(0);
@@ -542,11 +556,20 @@
@Test
public void testUpdateSatelliteConfigData() {
+ verify(mMockSatelliteController).registerForConfigUpdateChanged(
+ mConfigUpdateHandlerCaptor.capture(), mConfigUpdateIntCaptor.capture(),
+ mConfigUpdateObjectCaptor.capture());
+
+ assertSame(mConfigUpdateHandlerCaptor.getValue(), mSatelliteAccessControllerUT);
+ assertSame(mConfigUpdateIntCaptor.getValue(), EVENT_CONFIG_DATA_UPDATED);
+ assertSame(mConfigUpdateObjectCaptor.getValue(), mMockContext);
+
// Verify the case when the configParser is not exist.
SatelliteConfigParser spyConfigParserNull =
spy(new SatelliteConfigParser((byte[]) null));
doReturn(spyConfigParserNull).when(mMockSatelliteController).getSatelliteConfigParser();
- mSatelliteAccessControllerUT.updateSatelliteConfigData(mMockContext);
+
+ sendConfigUpdateChangedEvent(mMockContext);
assertNull(spyConfigParserNull.getConfig());
@@ -554,7 +577,8 @@
SatelliteConfigParser spyConfigParserEmpty =
spy(new SatelliteConfigParser("test".getBytes()));
doReturn(spyConfigParserEmpty).when(mMockSatelliteController).getSatelliteConfigParser();
- mSatelliteAccessControllerUT.updateSatelliteConfigData(mMockContext);
+
+ sendConfigUpdateChangedEvent(mMockContext);
assertNull(spyConfigParserEmpty.getConfig());
@@ -570,12 +594,20 @@
doReturn(targetSatS2FilePath).when(mockSatelliteConfig).getSatelliteS2CellFile(any());
doReturn(mockSatelliteConfig).when(mMockSatelliteController).getSatelliteConfig();
- mSatelliteAccessControllerUT.updateSatelliteConfigData(mMockContext);
+ sendConfigUpdateChangedEvent(mMockContext);
+
verify(mockSatelliteConfig, times(0)).getDeviceSatelliteCountryCodes();
verify(mockSatelliteConfig, times(0)).isSatelliteDataForAllowedRegion();
verify(mockSatelliteConfig, times(2)).getSatelliteS2CellFile(any());
}
+ private void sendConfigUpdateChangedEvent(Context context) {
+ Message msg = mSatelliteAccessControllerUT.obtainMessage(EVENT_CONFIG_DATA_UPDATED);
+ msg.obj = new AsyncResult(context, SATELLITE_RESULT_SUCCESS, null);
+ msg.sendToTarget();
+ mTestableLooper.processAllMessages();
+ }
+
private void clearAllInvocations() {
clearInvocations(mMockSatelliteController);
clearInvocations(mMockSatelliteOnDeviceAccessController);
diff --git a/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java b/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
index e5f7fd3..71a23e6 100644
--- a/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
+++ b/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
@@ -152,7 +152,8 @@
android.telecom.DisconnectCause tcCause =
DisconnectCauseUtil.toTelecomDisconnectCause(
DisconnectCause.BUSY, -1 /* precise label is NOT given */,
- EMPTY_STRING, PHONE_ID, null, getBundleWithBusyToneArray(), mFeatureFlags);
+ EMPTY_STRING, PHONE_ID, null, getBundleWithBusyToneArray(), mFeatureFlags,
+ false);
assertBusyCauseWithTargetLabel(R.string.callFailed_userBusy, tcCause);
}
@@ -170,7 +171,8 @@
android.telecom.DisconnectCause tcCause =
DisconnectCauseUtil.toTelecomDisconnectCause(DisconnectCause.BUSY,
CallFailCause.USER_BUSY /* Telephony defined a precise label */,
- EMPTY_STRING, PHONE_ID, null, getBundleWithBusyToneArray(), mFeatureFlags);
+ EMPTY_STRING, PHONE_ID, null, getBundleWithBusyToneArray(), mFeatureFlags,
+ false);
// Note: The precise label should not be overridden even though the carrier defined
// the cause to play a busy tone
assertBusyCauseWithTargetLabel(R.string.clh_callFailed_user_busy_txt, tcCause);
diff --git a/tests/src/com/android/services/telephony/domainselection/CarrierConfigHelperTest.java b/tests/src/com/android/services/telephony/domainselection/CarrierConfigHelperTest.java
deleted file mode 100644
index 8f51dab..0000000
--- a/tests/src/com/android/services/telephony/domainselection/CarrierConfigHelperTest.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Copyright (C) 2023 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.domainselection;
-
-import static android.telephony.AccessNetworkConstants.AccessNetworkType.EUTRAN;
-import static android.telephony.AccessNetworkConstants.AccessNetworkType.NGRAN;
-import static android.telephony.CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL;
-import static android.telephony.CarrierConfigManager.ImsEmergency.KEY_EMERGENCY_OVER_IMS_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY;
-
-import static junit.framework.Assert.assertFalse;
-import static junit.framework.Assert.assertTrue;
-import static junit.framework.Assert.assertNotNull;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.verify;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.content.res.Resources;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.testing.TestableLooper;
-import android.util.Log;
-
-import com.android.TestContext;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.concurrent.Executor;
-
-/**
- * Unit tests for CarrierConfigHelper
- */
-public class CarrierConfigHelperTest {
- private static final String TAG = "CarrierConfigHelperTest";
-
- private static final int SLOT_0 = 0;
- private static final int SLOT_1 = 1;
- private static final int SUB_1 = 1;
- private static final int TEST_SIM_CARRIER_ID = 1911;
-
- @Mock private SharedPreferences mSharedPreferences;
- @Mock private SharedPreferences.Editor mEditor;
- @Mock private Resources mResources;
-
- private Context mContext;
- private HandlerThread mHandlerThread;
- private TestableLooper mLooper;
- private CarrierConfigHelper mCarrierConfigHelper;
- private CarrierConfigManager mCarrierConfigManager;
- private TelephonyManager mTelephonyManager;
-
- @Before
- public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
- mContext = new TestContext() {
- @Override
- public String getSystemServiceName(Class<?> serviceClass) {
- if (serviceClass == TelephonyManager.class) {
- return Context.TELEPHONY_SERVICE;
- } else if (serviceClass == CarrierConfigManager.class) {
- return Context.CARRIER_CONFIG_SERVICE;
- }
- return super.getSystemServiceName(serviceClass);
- }
-
- @Override
- public String getOpPackageName() {
- return "";
- }
-
- @Override
- public Resources getResources() {
- return mResources;
- }
- };
-
- if (Looper.myLooper() == null) {
- Looper.prepare();
- }
-
- mHandlerThread = new HandlerThread("CarrierConfigHelperTest");
- mHandlerThread.start();
-
- try {
- mLooper = new TestableLooper(mHandlerThread.getLooper());
- } catch (Exception e) {
- logd("Unable to create looper from handler.");
- }
-
- doReturn(mEditor).when(mSharedPreferences).edit();
-
- mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
- mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
- doReturn(2).when(mTelephonyManager).getActiveModemCount();
- doReturn(TelephonyManager.SIM_STATE_READY)
- .when(mTelephonyManager).getSimState(anyInt());
-
- doReturn(new int[] { TEST_SIM_CARRIER_ID }).when(mResources).getIntArray(anyInt());
-
- mCarrierConfigHelper = new CarrierConfigHelper(mContext, mHandlerThread.getLooper(),
- mSharedPreferences);
- }
-
- @After
- public void tearDown() throws Exception {
- if (mCarrierConfigHelper != null) {
- mCarrierConfigHelper.destroy();
- mCarrierConfigHelper = null;
- }
-
- if (mLooper != null) {
- mLooper.destroy();
- mLooper = null;
- }
- }
-
- @Test
- public void testInit() throws Exception {
- ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener> callbackCaptor =
- ArgumentCaptor.forClass(CarrierConfigManager.CarrierConfigChangeListener.class);
- ArgumentCaptor<Executor> executorCaptor = ArgumentCaptor.forClass(Executor.class);
-
- verify(mCarrierConfigManager).registerCarrierConfigChangeListener(executorCaptor.capture(),
- callbackCaptor.capture());
- assertNotNull(executorCaptor.getValue());
- assertNotNull(callbackCaptor.getValue());
- assertFalse(mCarrierConfigHelper.isVoNrEmergencySupported(SLOT_0));
- }
-
- @Test
- public void testCarrierConfigNotApplied() throws Exception {
- ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener> callbackCaptor =
- ArgumentCaptor.forClass(CarrierConfigManager.CarrierConfigChangeListener.class);
-
- verify(mCarrierConfigManager).registerCarrierConfigChangeListener(any(),
- callbackCaptor.capture());
-
- CarrierConfigManager.CarrierConfigChangeListener callback = callbackCaptor.getValue();
-
- assertNotNull(callback);
-
- // NR is included but carrier config is not applied.
- PersistableBundle b = getPersistableBundle(new int[] { EUTRAN, NGRAN }, false);
- doReturn(b).when(mCarrierConfigManager).getConfigForSubId(anyInt(), anyString());
- callback.onCarrierConfigChanged(SLOT_0, SUB_1, 0, 0);
-
- assertFalse(mCarrierConfigHelper.isVoNrEmergencySupported(SLOT_0));
- }
-
- @Test
- public void testCarrierConfigApplied() throws Exception {
- ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener> callbackCaptor =
- ArgumentCaptor.forClass(CarrierConfigManager.CarrierConfigChangeListener.class);
-
- verify(mCarrierConfigManager).registerCarrierConfigChangeListener(any(),
- callbackCaptor.capture());
-
- CarrierConfigManager.CarrierConfigChangeListener callback = callbackCaptor.getValue();
-
- assertNotNull(callback);
-
- // NR is included and carrier config is applied.
- PersistableBundle b = getPersistableBundle(new int[] { EUTRAN, NGRAN }, true);
- doReturn(b).when(mCarrierConfigManager).getConfigForSubId(anyInt(), anyString());
- callback.onCarrierConfigChanged(SLOT_0, SUB_1, 0, 0);
-
- assertTrue(mCarrierConfigHelper.isVoNrEmergencySupported(SLOT_0));
- assertFalse(mCarrierConfigHelper.isVoNrEmergencySupported(SLOT_1));
-
- verify(mEditor).putBoolean(eq(CarrierConfigHelper.KEY_VONR_EMERGENCY_SUPPORT + SLOT_0),
- eq(true));
-
- // NR is not included and carrier config is applied.
- b = getPersistableBundle(new int[] { EUTRAN }, true);
- doReturn(b).when(mCarrierConfigManager).getConfigForSubId(anyInt(), anyString());
- callback.onCarrierConfigChanged(SLOT_0, SUB_1, 0, 0);
-
- assertFalse(mCarrierConfigHelper.isVoNrEmergencySupported(SLOT_0));
-
- verify(mEditor).putBoolean(eq(CarrierConfigHelper.KEY_VONR_EMERGENCY_SUPPORT + SLOT_0),
- eq(false));
- }
-
- @Test
- public void testCarrierConfigInvalidSubId() throws Exception {
- ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener> callbackCaptor =
- ArgumentCaptor.forClass(CarrierConfigManager.CarrierConfigChangeListener.class);
-
- verify(mCarrierConfigManager).registerCarrierConfigChangeListener(any(),
- callbackCaptor.capture());
-
- CarrierConfigManager.CarrierConfigChangeListener callback = callbackCaptor.getValue();
-
- assertNotNull(callback);
-
- // NR is included and carrier config is applied.
- PersistableBundle b = getPersistableBundle(new int[] { EUTRAN, NGRAN }, true);
- doReturn(b).when(mCarrierConfigManager).getConfigForSubId(anyInt(), anyString());
-
- // Invalid subscription
- callback.onCarrierConfigChanged(SLOT_0, SubscriptionManager.INVALID_SUBSCRIPTION_ID, 0, 0);
-
- assertFalse(mCarrierConfigHelper.isVoNrEmergencySupported(SLOT_0));
- }
-
- @Test
- public void testRestoreFromSharedPreferences() throws Exception {
- doReturn(true).when(mSharedPreferences).getBoolean(anyString(), anyBoolean());
- mCarrierConfigHelper = new CarrierConfigHelper(mContext, mHandlerThread.getLooper(),
- mSharedPreferences);
-
- assertTrue(mCarrierConfigHelper.isVoNrEmergencySupported(SLOT_0));
- }
-
- @Test
- public void testCarrierIgnoreNrWhenSimRemoved() throws Exception {
- ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener> callbackCaptor =
- ArgumentCaptor.forClass(CarrierConfigManager.CarrierConfigChangeListener.class);
-
- verify(mCarrierConfigManager).registerCarrierConfigChangeListener(any(),
- callbackCaptor.capture());
-
- CarrierConfigManager.CarrierConfigChangeListener callback = callbackCaptor.getValue();
-
- assertNotNull(callback);
-
- // NR is included and carrier config for TEST SIM is applied.
- PersistableBundle b = getPersistableBundle(new int[] { EUTRAN, NGRAN }, true);
- doReturn(b).when(mCarrierConfigManager).getConfigForSubId(anyInt(), anyString());
- callback.onCarrierConfigChanged(SLOT_0, SUB_1, TEST_SIM_CARRIER_ID, 0);
-
- // NR is ignored.
- assertFalse(mCarrierConfigHelper.isVoNrEmergencySupported(SLOT_0));
- assertFalse(mCarrierConfigHelper.isVoNrEmergencySupported(SLOT_1));
- }
-
- private static PersistableBundle getPersistableBundle(int[] imsRats, boolean applied) {
- PersistableBundle bundle = new PersistableBundle();
- bundle.putIntArray(KEY_EMERGENCY_OVER_IMS_SUPPORTED_3GPP_NETWORK_TYPES_INT_ARRAY, imsRats);
- bundle.putBoolean(KEY_CARRIER_CONFIG_APPLIED_BOOL, applied);
- return bundle;
- }
-
- private static void logd(String str) {
- Log.d(TAG, str);
- }
-}
diff --git a/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java b/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java
index 0735c3f..c8546bf 100644
--- a/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java
+++ b/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java
@@ -155,7 +155,6 @@
@Mock private DomainSelectorBase.DestroyListener mDestroyListener;
@Mock private ProvisioningManager mProvisioningManager;
@Mock private CrossSimRedialingController mCsrdCtrl;
- @Mock private CarrierConfigHelper mCarrierConfigHelper;
@Mock private EmergencyCallbackModeHelper mEcbmHelper;
@Mock private Resources mResources;
@@ -2700,34 +2699,6 @@
}
@Test
- public void testSimLockScanPsPreferredWithNr() throws Exception {
- createSelector(SLOT_0_SUB_ID);
- unsolBarringInfoChanged(false);
-
- // The last valid subscription supported NR.
- doReturn(true).when(mCarrierConfigHelper).isVoNrEmergencySupported(eq(SLOT_0));
- when(mTelephonyManager.getSimState(anyInt())).thenReturn(
- TelephonyManager.SIM_STATE_PIN_REQUIRED);
-
- EmergencyRegistrationResult regResult = getEmergencyRegResult(
- UNKNOWN, REGISTRATION_STATE_UNKNOWN, 0, false, false, 0, 0, "", "");
- SelectionAttributes attr = getSelectionAttributes(SLOT_0, SLOT_0_SUB_ID, regResult);
- mDomainSelector.selectDomain(attr, mTransportSelectorCallback);
- processAllMessages();
-
- bindImsServiceUnregistered();
- processAllMessages();
-
- verify(mWwanSelectorCallback, times(1)).onRequestEmergencyNetworkScan(
- any(), anyInt(), anyBoolean(), any(), any());
- assertEquals(4, mAccessNetwork.size());
- assertEquals(EUTRAN, (int) mAccessNetwork.get(0));
- assertEquals(NGRAN, (int) mAccessNetwork.get(1));
- assertEquals(UTRAN, (int) mAccessNetwork.get(2));
- assertEquals(GERAN, (int) mAccessNetwork.get(3));
- }
-
- @Test
public void testSimLockScanPsPreferredWithNrAtTheEnd() throws Exception {
createSelector(SLOT_0_SUB_ID);
unsolBarringInfoChanged(false);
@@ -2778,33 +2749,6 @@
}
@Test
- public void testInvalidSubscriptionScanPsPreferredWithNr() throws Exception {
- createSelector(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
- unsolBarringInfoChanged(false);
-
- // The last valid subscription supported NR.
- doReturn(true).when(mCarrierConfigHelper).isVoNrEmergencySupported(eq(SLOT_0));
-
- EmergencyRegistrationResult regResult = getEmergencyRegResult(
- UNKNOWN, REGISTRATION_STATE_UNKNOWN, 0, false, false, 0, 0, "", "");
- SelectionAttributes attr = getSelectionAttributes(SLOT_0,
- SubscriptionManager.INVALID_SUBSCRIPTION_ID, regResult);
- mDomainSelector.selectDomain(attr, mTransportSelectorCallback);
- processAllMessages();
-
- bindImsServiceUnregistered();
- processAllMessages();
-
- verify(mWwanSelectorCallback, times(1)).onRequestEmergencyNetworkScan(
- any(), anyInt(), anyBoolean(), any(), any());
- assertEquals(4, mAccessNetwork.size());
- assertEquals(EUTRAN, (int) mAccessNetwork.get(0));
- assertEquals(NGRAN, (int) mAccessNetwork.get(1));
- assertEquals(UTRAN, (int) mAccessNetwork.get(2));
- assertEquals(GERAN, (int) mAccessNetwork.get(3));
- }
-
- @Test
public void testDefaultLimitedServiceEutran() throws Exception {
createSelector(SLOT_0_SUB_ID);
unsolBarringInfoChanged(false);
@@ -3230,7 +3174,7 @@
private void createSelector(int subId) throws Exception {
mDomainSelector = new EmergencyCallDomainSelector(
mContext, SLOT_0, subId, mHandlerThread.getLooper(),
- mImsStateTracker, mDestroyListener, mCsrdCtrl, mCarrierConfigHelper, mEcbmHelper);
+ mImsStateTracker, mDestroyListener, mCsrdCtrl, mEcbmHelper);
mDomainSelector.clearResourceConfiguration();
replaceInstance(DomainSelectorBase.class,
"mWwanSelectorCallback", mDomainSelector, mWwanSelectorCallback);
diff --git a/tests/src/com/android/services/telephony/domainselection/TelephonyDomainSelectionServiceTest.java b/tests/src/com/android/services/telephony/domainselection/TelephonyDomainSelectionServiceTest.java
index e0f7ffb..40a4616 100644
--- a/tests/src/com/android/services/telephony/domainselection/TelephonyDomainSelectionServiceTest.java
+++ b/tests/src/com/android/services/telephony/domainselection/TelephonyDomainSelectionServiceTest.java
@@ -82,7 +82,6 @@
@NonNull Looper looper, @NonNull ImsStateTracker imsStateTracker,
@NonNull DomainSelectorBase.DestroyListener listener,
@NonNull CrossSimRedialingController crossSimRedialingController,
- @NonNull CarrierConfigHelper carrierConfigHelper,
@NonNull EmergencyCallbackModeHelper ecbmHelper) {
switch (selectorType) {
case DomainSelectionService.SELECTOR_TYPE_CALLING: // fallthrough
@@ -105,9 +104,8 @@
TestTelephonyDomainSelectionService(Context context,
@NonNull ImsStateTrackerFactory imsStateTrackerFactory,
@NonNull DomainSelectorFactory domainSelectorFactory,
- @Nullable CarrierConfigHelper carrierConfigHelper,
@Nullable EmergencyCallbackModeHelper ecbmHelper) {
- super(imsStateTrackerFactory, domainSelectorFactory, carrierConfigHelper, ecbmHelper);
+ super(imsStateTrackerFactory, domainSelectorFactory, ecbmHelper);
mContext = context;
}
@@ -131,7 +129,6 @@
@Mock private TransportSelectorCallback mSelectorCallback1;
@Mock private TransportSelectorCallback mSelectorCallback2;
@Mock private ImsStateTracker mImsStateTracker;
- @Mock private CarrierConfigHelper mCarrierConfigHelper;
@Mock private EmergencyCallbackModeHelper mEcbmHelper;
private final ServiceState mServiceState = new ServiceState();
@@ -154,7 +151,7 @@
mContext = new TestContext();
mDomainSelectionService = new TestTelephonyDomainSelectionService(mContext,
- mImsStateTrackerFactory, mDomainSelectorFactory, mCarrierConfigHelper, mEcbmHelper);
+ mImsStateTrackerFactory, mDomainSelectorFactory, mEcbmHelper);
mDomainSelectionService.onCreate();
mServiceHandler = new Handler(mDomainSelectionService.getLooper());
mTestableLooper = new TestableLooper(mDomainSelectionService.getLooper());
diff --git a/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java b/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java
index d575d77..4cabf95 100644
--- a/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java
+++ b/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java
@@ -39,6 +39,7 @@
import com.android.ims.FeatureConnector;
import com.android.ims.RcsFeatureManager;
import com.android.internal.telephony.ISub;
+import com.android.internal.telephony.flags.FeatureFlags;
import org.junit.After;
import org.junit.Before;
@@ -68,6 +69,8 @@
@Mock
private TelephonyManager mTelephonyManager;
+ @Mock FeatureFlags mFeatureFlags;
+
private RcsFeatureController mFeatureControllerSlot0;
private RcsFeatureController mFeatureControllerSlot1;
@@ -91,9 +94,9 @@
doReturn(mFeatureControllerSlot1).when(mFeatureFactory).createController(any(), eq(1),
anyInt());
doReturn(mMockUceSlot0).when(mFeatureFactory).createUceControllerManager(any(), eq(0),
- anyInt());
+ anyInt(), any());
doReturn(mMockUceSlot1).when(mFeatureFactory).createUceControllerManager(any(), eq(1),
- anyInt());
+ anyInt(), any());
doReturn(mMockSipTransportSlot0).when(mFeatureFactory).createSipTransportController(any(),
eq(0), anyInt());
doReturn(mMockSipTransportSlot1).when(mFeatureFactory).createSipTransportController(any(),
@@ -363,7 +366,8 @@
}
private TelephonyRcsService createRcsService(int numSlots) {
- TelephonyRcsService service = new TelephonyRcsService(mContext, numSlots, mResourceProxy);
+ TelephonyRcsService service = new TelephonyRcsService(mContext, numSlots, mResourceProxy,
+ mFeatureFlags);
service.setFeatureFactory(mFeatureFactory);
service.initialize();
verify(mContext).registerReceiver(mReceiverCaptor.capture(), any());
diff --git a/tests/src/com/android/services/telephony/rcs/UceControllerManagerTest.java b/tests/src/com/android/services/telephony/rcs/UceControllerManagerTest.java
index 17decb9..e506931 100644
--- a/tests/src/com/android/services/telephony/rcs/UceControllerManagerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/UceControllerManagerTest.java
@@ -35,6 +35,7 @@
import com.android.TestExecutorService;
import com.android.ims.RcsFeatureManager;
import com.android.ims.rcs.uce.UceController;
+import com.android.internal.telephony.flags.FeatureFlags;
import org.junit.After;
import org.junit.Before;
@@ -52,6 +53,7 @@
@Mock private UceController mUceController;
@Mock private RcsFeatureManager mRcsFeatureManager;
+ @Mock private FeatureFlags mFeatureFlags;
private final ExecutorService mExecutorService = new TestExecutorService();
@@ -260,7 +262,7 @@
private UceControllerManager getUceControllerManager() {
UceControllerManager manager = new UceControllerManager(mContext, mSlotId,
- mExecutorService, mUceController);
+ mExecutorService, mUceController, mFeatureFlags);
return manager;
}
}