Merge "SliceStore initialization get Looper from Phone"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index d7ac977..955929e 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Jou bluetooth-sein is swak. Probeer om na luidsprekerfoon oor te skakel."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Kennisgewing oor oproepgehalte"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Opgeskorte SIP-rekeninge"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 216119a..5137085 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"የእርስዎ የብሉቱዝ ሲግናል ደካማ ነው። ወደ የስልክ ድምፅ ማጉያ ለመቀየር ይሞክሩ።"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"የጥሪ ጥራት ማሳወቂያ"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"የተቋረጡ የSIP መለያዎች"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index bc3f6ba..01799a9 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"إشارة البلوتوث ضعيفة. حاوِل التبديل إلى مكبّر الصوت."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"إشعار بشأن جودة المكالمة"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"حسابات SIP المتوقّفة"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index d589efc..aab6884 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"আপোনাৰ ব্লুটুথৰ ছিগনেল দুৰ্বল। স্পীকাৰফ’নলৈ সলনি কৰি চাওক।"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"কলৰ গুণগত মানৰ জাননী"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"বন্ধ হৈ যোৱা SIP একাউণ্ট"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 741af90..479738f 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth siqnalı zəifdir. Telefon spikerinə keçin."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Zəng keyfiyyəti bildirişi"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Ləğv edilmiş SIP hesabları"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 4fc24d3..9815d95 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth signal je slab. Probajte da pređete na spikerfon."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Obaveštenje o kvalitetu poziva"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Zastareli SIP nalozi"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 0bba19c..188e778 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Сігнал Bluetooth слабы. Паспрабуйце пераключыцца на гучную сувязь."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Апавяшчэнне пра якасць выкліку"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Састарэлыя ўліковыя запісы SIP"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 1491c1d..9426c5c 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Сигналът ви за Bluetooth е слаб. Опитайте да превключите на високоговорител."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Известия за качеството на обаждането"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Оттеглени профили за SIP"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index ff9c2b1..4054d88 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"আপনার ডিভাইসের ব্লুটুথ সিগনাল ভাল না। বদল করে স্পিকারফোন বেছে নিন।"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"ফোন কলের কোয়ালিটি সংক্রান্ত বিজ্ঞপ্তি"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"পুরনো SIP অ্যাকাউন্ট"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index ce7fa08..c0bb458 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Vaš Bluetooth signal je slab. Pokušajte prebaciti na zvučnik."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Obavještenje o kvalitetu poziva"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Zastarjeli SIP računi"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 0c1fccc..6b18654 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"El senyal del Bluetooth és feble. Fes servir l\'altaveu."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notificació sobre la qualitat de la trucada"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Comptes SIP obsolets"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index f96c36c..fc63e25 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Signál sítě Bluetooth je slabý. Zkuste přepnout na hlasitý odposlech."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Oznámení o kvalitě hovoru"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Zastaralé účty SIP"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index bf7d314..c41d548 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Dit Bluetooth-signal er svagt. Prøv at skifte til medhør."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notifikation om opkaldskvalitet"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Udfasede SIP-konti"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 240ae31..2594f47 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Das Bluetooth-Signal ist schwach. Verwende die Freisprechfunktion."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Benachrichtigung zu Anrufqualität"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Eingestellte SIP-Konten"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 727b473..6af4940 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Το σήμα bluetooth είναι ασθενές. Δοκιμάστε να αλλάξετε σε ανοιχτή ακρόαση."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Ειδοποίηση ποιότητας κλήσης"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Καταργημένοι λογαριασμοί SIP"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 5dde79d..dc357ae 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Your Bluetooth signal is weak. Try switching to speakerphone."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Call quality notification"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Deprecated SIP accounts"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index ef449c4..b861ae4 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Your Bluetooth signal is weak. Try switching to speakerphone."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Call quality notification"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Deprecated SIP accounts"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 5dde79d..dc357ae 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Your Bluetooth signal is weak. Try switching to speakerphone."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Call quality notification"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Deprecated SIP accounts"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 5dde79d..dc357ae 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Your Bluetooth signal is weak. Try switching to speakerphone."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Call quality notification"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Deprecated SIP accounts"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index bf87dbf..2284c44 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -920,9 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Your bluetooth signal is weak. Try switching to speakerphone."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Call Quality Notification"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Deprecated SIP accounts"</string>
- <string name="network_boost_notification_channel" msgid="6145599461080341442">"Network Boost"</string>
- <string name="network_boost_notification_title" msgid="131686574937713484">"%s recommends a data boost"</string>
- <string name="network_boost_notification_detail" msgid="1974754783765469505">"Buy a network boost for better performance"</string>
- <string name="network_boost_notification_button_delay" msgid="5925240423743432175">"Not now"</string>
- <string name="network_boost_notification_button_manage" msgid="7715960210252266573">"Manage"</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index abc6153..f8e97eb 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Tu señal de Bluetooth es débil. Intenta cambiar al altavoz."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notificación de calidad de llamada"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Cuentas SIP obsoletas"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index b0e7a98..b447036 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Tu señal de Bluetooth es débil. Prueba a cambiar al altavoz."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notificación de calidad de la llamada"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Cuentas SIP obsoletas"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index b757efe..c458160 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Teie Bluetoothi signaal on nõrk. Lülitage valjuhääldile."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Kõnekvaliteedi märguanne"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Katkestatud toega SIP-kontod"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index ca1f49c..92df0e7 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth seinalea ahula da. Erabili telefonoko bozgorailua."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Deien kalitateari buruzko jakinarazpena"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"SIP-eko kontu zaharkituak"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 128f950..6743e96 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"سیگنال بلوتوث شما ضعیف است. از بلندگوی تلفن استفاده کنید."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"اعلان کیفیت تماس"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"حسابهای SIP منسوخشده"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 39f5392..b835a0c 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth-signaali on heikko. Kokeile vaihtaa kaiutinpuhelimeen."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Puhelun laatua koskeva ilmoitus"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Käytöstä poistetut SIP-tilit"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 3f8fa54..a2e9063 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Votre signal Bluetooth est faible. Essayez de passer au haut-parleur mains libres."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notification de qualité d\'appel"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Comptes SIP obsolètes"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 91e8a4e..55fc28e 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Votre signal Bluetooth est faible. Essayez d\'utiliser le haut-parleur."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notification concernant la qualité de l\'appel"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Comptes SIP obsolètes"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 8d03eef..ba68d12 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"O teu sinal de Bluetooth é feble. Proba a cambiar ao altofalante."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notificación sobre a calidade da chamada"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Contas SIP obsoletas"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 8268c2a..1cc4dd1 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"તમારા બ્લૂટૂથનું સિગ્નલ નબળું છે. સ્પીકરફોન પર સ્વિચ કરવાનો પ્રયાસ કરો."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"કૉલની ક્વૉલિટી માટે નોટિફિકેશન"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"ટાળવામાં આવેલા SIP એકાઉન્ટ"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index c2785e5..d9de3dd 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"आपका ब्लूटूथ सिग्नल कमज़ोर है. स्पीकरफ़ोन की सुविधा का इस्तेमाल करें."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"कॉल की क्वालिटी की सूचना"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"ऐसे SIP खाते जिनका समर्थन रोक दिया गया है"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 27d240c..d5349a0 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Signal Bluetootha je slab. Pokušajte se prebaciti na zvučnik."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Obavijest o kvaliteti poziva"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Obustavljeni SIP računi"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index e1c9dec..63ae0b9 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Gyenge a Bluetooth-jel. Próbáljon kihangosítóra váltani."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Értesítés a hívás minőségéről"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Elavult SIP-fiókok"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index ab2e2ab..4b9a9a9 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Ձեր Bluetooth-ի ազդանշանը թույլ է։ Փորձեք միացնել բարձրախոսը։"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Զանգի որակի մասին ծանուցում"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Հնացած SIP հաշիվներ"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index ec56dac..d58999b 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Sinyal bluetooth Anda lemah. Coba beralih ke speaker ponsel."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notifikasi Kualitas Panggilan"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Akun SIP yang tidak digunakan lagi"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 1bda66e..a475a9e 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth-tengingin er léleg. Prófaðu að nota hátalara í staðinn."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Tilkynning um símtalsgæði"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Úreldir SIP-reikningar"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 11e879d..2eaf7ee 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Il segnale del Bluetooth è debole. Prova a passare al vivavoce."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notifica sulla qualità della chiamata"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Account SIP deprecati"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 871df30..154c8a0 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"הקליטה של ה-Bluetooth חלשה. כדאי לעבור לדיבורית."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"התראה על איכות השיחה"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"חשבונות SIP שהוצאו משימוש"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 3e0b3e3..98579aa 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth の信号強度が十分ではありません。スピーカーフォンに切り替えてみてください。"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"通話品質に関するお知らせ"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"サポートが終了した SIP アカウント"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 8e3467a..3f4f5a1 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"თქვენი Bluetooth სიგნალი სუსტია. სცადეთ სპიკერფონზე გადართვა."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"შეტყობინება ზარის ხარისხის შესახებ"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"მოძველებული SIP ანგარიშები"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 6c9f2ed..048b5a0 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth сигналы нашар. Спикерфонға ауысып көріңіз."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Қоңырау сапасы туралы хабарландыру"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Қолданыстан шыққан SIP аккаунттары"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 0ef6768..40ebda9 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"រលកសញ្ញាប៊្លូធូសរបស់អ្នកមានកម្រិតខ្សោយ។ សូមសាកល្បងប្ដូរទៅឧបករណ៍បំពងសំឡេងទូរសព្ទ។"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"ការជូនដំណឹងអំពីគុណភាពហៅទូរសព្ទ"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"គណនី SIP ដែលបានបញ្ឈប់"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index a565d8f..97ce9fc 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"ನಿಮ್ಮ ಬ್ಲೂಟೂತ್ ಸಿಗ್ನಲ್ ದುರ್ಬಲವಾಗಿದೆ. ಸ್ಪೀಕರ್ಫೋನ್ಗೆ ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿ."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"ಕರೆ ಗುಣಮಟ್ಟದ ಅಧಿಸೂಚನೆ"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"ತಡೆಹಿಡಿಯಲಾಗಿರುವ SIP ಖಾತೆಗಳು"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index b7d1135..7e6fe78 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"블루투스 신호 강도가 약합니다. 스피커폰으로 전환해 보세요."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"통화 품질 알림"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"지원 중단된 SIP 계정"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 71fd5db..d966d45 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth сигналыңыз начар. Спикерфонго которулуп көрүңүз."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Чалуунун сапаты тууралуу билдирме"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Колдонуудан чыккан SIP аккаунттары"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 27c2e90..bd7e6ab 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"ສັນຍານ Bluetooth ຂອງທ່ານອ່ອນ. ລອງສະຫຼັບລຳໂພງໂທລະສັບ."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"ການແຈ້ງເຕືອນຄຸນນະພາບການໂທ"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"ບັນຊີ SIP ທີ່ເຊົາສະໜັບສະໜູນ"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index baedf45..4784b8a 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Silpnas „Bluetooth“ signalas. Pabandykite perjungti garsiakalbį."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Pranešimas apie skambučio kokybę"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Nebenaudojamos SIP paskyros"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 48abde0..a61f412 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth signāls ir vājš. Mēģiniet pārslēgties uz skaļruni."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Paziņojums par zvana kvalitāti"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"SIP konti, kuru darbība ir pārtraukta"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 55d8cf8..16e5f8d 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Вашиот сигнал на Bluetooth е слаб. Обидете се со префрлање на интерфон."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Известување за квалитет на повик"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Неподдржани сметки на SIP"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 05daf94..a7fa922 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"നിങ്ങളുടെ Bluetooth സിഗ്നൽ ദുർബലമാണ്. സ്പീക്കർഫോണിലേക്ക് മാറ്റി നോക്കൂ."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"കോൾ നിലവാര അറിയിപ്പ്"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"അവസാനിപ്പിച്ച SIP അക്കൗണ്ടുകൾ"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 474e5ea..b04b00d 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Таны Bluetooth-н дохио сул байна. Чанга яригчтай утас руу сэлгэж үзнэ үү."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Дуудлагын чанарын мэдэгдэл"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"SIP-н зогсоосон бүртгэлүүд"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 94779a1..a1c4bf0 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"तुमचा ब्लूटूथ सिग्नल कमकुवत आहे. स्पीकरफोनवर स्विच करून पहा."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"कॉल गुणवत्ता सूचना"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"कालबाह्य झालेली SIP खाती"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 1109c1c..8bacab4 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Isyarat bluetooth anda lemah. Cuba beralih kepada fon pembesar suara."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Pemberitahuan Kualiti Panggilan"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Akaun SIP ditamatkan"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index b2ec093..9dbce74 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"သင်၏ ဘလူးတုသ်လိုင်းဆွဲအား မကောင်းပါ။ စပီကာဖုန်းသို့ ပြောင်းကြည့်ပါ။"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"ခေါ်ဆိုမှုအရည်အသွေး အကြောင်းကြားချက်"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"ရပ်ဆိုင်းထားသော SIP အကောင့်များ"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 42dd093..a099240 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth-signalet er svakt. Prøv å bytte til høyttaleren."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Varsel om anropskvalitet"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Avviklede SIP-kontoer"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index e7da098..d2ba6c3 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"ब्लुटुथको सिग्नल कमजोर छ। स्पिकरफोन प्रयोग गरी हेर्नुहोस्।"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"कलको गुणस्तरसम्बन्धी सूचना"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"चल्तीबाट हटाइएका SIP खाताहरू"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index cc53af6..e7fa4d0 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Het bluetooth-signaal is zwak. Schakel over naar bellen op luidspreker."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Melding over gesprekskwaliteit"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Beëindigde SIP-accounts"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index c4d22fd..89aa190 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -47,7 +47,7 @@
<string name="no_vm_number" msgid="6623853880546176930">"ହଜିଯାଇଥିବା ଭଏସମେଲ୍ ନମ୍ବର୍"</string>
<string name="no_vm_number_msg" msgid="5165161462411372504">"SIM କାର୍ଡରେ କୌଣସି ଭଏସମେଲ୍ ନମ୍ବର୍ ଷ୍ଟୋର୍ କରାଯାଇନାହିଁ।"</string>
<string name="add_vm_number_str" msgid="7368168964435881637">"ନମ୍ବର୍ ଯୋଡ଼ନ୍ତୁ"</string>
- <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"ଭଏସମେଲ ସେଟିଂସକୁ ପ୍ରାଥମିକ ଉପଯୋଗକର୍ତ୍ତା କେବଳ ପରିବର୍ତ୍ତିତ କରିପାରିବେ।"</string>
+ <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"ଭଏସମେଲ ସେଟିଂସକୁ କେବଳ ପ୍ରାଥମିକ ୟୁଜର ପରିବର୍ତ୍ତନ କରିପାରିବେ।"</string>
<string name="puk_unlocked" msgid="4627340655215746511">"ଆପଣଙ୍କର SIM କାର୍ଡକୁ ଅବରୋଧ କରିଦିଆଯାଇଛି। ଆପଣଙ୍କର ଫୋନ୍ ଅନଲକ୍ ହେଉଛି…"</string>
<string name="label_ndp" msgid="7617392683877410341">"SIM ନେଟ୍ୱର୍କକୁ ଅନଲକ୍ କରିବା ପାଇଁ PIN"</string>
<string name="label_phoneid" msgid="8775611434123577808">"ଅପରେଟର୍ ପାଇଁ SIM ଲକ୍ କରାଯାଇଛି"</string>
@@ -56,7 +56,7 @@
<string name="requesting_unlock" msgid="930512210309437741">"ନେଟ୍ୱର୍କକୁ ଅନଲକ୍ କରିବା ପାଇଁ ଅନୁରୋଧ କରାଯାଉଛି…"</string>
<string name="unlock_failed" msgid="7103543844840661366">"ନେଟ୍ୱର୍କ ଅନଲକ୍ କରିବା ପାଇଁ ଅନୁରୋଧ ବିଫଳ ହୋଇଛି।"</string>
<string name="unlock_success" msgid="32681089371067565">"ନେଟ୍ୱର୍କ ଅନଲକ୍ କରିବା ସଫଳ ହେଲା।"</string>
- <string name="mobile_network_settings_not_available" msgid="8678168497517090039">"ଏହି ୟୁଜରଙ୍କ ପାଇଁ ମୋବାଇଲ୍ ନେଟ୍ୱର୍କ ସେଟିଙ୍ଗ ଉପଲବ୍ଧ ନାହିଁ"</string>
+ <string name="mobile_network_settings_not_available" msgid="8678168497517090039">"ଏହି ୟୁଜରଙ୍କ ପାଇଁ ମୋବାଇଲ ନେଟୱାର୍କ ସେଟିଂସ ଉପଲବ୍ଧ ନାହିଁ"</string>
<string name="labelGSMMore" msgid="7354182269461281543">"GSM କଲ ସେଟିଂସ"</string>
<string name="labelGsmMore_with_label" msgid="3206015314393246224">"GSM କଲ ସେଟିଂସ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="labelCDMAMore" msgid="7937441382611224632">"CDMA କଲ୍ ସେଟିଙ୍ଗ"</string>
@@ -132,7 +132,7 @@
<string name="cdma_call_waiting_in_ims_on" msgid="6390979414188659218">"IMSରେ CDMA \'କଲ୍ ୱେଟିଂ\' ସୁବିଧା ଚାଲୁ ଅଛି"</string>
<string name="cdma_call_waiting_in_ims_off" msgid="1099246114368636334">"IMSରେ CDMA \'କଲ୍ ୱେଟିଂ\' ସୁବିଧା ବନ୍ଦ ଅଛି"</string>
<string name="updating_title" msgid="6130548922615719689">"କଲ ସେଟିଂସ"</string>
- <string name="call_settings_admin_user_only" msgid="7238947387649986286">"କଲ୍ ସେଟିଙ୍ଗକୁ କେବଳ ଆଡମିନ୍ ୟୁଜର୍ ବଦଳାଇପାରିବେ।"</string>
+ <string name="call_settings_admin_user_only" msgid="7238947387649986286">"କଲ ସେଟିଂସକୁ କେବଳ ଆଡମିନ ୟୁଜର ବଦଳାଇପାରିବେ।"</string>
<string name="call_settings_with_label" msgid="8460230435361579511">"ସେଟିଙ୍ଗ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="2024290892676808965">"କଲ୍ ସେଟିଙ୍ଗରେ ତ୍ରୁଟି"</string>
<string name="reading_settings" msgid="1605904432450871183">"ସେଟିଂସକୁ ପଢ଼ାଯାଉଛି…"</string>
@@ -718,8 +718,8 @@
<string name="clh_callFailed_channel_unacceptable_txt" msgid="4062754579408613021">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 6।"</string>
<string name="clh_callFailed_operator_determined_barring_txt" msgid="4202077821465974286">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 8।"</string>
<string name="clh_callFailed_normal_call_clearing_txt" msgid="5677987959062976462">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 16।"</string>
- <string name="clh_callFailed_user_busy_txt" msgid="8886432858568086854">"ୟୁଜର୍ ବ୍ୟସ୍ତ ଅଛନ୍ତି"</string>
- <string name="clh_callFailed_no_user_responding_txt" msgid="341100226919865128">"ୟୁଜର୍ ଉତ୍ତର ଦେଉନାହାନ୍ତି"</string>
+ <string name="clh_callFailed_user_busy_txt" msgid="8886432858568086854">"ୟୁଜର ବ୍ୟସ୍ତ ଅଛନ୍ତି"</string>
+ <string name="clh_callFailed_no_user_responding_txt" msgid="341100226919865128">"ୟୁଜର ଉତ୍ତର ଦେଉନାହାଁନ୍ତି"</string>
<string name="clh_callFailed_user_alerting_txt" msgid="896082976264427969">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 19।"</string>
<string name="clh_callFailed_call_rejected_txt" msgid="3439435671153341709">"କଲ୍କୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରାଗଲା"</string>
<string name="clh_callFailed_number_changed_txt" msgid="2868476949771441667">"ନମ୍ବର୍ ବଦଳିଯାଇଛି"</string>
@@ -800,7 +800,7 @@
<string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"କଲ୍କୁ ଫରୱାର୍ଡ କରାଯାଇଛି।"</string>
<string name="supp_service_notification_call_waiting" msgid="4577403881609445324">"କଲ୍ ଅପେକ୍ଷାରେ ଅଛି।"</string>
<string name="supp_service_clir_suppression_rejected" msgid="6105737020194776121">"ନମ୍ବର୍ ଅବରୋଧକୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରାଗଲା।"</string>
- <string name="supp_service_closed_user_group_call" msgid="2811636666505250689">"ନିକଟତମ ୟୁଜର୍ ଗ୍ରୁପ୍ ଦ୍ଵାରା କଲ୍ରେ ସୀମିତ।"</string>
+ <string name="supp_service_closed_user_group_call" msgid="2811636666505250689">"ନିକଟତମ ୟୁଜର ଗ୍ରୁପ କଲ।"</string>
<string name="supp_service_incoming_calls_barred" msgid="2034627421274447674">"ଇନକମିଙ୍ଗ କଲ୍କୁ ରୋକାଯାଇଛି।"</string>
<string name="supp_service_outgoing_calls_barred" msgid="5205725332394087112">"ଆଉଟ୍ଗୋଇଙ୍ଗ କଲ୍କୁ ରୋକାଯାଇଛି।"</string>
<string name="supp_service_call_forwarding_active" msgid="7910162960395132464">"କଲ୍ ଫରୱାର୍ଡିଙ୍ଗ ସକ୍ରିୟ ଅଛି।"</string>
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"ଆପଣଙ୍କ ବ୍ଲୁଟୁଥ୍ ସିଗନାଲ୍ ଦୁର୍ବଳ ଅଛି। ସ୍ପିକରଫୋନକୁ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"କଲ୍ ଗୁଣବତ୍ତା ବିଜ୍ଞପ୍ତି"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"ଅସମର୍ଥିତ SIP ଆକାଉଣ୍ଟଗୁଡ଼ିକ"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 6b8c285..40bf12a 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"ਤੁਹਾਡਾ ਬਲੂਟੁੱਥ ਸਿਗਨਲ ਕਮਜ਼ੋਰ ਹੈ। ਸਪੀਕਰਫ਼ੋਨ \'ਤੇ ਲਿਜਾ ਕੇ ਦੇਖੋ।"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"ਕਾਲ ਦੀ ਕੁਆਲਿਟੀ ਸੰਬੰਧੀ ਸੂਚਨਾ"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"ਨਾਪਸੰਦ ਕੀਤੇ SIP ਖਾਤੇ"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 21e5b7e..d9774d9 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Twój sygnał Bluetooth jest słaby. Spróbuj przełączyć na głośnik."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Powiadomienie o jakości połączenia"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Wycofane konta SIP"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 469c662..c8ce62f 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"O seu sinal Bluetooth é fraco. Tente mudar para o altifalante."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notificação de qualidade da chamada"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Contas SIP descontinuadas"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 609cbcc..6cbc051 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -579,7 +579,7 @@
<string name="onscreenEndCallText" msgid="6138725377654842757">"Finalizar"</string>
<string name="onscreenShowDialpadText" msgid="658465753816164079">"Teclado"</string>
<string name="onscreenMuteText" msgid="5470306116733843621">"Desativar som"</string>
- <string name="onscreenAddCallText" msgid="9075675082903611677">"Adicionar chamada"</string>
+ <string name="onscreenAddCallText" msgid="9075675082903611677">"Adicionar ligação"</string>
<string name="onscreenMergeCallsText" msgid="3692389519611225407">"Juntar chamadas"</string>
<string name="onscreenSwapCallsText" msgid="2682542150803377991">"Trocar"</string>
<string name="onscreenManageCallsText" msgid="1162047856081836469">"Gerenciar chamadas"</string>
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"O sinal do Bluetooth está fraco. Mude para o viva-voz."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notificação sobre a qualidade da chamada"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Contas SIP suspensas"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 7952c37..90f918e 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Semnalul Bluetooth este slab. Încearcă să folosești difuzorul."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notificare privind calitatea apelului"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Conturi SIP învechite"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 8cb3fa3..9df5817 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Слабый сигнал Bluetooth. Попробуйте переключиться на громкую связь."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Уведомление о качестве связи"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Неподдерживаемые SIP-аккаунты"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 919892f..97b09d7 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"ඔබේ බ්ලූටූත් සංඥාව දුර්වලයි. ස්පීකර් දුරකථනයට මාරු වීමට උත්සාහ කරන්න."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"ඇමතුම් ගුණත්ව දැනුම්දීම"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"අතහැර දැමූ SIP ගිණුම්"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 99cb328..b084876 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Signál Bluetooth je slabý. Skúste prepnúť na reproduktor."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Upozornenie o kvalite hovoru"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Účty SIP s ukončenou podporou"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index d047b76..ff14a87 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Signal povezave Bluetooth je šibek. Poskusite preklopiti na zvočnik."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Obvestilo o kakovosti klica"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Opuščeni računi SIP"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index fcfd010..6866372 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Sinjali i Bluetooth-it është i dobët. Provo të kalosh te altoparlanti."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Njoftim për cilësinë e telefonatës"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Llogaritë e zhvlerësuara SIP"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index b0cbd39..5a409f1 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth сигнал је слаб. Пробајте да пређете на спикерфон."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Обавештење о квалитету позива"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Застарели SIP налози"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 472500c..f64d1bc 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Svag Bluetooth-signal. Försök med att växla till högtalartelefon."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Avisering om samtalskvalitet"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Utfasade SIP-konton"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index bc38d27..849691e 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Muunganisho wako wa bluetooth ni dhaifu. Jaribu kubadilisha ili utumie spika ya simu."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Arifa ya Ubora wa Simu"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Akaunti za SIP ambazo zimefungwa"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 9f8bfc6..c782c0f 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"புளூடூத் சிக்னல் வலுவற்றதாக உள்ளது. ஸ்பீக்கர் ஃபோனிற்கு மாற்றவும்."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"அழைப்பின் தரம் தொடர்பான அறிவிப்பு"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"நிறுத்தப்பட்ட SIP கணக்குகள்"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 4e13004..85a8ded 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"మీ బ్లూటూత్ సిగ్నల్ బలహీనంగా ఉంది. స్పీకర్ఫోన్కు స్విచ్ అవ్వడానికి ట్రై చేయండి."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"కాల్ క్వాలిటీ నోటిఫికేషన్"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"తీసివేయబడిన SIP ఖాతాలు"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 9c5dd93..d8640f8 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"สัญญาณบลูทูธอ่อน ลองเปลี่ยนไปใช้ลำโพงแทน"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"การแจ้งเตือนคุณภาพการโทร"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"บัญชี SIP ที่เลิกใช้งาน"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 11b9e51..08df78b 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Mahina ang signal ng iyong bluetooth. Subukang lumipat sa speakerphone."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Notification sa Kalidad ng Tawag"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Mga hindi na ginagamit na SIP account"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 1d42d4a..66ddb7f 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth sinyaliniz zayıf. Hoparlöre geçmeyi deneyin."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Arama Kalitesiyle İlgili Bildirim"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Kullanımdan kaldırılan SIP hesapları"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index fe08b48..16322ba 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Сигнал Bluetooth заслабкий. Спробуйте переключитися на гучний зв\'язок."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Сповіщення про якість виклику"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Облікові записи SIP, що не підтримуються"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 7fb9e71..1b0fbbf 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"آپ کا بلوٹوتھ سگنل کمزور ہے۔ اسپیکر فون پر سوئچ کر کے آزمائیں۔"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"کال کی کوالٹی کی اطلاع"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"فرسودہ SIP اکاؤنٹس"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index e783fa8..f8f663f 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Bluetooth signali kuchsiz. Baland ovoz rejimini yoqish tavsiya etiladi."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Chaqiruv sifati haqida bildirishnoma"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"To‘xtatilgan SIP hisoblar"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 98d1927..186448a 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Tín hiệu Bluetooth của bạn đang yếu. Hãy thử chuyển sang loa ngoài."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Thông báo về chất lượng cuộc gọi"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Tài khoản SIP không dùng nữa"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 094b19f..acee999 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"您的蓝牙信号较弱。请尝试切换为扬声器模式。"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"通话质量通知"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"已弃用的 SIP 帐号"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index be8ad63..7923cbb 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"您的藍牙訊號微弱。請改用擴音器。"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"通話品質通知"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"已停用的 SIP 帳戶"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 4f22aeb..c43183c 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"你的藍牙訊號微弱,建議你改用擴音模式。"</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"通話品質通知"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"不適用的 SIP 帳戶"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 78da5b4..d111a5e 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -920,14 +920,4 @@
<string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Isignali yakho ye-bluetooth ayiqinile. Zama ukushintshela kusipikhasefoni."</string>
<string name="call_quality_notification_name" msgid="3476828289553948830">"Isaziso Sekhwalithi"</string>
<string name="notification_channel_sip_account" msgid="1261816025156179637">"Ama-akhawunti we-SIP ehlisiwe"</string>
- <!-- no translation found for network_boost_notification_channel (6145599461080341442) -->
- <skip />
- <!-- no translation found for network_boost_notification_title (131686574937713484) -->
- <skip />
- <!-- no translation found for network_boost_notification_detail (1974754783765469505) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_delay (5925240423743432175) -->
- <skip />
- <!-- no translation found for network_boost_notification_button_manage (7715960210252266573) -->
- <skip />
</resources>
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 88b4443..aa6f7f9 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -385,6 +385,7 @@
private SharedPreferences mTelephonySharedPreferences;
private PhoneConfigurationManager mPhoneConfigurationManager;
private final RadioInterfaceCapabilityController mRadioInterfaceCapabilities;
+ private final Telephony2gUpdater mTelephony2gUpdater;
/** User Activity */
private AtomicBoolean mNotifyUserActivity;
@@ -2401,6 +2402,9 @@
mRadioInterfaceCapabilities = RadioInterfaceCapabilityController.getInstance();
mNotifyUserActivity = new AtomicBoolean(false);
PropertyInvalidatedCache.invalidateCache(TelephonyManager.CACHE_KEY_PHONE_ACCOUNT_TO_SUBID);
+ mTelephony2gUpdater = new Telephony2gUpdater(
+ Executors.newSingleThreadExecutor(), mApp);
+ mTelephony2gUpdater.init();
publish();
}
@@ -6804,8 +6808,7 @@
int phoneId = mSubscriptionController.getPhoneId(subId);
Phone phone = PhoneFactory.getPhone(phoneId);
if (phone != null) {
- boolean retVal;
- retVal = phone.getDataSettingsManager().isDataEnabled();
+ boolean retVal = phone.getDataSettingsManager().isDataEnabled();
if (DBG) log("isDataEnabled: " + retVal + ", subId=" + subId);
return retVal;
} else {
diff --git a/src/com/android/phone/Telephony2gUpdater.java b/src/com/android/phone/Telephony2gUpdater.java
new file mode 100644
index 0000000..0919385
--- /dev/null
+++ b/src/com/android/phone/Telephony2gUpdater.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.UserManager;
+import android.telephony.RadioAccessFamily;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.util.Log;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.RILConstants;
+
+import java.util.List;
+import java.util.concurrent.Executor;
+
+/**
+ * A {@link BroadcastReceiver} that ensures that user restrictions are correctly applied to
+ * telephony.
+ * This includes handling broadcasts from user restriction state changes, as well as ensuring that
+ * SIM-specific settings are correctly applied when new subscriptions become active.
+ *
+ * Callers are expected to call {@code init()} and keep an instance of this class alive.
+ */
+public class Telephony2gUpdater extends BroadcastReceiver {
+ private static final String TAG = "TelephonyUserManagerReceiver";
+
+ // We can't interact with the HAL on the main thread of the phone process (where
+ // receivers are run by default), so we execute our logic from a separate thread.
+ private final Executor mExecutor;
+ private final Context mContext;
+ private final long mBaseAllowedNetworks;
+
+ public Telephony2gUpdater(Executor executor, Context context) {
+ this(executor, context,
+ RadioAccessFamily.getRafFromNetworkType(RILConstants.PREFERRED_NETWORK_MODE));
+ }
+
+ public Telephony2gUpdater(Executor executor, Context context,
+ long baseAllowedNetworks) {
+ mExecutor = executor;
+ mContext = context;
+ mBaseAllowedNetworks = baseAllowedNetworks;
+ }
+
+ /**
+ * Register the given instance as a {@link BroadcastReceiver} and a {@link
+ * SubscriptionManager.OnSubscriptionsChangedListener}.
+ */
+ public void init() {
+ mContext.getSystemService(SubscriptionManager.class).addOnSubscriptionsChangedListener(
+ mExecutor, new SubscriptionListener());
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(UserManager.ACTION_USER_RESTRICTIONS_CHANGED);
+ mContext.registerReceiver(this, filter);
+ }
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (context == null || intent == null) return;
+ Log.i(TAG, "Received callback for action " + intent.getAction());
+ final PendingResult result = goAsync();
+ mExecutor.execute(() -> {
+ Log.i(TAG, "Running handler for action " + intent.getAction());
+ handleUserRestrictionsChanged(context);
+ result.finish();
+ });
+ }
+
+ /**
+ * Update all active subscriptions with allowed network types depending on the current state
+ * of the {@link UserManager.DISALLOW_2G}.
+ */
+ @VisibleForTesting
+ public void handleUserRestrictionsChanged(Context context) {
+ UserManager um = context.getSystemService(UserManager.class);
+ TelephonyManager tm = context.getSystemService(TelephonyManager.class);
+ SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
+ final long twoGBitmask = TelephonyManager.NETWORK_CLASS_BITMASK_2G;
+
+ boolean shouldDisable2g = um.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G);
+
+ // This is expected when subscription info cannot be determined. We'll get another
+ // callback in the future from our SubscriptionListener once we have valid subscriptions.
+ List<SubscriptionInfo> subscriptionInfoList = sm.getAvailableSubscriptionInfoList();
+ if (subscriptionInfoList == null) {
+ return;
+ }
+
+ long allowedNetworkTypes = mBaseAllowedNetworks;
+
+ // 2G device admin controls are global
+ for (SubscriptionInfo info : subscriptionInfoList) {
+ TelephonyManager telephonyManager = tm.createForSubscriptionId(
+ info.getSubscriptionId());
+ if (shouldDisable2g) {
+ allowedNetworkTypes &= ~twoGBitmask;
+ } else {
+ allowedNetworkTypes |= twoGBitmask;
+ }
+ telephonyManager.setAllowedNetworkTypesForReason(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS,
+ allowedNetworkTypes);
+ }
+ }
+
+ private class SubscriptionListener extends SubscriptionManager.OnSubscriptionsChangedListener {
+ @Override
+ public void onSubscriptionsChanged() {
+ Log.i(TAG, "Running handler for subscription change.");
+ handleUserRestrictionsChanged(mContext);
+ }
+ }
+
+}
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index 7c2c829..c6dbfc6 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -72,13 +72,6 @@
import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager;
import android.telephony.data.NetworkSlicingConfig;
-import android.telephony.ims.ImsException;
-import android.telephony.ims.ImsManager;
-import android.telephony.ims.ImsMmTelManager;
-import android.telephony.ims.ImsRcsManager;
-import android.telephony.ims.ProvisioningManager;
-import android.telephony.ims.feature.MmTelFeature;
-import android.telephony.ims.stub.ImsRegistrationImplBase;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
@@ -99,6 +92,9 @@
import androidx.appcompat.app.AlertDialog.Builder;
import androidx.appcompat.app.AppCompatActivity;
+import com.android.ims.ImsConfig;
+import com.android.ims.ImsException;
+import com.android.ims.ImsManager;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.euicc.EuiccConnector;
@@ -181,6 +177,18 @@
*/
private static final int ALWAYS_ON_DSDS_MODE = 1;
+ private static final int IMS_VOLTE_PROVISIONED_CONFIG_ID =
+ ImsConfig.ConfigConstants.VLT_SETTING_ENABLED;
+
+ private static final int IMS_VT_PROVISIONED_CONFIG_ID =
+ ImsConfig.ConfigConstants.LVC_SETTING_ENABLED;
+
+ private static final int IMS_WFC_PROVISIONED_CONFIG_ID =
+ ImsConfig.ConfigConstants.VOICE_OVER_WIFI_SETTING_ENABLED;
+
+ private static final int EAB_PROVISIONED_CONFIG_ID =
+ ImsConfig.ConfigConstants.EAB_SETTING_ENABLED;
+
//Values in must match CELL_INFO_REFRESH_RATES
private static final String[] CELL_INFO_REFRESH_RATE_LABELS = {
"Disabled",
@@ -285,7 +293,6 @@
private TelephonyManager mTelephonyManager;
private ImsManager mImsManager = null;
private Phone mPhone = null;
- private ProvisioningManager mProvisioningManager = null;
private String mPingHostnameResultV4;
private String mPingHostnameResultV6;
@@ -419,9 +426,8 @@
mTelephonyManager = mTelephonyManager.createForSubscriptionId(subId);
// update the phoneId
+ mImsManager = ImsManager.getInstance(getApplicationContext(), phoneIndex);
mPhone = PhoneFactory.getPhone(phoneIndex);
- mImsManager = new ImsManager(mPhone.getContext());
- mProvisioningManager = ProvisioningManager.createForSubscriptionId(mPhone.getSubId());
updateAllFields();
}
@@ -481,8 +487,7 @@
mTelephonyManager = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
.createForSubscriptionId(mPhone.getSubId());
- mImsManager = new ImsManager(mPhone.getContext());
- mProvisioningManager = ProvisioningManager.createForSubscriptionId(mPhone.getSubId());
+ mImsManager = ImsManager.getInstance(getApplicationContext(), mPhone.getPhoneId());
sPhoneIndexLabels = getPhoneIndexLabels(mTelephonyManager);
@@ -550,7 +555,7 @@
mImsWfcProvisionedSwitch = (Switch) findViewById(R.id.wfc_provisioned_switch);
mEabProvisionedSwitch = (Switch) findViewById(R.id.eab_provisioned_switch);
- if (!isImsSupportedOnDevice(mPhone.getContext())) {
+ if (!ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
mImsVolteProvisionedSwitch.setVisibility(View.GONE);
mImsVtProvisionedSwitch.setVisibility(View.GONE);
mImsWfcProvisionedSwitch.setVisibility(View.GONE);
@@ -781,8 +786,7 @@
R.string.radioInfo_menu_viewFDN).setOnMenuItemClickListener(mViewFDNCallback);
menu.add(1, MENU_ITEM_VIEW_SDN, 0,
R.string.radioInfo_menu_viewSDN).setOnMenuItemClickListener(mViewSDNCallback);
-
- if (isImsSupportedOnDevice(mPhone.getContext())) {
+ if (ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
menu.add(1, MENU_ITEM_GET_IMS_STATUS,
0, R.string.radioInfo_menu_getIMS).setOnMenuItemClickListener(mGetImsStatus);
}
@@ -1510,38 +1514,34 @@
mRadioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
}
- private void setImsVolteProvisionedState(boolean state) {
+ void setImsVolteProvisionedState(boolean state) {
Log.d(TAG, "setImsVolteProvisioned state: " + ((state) ? "on" : "off"));
- setImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
- ImsRegistrationImplBase.REGISTRATION_TECH_LTE, state);
+ setImsConfigProvisionedState(IMS_VOLTE_PROVISIONED_CONFIG_ID, state);
}
- private void setImsVtProvisionedState(boolean state) {
+ void setImsVtProvisionedState(boolean state) {
Log.d(TAG, "setImsVtProvisioned() state: " + ((state) ? "on" : "off"));
- setImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
- ImsRegistrationImplBase.REGISTRATION_TECH_LTE, state);
+ setImsConfigProvisionedState(IMS_VT_PROVISIONED_CONFIG_ID, state);
}
- private void setImsWfcProvisionedState(boolean state) {
+ void setImsWfcProvisionedState(boolean state) {
Log.d(TAG, "setImsWfcProvisioned() state: " + ((state) ? "on" : "off"));
- setImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
- ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN, state);
+ setImsConfigProvisionedState(IMS_WFC_PROVISIONED_CONFIG_ID, state);
}
- private void setEabProvisionedState(boolean state) {
+ void setEabProvisionedState(boolean state) {
Log.d(TAG, "setEabProvisioned() state: " + ((state) ? "on" : "off"));
- setRcsConfigProvisionedState(ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE,
- ImsRegistrationImplBase.REGISTRATION_TECH_LTE, state);
+ setImsConfigProvisionedState(EAB_PROVISIONED_CONFIG_ID, state);
}
- private void setImsConfigProvisionedState(int capability, int tech, boolean state) {
- if (mProvisioningManager != null) {
+ void setImsConfigProvisionedState(int configItem, boolean state) {
+ if (mPhone != null && mImsManager != null) {
mQueuedWork.execute(new Runnable() {
public void run() {
try {
- mProvisioningManager.setProvisioningStatusForCapability(
- capability, tech, state);
- } catch (RuntimeException e) {
+ mImsManager.getConfigInterface().setProvisionedValue(
+ configItem, state ? 1 : 0);
+ } catch (ImsException e) {
Log.e(TAG, "setImsConfigProvisioned() exception:", e);
}
}
@@ -1549,71 +1549,6 @@
}
}
- private void setRcsConfigProvisionedState(int capability, int tech, boolean state) {
- if (mProvisioningManager != null) {
- mQueuedWork.execute(new Runnable() {
- public void run() {
- try {
- mProvisioningManager.setRcsProvisioningStatusForCapability(
- capability, tech, state);
- } catch (RuntimeException e) {
- Log.e(TAG, "setRcsConfigProvisioned() exception:", e);
- }
- }
- });
- }
- }
-
- private boolean isImsVolteProvisioningRequired() {
- return isImsConfigProvisioningRequired(
- MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
- ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
- }
-
- private boolean isImsVtProvisioningRequired() {
- return isImsConfigProvisioningRequired(
- MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
- ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
- }
-
- private boolean isImsWfcProvisioningRequired() {
- return isImsConfigProvisioningRequired(
- MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
- ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN);
- }
-
- private boolean isEabProvisioningRequired() {
- return isRcsConfigProvisioningRequired(
- ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE,
- ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
- }
-
- private boolean isImsConfigProvisioningRequired(int capability, int tech) {
- if (mProvisioningManager != null) {
- try {
- return mProvisioningManager.isProvisioningRequiredForCapability(
- capability, tech);
- } catch (RuntimeException e) {
- Log.e(TAG, "isImsConfigProvisioningRequired() exception:", e);
- }
- }
-
- return false;
- }
-
- private boolean isRcsConfigProvisioningRequired(int capability, int tech) {
- if (mProvisioningManager != null) {
- try {
- return mProvisioningManager.isRcsProvisioningRequiredForCapability(
- capability, tech);
- } catch (RuntimeException e) {
- Log.e(TAG, "isRcsConfigProvisioningRequired() exception:", e);
- }
- }
-
- return false;
- }
-
OnCheckedChangeListener mRadioPowerOnChangeListener = new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@@ -1649,8 +1584,11 @@
};
private boolean isImsVolteProvisioned() {
- return getImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
- ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+ if (mImsManager != null) {
+ return mImsManager.isVolteEnabledByPlatform()
+ && mImsManager.isVolteProvisionedOnDevice();
+ }
+ return false;
}
OnCheckedChangeListener mImsVolteCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1661,8 +1599,11 @@
};
private boolean isImsVtProvisioned() {
- return getImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
- ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+ if (mImsManager != null) {
+ return mImsManager.isVtEnabledByPlatform()
+ && mImsManager.isVtProvisionedOnDevice();
+ }
+ return false;
}
OnCheckedChangeListener mImsVtCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1673,8 +1614,11 @@
};
private boolean isImsWfcProvisioned() {
- return getImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
- ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN);
+ if (mImsManager != null) {
+ return mImsManager.isWfcEnabledByPlatform()
+ && mImsManager.isWfcProvisionedOnDevice();
+ }
+ return false;
}
OnCheckedChangeListener mImsWfcCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1685,8 +1629,7 @@
};
private boolean isEabProvisioned() {
- return getRcsConfigProvisionedState(ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE,
- ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+ return isFeatureProvisioned(EAB_PROVISIONED_CONFIG_ID, false);
}
OnCheckedChangeListener mEabCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1696,30 +1639,23 @@
}
};
- private boolean getImsConfigProvisionedState(int capability, int tech) {
- if (mProvisioningManager != null) {
+ private boolean isFeatureProvisioned(int featureId, boolean defaultValue) {
+ boolean provisioned = defaultValue;
+ if (mImsManager != null) {
try {
- return mProvisioningManager.getProvisioningStatusForCapability(
- capability, tech);
- } catch (RuntimeException e) {
- Log.e(TAG, "getImsConfigProvisionedState() exception:", e);
+ ImsConfig imsConfig = mImsManager.getConfigInterface();
+ if (imsConfig != null) {
+ provisioned =
+ (imsConfig.getProvisionedValue(featureId)
+ == ImsConfig.FeatureValueConstants.ON);
+ }
+ } catch (ImsException ex) {
+ Log.e(TAG, "isFeatureProvisioned() exception:", ex);
}
}
- return false;
- }
-
- private boolean getRcsConfigProvisionedState(int capability, int tech) {
- if (mProvisioningManager != null) {
- try {
- return mProvisioningManager.getRcsProvisioningStatusForCapability(
- capability, tech);
- } catch (RuntimeException e) {
- Log.e(TAG, "getRcsConfigProvisionedState() exception:", e);
- }
- }
-
- return false;
+ log("isFeatureProvisioned() featureId=" + featureId + " provisioned=" + provisioned);
+ return provisioned;
}
private boolean isEabEnabledByPlatform() {
@@ -1738,56 +1674,35 @@
}
private void updateImsProvisionedState() {
- if (!isImsSupportedOnDevice(mPhone.getContext())) {
+ if (!ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
return;
}
-
- updateServiceEnabledByPlatform();
-
- updateEabProvisionedSwitch(isEabEnabledByPlatform());
- }
-
- private void updateVolteProvisionedSwitch(boolean isEnabledByPlatform) {
- boolean isProvisioned = isEnabledByPlatform && isImsVolteProvisioned();
- log("updateImsProvisionedState isProvisioned" + isProvisioned);
-
+ log("updateImsProvisionedState isImsVolteProvisioned()=" + isImsVolteProvisioned());
+ //delightful hack to prevent on-checked-changed calls from
+ //actually forcing the ims provisioning to its transient/current value.
mImsVolteProvisionedSwitch.setOnCheckedChangeListener(null);
- mImsVolteProvisionedSwitch.setChecked(isProvisioned);
+ mImsVolteProvisionedSwitch.setChecked(isImsVolteProvisioned());
mImsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
mImsVolteProvisionedSwitch.setEnabled(!IS_USER_BUILD
- && isEnabledByPlatform && isImsVolteProvisioningRequired());
- }
-
- private void updateVtProvisionedSwitch(boolean isEnabledByPlatform) {
- boolean isProvisioned = isEnabledByPlatform && isImsVtProvisioned();
- log("updateVtProvisionedSwitch isProvisioned" + isProvisioned);
+ && mImsManager.isVolteEnabledByPlatform());
mImsVtProvisionedSwitch.setOnCheckedChangeListener(null);
- mImsVtProvisionedSwitch.setChecked(isProvisioned);
+ mImsVtProvisionedSwitch.setChecked(isImsVtProvisioned());
mImsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
mImsVtProvisionedSwitch.setEnabled(!IS_USER_BUILD
- && isEnabledByPlatform && isImsVtProvisioningRequired());
- }
-
- private void updateWfcProvisionedSwitch(boolean isEnabledByPlatform) {
- boolean isProvisioned = isEnabledByPlatform && isImsWfcProvisioned();
- log("updateWfcProvisionedSwitch isProvisioned" + isProvisioned);
+ && mImsManager.isVtEnabledByPlatform());
mImsWfcProvisionedSwitch.setOnCheckedChangeListener(null);
- mImsWfcProvisionedSwitch.setChecked(isProvisioned);
+ mImsWfcProvisionedSwitch.setChecked(isImsWfcProvisioned());
mImsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
mImsWfcProvisionedSwitch.setEnabled(!IS_USER_BUILD
- && isEnabledByPlatform && isImsWfcProvisioningRequired());
- }
-
- private void updateEabProvisionedSwitch(boolean isEnabledByPlatform) {
- log("updateEabProvisionedSwitch isEabWfcProvisioned()=" + isEabProvisioned());
+ && mImsManager.isWfcEnabledByPlatform());
mEabProvisionedSwitch.setOnCheckedChangeListener(null);
mEabProvisionedSwitch.setChecked(isEabProvisioned());
mEabProvisionedSwitch.setOnCheckedChangeListener(mEabCheckedChangeListener);
mEabProvisionedSwitch.setEnabled(!IS_USER_BUILD
- && isEnabledByPlatform && isEabProvisioningRequired());
+ && isEabEnabledByPlatform());
}
OnClickListener mDnsCheckButtonHandler = new OnClickListener() {
@@ -2026,28 +1941,4 @@
intent.putExtra("isDefault", isChecked);
sendBroadcast(intent);
}
-
- private boolean isImsSupportedOnDevice(Context context) {
- return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS);
- }
-
- private void updateServiceEnabledByPlatform() {
- ImsMmTelManager imsMmTelManager = mImsManager.getImsMmTelManager(mPhone.getSubId());
- try {
- imsMmTelManager.isSupported(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
- AccessNetworkConstants.TRANSPORT_TYPE_WWAN, getMainExecutor(), (result) -> {
- updateVolteProvisionedSwitch(result);
- });
- imsMmTelManager.isSupported(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
- AccessNetworkConstants.TRANSPORT_TYPE_WWAN, getMainExecutor(), (result) -> {
- updateVtProvisionedSwitch(result);
- });
- imsMmTelManager.isSupported(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
- AccessNetworkConstants.TRANSPORT_TYPE_WLAN, getMainExecutor(), (result) -> {
- updateWfcProvisionedSwitch(result);
- });
- } catch (ImsException e) {
- e.printStackTrace();
- }
- }
}
diff --git a/src/com/android/phone/slicestore/SliceStore.java b/src/com/android/phone/slicestore/SliceStore.java
index 3448c03..bb66973 100644
--- a/src/com/android/phone/slicestore/SliceStore.java
+++ b/src/com/android/phone/slicestore/SliceStore.java
@@ -16,6 +16,7 @@
package com.android.phone.slicestore;
+import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.PendingIntent;
@@ -41,6 +42,8 @@
import com.android.internal.telephony.Phone;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;
@@ -67,6 +70,29 @@
public class SliceStore extends Handler {
@NonNull private static final String TAG = "SliceStore";
+ /** Unknown failure code. */
+ public static final int FAILURE_CODE_UNKNOWN = 0;
+ /** Network boost purchase failed because the carrier URL is unavailable. */
+ public static final int FAILURE_CODE_CARRIER_URL_UNAVAILABLE = 1;
+ /** Network boost purchase failed because the server is unreachable. */
+ public static final int FAILURE_CODE_SERVER_UNREACHABLE = 2;
+ /** Network boost purchase failed because user authentication failed. */
+ public static final int FAILURE_CODE_AUTHENTICATION_FAILED = 3;
+ /** Network boost purchase failed because the payment failed. */
+ public static final int FAILURE_CODE_PAYMENT_FAILED = 4;
+
+ /**
+ * Failure codes that the carrier website can return when a premium capability purchase fails.
+ */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(prefix = { "FAILURE_CODE_" }, value = {
+ FAILURE_CODE_UNKNOWN,
+ FAILURE_CODE_CARRIER_URL_UNAVAILABLE,
+ FAILURE_CODE_SERVER_UNREACHABLE,
+ FAILURE_CODE_AUTHENTICATION_FAILED,
+ FAILURE_CODE_PAYMENT_FAILED})
+ public @interface FailureCode {}
+
/** Value for an invalid premium capability. */
public static final int PREMIUM_CAPABILITY_INVALID = -1;
@@ -76,8 +102,16 @@
private static final int EVENT_SLICING_CONFIG_CHANGED = 2;
/** Display booster notification. */
private static final int EVENT_DISPLAY_BOOSTER_NOTIFICATION = 3;
- /** Boost was not purchased within the timeout specified by carrier configs. */
+ /**
+ * Premium capability was not purchased within the timeout specified by
+ * {@link CarrierConfigManager#KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG}.
+ */
private static final int EVENT_PURCHASE_TIMEOUT = 4;
+ /**
+ * Network did not set up the slicing configuration within the timeout specified by
+ * {@link CarrierConfigManager#KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG}.
+ */
+ private static final int EVENT_SETUP_TIMEOUT = 5;
/** UUID to report an anomaly when a premium capability is throttled twice in a row. */
private static final String UUID_CAPABILITY_THROTTLED_TWICE =
@@ -86,6 +120,13 @@
private static final String UUID_INVALID_PHONE_ID = "ced79f1a-8ac0-4260-8cf3-08b54c0494f3";
/** UUID to report an anomaly when receiving an unknown action. */
private static final String UUID_UNKNOWN_ACTION = "0197efb0-dab1-4b0a-abaf-ac9336ec7923";
+ /** UUID to report an anomaly when receiving an unknown failure code with a non-empty reason. */
+ private static final String UUID_UNKNOWN_FAILURE_CODE = "76943b23-4415-400c-9855-b534fc4fc62c";
+ /**
+ * UUID to report an anomaly when the network fails to set up a slicing configuration after
+ * the user purchases a premium capability.
+ */
+ private static final String UUID_NETWORK_SETUP_FAILED = "12eeffbf-08f8-40ed-9a00-d344199552fc";
/** Action to start the SliceStore application and display the network boost notification. */
public static final String ACTION_START_SLICE_STORE =
@@ -105,6 +146,9 @@
/** Action indicating the purchase request was not made on the default data subscription. */
private static final String ACTION_SLICE_STORE_RESPONSE_NOT_DEFAULT_DATA =
"com.android.phone.slicestore.action.SLICE_STORE_RESPONSE_NOT_DEFAULT_DATA";
+ /** Action indicating the purchase request was successful. */
+ private static final String ACTION_SLICE_STORE_RESPONSE_SUCCESS =
+ "com.android.phone.slicestore.action.SLICE_STORE_RESPONSE_SUCCESS";
/** Extra for the phone index to send to the SliceStore application. */
public static final String EXTRA_PHONE_ID = "com.android.phone.slicestore.extra.PHONE_ID";
@@ -113,6 +157,15 @@
/** Extra for the requested premium capability to purchase from the SliceStore application. */
public static final String EXTRA_PREMIUM_CAPABILITY =
"com.android.phone.slicestore.extra.PREMIUM_CAPABILITY";
+ /** Extra for the duration of the purchased premium capability. */
+ public static final String EXTRA_PURCHASE_DURATION =
+ "com.android.phone.slicestore.extra.PURCHASE_DURATION";
+ /** Extra for the {@link FailureCode} why the premium capability purchase failed. */
+ public static final String EXTRA_FAILURE_CODE =
+ "com.android.phone.slicestore.extra.FAILURE_CODE";
+ /** Extra for the human-readable reason why the premium capability purchase failed. */
+ public static final String EXTRA_FAILURE_REASON =
+ "com.android.phone.slicestore.extra.FAILURE_REASON";
/**
* Extra for the application name requesting to purchase the premium capability
* from the SliceStore application.
@@ -130,6 +183,8 @@
* Extra for the carrier error PendingIntent that the SliceStore application can send as a
* response if the premium capability purchase request failed due to a carrier error.
* Sends {@link #ACTION_SLICE_STORE_RESPONSE_CARRIER_ERROR}.
+ * Sender can modify the intent to specify the failure code and reason for failure with
+ * {@link #EXTRA_FAILURE_CODE} and {@link #EXTRA_FAILURE_REASON}.
*/
public static final String EXTRA_INTENT_CARRIER_ERROR =
"com.android.phone.slicestore.extra.INTENT_CARRIER_ERROR";
@@ -149,6 +204,15 @@
*/
public static final String EXTRA_INTENT_NOT_DEFAULT_DATA =
"com.android.phone.slicestore.extra.INTENT_NOT_DEFAULT_DATA";
+ /**
+ * Extra for the success PendingIntent that the SliceStore application can send as a response
+ * if the premium capability purchase request was successful.
+ * Sends {@link #ACTION_SLICE_STORE_RESPONSE_SUCCESS}.
+ * Sender can modify the intent to specify a purchase duration with
+ * {@link #EXTRA_PURCHASE_DURATION}.
+ */
+ public static final String EXTRA_INTENT_SUCCESS =
+ "com.android.phone.slicestore.extra.INTENT_SUCCESS";
/** Component name to send an explicit broadcast to SliceStoreBroadcastReceiver. */
private static final ComponentName SLICE_STORE_COMPONENT_NAME =
@@ -160,8 +224,8 @@
/** The Phone instance used to create the SliceStore */
@NonNull private final Phone mPhone;
- /** The set of purchased capabilities. */
- @NonNull private final Set<Integer> mPurchasedCapabilities = new HashSet<>();
+ /** The set of capabilities that are pending network setup. */
+ @NonNull private final Set<Integer> mPendingSetupCapabilities = new HashSet<>();
/** The set of throttled capabilities. */
@NonNull private final Set<Integer> mThrottledCapabilities = new HashSet<>();
/** A map of pending capabilities to the onComplete message for the purchase request. */
@@ -173,7 +237,7 @@
@Nullable private NetworkSlicingConfig mSlicingConfig;
private class SliceStoreBroadcastReceiver extends BroadcastReceiver {
- private final @TelephonyManager.PremiumCapability int mCapability;
+ @TelephonyManager.PremiumCapability private final int mCapability;
SliceStoreBroadcastReceiver(@TelephonyManager.PremiumCapability int capability) {
mCapability = capability;
@@ -190,11 +254,9 @@
int capability = intent.getIntExtra(EXTRA_PREMIUM_CAPABILITY,
PREMIUM_CAPABILITY_INVALID);
if (SliceStore.getInstance(phoneId) == null) {
- String logStr = "SliceStoreBroadcastReceiver( "
+ reportAnomaly(UUID_INVALID_PHONE_ID, "SliceStoreBroadcastReceiver( "
+ TelephonyManager.convertPremiumCapabilityToString(mCapability)
- + ") received invalid phoneId: " + phoneId;
- loge(logStr);
- AnomalyReporter.reportAnomaly(UUID.fromString(UUID_INVALID_PHONE_ID), logStr);
+ + ") received invalid phoneId: " + phoneId);
return;
} else if (capability != mCapability) {
logd("SliceStoreBroadcastReceiver("
@@ -213,11 +275,10 @@
break;
}
case ACTION_SLICE_STORE_RESPONSE_CARRIER_ERROR: {
- logd("Carrier error for capability: "
- + TelephonyManager.convertPremiumCapabilityToString(capability));
- SliceStore.getInstance(phoneId).sendPurchaseResultFromSliceStore(capability,
- TelephonyManager.PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR,
- true);
+ int failureCode = intent.getIntExtra(EXTRA_FAILURE_CODE, FAILURE_CODE_UNKNOWN);
+ String failureReason = intent.getStringExtra(EXTRA_FAILURE_REASON);
+ SliceStore.getInstance(phoneId).onCarrierError(
+ capability, failureCode, failureReason);
break;
}
case ACTION_SLICE_STORE_RESPONSE_REQUEST_FAILED: {
@@ -237,12 +298,15 @@
false);
break;
}
+ case ACTION_SLICE_STORE_RESPONSE_SUCCESS: {
+ long duration = intent.getLongExtra(EXTRA_PURCHASE_DURATION, 0);
+ SliceStore.getInstance(phoneId).onCarrierSuccess(capability, duration);
+ break;
+ }
default:
- String logStr = "SliceStoreBroadcastReceiver("
+ reportAnomaly(UUID_UNKNOWN_ACTION, "SliceStoreBroadcastReceiver("
+ TelephonyManager.convertPremiumCapabilityToString(mCapability)
- + ") received unknown action: " + action;
- loge(logStr);
- AnomalyReporter.reportAnomaly(UUID.fromString(UUID_UNKNOWN_ACTION), logStr);
+ + ") received unknown action: " + action);
break;
}
}
@@ -296,6 +360,7 @@
NetworkSlicingConfig config = (NetworkSlicingConfig) ar.result;
logd("EVENT_SLICING_CONFIG_CHANGED: from " + mSlicingConfig + " to " + config);
mSlicingConfig = config;
+ onSlicingConfigChanged();
break;
}
case EVENT_DISPLAY_BOOSTER_NOTIFICATION: {
@@ -313,6 +378,12 @@
onTimeout(capability);
break;
}
+ case EVENT_SETUP_TIMEOUT:
+ int capability = (int) msg.obj;
+ logd("EVENT_SETUP_TIMEOUT: for capability "
+ + TelephonyManager.convertPremiumCapabilityToString(capability));
+ onSetupTimeout(capability);
+ break;
default:
loge("Unknown event: " + msg.obj);
}
@@ -379,13 +450,18 @@
onComplete);
return;
}
- if (mPurchasedCapabilities.contains(capability) || isSlicingConfigActive(capability)) {
- // TODO (b/245882601): Handle capability expiry
+ if (isSlicingConfigActive(capability)) {
sendPurchaseResult(capability,
TelephonyManager.PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_PURCHASED,
onComplete);
return;
}
+ if (mPendingSetupCapabilities.contains(capability)) {
+ sendPurchaseResult(capability,
+ TelephonyManager.PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP,
+ onComplete);
+ return;
+ }
if (mThrottledCapabilities.contains(capability)) {
sendPurchaseResult(capability,
TelephonyManager.PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED,
@@ -455,10 +531,20 @@
throttleDuration);
}
} else {
- String logStr = TelephonyManager.convertPremiumCapabilityToString(capability)
- + " is already throttled.";
- loge(logStr);
- AnomalyReporter.reportAnomaly(UUID.fromString(UUID_CAPABILITY_THROTTLED_TWICE), logStr);
+ reportAnomaly(UUID_CAPABILITY_THROTTLED_TWICE,
+ TelephonyManager.convertPremiumCapabilityToString(capability)
+ + " is already throttled.");
+ }
+ }
+
+ private void onSlicingConfigChanged() {
+ for (int capability : new int[] {TelephonyManager.PREMIUM_CAPABILITY_PRIORITIZE_LATENCY}) {
+ if (isSlicingConfigActive(capability) && hasMessages(EVENT_SETUP_TIMEOUT, capability)) {
+ logd("Successfully set up slicing configuration for "
+ + TelephonyManager.convertPremiumCapabilityToString(capability));
+ mPendingSetupCapabilities.remove(capability);
+ removeMessages(EVENT_SETUP_TIMEOUT, capability);
+ }
}
}
@@ -480,13 +566,16 @@
intent.putExtra(EXTRA_PREMIUM_CAPABILITY, capability);
intent.putExtra(EXTRA_REQUESTING_APP_NAME, appName);
intent.putExtra(EXTRA_INTENT_CANCELED,
- createPendingIntent(ACTION_SLICE_STORE_RESPONSE_CANCELED, capability));
+ createPendingIntent(ACTION_SLICE_STORE_RESPONSE_CANCELED, capability, false));
intent.putExtra(EXTRA_INTENT_CARRIER_ERROR,
- createPendingIntent(ACTION_SLICE_STORE_RESPONSE_CARRIER_ERROR, capability));
+ createPendingIntent(ACTION_SLICE_STORE_RESPONSE_CARRIER_ERROR, capability, true));
intent.putExtra(EXTRA_INTENT_REQUEST_FAILED,
- createPendingIntent(ACTION_SLICE_STORE_RESPONSE_REQUEST_FAILED, capability));
+ createPendingIntent(ACTION_SLICE_STORE_RESPONSE_REQUEST_FAILED, capability, false));
intent.putExtra(EXTRA_INTENT_NOT_DEFAULT_DATA,
- createPendingIntent(ACTION_SLICE_STORE_RESPONSE_NOT_DEFAULT_DATA, capability));
+ createPendingIntent(ACTION_SLICE_STORE_RESPONSE_NOT_DEFAULT_DATA, capability,
+ false));
+ intent.putExtra(EXTRA_INTENT_SUCCESS,
+ createPendingIntent(ACTION_SLICE_STORE_RESPONSE_SUCCESS, capability, true));
logd("Broadcasting start intent to SliceStoreBroadcastReceiver.");
mPhone.getContext().sendBroadcast(intent);
@@ -497,6 +586,7 @@
filter.addAction(ACTION_SLICE_STORE_RESPONSE_CARRIER_ERROR);
filter.addAction(ACTION_SLICE_STORE_RESPONSE_REQUEST_FAILED);
filter.addAction(ACTION_SLICE_STORE_RESPONSE_NOT_DEFAULT_DATA);
+ filter.addAction(ACTION_SLICE_STORE_RESPONSE_SUCCESS);
mPhone.getContext().registerReceiver(mSliceStoreBroadcastReceivers.get(capability), filter);
}
@@ -505,15 +595,18 @@
*
* @param action The action that will be sent for this PendingIntent
* @param capability The premium capability that was requested.
+ * @param mutable {@code true} if the PendingIntent should be mutable and
+ * {@code false} if it should be immutable.
* @return The PendingIntent for the given action and capability.
*/
@NonNull private PendingIntent createPendingIntent(@NonNull String action,
- @TelephonyManager.PremiumCapability int capability) {
+ @TelephonyManager.PremiumCapability int capability, boolean mutable) {
Intent intent = new Intent(action);
intent.putExtra(EXTRA_PHONE_ID, mPhone.getPhoneId());
intent.putExtra(EXTRA_PREMIUM_CAPABILITY, capability);
- return PendingIntent.getBroadcast(mPhone.getContext(), 0, intent,
- PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE);
+ return PendingIntent.getBroadcast(mPhone.getContext(), capability, intent,
+ PendingIntent.FLAG_CANCEL_CURRENT
+ | (mutable ? PendingIntent.FLAG_MUTABLE : PendingIntent.FLAG_IMMUTABLE));
}
private void onTimeout(@TelephonyManager.PremiumCapability int capability) {
@@ -530,9 +623,43 @@
capability, TelephonyManager.PURCHASE_PREMIUM_CAPABILITY_RESULT_TIMEOUT, true);
}
- private void onCarrierSuccess(@TelephonyManager.PremiumCapability int capability) {
- // TODO(b/245882601): Process and return success.
- // Probably need to handle capability expiry as well
+ private void onCarrierError(@TelephonyManager.PremiumCapability int capability,
+ @FailureCode int failureCode, @Nullable String failureReason) {
+ logd("Carrier error for capability: "
+ + TelephonyManager.convertPremiumCapabilityToString(capability) + " with code: "
+ + convertFailureCodeToString(failureCode) + " and reason: " + failureReason);
+ if (failureCode == FAILURE_CODE_UNKNOWN && !TextUtils.isEmpty(failureReason)) {
+ reportAnomaly(UUID_UNKNOWN_FAILURE_CODE,
+ "Failure code needs to be added for: " + failureReason);
+ }
+ sendPurchaseResultFromSliceStore(capability,
+ TelephonyManager.PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR, true);
+ }
+
+ private void onCarrierSuccess(@TelephonyManager.PremiumCapability int capability,
+ long duration) {
+ logd("Successfully purchased premium capability "
+ + TelephonyManager.convertPremiumCapabilityToString(capability)
+ + " for " + TimeUnit.MILLISECONDS.toMinutes(duration) + " minutes.");
+ mPendingSetupCapabilities.add(capability);
+ long setupDuration = getCarrierConfigs().getLong(
+ CarrierConfigManager.KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG);
+ logd("Waiting " + TimeUnit.MILLISECONDS.toMinutes(setupDuration) + " minutes for the "
+ + "network to set up the slicing configuration.");
+ sendMessageDelayed(obtainMessage(EVENT_SETUP_TIMEOUT, capability), setupDuration);
+ sendPurchaseResultFromSliceStore(
+ capability, TelephonyManager.PURCHASE_PREMIUM_CAPABILITY_RESULT_SUCCESS, false);
+ }
+
+ private void onSetupTimeout(@TelephonyManager.PremiumCapability int capability) {
+ logd("onSetupTimeout: " + TelephonyManager.convertPremiumCapabilityToString(capability));
+ mPendingSetupCapabilities.remove(capability);
+ if (!isSlicingConfigActive(capability)) {
+ reportAnomaly(UUID_NETWORK_SETUP_FAILED,
+ "Failed to set up slicing configuration for capability "
+ + TelephonyManager.convertPremiumCapabilityToString(capability)
+ + " within the time specified.");
+ }
}
@Nullable private PersistableBundle getCarrierConfigs() {
@@ -627,6 +754,29 @@
return true;
}
+ /**
+ * Returns the failure code {@link FailureCode} as a String.
+ *
+ * @param failureCode The failure code.
+ * @return The failure code as a String.
+ */
+ @NonNull public static String convertFailureCodeToString(@FailureCode int failureCode) {
+ switch (failureCode) {
+ case FAILURE_CODE_UNKNOWN: return "UNKNOWN";
+ case FAILURE_CODE_CARRIER_URL_UNAVAILABLE: return "CARRIER_URL_UNAVAILABLE";
+ case FAILURE_CODE_SERVER_UNREACHABLE: return "SERVER_UNREACHABLE";
+ case FAILURE_CODE_AUTHENTICATION_FAILED: return "AUTHENTICATION_FAILED";
+ case FAILURE_CODE_PAYMENT_FAILED: return "PAYMENT_FAILED";
+ default:
+ return "UNKNOWN(" + failureCode + ")";
+ }
+ }
+
+ private void reportAnomaly(@NonNull String uuid, @NonNull String log) {
+ loge(log);
+ AnomalyReporter.reportAnomaly(UUID.fromString(uuid), log);
+ }
+
private void logd(String s) {
Log.d(TAG + "-" + mPhone.getPhoneId(), s);
}
diff --git a/tests/src/com/android/TelephonyTestBase.java b/tests/src/com/android/TelephonyTestBase.java
index ffda81b..d72d85e 100644
--- a/tests/src/com/android/TelephonyTestBase.java
+++ b/tests/src/com/android/TelephonyTestBase.java
@@ -24,10 +24,16 @@
import com.android.internal.telephony.PhoneConfigurationManager;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Rule;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
+import java.lang.reflect.Field;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
@@ -40,6 +46,10 @@
protected TestContext mContext;
+ private final HashMap<InstanceKey, Object> mOldInstances = new HashMap<>();
+ private final LinkedList<InstanceKey> mInstanceKeys = new LinkedList<>();
+
+ @Before
public void setUp() throws Exception {
mContext = spy(new TestContext());
// Set up the looper if it does not exist on the test thread.
@@ -56,9 +66,11 @@
}
}
+ @After
public void tearDown() throws Exception {
// Ensure there are no static references to handlers after test completes.
PhoneConfigurationManager.unregisterAllMultiSimConfigChangeRegistrants();
+ restoreInstances();
}
protected final boolean waitForExecutorAction(Executor executor, long timeoutMillis) {
@@ -108,6 +120,61 @@
}
}
+ protected synchronized void replaceInstance(final Class c, final String instanceName,
+ final Object obj, final Object newValue)
+ throws Exception {
+ Field field = c.getDeclaredField(instanceName);
+ field.setAccessible(true);
+
+ InstanceKey key = new InstanceKey(c, instanceName, obj);
+ if (!mOldInstances.containsKey(key)) {
+ mOldInstances.put(key, field.get(obj));
+ mInstanceKeys.add(key);
+ }
+ field.set(obj, newValue);
+ }
+
+ private synchronized void restoreInstances() throws Exception {
+ Iterator<InstanceKey> it = mInstanceKeys.descendingIterator();
+
+ while (it.hasNext()) {
+ InstanceKey key = it.next();
+ Field field = key.mClass.getDeclaredField(key.mInstName);
+ field.setAccessible(true);
+ field.set(key.mObj, mOldInstances.get(key));
+ }
+
+ mInstanceKeys.clear();
+ mOldInstances.clear();
+ }
+
+ private static class InstanceKey {
+ public final Class mClass;
+ public final String mInstName;
+ public final Object mObj;
+ InstanceKey(final Class c, final String instName, final Object obj) {
+ mClass = c;
+ mInstName = instName;
+ mObj = obj;
+ }
+
+ @Override
+ public int hashCode() {
+ return (mClass.getName().hashCode() * 31 + mInstName.hashCode()) * 31;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null || obj.getClass() != getClass()) {
+ return false;
+ }
+
+ InstanceKey other = (InstanceKey) obj;
+ return (other.mClass == mClass && other.mInstName.equals(mInstName)
+ && other.mObj == mObj);
+ }
+ }
+
protected TestContext getTestContext() {
return mContext;
}
diff --git a/tests/src/com/android/TestContext.java b/tests/src/com/android/TestContext.java
index 7edbed9..7c3a842 100644
--- a/tests/src/com/android/TestContext.java
+++ b/tests/src/com/android/TestContext.java
@@ -31,6 +31,7 @@
import android.os.Looper;
import android.os.PersistableBundle;
import android.os.Process;
+import android.os.UserManager;
import android.telecom.TelecomManager;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
@@ -58,6 +59,7 @@
@Mock TelephonyManager mMockTelephonyManager;
@Mock SubscriptionManager mMockSubscriptionManager;
@Mock ImsManager mMockImsManager;
+ @Mock UserManager mMockUserManager;
private SparseArray<PersistableBundle> mCarrierConfigs = new SparseArray<>();
@@ -147,6 +149,9 @@
case(Context.TELEPHONY_IMS_SERVICE) : {
return mMockImsManager;
}
+ case(Context.USER_SERVICE) : {
+ return mMockUserManager;
+ }
}
return null;
}
@@ -165,6 +170,9 @@
if (serviceClass == SubscriptionManager.class) {
return Context.TELEPHONY_SUBSCRIPTION_SERVICE;
}
+ if (serviceClass == UserManager.class) {
+ return Context.USER_SERVICE;
+ }
return null;
}
diff --git a/tests/src/com/android/phone/ImsStateCallbackControllerTest.java b/tests/src/com/android/phone/ImsStateCallbackControllerTest.java
index 60374bc..2bd87be 100644
--- a/tests/src/com/android/phone/ImsStateCallbackControllerTest.java
+++ b/tests/src/com/android/phone/ImsStateCallbackControllerTest.java
@@ -52,6 +52,7 @@
import android.testing.TestableLooper;
import android.util.Log;
+import com.android.TelephonyTestBase;
import com.android.ims.FeatureConnector;
import com.android.ims.ImsManager;
import com.android.ims.RcsFeatureManager;
@@ -70,13 +71,12 @@
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
-import java.lang.reflect.Field;
import java.util.concurrent.Executor;
/**
* Unit tests for RcsProvisioningMonitor
*/
-public class ImsStateCallbackControllerTest {
+public class ImsStateCallbackControllerTest extends TelephonyTestBase {
private static final String TAG = "ImsStateCallbackControllerTest";
private static final int FAKE_SUB_ID_BASE = 0x0FFFFFF0;
@@ -189,6 +189,7 @@
mLooper.destroy();
mLooper = null;
}
+ super.tearDown();
}
@Test
@@ -952,13 +953,6 @@
}
}
- private static void replaceInstance(final Class c,
- final String instanceName, final Object obj, final Object newValue) throws Exception {
- Field field = c.getDeclaredField(instanceName);
- field.setAccessible(true);
- field.set(obj, newValue);
- }
-
private void makeFakeActiveSubIds(int count) {
final int[] subIds = new int[count];
for (int i = 0; i < count; i++) {
diff --git a/tests/src/com/android/phone/NotificationMgrTest.java b/tests/src/com/android/phone/NotificationMgrTest.java
index a6ee276..bd5ca1d 100644
--- a/tests/src/com/android/phone/NotificationMgrTest.java
+++ b/tests/src/com/android/phone/NotificationMgrTest.java
@@ -69,9 +69,12 @@
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
+import com.android.TelephonyTestBase;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneFactory;
+import com.android.internal.telephony.data.DataNetworkController;
+import com.android.internal.telephony.data.DataSettingsManager;
import com.android.internal.telephony.util.NotificationChannelController;
import org.junit.Before;
@@ -81,15 +84,14 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import java.lang.reflect.Field;
+import java.util.Collections;
/**
* Unit Test for NotificationMgr
*/
@RunWith(AndroidTestingRunner.class)
@TestableLooper.RunWithLooper
-public class NotificationMgrTest {
-
+public class NotificationMgrTest extends TelephonyTestBase {
private static final int TEST_SUB_ID = 1;
private static final long SERIAL_NUMBER_OF_USER = 1234567L;
private static final String TEST_LABEL_CF = "test_call_forwarding";
@@ -111,8 +113,11 @@
@Mock NotificationManager mNotificationManager;
@Mock SubscriptionInfo mSubscriptionInfo;
@Mock Resources mResources;
+ @Mock Context mMockedContext;
@Mock ServiceState mServiceState;
@Mock CarrierConfigManager mCarrierConfigManager;
+ @Mock DataNetworkController mDataNetworkController;
+ @Mock DataSettingsManager mDataSettingsManager;
private Phone[] mPhones;
private NotificationMgr mNotificationMgr;
@@ -123,6 +128,14 @@
mPhones = new Phone[]{mPhone};
replaceInstance(PhoneFactory.class, "sPhones", null, mPhones);
when(mPhone.getPhoneType()).thenReturn(PhoneConstants.PHONE_TYPE_GSM);
+ when(mPhone.getContext()).thenReturn(mMockedContext);
+ when(mMockedContext.getResources()).thenReturn(mResources);
+ when(mPhone.getServiceState()).thenReturn(mServiceState);
+ when(mPhone.getDataNetworkController()).thenReturn(mDataNetworkController);
+ when(mDataNetworkController.getInternetDataDisallowedReasons()).thenReturn(
+ Collections.emptyList());
+ when(mPhone.getDataSettingsManager()).thenReturn(mDataSettingsManager);
+ when(mDataSettingsManager.isDataEnabledForReason(anyInt())).thenReturn(true);
when(mApp.getSharedPreferences(anyString(), anyInt())).thenReturn(mSharedPreferences);
when(mApp.getPackageName()).thenReturn(TEST_PACKAGE_NAME);
@@ -157,8 +170,7 @@
}
@Test
- public void testUpdateCfi_visible_noActiveSubscription_notificationNeverSent()
- throws Exception {
+ public void testUpdateCfi_visible_noActiveSubscription_notificationNeverSent() {
// Given no active subscription available
when(mSubscriptionManager.getActiveSubscriptionInfo(eq(TEST_SUB_ID))).thenReturn(null);
@@ -170,7 +182,7 @@
}
@Test
- public void testUpdateCfi_visible_hasActiveSub_singleSIM_notificationSent() throws Exception {
+ public void testUpdateCfi_visible_hasActiveSub_singleSIM_notificationSent() {
when(mTelephonyManager.getPhoneCount()).thenReturn(1);
when(mSubscriptionManager.getActiveSubscriptionInfo(eq(TEST_SUB_ID))).thenReturn(
mSubscriptionInfo);
@@ -181,8 +193,7 @@
}
@Test
- public void testUpdateCfi_visible_hasActiveSub_multiSIM_notificationSentWithoutDisplayName()
- throws Exception {
+ public void testUpdateCfi_visible_hasActiveSub_multiSIM_notificationSentWithoutDisplayName() {
when(mTelephonyManager.getPhoneCount()).thenReturn(2);
when(mSubscriptionManager.getActiveSubscriptionInfo(eq(TEST_SUB_ID))).thenReturn(
mSubscriptionInfo);
@@ -194,8 +205,7 @@
}
@Test
- public void testUpdateCfi_visible_hasActiveSub_multiSIM_notificationSentWithDisplayName()
- throws Exception {
+ public void testUpdateCfi_visible_hasActiveSub_multiSIM_notificationSentWithDisplayName() {
when(mTelephonyManager.getPhoneCount()).thenReturn(2);
when(mSubscriptionManager.getActiveSubscriptionInfo(eq(TEST_SUB_ID))).thenReturn(
mSubscriptionInfo);
@@ -207,8 +217,7 @@
}
@Test
- public void testUpdateCfi_invisible_hasUnmanagedProfile_notificationCanceled()
- throws Exception {
+ public void testUpdateCfi_invisible_hasUnmanagedProfile_notificationCanceled() {
when(mUserManager.isManagedProfile(anyInt())).thenReturn(false);
mNotificationMgr.updateCfi(TEST_SUB_ID, /*visible=*/false, /*isFresh=*/false);
@@ -217,8 +226,7 @@
}
@Test
- public void testUpdateCfi_invisible_allProfilesAreManaged_notificationNeverCanceled()
- throws Exception {
+ public void testUpdateCfi_invisible_allProfilesAreManaged_notificationNeverCanceled() {
when(mUserManager.isManagedProfile(anyInt())).thenReturn(true);
mNotificationMgr.updateCfi(TEST_SUB_ID, /*visible=*/false, /*isFresh=*/false);
@@ -227,7 +235,7 @@
}
@Test
- public void testShowDataRoamingNotification_roamingOn() throws Exception {
+ public void testShowDataRoamingNotification_roamingOn() {
mNotificationMgr.showDataRoamingNotification(TEST_SUB_ID, /*roamingOn=*/true);
verifyNotificationSentWithChannelId(
@@ -235,7 +243,7 @@
}
@Test
- public void testShowDataRoamingNotification_roamingOff() throws Exception {
+ public void testShowDataRoamingNotification_roamingOff() {
mNotificationMgr.showDataRoamingNotification(TEST_SUB_ID, /*roamingOn=*/false);
verifyNotificationSentWithChannelId(
@@ -250,8 +258,7 @@
}
@Test
- public void testUpdateNetworkSelection_justOutOfService_notificationNeverSent()
- throws Exception {
+ public void testUpdateNetworkSelection_justOutOfService_notificationNeverSent() {
prepareResourcesForNetworkSelection();
mNotificationMgr.updateNetworkSelection(ServiceState.STATE_OUT_OF_SERVICE, TEST_SUB_ID);
@@ -265,8 +272,7 @@
}
@Test
- public void testUpdateNetworkSelection_oosEnoughTime_selectionVisibleToUser_notificationSent()
- throws Exception {
+ public void testUpdateNetworkSelection_oosEnoughTime_selectionVisibleToUser_notificationSent() {
prepareResourcesForNetworkSelection();
when(mTelephonyManager.isManualNetworkSelectionAllowed()).thenReturn(true);
PersistableBundle config = new PersistableBundle();
@@ -288,8 +294,7 @@
}
@Test
- public void testUpdateNetworkSelection_invalidSubscription_notificationNotSent()
- throws Exception {
+ public void testUpdateNetworkSelection_invalidSubscription_notificationNotSent() {
prepareResourcesForNetworkSelection();
when(mTelephonyManager.isManualNetworkSelectionAllowed()).thenReturn(true);
PersistableBundle config = new PersistableBundle();
@@ -312,8 +317,7 @@
}
@Test
- public void testUpdateNetworkSelection_nullCarrierConfig_notificationNotSent()
- throws Exception {
+ public void testUpdateNetworkSelection_nullCarrierConfig_notificationNotSent() {
prepareResourcesForNetworkSelection();
when(mCarrierConfigManager.getConfigForSubId(TEST_SUB_ID)).thenReturn(null);
@@ -329,8 +333,7 @@
}
@Test
- public void testUpdateNetworkSelection_userNotAllowedToChooseOperator_notificationNotSent()
- throws Exception {
+ public void testUpdateNetworkSelection_userNotAllowedToChooseOperator_notificationNotSent() {
prepareResourcesForNetworkSelection();
PersistableBundle config = new PersistableBundle();
@@ -353,8 +356,8 @@
}
@Test
- public void testUpdateNetworkSelection_OverrideHideCarrierNetworkSelection_notificationNotSent()
- throws Exception {
+ public void
+ testUpdateNetworkSelection_OverrideHideCarrierNetworkSelection_notificationNotSent() {
prepareResourcesForNetworkSelection();
PersistableBundle config = new PersistableBundle();
@@ -401,8 +404,7 @@
}
@Test
- public void testUpdateNetworkSelection_worldMode_userSetLTE_notificationNotSent()
- throws Exception {
+ public void testUpdateNetworkSelection_worldMode_userSetLTE_notificationNotSent() {
prepareResourcesForNetworkSelection();
PersistableBundle config = new PersistableBundle();
@@ -431,8 +433,7 @@
}
@Test
- public void testUpdateNetworkSelection_worldMode_userSetTDSCDMA_notSupported_notifNotSent()
- throws Exception {
+ public void testUpdateNetworkSelection_worldMode_userSetTDSCDMA_notSupported_notifNotSent() {
prepareResourcesForNetworkSelection();
PersistableBundle config = new PersistableBundle();
@@ -462,8 +463,7 @@
}
@Test
- public void testUpdateNetworkSelection_worldMode_userSetWCDMA_notificationSent()
- throws Exception {
+ public void testUpdateNetworkSelection_worldMode_userSetWCDMA_notificationSent() {
prepareResourcesForNetworkSelection();
PersistableBundle config = new PersistableBundle();
@@ -494,8 +494,7 @@
}
@Test
- public void testUpdateNetworkSelection_worldPhone_networkSelectionNotHide_notificationSent()
- throws Exception {
+ public void testUpdateNetworkSelection_worldPhone_networkSelectionNotHide_notificationSent() {
prepareResourcesForNetworkSelection();
PersistableBundle config = new PersistableBundle();
@@ -519,8 +518,7 @@
}
@Test
- public void testUpdateNetworkSelection_gsmBasicOptionOn_notificationSent()
- throws Exception {
+ public void testUpdateNetworkSelection_gsmBasicOptionOn_notificationSent() {
prepareResourcesForNetworkSelection();
PersistableBundle config = new PersistableBundle();
@@ -545,8 +543,7 @@
}
@Test
- public void testUpdateNetworkSelection_gsmBasicOptionOff_notificationNotSent()
- throws Exception {
+ public void testUpdateNetworkSelection_gsmBasicOptionOff_notificationNotSent() {
prepareResourcesForNetworkSelection();
PersistableBundle config = new PersistableBundle();
@@ -569,8 +566,7 @@
}
@Test
- public void testShowLimitedSimFunctionWarningNotification_forTheFirstTime_notificationSent()
- throws Exception {
+ public void testShowLimitedSimFunctionWarningNotification_forTheFirstTime_notificationSent() {
when(mResources.getText(R.string.limited_sim_function_notification_message)).thenReturn(
CARRIER_NAME);
when(mResources.getText(
@@ -584,8 +580,8 @@
}
@Test
- public void testShowLimitedSimFunctionWarningNotification_consecutiveCall_notificationSentOnce()
- throws Exception {
+ public void
+ testShowLimitedSimFunctionWarningNotification_consecutiveCall_notificationSentOnce() {
when(mResources.getText(R.string.limited_sim_function_notification_message)).thenReturn(
CARRIER_NAME);
when(mResources.getText(
@@ -602,8 +598,7 @@
}
@Test
- public void testDismissLimitedSimFunctionWarningNotification_noShowCalledBefore_noCancelSent()
- throws Exception {
+ public void testDismissLimitedSimFunctionWarningNotification_noShowCalledBefore_noCancelSent() {
// showLimitedSimFunctionWarningNotification was never called before
mNotificationMgr.dismissLimitedSimFunctionWarningNotification(TEST_SUB_ID);
@@ -612,8 +607,7 @@
}
@Test
- public void testDismissLimitedSimFunctionWarningNotification_showCalledBefore_cancelSent()
- throws Exception {
+ public void testDismissLimitedSimFunctionWarningNotification_showCalledBefore_cancelSent() {
when(mResources.getText(R.string.limited_sim_function_notification_message)).thenReturn(
CARRIER_NAME);
when(mResources.getText(
@@ -651,11 +645,4 @@
when(mApp.getString(R.string.mobile_network_settings_class)).thenReturn(
MOBILE_NETWORK_SELECTION_CLASS);
}
-
- private static void replaceInstance(final Class c,
- final String instanceName, final Object obj, final Object newValue) throws Exception {
- Field field = c.getDeclaredField(instanceName);
- field.setAccessible(true);
- field.set(obj, newValue);
- }
}
diff --git a/tests/src/com/android/phone/PhoneInterfaceManagerTest.java b/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
index ffc0177..08bdb9b 100644
--- a/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
+++ b/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
@@ -33,6 +33,7 @@
import com.android.internal.telephony.RILConstants;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -90,6 +91,7 @@
}
@Test
+ @Ignore("b/254731907")
public void matchLocaleFromSupportedLocaleList_inputLocaleChangeToSupportedLocale() {
// Input zh-TW, then look up the matched supported locale, zh-Hant-TW, instead.
String result1 = mPhoneInterfaceManager.matchLocaleFromSupportedLocaleList(
diff --git a/tests/src/com/android/phone/PhoneUtilsTest.java b/tests/src/com/android/phone/PhoneUtilsTest.java
index eb4c248..521a0bb 100644
--- a/tests/src/com/android/phone/PhoneUtilsTest.java
+++ b/tests/src/com/android/phone/PhoneUtilsTest.java
@@ -28,23 +28,19 @@
import androidx.test.runner.AndroidJUnit4;
+import com.android.TelephonyTestBase;
import com.android.internal.telephony.GsmCdmaPhone;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
-import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
-
@RunWith(AndroidJUnit4.class)
-public class PhoneUtilsTest {
+public class PhoneUtilsTest extends TelephonyTestBase {
@Mock
private SubscriptionManager mMockSubscriptionManager;
@Mock
@@ -59,37 +55,6 @@
private PhoneAccountHandle mPhoneAccountHandleTest = new PhoneAccountHandle(
PSTN_CONNECTION_SERVICE_COMPONENT, mPhoneAccountHandleIdString);
- private HashMap<InstanceKey, Object> mOldInstances = new HashMap<InstanceKey, Object>();
-
- private ArrayList<InstanceKey> mInstanceKeys = new ArrayList<InstanceKey>();
-
- private static class InstanceKey {
- public final Class mClass;
- public final String mInstName;
- public final Object mObj;
- InstanceKey(final Class c, final String instName, final Object obj) {
- mClass = c;
- mInstName = instName;
- mObj = obj;
- }
-
- @Override
- public int hashCode() {
- return (mClass.getName().hashCode() * 31 + mInstName.hashCode()) * 31;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == null || !(obj instanceof InstanceKey)) {
- return false;
- }
-
- InstanceKey other = (InstanceKey) obj;
- return (other.mClass == mClass && other.mInstName.equals(mInstName)
- && other.mObj == mObj);
- }
- }
-
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
@@ -100,37 +65,6 @@
replaceInstance(PhoneFactory.class, "sPhones", null, mPhones);
}
- @After
- public void tearDown() throws Exception {
- restoreInstance(PhoneFactory.class, "sPhones", null);
- }
-
- protected synchronized void replaceInstance(final Class c, final String instanceName,
- final Object obj, final Object newValue)
- throws Exception {
- Field field = c.getDeclaredField(instanceName);
- field.setAccessible(true);
-
- InstanceKey key = new InstanceKey(c, instanceName, obj);
- if (!mOldInstances.containsKey(key)) {
- mOldInstances.put(key, field.get(obj));
- mInstanceKeys.add(key);
- }
- field.set(obj, newValue);
- }
-
- protected synchronized void restoreInstance(final Class c, final String instanceName,
- final Object obj) throws Exception {
- InstanceKey key = new InstanceKey(c, instanceName, obj);
- if (mOldInstances.containsKey(key)) {
- Field field = c.getDeclaredField(instanceName);
- field.setAccessible(true);
- field.set(obj, mOldInstances.get(key));
- mOldInstances.remove(key);
- mInstanceKeys.remove(key);
- }
- }
-
@Test
public void testIsPhoneAccountActive() throws Exception {
assertTrue(PhoneUtils.isPhoneAccountActive(
diff --git a/tests/src/com/android/phone/Telephony2gUpdaterTest.java b/tests/src/com/android/phone/Telephony2gUpdaterTest.java
new file mode 100644
index 0000000..3443767
--- /dev/null
+++ b/tests/src/com/android/phone/Telephony2gUpdaterTest.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.os.UserManager;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.TelephonyTestBase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+@RunWith(AndroidJUnit4.class)
+public class Telephony2gUpdaterTest extends TelephonyTestBase {
+ private Telephony2gUpdater mTelephony2gUpdater;
+ private Executor mExecutor;
+
+ private UserManager mMockUserManager;
+ private TelephonyManager mMockTelephonyManager;
+ private SubscriptionManager mMockSubscriptionManager;
+
+ // 2G Bitmask is 0b10000000_01001011
+ private static final long BASE_NETWORK = 0b11111111_11111111;
+ private static final long EXPECTED_DISABLED = 0b01111111_10110100;
+ private static final long EXPECTED_ENABLED = 0b11111111_11111111;
+
+
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+
+ mMockTelephonyManager = mContext.getSystemService(TelephonyManager.class);
+ mMockUserManager = mContext.getSystemService(UserManager.class);
+ mMockSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
+
+ mExecutor = Executors.newSingleThreadExecutor();
+ mTelephony2gUpdater = new Telephony2gUpdater(mExecutor,
+ getTestContext(), BASE_NETWORK);
+ }
+
+ @Test
+ public void handleUserRestrictionsChanged_noSubscriptions_noAllowedNetworksChanged() {
+ when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+ new ArrayList<>());
+ mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+ verify(mMockTelephonyManager, never()).setAllowedNetworkTypesForReason(anyInt(), anyInt());
+ }
+
+ @Test
+ public void handleUserRestrictionsChanged_nullSubscriptions_noAllowedNetworksChanged() {
+ when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(null);
+ mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+ verify(mMockTelephonyManager, never()).setAllowedNetworkTypesForReason(anyInt(), anyInt());
+ }
+
+ @Test
+ public void handleUserRestrictionsChanged_oneSubscription_allowedNetworksUpdated() {
+ TelephonyManager tmSubscription1 = mock(TelephonyManager.class);
+ when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+ Collections.singletonList(getSubInfo(1)));
+ when(mMockTelephonyManager.createForSubscriptionId(1)).thenReturn(tmSubscription1);
+ when(mMockUserManager.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G)).thenReturn(
+ true);
+
+ mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+
+ System.out.println(TelephonyManager.convertNetworkTypeBitmaskToString(11L));
+ verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_DISABLED);
+ }
+
+ @Test
+ public void handleUserRestrictionsChanged_manySubscriptionsDisallow2g_allowedNetworkUpdated() {
+
+ // Two subscriptions are available
+ when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+ Arrays.asList(getSubInfo(1), getSubInfo(2)));
+ TelephonyManager tmSubscription1 = mock(TelephonyManager.class);
+ TelephonyManager tmSubscription2 = mock(TelephonyManager.class);
+ when(mMockTelephonyManager.createForSubscriptionId(1)).thenReturn(tmSubscription1);
+ when(mMockTelephonyManager.createForSubscriptionId(2)).thenReturn(tmSubscription2);
+ // 2g is disallowed
+ when(mMockUserManager.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G)).thenReturn(
+ true);
+
+ mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+
+ verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_DISABLED);
+ verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_DISABLED);
+ }
+
+ @Test
+ public void handleUserRestrictionsChanged_manySubscriptionsAllow2g_allowedNetworkUpdated() {
+
+ // Two subscriptions are available
+ when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+ Arrays.asList(getSubInfo(1), getSubInfo(2)));
+ TelephonyManager tmSubscription1 = mock(TelephonyManager.class);
+ TelephonyManager tmSubscription2 = mock(TelephonyManager.class);
+ when(mMockTelephonyManager.createForSubscriptionId(1)).thenReturn(tmSubscription1);
+ when(mMockTelephonyManager.createForSubscriptionId(2)).thenReturn(tmSubscription2);
+
+ // 2g is allowed
+ when(mMockUserManager.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G)).thenReturn(
+ false);
+
+ mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+
+ verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_ENABLED);
+ verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_ENABLED);
+ }
+
+ private SubscriptionInfo getSubInfo(int id) {
+ return new SubscriptionInfo(id, "890126042XXXXXXXXXXX", 0, "T-mobile", "T-mobile", 0, 255,
+ "12345", 0, null, "310", "260", "156", false, null, null);
+ }
+}
diff --git a/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java b/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
index 28a7b02..969622a 100644
--- a/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
+++ b/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
@@ -38,19 +38,14 @@
import com.android.internal.telephony.PhoneFactory;
import com.android.phone.common.R;
-import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
import java.util.Locale;
-
@RunWith(AndroidJUnit4.class)
public class DisconnectCauseUtilTest extends TelephonyTestBase {
@@ -60,42 +55,11 @@
// dynamic
private Context mContext;
- private HashMap<InstanceKey, Object> mOldInstances = new HashMap<InstanceKey, Object>();
- private ArrayList<InstanceKey> mInstanceKeys = new ArrayList<InstanceKey>();
//Mocks
@Mock
private GsmCdmaPhone mMockPhone;
- // inner classes
- private static class InstanceKey {
- public final Class mClass;
- public final String mInstName;
- public final Object mObj;
-
- InstanceKey(final Class c, final String instName, final Object obj) {
- mClass = c;
- mInstName = instName;
- mObj = obj;
- }
-
- @Override
- public int hashCode() {
- return (mClass.getName().hashCode() * 31 + mInstName.hashCode()) * 31;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == null || !(obj instanceof InstanceKey)) {
- return false;
- }
-
- InstanceKey other = (InstanceKey) obj;
- return (other.mClass == mClass && other.mInstName.equals(mInstName)
- && other.mObj == mObj);
- }
- }
-
@Before
public void setUp() throws Exception {
super.setUp();
@@ -106,15 +70,6 @@
setSinglePhone();
}
- @After
- public void tearDown() throws Exception {
- // restoreInstance.
- // Not doing so will potentially "confuse" other tests with the mocked instance
- restoreInstance(PhoneFactory.class, "sPhones", null);
- super.tearDown();
- }
-
-
/**
* Verifies that a call drop due to loss of WIFI results in a disconnect cause of error and that
* the label, description and tone are all present.
@@ -176,33 +131,6 @@
replaceInstance(PhoneFactory.class, "sPhones", null, mPhones);
}
-
- protected synchronized void replaceInstance(final Class c, final String instanceName,
- final Object obj, final Object newValue)
- throws Exception {
- Field field = c.getDeclaredField(instanceName);
- field.setAccessible(true);
-
- InstanceKey key = new InstanceKey(c, instanceName, obj);
- if (!mOldInstances.containsKey(key)) {
- mOldInstances.put(key, field.get(obj));
- mInstanceKeys.add(key);
- }
- field.set(obj, newValue);
- }
-
- protected synchronized void restoreInstance(final Class c, final String instanceName,
- final Object obj) throws Exception {
- InstanceKey key = new InstanceKey(c, instanceName, obj);
- if (mOldInstances.containsKey(key)) {
- Field field = c.getDeclaredField(instanceName);
- field.setAccessible(true);
- field.set(obj, mOldInstances.get(key));
- mOldInstances.remove(key);
- mInstanceKeys.remove(key);
- }
- }
-
private Resources getResourcesForLocale(Context context, Locale locale) {
Configuration config = new Configuration();
config.setToDefaults();