Snap for 4448085 from 5fe96e196d70343e5a05515ab3fdc2df8ca56448 to oc-m3-release
Change-Id: I295ee5f6867223063c6efd26e7804aa10af9b073
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 962115b..bffa057 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Voorkeurnetwerktipe"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Verander die netwerkbedryfsmodus"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Voorkeurnetwerktipe"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(verbode)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Voorkeurnetwerk-modus: WCDMA verkies"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Voorkeurnetwerk-modus: net GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Voorkeurnetwerk-modus: net WCDMA"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index b22e386..8bdf17c 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"የሚመረጠው የአውታረ መረብ አይነት"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"የአውታረመረቡንመከወኛ ሁነታ ለውጥ"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"የሚመረጠው የአውታረ መረብ አይነት"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(የተከለከለ)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"ተመራጭ የአውታረመረብ ፡WCDMA ሁነታ ተመራጭ"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"ተመራጭ የአውታረመረብ ፡GSM ሁነታ ብቻ"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"ተመራጭ የአውታረመረብ ፡WCDMA ሁነታ ብቻ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index db4f3a9..6d12177 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"نوع الشبكة المفضل"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"تغيير وضع تشغيل الشبكة"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"نوع الشبكة المفضل"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(محظور)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"وضع الشبكة المفضل: تم تفضيل WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"وضع الشبكة المفضل: GSM فقط"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"وضع الشبكة المفضل: WCDMA فقط"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index fc4cb6e..9158f96 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tərcih edilən şəbəkə növü"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Şəbəkə əməliyyat rejimini dəyişin"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tərcih edilən şəbəkə növü"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(qadağandır)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Tərcih edilmiş şəbəkə rejimi: WCDMA tərcih edilir"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Tərcih edilmiş şəbəkə rejimi: Yalnız GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Tərcih edilmiş şəbəkə rejimi: yalnız WCDMA"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index c8f78a5..7d88d96 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Željeni tip mreže"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Promena režima rada mreže"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Željeni tip mreže"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(zabranjeno)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Željeni režim mreže: WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Željeni režim mreže: samo GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Željeni režim mreže: samo WCDMA"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 7bcbb03..5fb93a1 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Прыярытэтны тып сеткі"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Змяніць рэжым работы сеткі"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Прыярытэтны тып сеткі"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(забаронена)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Пераважны рэжым сеткі: пераважна WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Пераважны рэжым сеткі: толькі GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Пераважны рэжым сеткі: толькі WCDMA"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 2be8ea8..55d8e5a 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Предпочитан тип мрежа"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Промяна на операционния режим на мрежата"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Предпочитан тип мрежа"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(забранена)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Предпочитан режим на мрежата: Предпочита се WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Предпочитан режим на мрежата: Само GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Предпочитан режим на мрежата: Само WCDMA"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 6ffc6dc..01c4ae0 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"পছন্দের নেটওয়ার্ক"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"নেটওয়ার্ক অপারেটিং মোড পরিবর্তন করুন"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"পছন্দের নেটওয়ার্ক"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(নিষিদ্ধ)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"পছন্দের নেটওয়ার্ক মোড: WCDMA পছন্দসই"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"পছন্দের নেটওয়ার্ক মোড: শুধুমাত্র GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"পছন্দের নেটওয়ার্ক মোড: শুধুমাত্র WCDMA"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 8f0b3fb..d640858 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferirana vrsta mreže"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Promijeni način rada mreže"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferirana vrsta mreže"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(zabranjeno)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Preferirani način rada mreže: preferiraj WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Preferirani način rada mreže: samo GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Preferirani način rada mreže: samo WCDMA"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 0862320..f529a6f 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tipus de xarxa preferit"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Canvia el mode de funcionament de la xarxa"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tipus de xarxa preferit"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(prohibit)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Mode de xarxa preferit: WCDMA preferit"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Mode de xarxa preferit: només GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Mode de xarxa preferit: només WCDMA"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index fe1a2e8..0d7b1ed 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferovaný typ sítě"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Změnit provozní režim sítě"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferovaný typ sítě"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(zakázáno)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Upřednostňovaný režim sítě: preferováno WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Upřednostňovaný režim sítě: pouze GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Upřednostňovaný režim sítě: pouze WCDMA"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 75cbdf4..b50d01f 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Foretrukken netværkstype"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Skift netværksdriftstilstand"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Foretrukken netværkstype"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(forbudt)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Foretrukken netværkstilstand: WCDMA foretrækkes"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Foretrukken netværkstilstand: kun GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Foretrukken netværkstilstand: kun WCDMA"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 30462c6..84b630a 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Bevorzugter Netzwerktyp"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Netzwerkbetriebsmodus ändern"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Bevorzugter Netzwerktyp"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(nicht zulässig)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Bevorzugter Netzwerkmodus: WCDMA bevorzugt"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Bevorzugter Netzwerkmodus: nur GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Bevorzugter Netzwerkmodus: nur WCDMA"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 01a9c95..f7301b4 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Προτιμώμενος τύπος δικτύου"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Αλλαγή κατάστασης λειτουργίας δικτύου"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Προτιμώμενος τύπος δικτύου"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(απαγορευμένο)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Προτιμώμενη λειτουργία δικτύου: προτιμώμενο WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Προτιμώμενη λειτουργία δικτύου: μόνο GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Προτιμώμενη λειτουργία δικτύου: μόνο WCDMA"</string>
@@ -408,8 +409,8 @@
<string name="enable_pin" msgid="5422767284133234860">"Ενεργοποίηση/απενεργοποίηση αριθμού PIN της κάρτας SIM"</string>
<string name="change_pin" msgid="9174186126330785343">"Αλλαγή αριθμού PIN της κάρτας SIM"</string>
<string name="enter_pin_text" msgid="8532615714751931951">"Αριθμός PIN της κάρτας SIM:"</string>
- <string name="oldPinLabel" msgid="5287773661246368314">"Παλιός αριθμός PIN"</string>
- <string name="newPinLabel" msgid="207488227285336897">"Νέος αριθμός PIN"</string>
+ <string name="oldPinLabel" msgid="5287773661246368314">"Παλιό PIN"</string>
+ <string name="newPinLabel" msgid="207488227285336897">"Νέο PIN"</string>
<string name="confirmPinLabel" msgid="257597715098070206">"Επιβεβαίωση νέου αριθμού PIN"</string>
<string name="badPin" msgid="8955102849303984935">"Το παλιό PIN που πληκτρολογήσατε δεν είναι σωστό. Δοκιμάστε ξανά."</string>
<string name="mismatchPin" msgid="5923253370683071889">"Τα PIN που πληκτρολογήσατε δεν ταιριάζουν. Δοκιμάστε ξανά."</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 6d53c23..4ae1af0 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferred network type"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Change the network operating mode"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferred network type"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(forbidden)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Preferred network mode: WCDMA preferred"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Preferred network mode: GSM only"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Preferred network mode: WCDMA only"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 6d53c23..4ae1af0 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferred network type"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Change the network operating mode"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferred network type"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(forbidden)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Preferred network mode: WCDMA preferred"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Preferred network mode: GSM only"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Preferred network mode: WCDMA only"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 6d53c23..4ae1af0 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferred network type"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Change the network operating mode"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferred network type"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(forbidden)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Preferred network mode: WCDMA preferred"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Preferred network mode: GSM only"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Preferred network mode: WCDMA only"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 6d53c23..4ae1af0 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferred network type"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Change the network operating mode"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferred network type"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(forbidden)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Preferred network mode: WCDMA preferred"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Preferred network mode: GSM only"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Preferred network mode: WCDMA only"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 349a45f..161fc78 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferred network type"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Change the network operating mode"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferred network type"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(forbidden)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Preferred network mode: WCDMA preferred"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Preferred network mode: GSM only"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Preferred network mode: WCDMA only"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 256a31f..2896515 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tipo de red preferido"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Cambiar el modo operativo de la red"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tipo de red preferido"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(prohibido)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Modo de red preferido: WCDMA preferido"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Modo de red preferido: solo GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Modo de red preferido: solo WCDMA"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 34c3c94..bc5d678 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tipo de red preferida"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Cambiar el modo operativo de la red"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tipo de red preferida"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(prohibida)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Modo de red preferido: WCDMA preferido"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Modo de red preferido: solo GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Modo de red preferido: solo WCDMA"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 3f8b111..76a8c62 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Eelistatud võrgutüüp"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Muuda võrgu töörežiimi"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Eelistatud võrgutüüp"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(keelatud)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Eelistatud võrgurežiim: eelistatud WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Eelistatud võrgurežiim: ainult GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Eelistatud võrgurežiim: ainult WCDMA"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 5a5b95f..899fea7 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Sare mota hobetsia"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Aldatu sarearen funtzionamendu modua"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Sare mota hobetsia"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(debekatuta)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Sare modu hobetsia: WCDMA nahiago"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Sare modu hobetsia: GSM soilik"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Sare modu hobetsia: WCDMA soilik"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index bc3b876..e0bb0c0 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"نوع شبکه برگزیده"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"تغییر حالت عملکرد شبکه"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"نوع شبکه برگزیده"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(ممنوع است)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"حالت شبکه برگزیده: WCDMA برگزیده"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"حالت شبکه برگزیده: فقط GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"حالت شبکه برگزیده: فقط WCDMA"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index c2c1bf3..d5b9339 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Ensisijainen verkko"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Vaihda verkon käyttötilaa"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Ensisijainen verkko"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(kielletty)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Ensisijainen verkkotila: ensisijaisesti WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Ensisijainen verkkotila: vain GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Ensisijainen verkkotila: vain WCDMA"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 325fa06..4f36305 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Type de réseau préféré"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Changer le mode de fonctionnement du réseau"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Type de réseau préféré"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(interdit)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Mode réseau préféré : WCDMA de préférence"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Mode réseau préféré : GSM uniquement"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Mode réseau préféré : WCDMA uniquement"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 73857c4..1701822 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Type de réseau préféré"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Changer le mode de fonctionnement du réseau"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Type de réseau préféré"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(interdit)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Mode réseau préféré : WCDMA de préférence"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Mode réseau préféré : GSM uniquement"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Mode réseau préféré : WCDMA uniquement"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 4496ac8..f22319d 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -18,7 +18,7 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="phoneAppLabel" product="tablet" msgid="8576272342240415145">"Datos móbiles"</string>
<string name="phoneAppLabel" product="default" msgid="6790717591729922998">"Servizos de telefonía"</string>
- <string name="emergencyDialerIconLabel" msgid="7812140032168171053">"Marcador de emerxencia"</string>
+ <string name="emergencyDialerIconLabel" msgid="7812140032168171053">"Marcador de urxencia"</string>
<string name="phoneIconLabel" msgid="2331230813161304895">"Teléfono"</string>
<string name="fdnListLabel" msgid="8630418672279521003">"Lista de NMF"</string>
<string name="unknown" msgid="6878797917991465859">"Descoñecido"</string>
@@ -78,7 +78,7 @@
<string name="voicemail_settings_with_label" msgid="152724978380748296">"Correo de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="voicemail_abbreviated" msgid="2215592488517217448">"CV:"</string>
<string name="voicemail_notifications_preference_title" msgid="4019728578955102213">"Notificacións"</string>
- <string name="cell_broadcast_settings" msgid="8740238216690502563">"Difusións de emerxencia"</string>
+ <string name="cell_broadcast_settings" msgid="8740238216690502563">"Difusións de urxencia"</string>
<string name="call_settings" msgid="6112441768261754562">"Configuración de chamada"</string>
<string name="additional_gsm_call_settings" msgid="1391795981938800617">"Configuración adicional"</string>
<string name="additional_gsm_call_settings_with_label" msgid="1385241520708457376">"Configuración adicional (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -86,7 +86,7 @@
<string name="additional_cdma_call_settings" msgid="8628958775721886909">"Configuración adicional de chamadas CDMA"</string>
<string name="sum_cdma_call_settings" msgid="284753265979035549">"Configuración de chamadas só CDMA adicionais"</string>
<string name="labelNwService" msgid="4699970172021870983">"Configuración do servizo de rede"</string>
- <string name="labelCallerId" msgid="3888899447379069198">"ID de chamada"</string>
+ <string name="labelCallerId" msgid="3888899447379069198">"identificador de chamada"</string>
<string name="sum_loading_settings" msgid="1826692909391168620">"Cargando a configuración..."</string>
<string name="sum_hide_caller_id" msgid="1071407020290873782">"Número oculto nas chamadas saíntes"</string>
<string name="sum_show_caller_id" msgid="6768534125447290401">"Número mostrado nas chamadas saíntes"</string>
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tipo de rede preferido"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Cambiar o modo de funcionamento da rede"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tipo de rede preferido"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(non permitido)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Modo de rede preferido: WCDMA preferido"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Modo de rede preferido: só GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Modo de rede preferido: só WCDMA"</string>
@@ -252,9 +253,9 @@
<string name="cell_bc_sms_enable" msgid="6441688565738921084">"SMS de difusión móbil activado"</string>
<string name="cell_bc_sms_disable" msgid="3398365088309408749">"SMS de difusión móbil desactivado"</string>
<string name="cb_sms_settings" msgid="651715019785107312">"Configuración de SMS da difusión móbil"</string>
- <string name="enable_disable_emergency_broadcast" msgid="2157014609041245335">"Difusión de emerxencia"</string>
- <string name="emergency_broadcast_enable" msgid="2645980025414010211">"Difusión de emerxencia activada"</string>
- <string name="emergency_broadcast_disable" msgid="3665199821267569426">"Difusión de emerxencia desactivada"</string>
+ <string name="enable_disable_emergency_broadcast" msgid="2157014609041245335">"Difusión de urxencia"</string>
+ <string name="emergency_broadcast_enable" msgid="2645980025414010211">"Difusión de urxencia activada"</string>
+ <string name="emergency_broadcast_disable" msgid="3665199821267569426">"Difusión de urxencia desactivada"</string>
<string name="enable_disable_administrative" msgid="6501582322182059412">"Administrativo"</string>
<string name="administrative_enable" msgid="1750086122962032235">"Administrativo activado"</string>
<string name="administrative_disable" msgid="8433273857248698539">"Administrativo desactivado"</string>
@@ -458,7 +459,7 @@
<string name="incall_error_power_off" product="watch" msgid="2007450435656211658">"Para facer unha chamada, activa a rede de telefonía móbil, desactiva o modo avión ou desactiva o modo Aforro de batería."</string>
<string name="incall_error_power_off" product="default" msgid="2947938060513306698">"Desactiva o modo avión para facer unha chamada."</string>
<string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Desactiva o modo avión ou conéctate a unha rede sen fíos para facer unha chamada."</string>
- <string name="incall_error_ecm_emergency_only" msgid="738708660612388692">"Sae do modo de devolución de chamada de emerxencia para facer unha chamada que non sexa de emerxencia."</string>
+ <string name="incall_error_ecm_emergency_only" msgid="738708660612388692">"Sae do modo de devolución de chamada de urxencia para facer unha chamada que non sexa de urxencia."</string>
<string name="incall_error_emergency_only" msgid="4678640422710818317">"Sen rexistro na rede"</string>
<string name="incall_error_out_of_service" msgid="8587993036435080418">"A rede móbil non está dispoñible."</string>
<string name="incall_error_out_of_service_wfc" msgid="8741629779555132471">"A rede móbil non está dispoñible. Conéctate a unha rede sen fíos para facer unha chamada."</string>
@@ -475,12 +476,12 @@
<string name="incall_error_supp_service_hold" msgid="7967020511232222078">"Non se poden poñer as chamadas en espera."</string>
<string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Conéctate a unha rede sen fíos para facer unha chamada."</string>
<string name="incall_error_promote_wfc" msgid="106510757624022064">"Activa as chamadas por wifi para facer unha chamada."</string>
- <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chamada de emerxencia"</string>
+ <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chamada de urxencia"</string>
<string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Activando radio..."</string>
<string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Sen servizo. Tentando de novo…"</string>
- <string name="radio_off_during_emergency_call" msgid="2535800034010306830">"Non se pode activar o modo avión durante unha chamada de emerxencia."</string>
- <string name="dial_emergency_error" msgid="1509085166367420355">"Non se pode chamar. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> non é un número de emerxencia."</string>
- <string name="dial_emergency_empty_error" msgid="9130194953830414638">"Non se pode chamar. Marcar un número de emerxencia."</string>
+ <string name="radio_off_during_emergency_call" msgid="2535800034010306830">"Non se pode activar o modo avión durante unha chamada de urxencia."</string>
+ <string name="dial_emergency_error" msgid="1509085166367420355">"Non se pode chamar. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> non é un número de urxencia."</string>
+ <string name="dial_emergency_empty_error" msgid="9130194953830414638">"Non se pode chamar. Marcar un número de urxencia."</string>
<string name="dialerKeyboardHintText" msgid="9192914825413747792">"Utiliza o teclado para chamar"</string>
<string name="onscreenHoldText" msgid="2285258239691145872">"Poñer en espera"</string>
<string name="onscreenEndCallText" msgid="4403855834875398585">"Finalizar"</string>
@@ -536,20 +537,20 @@
<string name="ota_try_again" msgid="7685477206465902290">"Tentar de novo"</string>
<string name="ota_next" msgid="3904945374358235910">"Seguinte"</string>
<string name="ecm_exit_dialog" msgid="4448531867763097533">"EcmExitDialog"</string>
- <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Accedeuse ao modo de devolución de chamadas de emerxencia"</string>
- <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modo de devolución de chamadas de emerxencia"</string>
+ <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Accedeuse ao modo de devolución de chamadas de urxencia"</string>
+ <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modo de devolución de chamadas de urxencia"</string>
<string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Conexión de datos desactivada"</string>
<string name="phone_in_ecm_notification_complete_time" msgid="7730376844178948351">"Sen conexión de datos ata: <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
<plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
- <item quantity="other">O teléfono estará no modo de devolución de chamada de emerxencia durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Mentres se atope neste modo, non se poderá usar ningunha aplicación que utilice unha conexión de datos. Queres saír agora?</item>
- <item quantity="one">O teléfono estará no modo de devolución de chamada de emerxencia durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Mentres se atope neste modo, non se poderá usar ningunha aplicación que utilice unha conexión de datos. Queres saír agora?</item>
+ <item quantity="other">O teléfono estará no modo de devolución de chamada de urxencia durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Mentres se atope neste modo, non se poderá usar ningunha aplicación que utilice unha conexión de datos. Queres saír agora?</item>
+ <item quantity="one">O teléfono estará no modo de devolución de chamada de urxencia durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Mentres se atope neste modo, non se poderá usar ningunha aplicación que utilice unha conexión de datos. Queres saír agora?</item>
</plurals>
<plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
- <item quantity="other">A acción seleccionada non está dispoñible durante o modo de devolución de chamadas de emerxencia. O teléfono estará neste modo durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Queres saír agora?</item>
- <item quantity="one">A acción seleccionada non está dispoñible durante o modo de devolución de chamadas de emerxencia. O teléfono estará neste modo durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Queres saír agora?</item>
+ <item quantity="other">A acción seleccionada non está dispoñible durante o modo de devolución de chamadas de urxencia. O teléfono estará neste modo durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Queres saír agora?</item>
+ <item quantity="one">A acción seleccionada non está dispoñible durante o modo de devolución de chamadas de urxencia. O teléfono estará neste modo durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Queres saír agora?</item>
</plurals>
- <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"A acción seleccionada non está dispoñible durante as chamadas de emerxencia."</string>
- <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Saíndo do modo de devolución de chamadas de emerxencia"</string>
+ <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"A acción seleccionada non está dispoñible durante as chamadas de urxencia."</string>
+ <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Saíndo do modo de devolución de chamadas de urxencia"</string>
<string name="alert_dialog_yes" msgid="6674268047820703974">"Si"</string>
<string name="alert_dialog_no" msgid="1476091437797628703">"Non"</string>
<string name="alert_dialog_dismiss" msgid="2491494287075907171">"Rexeitar"</string>
@@ -572,8 +573,8 @@
<string name="enable_video_calling_dialog_msg" msgid="8948186136957417948">"Para activar as videochamadas, necesitas activar o Modo LTE 4G mellorado na configuración do sistema."</string>
<string name="enable_video_calling_dialog_settings" msgid="576528473599603249">"Configuración de rede"</string>
<string name="enable_video_calling_dialog_close" msgid="7411471282167927991">"Pechar"</string>
- <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Chamadas de emerxencia"</string>
- <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Só chamadas de emerxencia"</string>
+ <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Chamadas de urxencia"</string>
+ <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Só chamadas de urxencia"</string>
<string name="sim_description_default" msgid="4778679519938775515">"Tarxeta SIM, rañura: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
<string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accesibilidade"</string>
<string name="status_hint_label_incoming_wifi_call" msgid="5932176406432044638">"Chamada por wifi de"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 8712813..195ea98 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"પસંદગીનો નેટવર્ક પ્રકાર"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"નેટવર્ક ઓપરેટિંગ મોડ બદલો"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"પસંદગીનો નેટવર્ક પ્રકાર"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(પ્રતિબંધિત)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"પસંદગીનો નેટવર્ક મોડ: WCDMA પસંદ કરેલ છે"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"પસંદગીનો નેટવર્ક મોડ: ફક્ત GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"પસંદગીનો નેટવર્ક મોડ: ફક્ત WCDMA"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 217839c..395e85a 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"पसंदीदा नेटवर्क प्रकार"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"नेटवर्क संचालन मोड बदलें"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"पसंदीदा नेटवर्क प्रकार"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(मना है)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"पसंदीदा नेटवर्क मोड: WCDMA को प्राथमिकता"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"पसंदीदा नेटवर्क मोड: केवल GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"पसंदीदा नेटवर्क मोड: केवल WCDMA"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 34877e0..bf1763b 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Željena vrsta mreže"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Promijenite način rada mreže"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Željena vrsta mreže"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(zabranjeno)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Način željene mreže: Preferirano WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Način željene mreže: Samo GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Način željene mreže: Samo WCDMA"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 0dfa6bc..f2298e4 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferált hálózattípus"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"A hálózati üzemmód megváltoztatása"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferált hálózattípus"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(tiltott)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Preferált hálózati mód: preferált WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Preferált hálózati mód: csak GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Preferált hálózati mód: csak WCDMA"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index b61f99d..0c4289b 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Ցանցի նախընտրելի տեսակը"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Փոխել ցանցային գործավար ռեժիմը"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Ցանցի նախընտրելի տեսակը"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(արգելված)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Նախընտրելի ցանցի ռեժիմը՝ WCDMA նախընտրելի"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Նախընտրելի ցանցի ռեժիմը՝ միայն GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Նախընտրելի ցանցի ռեժիմը՝ միայն WCDMA"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index d7b480e..42f935b 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Jenis jaringan yang dipilih"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Ubah mode pengoperasian jaringan"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Jenis jaringan yang dipilih"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(terlarang)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Mode jaringan pilihan: WCDMA lebih disukai"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Mode jaringan pilihan: GSM saja"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Mode jaringan pilihan: WCDMA saja"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index cae46e6..725333b 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Valin símkerfistegund"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Breyta virknihætti símkerfis"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Valin símkerfistegund"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(bannað)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Valin símkerfisstilling: WCDMA fyrsta val"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Valin símkerfisstilling: GSM eingöngu"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Valin símkerfisstilling: WCDMA eingöngu"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 14afe83..dad6386 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tipo di rete preferito"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Cambia la modalità di funzionamento della rete"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tipo di rete preferito"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(vietato)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Modalità di rete preferita: WCDMA (preferita)"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Modalità di rete preferita: solo GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Modalità di rete preferita: solo WCDMA"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 3fee66a..0bbc39d 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"סוג רשת מועדף"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"שנה את מצב ההפעלה של הרשת"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"סוג רשת מועדף"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(אסור)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"מצב רשת מועדפת: WCDMA מועדף"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"מצב רשת מועדפת: GSM בלבד"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"מצב רשת מועדפת: WCDMA בלבד"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 2ea5a6b..8a97f0f 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"優先ネットワークタイプ"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"ネットワーク動作モードの変更"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"優先ネットワークタイプ"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(禁止)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"優先ネットワークモード: WCDMA優先"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"優先ネットワークモード: GSMのみ"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"優先ネットワークモード: WCDMAのみ"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index ecd9824..e537526 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"ქსელის სასურველი ტიპი"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"ქსელის ოპერირების რეჟიმის შეცვლა"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ქსელის სასურველი ტიპი"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(აკრძალული)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"ქსელის სასურველი რეჟიმი: WCDMA უპირატესობა"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"ქსელის სასურველი რეჟიმი: მხოლოდ GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"ქსელის სასურველი რეჟიმი: WCDMA მხოლოდ"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 826944f..e6d64e4 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Қалаулы желі түрі"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Желі жұмысының режимін өзгерту"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Қалаулы желі түрі"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(тыйым салынған)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Қалаулы желі режимі: WCDMA таңдалды"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Қалаулы желі режимі: GSM ғана"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Қалаулы желі режимі: WCDMA ғана"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 96b96d5..2da2e11 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"ប្រភេទបណ្ដាញដែលពេញចិត្ត"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"ប្ដូររបៀបប្រតិបត្តិការបណ្ដាញ"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ប្រភេទបណ្ដាញដែលពេញចិត្ត"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(ហាម)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"របៀបបណ្ដាញដែលចូលចិត្ត៖ WCDMA ដែលចូលចិត្ត"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"របៀបបណ្ដាញដែលចូលចិត្ត៖ តែ GSM ប៉ុណ្ណោះ"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"របៀបបណ្ដាញដែលចូលចិត្ត៖ តែ WCDMA ប៉ុណ្ណោះ"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index dec02d6..6ee1fa0 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"ಬಯಸಿದ ನೆಟ್ವರ್ಕ್ ಪ್ರಕಾರ"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"ನೆಟ್ವರ್ಕ್ ಕಾರ್ಯಾಚರಣಾ ಮೋಡ್ ಬದಲಿಸಿ"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ಬಯಸಿದ ನೆಟ್ವರ್ಕ್ ಪ್ರಕಾರ"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(ನಿಷೇಧಿತ)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"ಬಯಸಿದ ನೆಟ್ವರ್ಕ್ ಮೋಡ್: WCDMA ಗೆ ಪ್ರಾಶಸ್ತ್ಯ ನೀಡಲಾಗಿದೆ"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"ಬಯಸಿದ ನೆಟ್ವರ್ಕ್ ಮೋಡ್: GSM ಮಾತ್ರ"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"ಬಯಸಿದ ನೆಟ್ವರ್ಕ್ ಮೋಡ್: WCDMA ಮಾತ್ರ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 5dec628..a0ba18c 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"기본 네트워크 유형"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"네트워크 작동 모드 변경"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"기본 네트워크 유형"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(금지됨)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"기본 네트워크 모드: WCDMA 선호"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"기본 네트워크 모드: GSM 전용"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"기본 네트워크 모드: WCDMA 전용"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 11192ba..db58e68 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -176,6 +176,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Тармактын түрү"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Тармактын иштөө режимин өзгөртүңүз"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Тармактын түрү"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(тыюу салынган)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Тандалган тармак режими: WCDMA тандалган"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Тандалган тармак режими: GSM гана"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Тандалган тармак режими: WCDMA гана"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 6aae29b..8493e11 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"ປະເພດເຄືອຂ່າຍທີ່ຕ້ອງການ"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"ປ່ຽນຮູບແບບປະຕິບັດການຂອງເຄືອຂ່າຍ"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ປະເພດເຄືອຂ່າຍທີ່ຕ້ອງການ"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(ຂໍ້ມູນຕ້ອງຫ້າມ)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"ຮູບແບບເຄືອຂ່າຍທີ່ຕ້ອງການ: ຕ້ອງການ WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"ຮູບແບບເຄືອຂ່າຍທີ່ຕ້ອງການ: GSM ເທົ່ານັ້ນ"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"ຮູບແບບເຄືອຂ່າຍທີ່ຕ້ອງການ: WCDMA ເທົ່ານັ້ນ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index a9c8ad0..dee4920 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Pageidaujamas tinklo tipas"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Pakeisti tinklo veikimo režimą"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Pageidaujamas tinklo tipas"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(uždrausta)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Pageidaujamas tinklo režimas: pageidautina WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Pageidaujamas tinklo režimas: tik GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Pageidaujamas tinklo režimas: tik WCDMA"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index ade2262..72e71e7 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Ieteicamais tīkla veids"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Mainiet tīkla darbības režīmu"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Ieteicamais tīkla veids"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(aizliegts)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Ieteicamais tīkla režīms: WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Ieteicamais tīkla režīms: tikai GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Ieteicamais tīkla režīms: tikai WCDMA"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index a9dccaa..0da65b1 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Претпочитан тип мрежа"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Промени го режимот на работа на мрежата"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Претпочитан тип мрежа"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(забрането)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Претпочитан режим на мрежа: се претпочита WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Претпочитан режим на мрежа: само GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Претпочитан режим на мрежа: само WCDMA"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 49b855f..087d9ed 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"തിരഞ്ഞെടുത്ത നെറ്റ്വർക്ക് തരം"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"നെറ്റ്വർക്ക് ഓപ്പറേറ്റുചെയ്യൽ മോഡ് മാറ്റുക"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"തിരഞ്ഞെടുത്ത നെറ്റ്വർക്ക് തരം"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(നിരോധിക്കപ്പെട്ടത്)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"തിരഞ്ഞെടുത്ത നെറ്റ്വർക്ക് മോഡ്: WCDMA തിരഞ്ഞെടുത്തു"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"തിരഞ്ഞെടുത്ത നെറ്റ്വർക്ക് മോഡ്: GSM മാത്രം"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"തിരഞ്ഞെടുത്ത നെറ്റ്വർക്ക് മോഡ്: WCDMA മാത്രം"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index d2e7868..07f6f19 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Сүлжээний үндсэн төрөл"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Сүлжээний ажиллах төлвийг өөрчлөх"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Сүлжээний үндсэн төрөл"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(хориотой)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Давуу сүлжээний төлөв: WCDMA давуутай"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Давуу сүлжээний төлөв: зөвхөн GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Давуу сүлжээний төлөв: зөвхөн WCDMA"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 60f8c4e..915d3d5 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"प्राधान्यकृत नेटवर्क प्रकार"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"नेटवर्क कार्य करण्याचा मोड बदला"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"प्राधान्यकृत नेटवर्क प्रकार"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(मनाई केलेले)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"प्राधान्यकृत नेटवर्क मोड: WCDMA प्राधान्यकृत"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"प्राधान्यकृत नेटवर्क मोड: केवळ GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"प्राधान्यकृत नेटवर्क प्रकार: केवळ WCDMA"</string>
@@ -355,7 +356,7 @@
<item msgid="7494167883478914080">"0"</item>
<item msgid="6043847456049107742">"1"</item>
</string-array>
- <string name="cdma_activate_device" msgid="3793805892364814518">"डीव्हाइस सक्रिय करा"</string>
+ <string name="cdma_activate_device" msgid="3793805892364814518">"डिव्हाइस सक्रिय करा"</string>
<string name="cdma_lte_data_service" msgid="4255018217292548962">"डेटा सेवा सेट अप करा"</string>
<string name="carrier_settings_title" msgid="9028166176523012300">"वाहक सेटिंग्ज"</string>
<string name="fdn" msgid="7878832555095183202">"निश्चित डायलिंग नंबर"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index cfd329e..601f4df 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Jenis rangkaian pilihan"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Tukar mod pengendalian rangkaian"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Jenis rangkaian pilihan"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(dilarang)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Mod rangkaian pilihan: WCDMA diutamakan"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Mod rangkaian pilihan: GSM sahaja"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Mod rangkaian pilihan: WCDMA sahaja"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index d4a98eb..2a8ab1c 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"ပိုနှစ်သက်သော ကွန်ရက်အမျိုးအစား"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"ကွန်ရက် လုပ်ဆောင်မှုစနစ်အား ပြောင်းပါ"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ပိုနှစ်သက်သော ကွန်ရက်အမျိုးအစား"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(တားမြစ်ထားသည်)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"ပိုမိုကြိုက်သော ကွန်ယက်စနစ်-WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"ပိုမိုကြိုက်သော ကွန်ယက်စနစ်-GSM သာ"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"ပိုမိုကြိုက်သော ကွန်ယက်စနစ်- WCDMA သာ"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index fcc1aac..d667b97 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Foretrukket nettverkstype"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Bytt nettverksmodus"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Foretrukket nettverkstype"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(forbudt)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Foretrukket nettverksmodus: WCDMA foretrekkes"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Foretrukket nettverksmodus: kun GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Foretrukket nettverksmodus: kun WCDMA"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 5c765a8..951abe7 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"रुचाइएको सञ्जाल प्रकार"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"नेटवर्क संचालन मोड परिवर्तन गर्नुहोस्"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"रुचाइएको सञ्जाल प्रकार"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(निषेध गरिएको)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"रुचाइएको नेटवर्क मोड: WCDMA रुचाइएको"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"रुचाइएको नेटवर्क मोड: GSM मात्र"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"रुचाइएको नेटवर्क मोड: WCDMA मात्र"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index c0b7a3d..4e38a21 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Voorkeursnetwerktype"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"De netwerkgebruiksmodus wijzigen"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Voorkeursnetwerktype"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(niet toegestaan)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Voorkeursnetwerkmodus: voorkeur voor WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Voorkeursnetwerkmodus: alleen GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Voorkeursnetwerkmodus: alleen WCDMA"</string>
@@ -221,7 +222,7 @@
<string name="roaming_warning" msgid="1603164667540144353">"Er kunnen hoge roamingkosten in rekening worden gebracht."</string>
<string name="roaming_alert_title" msgid="3654815360303826008">"Gegevensroaming toestaan?"</string>
<string name="data_usage_title" msgid="8759619109516889802">"Datagebruik"</string>
- <string name="data_usage_template" msgid="8526428824844656364">"<xliff:g id="ID_1">%1$s</xliff:g> mobiele data gebruikt tussen <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+ <string name="data_usage_template" msgid="8526428824844656364">"<xliff:g id="ID_1">%1$s</xliff:g> mobiele data gebruikt van <xliff:g id="ID_2">%2$s</xliff:g>"</string>
<string name="advanced_options_title" msgid="8074895510265488035">"Geavanceerd"</string>
<string name="carrier_settings_euicc" msgid="6714062862127226405">"Provider"</string>
<string name="keywords_carrier_settings_euicc" msgid="783429609643157743">"provider, esim, sim, euicc"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 8c465ab..445ba56 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -34,7 +34,7 @@
<string name="ok" msgid="3811371167865772377">"ਠੀਕ"</string>
<string name="audio_mode_speaker" msgid="27649582100085266">"ਸਪੀਕਰ"</string>
<string name="audio_mode_earpiece" msgid="4156527186373869107">"ਹੈਂਡਸੈਟ ਈਅਰਪੀਸ"</string>
- <string name="audio_mode_wired_headset" msgid="1465350758489175975">"ਵਾਇਰ ਵਾਲਾ ਹੈਡਸੈਟ"</string>
+ <string name="audio_mode_wired_headset" msgid="1465350758489175975">"ਵਾਇਰ ਵਾਲਾ ਹੈੱਡਸੈੱਟ"</string>
<string name="audio_mode_bluetooth" msgid="3047641300848211128">"ਬਲੂਟੁੱਥ"</string>
<string name="wait_prompt_str" msgid="7601815427707856238">"ਕੀ ਇਹ ਟੋਨਾਂ ਭੇਜਣੀਆਂ ਹਨ?\n"</string>
<string name="pause_prompt_str" msgid="1789964702154314806">"ਟੋਨਾਂ\n ਭੇਜ ਰਿਹਾ ਹੈ"</string>
@@ -47,12 +47,12 @@
<string name="add_vm_number_str" msgid="4676479471644687453">"ਨੰਬਰ ਜੋੜੋ"</string>
<string name="voice_number_setting_primary_user_only" msgid="6596604364907022416">"ਵੌਇਸਮੇਲ ਸੈਟਿੰਗਾਂ ਸਿਰਫ਼ ਪ੍ਰਾਇਮਰੀ ਵਰਤੋਂਕਾਰ ਦੁਆਰਾ ਹੀ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।"</string>
<string name="puk_unlocked" msgid="2284912838477558454">"ਤੁਹਾਡਾ SIM ਕਾਰਡ ਅਨਬਲੌਕ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਤੁਹਾਡਾ ਫੋਨ ਅਨੌਲਕ ਹੋ ਰਿਹਾ ਹੈ..."</string>
- <string name="label_ndp" msgid="780479633159517250">"SIM ਨੈਟਵਰਕ ਅਨਲੌਕ PIN"</string>
- <string name="sim_ndp_unlock_text" msgid="683628237760543009">"ਅਨਲੌਕ ਕਰੋ"</string>
+ <string name="label_ndp" msgid="780479633159517250">"SIM ਨੈਟਵਰਕ ਅਣਲਾਕ PIN"</string>
+ <string name="sim_ndp_unlock_text" msgid="683628237760543009">"ਅਣਲਾਕ ਕਰੋ"</string>
<string name="sim_ndp_dismiss_text" msgid="1604823375752456947">"ਖਾਰਜ ਕਰੋ"</string>
- <string name="requesting_unlock" msgid="6412629401033249351">"ਨੈਟਵਰਕ ਅਨਲੌਕ ਦੀ ਬੇਨਤੀ ਕਰ ਰਿਹਾ ਹੈ…"</string>
- <string name="unlock_failed" msgid="6490531697031504225">"ਨੈਟਵਰਕ ਅਨਲੌਕ ਬੇਨਤੀ ਅਸਫਲ।"</string>
- <string name="unlock_success" msgid="6770085622238180152">"ਨੈਟਵਰਕ ਅਨਲੌਕ ਸਫਲ।"</string>
+ <string name="requesting_unlock" msgid="6412629401033249351">"ਨੈਟਵਰਕ ਅਣਲਾਕ ਦੀ ਬੇਨਤੀ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="unlock_failed" msgid="6490531697031504225">"ਨੈਟਵਰਕ ਅਣਲਾਕ ਬੇਨਤੀ ਅਸਫਲ।"</string>
+ <string name="unlock_success" msgid="6770085622238180152">"ਨੈਟਵਰਕ ਅਣਲਾਕ ਸਫਲ।"</string>
<string name="mobile_network_settings_not_available" msgid="7355254462995117896">"ਇਸ ਵਰਤੋਂਕਾਰ ਲਈ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗਾਂ ਉਪਲਬਧ ਨਹੀਂ ਹਨ"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
<string name="labelGsmMore_with_label" msgid="2674012918829238901">"GSM ਕਾਲ ਸੈਟਿੰਗਾਂ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -123,7 +123,7 @@
<string name="call_settings_with_label" msgid="3401177261468593519">"ਸੈਟਿੰਗਾਂ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
<string name="error_updating_title" msgid="7970259216988931777">"ਕਾਲ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਗੜਬੜ"</string>
<string name="reading_settings" msgid="1920291699287055284">"ਸੈਟਿੰਗਾਂ ਪੜ੍ਹ ਰਿਹਾ ਹੈ…"</string>
- <string name="updating_settings" msgid="8171225533884883252">"ਸੈਟਿੰਗਾਂ ਅਪਡੇਟ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+ <string name="updating_settings" msgid="8171225533884883252">"ਸੈਟਿੰਗਾਂ ਅੱਪਡੇਟ ਕਰ ਰਿਹਾ ਹੈ…"</string>
<string name="reverting_settings" msgid="4752151682666912828">"ਸੈਟਿੰਗਾਂ ਵਾਪਸ ਲਿਆ ਰਿਹਾ ਹੈ…"</string>
<string name="response_error" msgid="6674110501330139405">"ਨੈਟਵਰਕ ਤੋਂ ਅਕਲਪਿਤ ਜਵਾਬ"</string>
<string name="exception_error" msgid="7027667130619518211">"ਨੈੱਟਵਰਕ ਜਾਂ SIM ਕਾਰਡ ਵਿੱਚ ਗੜਬੜ।"</string>
@@ -135,7 +135,7 @@
<string name="close_dialog" msgid="2365884406356986917">"ਠੀਕ"</string>
<string name="enable" msgid="7248657275000173526">"ਚਾਲੂ ਕਰੋ"</string>
<string name="disable" msgid="4678348128118573672">"ਬੰਦ ਕਰੋ"</string>
- <string name="change_num" msgid="239476305819844391">"ਅਪਡੇਟ"</string>
+ <string name="change_num" msgid="239476305819844391">"ਅੱਪਡੇਟ"</string>
<string-array name="clir_display_values">
<item msgid="5560134294467334594">"ਨੈਟਵਰਕ ਪੂਰਵ-ਨਿਰਧਾਰਤ"</item>
<item msgid="7876195870037833661">"ਨੰਬਰ ਲੁਕਾਓ"</item>
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਪ੍ਰਕਾਰ"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"ਨੈਟਵਰਕ ਓਪਰੇਟਿੰਗ ਮੋਡ ਬਦਲੋ"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਪ੍ਰਕਾਰ"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(ਵਰਜਿਤ)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਤਰਜੀਹੀ WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਕੇਵਲ GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਕੇਵਲ WCDMA"</string>
@@ -231,7 +232,7 @@
<string name="data_usage_disable_mobile" msgid="3577275288809667615">"ਮੋਬਾਈਲ ਡਾਟਾ ਬੰਦ ਕਰਨਾ ਹੈ?"</string>
<string name="sim_selection_required_pref" msgid="7049424902961844236">"ਚੋਣ ਲੋੜੀਂਦੀ ਹੈ"</string>
<string name="sim_change_data_title" msgid="5332425991853799280">" ਡਾਟਾ SIM ਬਦਲਣਾ ਹੈ?"</string>
- <string name="sim_change_data_message" msgid="2163963581444907496">"ਮੋਬਾਈਲ ਡੈਟੇ ਦੇ ਲਈ <xliff:g id="OLD_SIM">%2$s</xliff:g> ਦੀ ਬਜਾਏ <xliff:g id="NEW_SIM">%1$s</xliff:g> ਨੂੰ ਵਰਤਣਾ ਹੈ?"</string>
+ <string name="sim_change_data_message" msgid="2163963581444907496">"ਮੋਬਾਈਲ ਡਾਟੇ ਦੇ ਲਈ <xliff:g id="OLD_SIM">%2$s</xliff:g> ਦੀ ਬਜਾਏ <xliff:g id="NEW_SIM">%1$s</xliff:g> ਨੂੰ ਵਰਤਣਾ ਹੈ?"</string>
<string name="wifi_calling_settings_title" msgid="7741961465416430470">"Wi‑Fi ਕਾਲਿੰਗ"</string>
<string name="video_calling_settings_title" msgid="539714564273795574">"ਕੈਰੀਅਰ ਵੀਡੀਓ ਕਾਲਿੰਗ"</string>
<string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS ਚੋਣਾਂ"</string>
@@ -316,9 +317,9 @@
<string name="enable_disable_retail_directory" msgid="1357809784475660303">"ਰੀਟੇਲ ਡਾਇਰੈਕਟਰੀ"</string>
<string name="retail_directory_enable" msgid="3280626290436111496">"ਰੀਟੇਲ ਡਾਇਰੈਕਟਰੀ ਸਮਰਥਿਤ"</string>
<string name="retail_directory_disable" msgid="6479739816662879027">"ਰੀਟੇਲ ਡਾਇਰੈਕਟਰੀ ਅਸਮਰਥਿਤ"</string>
- <string name="enable_disable_advertisements" msgid="5999495926176182128">"ਇਸ਼ਤਿਹਾਰ"</string>
- <string name="advertisements_enable" msgid="2050305021264683786">"ਇਸ਼ਤਿਹਾਰ ਸਮਰਥਿਤ"</string>
- <string name="advertisements_disable" msgid="8350985908788707935">"ਇਸ਼ਤਿਹਾਰ ਅਸਮਰਥਿਤ"</string>
+ <string name="enable_disable_advertisements" msgid="5999495926176182128">"ਵਿਗਿਆਪਨ"</string>
+ <string name="advertisements_enable" msgid="2050305021264683786">"ਵਿਗਿਆਪਨ ਸਮਰਥਿਤ"</string>
+ <string name="advertisements_disable" msgid="8350985908788707935">"ਵਿਗਿਆਪਨ ਅਸਮਰਥਿਤ"</string>
<string name="enable_disable_stock_quotes" msgid="6397810445293533603">"ਸਟੌਕ ਕੋਟਸ"</string>
<string name="stock_quotes_enable" msgid="4384802470887170543">"ਸਟੌਕ ਕੋਟਸ ਸਮਰਥਿਤ"</string>
<string name="stock_quotes_disable" msgid="4781450084565594998">"ਸਟੌਕ ਕੋਟਸ ਅਸਮਰਥਿਤ"</string>
@@ -392,14 +393,14 @@
<string name="adding_fdn_contact" msgid="7627379633721940991">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਜੋੜ ਰਿਹਾ ਹੈ…"</string>
<string name="fdn_contact_added" msgid="7458335758501736665">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਜੋੜਿਆ ਗਿਆ।"</string>
<string name="edit_fdn_contact" msgid="7976936035587081480">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਸੰਪਾਦਿਤ ਕਰੋ"</string>
- <string name="updating_fdn_contact" msgid="8370929876849803600">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਅਪਡੇਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
- <string name="fdn_contact_updated" msgid="5497828782609005017">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਅਪਡੇਟ ਕੀਤਾ।"</string>
+ <string name="updating_fdn_contact" msgid="8370929876849803600">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਅੱਪਡੇਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+ <string name="fdn_contact_updated" msgid="5497828782609005017">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਅੱਪਡੇਟ ਕੀਤਾ।"</string>
<string name="delete_fdn_contact" msgid="6668958073074151717">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਮਿਟਾਓ"</string>
<string name="deleting_fdn_contact" msgid="5669163206349319969">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਮਿਟਾ ਰਿਹਾ ਹੈ…"</string>
<string name="fdn_contact_deleted" msgid="7154162327112259569">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਮਿਟਾਇਆ।"</string>
- <string name="pin2_invalid" msgid="5470854099230755944">"FDN ਅਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ ਕਿਉਂਕਿ ਤੁਸੀਂ ਇੱਕ ਗ਼ਲਤ PIN ਟਾਈਪ ਕੀਤਾ ਸੀ।"</string>
+ <string name="pin2_invalid" msgid="5470854099230755944">"FDN ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ ਕਿਉਂਕਿ ਤੁਸੀਂ ਇੱਕ ਗ਼ਲਤ PIN ਟਾਈਪ ਕੀਤਾ ਸੀ।"</string>
<string name="fdn_invalid_number" msgid="8602417141715473998">"FDN ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ ਕਿਉਂਕਿ ਨੰਬਰ ਖਾਲੀ ਹੈ ਜਾਂ 20 ਅੰਕਾਂ ਤੋਂ ਵੱਧ ਹੈ।"</string>
- <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN ਅਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ। PIN2 ਗ਼ਲਤ ਸੀ ਜਾਂ ਫ਼ੋਨ ਨੰਬਰ ਅਸਵੀਕਾਰ ਕੀਤਾ ਗਿਆ ਸੀ।"</string>
+ <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ। PIN2 ਗ਼ਲਤ ਸੀ ਜਾਂ ਫ਼ੋਨ ਨੰਬਰ ਅਸਵੀਕਾਰ ਕੀਤਾ ਗਿਆ ਸੀ।"</string>
<string name="fdn_failed" msgid="540018079008319747">"FDN ਓਪਰੇਸ਼ਨ ਅਸਫਲ।"</string>
<string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM ਕਾਰਡ ਤੋਂ ਪੜ੍ਹ ਰਿਹਾ ਹੈ…"</string>
<string name="simContacts_empty" msgid="5270660846489561932">"ਤੁਹਾਡੇ ਸਿਮ ਕਾਰਡ ’ਤੇ ਕੋਈ ਸੰਪਰਕ ਨਹੀਂ।"</string>
@@ -420,7 +421,7 @@
<string name="enable_pin_ok" msgid="2918545971413270063">"PIN ਸੈੱਟ ਕਰੋ"</string>
<string name="disable_pin_ok" msgid="2109571368635883688">"PIN ਹਟਾਇਆ"</string>
<string name="pin_failed" msgid="5644377896213584760">"PIN ਗ਼ਲਤ"</string>
- <string name="pin_changed" msgid="4455736268023261662">"PIN ਅਪਡੇਟ ਕੀਤਾ"</string>
+ <string name="pin_changed" msgid="4455736268023261662">"PIN ਅੱਪਡੇਟ ਕੀਤਾ"</string>
<string name="puk_requested" msgid="5921393215789090200">"ਪਾਸਵਰਡ ਗ਼ਲਤ। PIN ਹੁਣ ਬਲੌਕ ਕੀਤਾ। PUK ਦੀ ਬੇਨਤੀ ਕੀਤੀ।"</string>
<string name="enter_pin2_text" msgid="8339444124477720345">"PIN2"</string>
<string name="oldPin2Label" msgid="8559146795026261502">"ਪੁਰਾਣਾ PIN2"</string>
@@ -431,7 +432,7 @@
<string name="mismatchPin2" msgid="4177967478551851117">"PIN ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
<string name="invalidPin2" msgid="1757045131429105595">"ਇੱਕ PIN2 ਦਰਜ ਕਰੋ ਜੋ 4 ਤੋਂ 8 ਸੰਖਿਆਵਾਂ ਦਾ ਹੋਵੇ।"</string>
<string name="invalidPuk2" msgid="7059081153334815973">"ਇੱਕ PUK2 ਦਰਜ ਕਰੋ ਜੋ 8 ਸੰਖਿਆਵਾਂ ਦਾ ਹੋਵੇ।"</string>
- <string name="pin2_changed" msgid="3724522579945610956">"PIN2 ਅਪਡੇਟ ਕੀਤਾ"</string>
+ <string name="pin2_changed" msgid="3724522579945610956">"PIN2 ਅੱਪਡੇਟ ਕੀਤਾ"</string>
<string name="label_puk2_code" msgid="4688069961795341948">"PUK2 ਕੋਡ ਦਰਜ ਕਰੋ"</string>
<string name="fdn_enable_puk2_requested" msgid="4991074891459554705">"ਪਾਸਵਰਡ ਗ਼ਲਤ। PIN2 ਹੁਣ ਬਲੌਕ ਕੀਤਾ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ PIN 2 ਬਦਲੋ।"</string>
<string name="puk2_requested" msgid="5831015200030161434">"ਪਾਸਵਰਡ ਗ਼ਲਤ। SIM ਹੁਣ ਲੌਕ ਹੈ। PUK2 ਦਰਜ ਕਰੋ।"</string>
@@ -580,7 +581,7 @@
<string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi ਕਾਲ"</string>
<string name="emergency_action_launch_hint" msgid="4906759256275562674">"ਖੋਲ੍ਹਣ ਲਈ ਦੁਬਾਰਾ ਟੈਪ ਕਰੋ"</string>
<string name="message_decode_error" msgid="3456481534066924855">"ਸੁਨੇਹਾ ਡੀਕੋਡ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਅਸ਼ੁੱਧੀ ਹੋਈ ਸੀ।"</string>
- <string name="callFailed_cdma_activation" msgid="2307989779233262164">"ਇੱਕ SIM ਕਾਰਡ ਨੇ ਤੁਹਾਡੀ ਸੇਵਾ ਸਕਿਰਿਆ ਕੀਤੀ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਫੋਨ ਦੀਆਂ ਰੋਮਿੰਗ ਸਮਰੱਥਤਾਵਾਂ ਅਪਡੇਟ ਕੀਤੀਆਂ ਹਨ।"</string>
+ <string name="callFailed_cdma_activation" msgid="2307989779233262164">"ਇੱਕ SIM ਕਾਰਡ ਨੇ ਤੁਹਾਡੀ ਸੇਵਾ ਸਕਿਰਿਆ ਕੀਤੀ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਫੋਨ ਦੀਆਂ ਰੋਮਿੰਗ ਸਮਰੱਥਤਾਵਾਂ ਅੱਪਡੇਟ ਕੀਤੀਆਂ ਹਨ।"</string>
<string name="callFailed_cdma_call_limit" msgid="1556916577171457086">"ਇੱਥੇ ਬਹੁਤ ਸਾਰੀਆਂ ਕਿਰਿਆਸ਼ੀਲ ਕਾਲਾਂ ਹਨ। ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਨਵੀਂ ਕਾਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਮੌਜੂਦਾ ਕਾਲਾਂ ਨੂੰ ਸਮਾਪਤ ਜਾਂ ਮਿਲਾਓ।"</string>
<string name="callFailed_imei_not_accepted" msgid="132192626901238542">"ਕਨੈਕਟ ਕਰਨ ਦੇ ਅਯੋਗ, ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਵੈਧ ਸਿਮ ਕਾਰਡ ਦਾਖਲ ਕਰੋ।"</string>
<string name="callFailed_wifi_lost" msgid="5968076625137297184">"Wi-Fi ਕਨੈਕਸ਼ਨ ਚਲਾ ਗਿਆ ਹੈ। ਕਾਲ ਸਮਾਪਤ ਹੋਈ।"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 88fb3c7..2e66d8f 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferowany typ sieci"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Zmień tryb działania sieci"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferowany typ sieci"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(dostęp zabroniony)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Preferowany tryb sieci: preferowany WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Preferowany tryb sieci: tylko GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Preferowany tryb sieci: tylko WCDMA"</string>
@@ -212,7 +213,7 @@
<string name="enhanced_4g_lte_mode_title_variant" msgid="4871126028907265406">"Zaawansowane połączenia"</string>
<string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"Użyj usług LTE, by poprawić łączność głosową i inną (zalecane)"</string>
<string name="data_enabled" msgid="5972538663568715366">"Włączone przesyłanie danych"</string>
- <string name="data_enable_summary" msgid="2382798156640007971">"Zezwalaj na transmisję danych"</string>
+ <string name="data_enable_summary" msgid="2382798156640007971">"Zezwalaj na użycie danych"</string>
<string name="dialog_alert_title" msgid="6751344986194435476">"Uwaga"</string>
<string name="roaming" msgid="7894878421600247140">"Roaming"</string>
<string name="roaming_enable" msgid="7331106985174381987">"Połącz z usługami transmisji danych podczas roamingu"</string>
@@ -220,7 +221,7 @@
<string name="roaming_reenable_message" msgid="8913735676127858115">"Połączenie transmisji danych zostało utracone, ponieważ opuszczono sieć macierzystą przy wyłączonej opcji danych w roamingu."</string>
<string name="roaming_warning" msgid="1603164667540144353">"Mogą się z tym wiązać wysokie opłaty."</string>
<string name="roaming_alert_title" msgid="3654815360303826008">"Zezwolić na roaming danych?"</string>
- <string name="data_usage_title" msgid="8759619109516889802">"Transmisja danych"</string>
+ <string name="data_usage_title" msgid="8759619109516889802">"Użycie danych"</string>
<string name="data_usage_template" msgid="8526428824844656364">"Wykorzystano <xliff:g id="ID_1">%1$s</xliff:g> mobilnej transmisji danych w okresie <xliff:g id="ID_2">%2$s</xliff:g>"</string>
<string name="advanced_options_title" msgid="8074895510265488035">"Zaawansowane"</string>
<string name="carrier_settings_euicc" msgid="6714062862127226405">"Operator"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 99ab704..f9b2822 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tipo de rede preferencial"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Alterar o modo de funcionamento em rede"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tipo de rede preferencial"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(proibida)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Modo de rede preferido: apenas WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Modo de rede preferido: apenas GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Modo de rede preferido: apenas WCDMA"</string>
@@ -278,7 +279,7 @@
<string name="international_enable" msgid="5855356769925044927">"Notícias internacionais ativadas"</string>
<string name="international_disable" msgid="2850648591041088931">"Notícias internacionais desativadas"</string>
<string name="list_language_title" msgid="2841683501919760043">"Idioma"</string>
- <string name="list_language_summary" msgid="8109546531071241601">"Seleccionar o idioma das notícias"</string>
+ <string name="list_language_summary" msgid="8109546531071241601">"Selecionar o idioma das notícias"</string>
<string-array name="list_language_entries">
<item msgid="6137851079727305485">"Inglês"</item>
<item msgid="1151988412809572526">"Francês"</item>
@@ -337,9 +338,9 @@
<string name="network_lte" msgid="7702681952521375754">"LTE (recomendado)"</string>
<string name="network_4G" msgid="2723512640529983138">"4G (recomendado)"</string>
<string name="network_global" msgid="1323190488685355309">"Global"</string>
- <string name="cdma_system_select_title" msgid="5757657769327732833">"Seleccionar sistema"</string>
+ <string name="cdma_system_select_title" msgid="5757657769327732833">"Selecionar sistema"</string>
<string name="cdma_system_select_summary" msgid="60460043745797517">"Alterar o modo de roaming CDMA"</string>
- <string name="cdma_system_select_dialogtitle" msgid="6083355415165359075">"Seleccionar sistema"</string>
+ <string name="cdma_system_select_dialogtitle" msgid="6083355415165359075">"Selecionar sistema"</string>
<string-array name="cdma_system_select_choices">
<item msgid="176474317493999285">"Apenas redes domésticas"</item>
<item msgid="1205664026446156265">"Automático"</item>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 17334de..03c07c3 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tipo de rede preferencial"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Alterar o modo de operação de rede"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tipo de rede preferencial"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(proibido)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Modo de rede preferencial: WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Modo de rede preferencial: somente GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Modo de rede preferencial: somente WCDMA"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 4938412..b0e132c 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tipul de rețea preferat"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Schimbați modul de operare a rețelei"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tipul de rețea preferat"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(interzis)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Mod de rețea preferat: de preferat WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Mod de rețea preferat: numai GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Mod de rețea preferat: numai WCDMA"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index f6386df..482e710 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Тип сети"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Изменить режим работы сети"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Тип сети"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(доступ запрещен)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Предпочтительная сеть: WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Предпочтительная сеть: только GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Предпочтительная сеть: только WCDMA"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index e6a3828..864472f 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"ප්රියකරන ජාල වර්ගය"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"ජාල මෙහෙයුම් ආකාරය වෙනස් කරන්න"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ප්රියකරන ජාල වර්ගය"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(තහනම්)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"ප්රිය ජාල ආකාරය: WCDMA කැමතියි"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"ප්රිය ජාල ආකාරය: GSM පමණි"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"ප්රිය ජාල ආකාරය: WCDMA පමණි"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 05b60cc..54914bb 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferovaný typ siete"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Zmeniť prevádzkový režim siete"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferovaný typ siete"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(zakázané)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Preferovaný režim siete: preferované WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Preferovaný režim siete: iba GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Preferovaný režim siete: iba WCDMA"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 93282c3..8cbb4d8 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Prednostna vrsta omrežja"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Sprememba načina delovanja omrežja"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Prednostna vrsta omrežja"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(prepovedano)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Prednostni način omrežja: prednostno WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Prednostni način omrežja: samo GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Prednostni način omrežja: samo WCDMA"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 18f80fc..7c7281e 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Lloji i preferuar i rrjetit"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Ndrysho modalitetin e operimit të rrjetit"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Lloji i preferuar i rrjetit"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(ndalohet)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Modaliteti i preferuar i rrjetit: preferohet WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Modaliteti i preferuar i rrjetit: vetëm GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Modaliteti i preferuar i rrjetit: vetëm WCDMA"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 1ea2f08..97b0e63 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Жељени тип мреже"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Промена режима рада мреже"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Жељени тип мреже"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(забрањено)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Жељени режим мреже: WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Жељени режим мреже: само GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Жељени режим мреже: само WCDMA"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 0bd1d89..e93ca51 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Önskad nätverkstyp"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Ändra nätverksläge"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Önskad nätverkstyp"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(förbjudet)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Föredraget nätverksläge: Föredrar WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Föredraget nätverksläge: Endast GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Föredraget nätverksläge: Endast WCDMA"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 33421da..926e5e6 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Aina ya mtandao unaoupendelea"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Badilisha gumzo ya utendaji wa mtandao"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Aina ya mtandao unaoupendelea"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(hairuhusiwi)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Modi pendekezwa ya mtandao: WCDMA pendekezwa"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Modi pendekezwa ya mtandao: GSM pekee"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Modi pendekezwa ya mtandao: WCDMA pekee"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 6c38ae2..c6477a9 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"தேர்ந்தெடுத்த நெட்வொர்க் வகை"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"நெட்வொர்க் செயல்பாட்டிற்கான பயன்முறையை மாற்று"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"தேர்ந்தெடுத்த நெட்வொர்க் வகை"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(தடுக்கப்பட்டது)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"தேர்ந்தெடுத்த நெட்வொர்க் பயன்முறை: WCDMA பரிந்துரைக்கப்படுகிறது"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"தேர்ந்தெடுத்த நெட்வொர்க் பயன்முறை: GSM மட்டும்"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"தேர்ந்தெடுத்த நெட்வொர்க் பயன்முறை: WCDMA மட்டும்"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 63cc6ac..f89163e 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"ప్రాధాన్య నెట్వర్క్ రకం"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"నెట్వర్క్ ఆపరేటింగ్ మోడ్ను మార్చండి"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ప్రాధాన్య నెట్వర్క్ రకం"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(నిషేధించబడింది)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"ప్రాధాన్య నెట్వర్క్ మోడ్: WCDMAకు ప్రాధాన్యత"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"ప్రాధాన్య నెట్వర్క్ మోడ్: GSM మాత్రమే"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"ప్రాధాన్య నెట్వర్క్ మోడ్: WCDMA మాత్రమే"</string>
@@ -227,7 +228,7 @@
<string name="keywords_carrier_settings_euicc" msgid="783429609643157743">"క్యారియర్, esim, sim, euicc"</string>
<string name="carrier_settings_euicc_summary" msgid="5115001942761995457">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> — <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>"</string>
<string name="mobile_data_settings_title" msgid="4661165467914727157">"మొబైల్ డేటా"</string>
- <string name="mobile_data_settings_summary" msgid="5087255915840576895">"మొబైల్ నెట్వర్క్ను ఉపయోగించి డేటాను ప్రాప్యత చేయండి"</string>
+ <string name="mobile_data_settings_summary" msgid="5087255915840576895">"మొబైల్ నెట్వర్క్ను ఉపయోగించి డేటాను యాక్సెస్ చేయండి"</string>
<string name="data_usage_disable_mobile" msgid="3577275288809667615">"మొబైల్ డేటాని ఆఫ్ చేయాలా?"</string>
<string name="sim_selection_required_pref" msgid="7049424902961844236">"ఎంపిక అవసరం"</string>
<string name="sim_change_data_title" msgid="5332425991853799280">"డేటా SIMని మార్చాలా?"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 57181a2..4593c1f 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"ประเภทเครือข่ายที่ต้องการ"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"เปลี่ยนโหมดปฏิบัติการของเครือข่าย"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ประเภทเครือข่ายที่ต้องการ"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(ห้ามใช้)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"โหมดเครือข่ายที่ต้องการ: ต้องการ WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"โหมดเครือข่ายที่ต้องการ: GSM เท่านั้น"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"โหมดเครือข่ายที่ต้องการ: WCDMA เท่านั้น"</string>
@@ -379,7 +380,7 @@
<string name="tty_mode_option_summary" msgid="1073835131534808732">"ตั้งค่าโหมด TTY"</string>
<string name="auto_retry_mode_title" msgid="4073265511427813322">"ลองซ้ำอัตโนมัติ"</string>
<string name="auto_retry_mode_summary" msgid="4973886004067532288">"เปิดใช้งานโหมดลองซ้ำอัตโนมัติ"</string>
- <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"ไม่อนุญาตการเปลี่ยนโหมด TTY ในระหว่างแฮงเอาท์วิดีโอ"</string>
+ <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"ไม่อนุญาตการเปลี่ยนโหมด TTY ในระหว่าง Hangouts วิดีโอ"</string>
<string name="menu_add" msgid="1882023737425114762">"เพิ่มรายชื่อติดต่อ"</string>
<string name="menu_edit" msgid="7143003705504672374">"แก้ไขรายชื่อติดต่อ"</string>
<string name="menu_delete" msgid="3977150783449642851">"ลบรายชื่อติดต่อ"</string>
@@ -492,7 +493,7 @@
<string name="onscreenManageCallsText" msgid="5473231160123254154">"จัดการการโทร"</string>
<string name="onscreenManageConferenceText" msgid="6485935856534311346">"จัดการการประชุม"</string>
<string name="onscreenAudioText" msgid="1710087112800041743">"เสียง"</string>
- <string name="onscreenVideoCallText" msgid="4800924186056115442">"แฮงเอาท์วิดีโอ"</string>
+ <string name="onscreenVideoCallText" msgid="4800924186056115442">" Hangouts วิดีโอ"</string>
<string name="importSimEntry" msgid="6614358325359736031">"นำเข้า"</string>
<string name="importAllSimEntries" msgid="1503181169636198673">"นำเข้าทั้งหมด"</string>
<string name="importingSimContacts" msgid="7374056215462575769">"กำลังนำเข้าสมุดโทรศัพท์ในซิม"</string>
@@ -568,8 +569,8 @@
<string name="voicemail_change_pin_dialog_title" msgid="6035421908626121564">"เปลี่ยน PIN"</string>
<string name="preference_category_ringtone" msgid="5197960752529332721">"เสียงเรียกเข้าและสั่น"</string>
<string name="pstn_connection_service_label" msgid="1743245930577325900">"ซิมการ์ดในตัว"</string>
- <string name="enable_video_calling_title" msgid="7237253660669000899">"เปิดแฮงเอาท์วิดีโอ"</string>
- <string name="enable_video_calling_dialog_msg" msgid="8948186136957417948">"หากต้องการเปิดแฮงเอาท์วิดีโอ คุณจะต้องเปิดใช้โหมด 4G LTE ที่ปรับปรุงแล้วในการตั้งค่าเครือข่าย"</string>
+ <string name="enable_video_calling_title" msgid="7237253660669000899">"เปิด Hangouts วิดีโอ"</string>
+ <string name="enable_video_calling_dialog_msg" msgid="8948186136957417948">"หากต้องการเปิด Hangouts วิดีโอ คุณจะต้องเปิดใช้โหมด 4G LTE ที่ปรับปรุงแล้วในการตั้งค่าเครือข่าย"</string>
<string name="enable_video_calling_dialog_settings" msgid="576528473599603249">"การตั้งค่าเครือข่าย"</string>
<string name="enable_video_calling_dialog_close" msgid="7411471282167927991">"ปิด"</string>
<string name="sim_label_emergency_calls" msgid="4847699229529306397">"หมายเลขฉุกเฉิน"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 73685a9..515e2bb 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Gustong uri ng network"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Baguhin ang network operating mode"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Gustong uri ng network"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(pinagbabawal)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Mas gustong mode ng network: WCDMA ang mas gusto"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Mas gustong mode ng network: GSM lamang"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Mas gustong mode ng network: WCDMA lamang"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 3c2272e..381e812 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tercih edilen ağ türü"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Ağın çalışma modunu değiştir"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tercih edilen ağ türü"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(yasak)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Tercih edilen ağ modu: WCDMA tercih edilir"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Tercih edilen ağ modu: Yalnızca GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Tercih edilen ağ modu: Yalnızca WCDMA"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 6acd96c..8f9bdab 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Тип мережі"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Змінити режим роботи мережі"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Тип мережі"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(заборонено)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Рекомендований режим мереж: бажано WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Рекомендований режим мереж: лише GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Рекомендований режим мереж: лише WCDMA"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index b8f3d0f..ec3671c 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"ترجیحی نیٹ ورک کی قسم"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"نیٹ ورک آپریٹنگ طرز تبدیل کریں"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ترجیحی نیٹ ورک کی قسم"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(ممنوع)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"ترجیحی نیٹ ورک طرز: WCDMA ترجیحی"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"ترجیحی نیٹ ورک طرز: صرف GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"ترجیحی نیٹ ورک طرز: صرف WCDMA"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index e625254..1276764 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Tarmoq turi"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Tarmoq rejimini o‘zgartiring"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tarmoq turi"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(taqiqlangan)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Tanlangan tarmoq rejimi: WCDMA tanlangan"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Tanlangan tarmoq rejimi: faqat GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Tanlangan tarmoq rejimi: faqat WCDMA"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index eade519..c598a7f 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Loại mạng ưu tiên"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Thay đổi chế độ hoạt động của mạng"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Loại mạng ưu tiên"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(cấm)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Chế độ mạng được ưa thích: ưu tiên WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Chế độ mạng được ưa thích: chỉ GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Chế độ mạng được ưa thích: chỉ WCDMA"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index f7502b1..81c167c 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"首选网络类型"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"更改网络运行方式"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"首选网络类型"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(禁止)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"首选网络模式:首选 WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"首选网络模式:仅限 GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"首选网络模式:仅限 WCDMA"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 15a19da..bd4c550 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"偏好的網絡類型"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"更改網絡操作模式"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"偏好的網絡類型"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(禁止)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"慣用網絡模式:偏好 WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"慣用網絡模式:僅限 GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"慣用網絡模式:僅限 WCDMA"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 9ede5b3..fdae6af 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"偏好的網路類型"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"變更網路操作模式"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"偏好的網路類型"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(已禁止)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"慣用網路模式:偏好 WCDMA"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"慣用網路模式:僅限 GSM"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"慣用網路模式:僅限 WCDMA"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 1cafeb8..f2346cb 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -174,6 +174,7 @@
<string name="preferred_network_mode_title" msgid="2336624679902659306">"Uhlobo lwenethiwekhi oluncamelayo"</string>
<string name="preferred_network_mode_summary" msgid="1434820673166126609">"Shintsha imodi esebenzayo yenethiwekhi"</string>
<string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Uhlobo lwenethiwekhi oluncamelayo"</string>
+ <string name="forbidden_network" msgid="4384929668343563440">"(kunqatshelwe)"</string>
<string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Imodi yenethiwekhi ekhethwayo: i-WCDMA ekhethwayo"</string>
<string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Imodi yenethiwekhi ekhethwayo: i-GSM kuphela"</string>
<string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Imodi yenethiwekhi ekhethwayo: i-WCDMA kuphela"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 698f705..34347fb 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -387,6 +387,7 @@
<string name="preferred_network_mode_title">Preferred network type</string>
<string name="preferred_network_mode_summary">Change the network operating mode</string>
<string name="preferred_network_mode_dialogtitle">Preferred network type</string>
+ <string name="forbidden_network">(forbidden)</string>
<!-- Mobile network settings, summary for preferred network mode WCDMA preferred[CHAR LIMIT=100] -->
<string name="preferred_network_mode_wcdma_perf_summary">Preferred network mode: WCDMA preferred</string>
<!-- Mobile network settings, summary for preferred network mode GSM [CHAR LIMIT=100] -->
diff --git a/sip/res/values-bn/strings.xml b/sip/res/values-bn/strings.xml
index fc238ea..17c698d 100644
--- a/sip/res/values-bn/strings.xml
+++ b/sip/res/values-bn/strings.xml
@@ -20,7 +20,7 @@
<string name="sip_accounts" msgid="85559497282185405">"SIP অ্যাকাউন্টগুলি"</string>
<string name="sip_accounts_title" msgid="2082527045326874519">"অ্যাকাউন্টগুলি"</string>
<string name="sip_receive_calls" msgid="426678617137462173">"আগত কলগুলি গ্রহণ করুন"</string>
- <string name="sip_receive_calls_summary" msgid="946161517528227523">"আরো বেশি ব্যাটারি লাইফ ব্যবহার করে"</string>
+ <string name="sip_receive_calls_summary" msgid="946161517528227523">"আরও বেশি ব্যাটারি লাইফ ব্যবহার করে"</string>
<string name="sip_call_options_title" msgid="8421210494703869806">"SIP কলিং ব্যবহার করুন"</string>
<string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP কলিং ব্যবহার করুন (শুধুমাত্র ওয়াই-ফাই)"</string>
<string name="sip_call_options_entry_1" msgid="7217659161237099900">"যখন ডেটা নেটওয়ার্ক উপলব্ধ তখন সব কলের জন্য"</string>
@@ -31,7 +31,7 @@
<string name="sip_account_list" msgid="5610858485304821480">"SIP অ্যাকাউন্টগুলি"</string>
<string name="saving_account" msgid="5336529880235177448">"অ্যাকাউন্টটি সংরক্ষণ করা হচ্ছে ..."</string>
<string name="removing_account" msgid="5537351356808985756">"অ্যাকাউন্টটি সরানো হচ্ছে…"</string>
- <string name="sip_menu_save" msgid="7882219814563869225">"সংরক্ষণ করুন"</string>
+ <string name="sip_menu_save" msgid="7882219814563869225">"সেভ করুন"</string>
<string name="sip_menu_discard" msgid="2350421645423888438">"খারিজ করুন"</string>
<string name="alert_dialog_close" msgid="1326011828713435134">"প্রোফাইলটি বন্ধ করুন"</string>
<string name="alert_dialog_ok" msgid="4752048404605388940">"ঠিক আছে"</string>
@@ -45,13 +45,13 @@
<string name="registration_status_not_running" msgid="514205414303796800">"অ্যাকাউন্টের নিবন্ধন অসফল হয়েছে৷"</string>
<string name="registration_status_done" msgid="3264961069247314253">"কলগুলি গ্রহণ করা হচ্ছে৷"</string>
<string name="registration_status_failed_try_later" msgid="2199970021756384317">"অ্যাকাউন্টের নিবন্ধন অসফল হয়েছে: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); পরে আবার চেষ্টা করা হবে"</string>
- <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"অ্যাকাউন্টের নিবন্ধন অসফল হয়েছে: ভুল ব্যবহারকারী নাম বা পাসওয়ার্ড৷"</string>
+ <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"অ্যাকাউন্টের নিবন্ধন অসফল হয়েছে: ভুল ইউজারনেম বা পাসওয়ার্ড৷"</string>
<string name="registration_status_server_unreachable" msgid="7710275557045148634">"অ্যাকাউন্টের নিবন্ধন অসফল হয়েছে: সার্ভারের নাম পরীক্ষা করুন৷"</string>
<string name="third_party_account_summary" msgid="9041060473615403041">"এই অ্যাকাউন্টটি বর্তমানে <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> অ্যাপ্লিকেশানের দ্বারা ব্যবহৃত হচ্ছে৷"</string>
<string name="sip_edit_title" msgid="1967247832635750410">"SIP অ্যাকাউন্টের বিবরণ"</string>
<string name="sip_edit_new_title" msgid="266414118302574305">"SIP অ্যাকাউন্টের বিবরণ"</string>
<string name="domain_address_title" msgid="1968479941328225423">"সার্ভার"</string>
- <string name="username_title" msgid="6770064611005663470">"ব্যবহারকারীর নাম"</string>
+ <string name="username_title" msgid="6770064611005663470">"ইউজারনেম"</string>
<string name="password_title" msgid="5289013731515564295">"পাসওয়ার্ড"</string>
<string name="display_name_title" msgid="579241787583079773">"প্রদর্শন নাম"</string>
<string name="proxy_address_title" msgid="6890163365640631841">"বহির্গামী প্রক্সি ঠিকানা"</string>
@@ -59,8 +59,8 @@
<string name="transport_title" msgid="889155457465372527">"পরিবহনের ধরন"</string>
<string name="send_keepalive_title" msgid="599627072150501159">"সক্রিয়-রাখুন অনুরোধ পাঠান"</string>
<string name="advanced_settings" msgid="6622996380747040711">"ঐচ্ছিক সেটিংস"</string>
- <string name="auth_username_title" msgid="8262491689004708265">"প্রমাণীকরণের ব্যবহারকারীর নাম"</string>
- <string name="auth_username_summary" msgid="941160241371436473">"প্রমাণীকরণের জন্য ব্যবহৃত ব্যবহারকারী নাম"</string>
+ <string name="auth_username_title" msgid="8262491689004708265">"প্রমাণীকরণের ইউজারনেম"</string>
+ <string name="auth_username_summary" msgid="941160241371436473">"প্রমাণীকরণের জন্য ব্যবহৃত ইউজারনেম"</string>
<string name="default_preference_summary_username" msgid="8404717434312826082">"<সেট করা নেই>"</string>
<string name="default_preference_summary_password" msgid="4464464672997027904">"<সেট করা নেই>"</string>
<string name="default_preference_summary_domain_address" msgid="4871971710197441673">"<সেট করা নেই>"</string>
diff --git a/sip/res/values-in/strings.xml b/sip/res/values-in/strings.xml
index c2f40b7..1c59a30 100644
--- a/sip/res/values-in/strings.xml
+++ b/sip/res/values-in/strings.xml
@@ -76,5 +76,5 @@
<string name="no_voip" msgid="3038021971231952704">"Panggilan SIP tidak didukung"</string>
<string name="sip_system_decide" msgid="5577696249416700671">"Otomatis"</string>
<string name="sip_always_send_keepalive" msgid="4773022409239823318">"Selalu kirim"</string>
- <string name="sip_connection_service_label" msgid="6935325004265884453">"Panggilan SIP bawaan"</string>
+ <string name="sip_connection_service_label" msgid="6935325004265884453">"Panggilan SIP built-in"</string>
</resources>
diff --git a/sip/res/values-sk/strings.xml b/sip/res/values-sk/strings.xml
index 872edcb..a410294 100644
--- a/sip/res/values-sk/strings.xml
+++ b/sip/res/values-sk/strings.xml
@@ -22,7 +22,7 @@
<string name="sip_receive_calls" msgid="426678617137462173">"Prijímať prichádzajúce hovory"</string>
<string name="sip_receive_calls_summary" msgid="946161517528227523">"Viac vybíja batériu"</string>
<string name="sip_call_options_title" msgid="8421210494703869806">"Používanie volania SIP"</string>
- <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Používanie volania SIP (iba Wi-Fi)"</string>
+ <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Používanie volania SIP (iba Wi‑Fi)"</string>
<string name="sip_call_options_entry_1" msgid="7217659161237099900">"Pre všetky hovory, pokiaľ je k dispozícii dátová sieť"</string>
<string name="sip_call_options_entry_2" msgid="1815335903940609729">"Iba pre hovory SIP"</string>
<string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Pre všetky hovory"</string>
@@ -41,7 +41,7 @@
<string name="registration_status_still_trying" msgid="7648151061205513458">"Prebiehajú ďalšie pokusy..."</string>
<string name="registration_status_not_receiving" msgid="7620333886153361090">"Hovory sa neprijímajú."</string>
<string name="registration_status_no_data" msgid="2541999976218192413">"Registrácia účtu bola zastavená, pretože pripojenie k internetu nie je k dispozícii."</string>
- <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"Registrácia účtu bola zastavená, pretože pripojenie Wi-Fi nie je k dispozícii."</string>
+ <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"Registrácia účtu bola zastavená, pretože pripojenie Wi‑Fi nie je k dispozícii."</string>
<string name="registration_status_not_running" msgid="514205414303796800">"Registrácia účtu nebola úspešná."</string>
<string name="registration_status_done" msgid="3264961069247314253">"Príjem hovorov."</string>
<string name="registration_status_failed_try_later" msgid="2199970021756384317">"Registrácia účtu nebola úspešná: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); skúsime to neskôr"</string>
@@ -72,7 +72,7 @@
<string name="empty_alert" msgid="6659484914371384024">"Pole <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> je povinné a nemôže zostať prázdne."</string>
<string name="not_a_valid_port" msgid="7931422555587011830">"Číslo portu by malo byť od 1 000 do 65 534."</string>
<string name="no_internet_available" msgid="5523747991760017298">"Ak chcete uskutočniť hovor SIP, najprv skontrolujte svoje internetové pripojenie."</string>
- <string name="no_wifi_available" msgid="1955023904229673488">"Uskutočnenie hovorov SIP vyžaduje pripojenie k sieti Wi-Fi (použite nastavenia bezdrôtovej siete)."</string>
+ <string name="no_wifi_available" msgid="1955023904229673488">"Uskutočnenie hovorov SIP vyžaduje pripojenie k sieti Wi‑Fi (použite nastavenia bezdrôtovej siete)."</string>
<string name="no_voip" msgid="3038021971231952704">"Volanie SIP nie je podporované"</string>
<string name="sip_system_decide" msgid="5577696249416700671">"Automaticky"</string>
<string name="sip_always_send_keepalive" msgid="4773022409239823318">"Vždy odoslať"</string>
diff --git a/src/com/android/phone/CallForwardEditPreference.java b/src/com/android/phone/CallForwardEditPreference.java
index ef92349..49c652b 100644
--- a/src/com/android/phone/CallForwardEditPreference.java
+++ b/src/com/android/phone/CallForwardEditPreference.java
@@ -13,6 +13,7 @@
import android.os.Handler;
import android.os.Message;
import android.telephony.PhoneNumberUtils;
+import android.telephony.TelephonyManager;
import android.text.BidiFormatter;
import android.text.SpannableString;
import android.text.TextDirectionHeuristics;
@@ -26,7 +27,6 @@
public class CallForwardEditPreference extends EditPhoneNumberPreference {
private static final String LOG_TAG = "CallForwardEditPreference";
- private static final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
private static final String SRC_TAGS[] = {"{0}"};
private CharSequence mSummaryOnTemplate;
@@ -44,6 +44,8 @@
private Phone mPhone;
CallForwardInfo callForwardInfo;
private TimeConsumingPreferenceListener mTcpListener;
+ // Should we replace CF queries containing an invalid number with "Voicemail"
+ private boolean mReplaceInvalidCFNumber = false;
public CallForwardEditPreference(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -58,16 +60,18 @@
CommandsInterface.CF_REASON_UNCONDITIONAL);
a.recycle();
- if (DBG) Log.d(LOG_TAG, "mServiceClass=" + mServiceClass + ", reason=" + reason);
+ Log.d(LOG_TAG, "mServiceClass=" + mServiceClass + ", reason=" + reason);
}
public CallForwardEditPreference(Context context) {
this(context, null);
}
- void init(TimeConsumingPreferenceListener listener, boolean skipReading, Phone phone) {
+ void init(TimeConsumingPreferenceListener listener, boolean skipReading, Phone phone,
+ boolean replaceInvalidCFNumber) {
mPhone = phone;
mTcpListener = listener;
+ mReplaceInvalidCFNumber = replaceInvalidCFNumber;
if (!skipReading) {
mPhone.getCallForwardingOption(reason,
@@ -98,8 +102,7 @@
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
- if (DBG) Log.d(LOG_TAG, "mButtonClicked=" + mButtonClicked
- + ", positiveResult=" + positiveResult);
+ Log.d(LOG_TAG, "mButtonClicked=" + mButtonClicked + ", positiveResult=" + positiveResult);
// Ignore this event if the user clicked the cancel button, or if the dialog is dismissed
// without any button being pressed (back button press or click event outside the dialog).
if (this.mButtonClicked != DialogInterface.BUTTON_NEGATIVE) {
@@ -109,17 +112,17 @@
int time = (reason != CommandsInterface.CF_REASON_NO_REPLY) ? 0 : 20;
final String number = getPhoneNumber();
- if (DBG) Log.d(LOG_TAG, "callForwardInfo=" + callForwardInfo);
+ Log.d(LOG_TAG, "callForwardInfo=" + callForwardInfo);
if (action == CommandsInterface.CF_ACTION_REGISTRATION
&& callForwardInfo != null
&& callForwardInfo.status == 1
&& number.equals(callForwardInfo.number)) {
// no change, do nothing
- if (DBG) Log.d(LOG_TAG, "no change, do nothing");
+ Log.d(LOG_TAG, "no change, do nothing");
} else {
// set to network
- if (DBG) Log.d(LOG_TAG, "reason=" + reason + ", action=" + action
+ Log.d(LOG_TAG, "reason=" + reason + ", action=" + action
+ ", number=" + number);
// Display no forwarding number while we're waiting for
@@ -145,7 +148,16 @@
void handleCallForwardResult(CallForwardInfo cf) {
callForwardInfo = cf;
- if (DBG) Log.d(LOG_TAG, "handleGetCFResponse done, callForwardInfo=" + callForwardInfo);
+ Log.d(LOG_TAG, "handleGetCFResponse done, callForwardInfo=" + callForwardInfo);
+ // In some cases, the network can send call forwarding URIs for voicemail that violate the
+ // 3gpp spec. This can cause us to receive "numbers" that are sequences of letters. In this
+ // case, we must detect these series of characters and replace them with "Voicemail".
+ // PhoneNumberUtils#formatNumber returns null if the number is not valid.
+ if (mReplaceInvalidCFNumber && (PhoneNumberUtils.formatNumber(callForwardInfo.number,
+ getCurrentCountryIso()) == null)) {
+ callForwardInfo.number = getContext().getString(R.string.voicemail);
+ Log.i(LOG_TAG, "handleGetCFResponse: Overridding CF number");
+ }
setToggled(callForwardInfo.status == 1);
setPhoneNumber(callForwardInfo.number);
@@ -174,6 +186,19 @@
}
+ /**
+ * @return The ISO 3166-1 two letters country code of the country the user is in based on the
+ * network location.
+ */
+ private String getCurrentCountryIso() {
+ final TelephonyManager telephonyManager =
+ (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
+ if (telephonyManager == null) {
+ return "";
+ }
+ return telephonyManager.getNetworkCountryIso().toUpperCase();
+ }
+
// Message protocol:
// what: get vs. set
// arg1: action -- register vs. disable
@@ -195,7 +220,7 @@
}
private void handleGetCFResponse(Message msg) {
- if (DBG) Log.d(LOG_TAG, "handleGetCFResponse: done");
+ Log.d(LOG_TAG, "handleGetCFResponse: done");
mTcpListener.onFinished(CallForwardEditPreference.this, msg.arg2 != MESSAGE_SET_CF);
@@ -203,7 +228,7 @@
callForwardInfo = null;
if (ar.exception != null) {
- if (DBG) Log.d(LOG_TAG, "handleGetCFResponse: ar.exception=" + ar.exception);
+ Log.d(LOG_TAG, "handleGetCFResponse: ar.exception=" + ar.exception);
if (ar.exception instanceof CommandException) {
mTcpListener.onException(CallForwardEditPreference.this,
(CommandException) ar.exception);
@@ -220,12 +245,12 @@
}
CallForwardInfo cfInfoArray[] = (CallForwardInfo[]) ar.result;
if (cfInfoArray.length == 0) {
- if (DBG) Log.d(LOG_TAG, "handleGetCFResponse: cfInfoArray.length==0");
+ Log.d(LOG_TAG, "handleGetCFResponse: cfInfoArray.length==0");
setEnabled(false);
mTcpListener.onError(CallForwardEditPreference.this, RESPONSE_ERROR);
} else {
for (int i = 0, length = cfInfoArray.length; i < length; i++) {
- if (DBG) Log.d(LOG_TAG, "handleGetCFResponse, cfInfoArray[" + i + "]="
+ Log.d(LOG_TAG, "handleGetCFResponse, cfInfoArray[" + i + "]="
+ cfInfoArray[i]);
if ((mServiceClass & cfInfoArray[i].serviceClass) != 0) {
// corresponding class
@@ -272,10 +297,10 @@
AsyncResult ar = (AsyncResult) msg.obj;
if (ar.exception != null) {
- if (DBG) Log.d(LOG_TAG, "handleSetCFResponse: ar.exception=" + ar.exception);
+ Log.d(LOG_TAG, "handleSetCFResponse: ar.exception=" + ar.exception);
// setEnabled(false);
}
- if (DBG) Log.d(LOG_TAG, "handleSetCFResponse: re get");
+ Log.d(LOG_TAG, "handleSetCFResponse: re get");
mPhone.getCallForwardingOption(reason,
obtainMessage(MESSAGE_GET_CF, msg.arg1, MESSAGE_SET_CF, ar.exception));
}
diff --git a/src/com/android/phone/CallNotifier.java b/src/com/android/phone/CallNotifier.java
index 476ff06..3f44130 100644
--- a/src/com/android/phone/CallNotifier.java
+++ b/src/com/android/phone/CallNotifier.java
@@ -762,7 +762,8 @@
@Override
public void onCallForwardingIndicatorChanged(boolean visible) {
- if (VDBG) log("onCallForwardingIndicatorChanged(): " + this.mSubId + " " + visible);
+ Log.i(LOG_TAG, "onCallForwardingIndicatorChanged(): subId=" + this.mSubId
+ + ", visible=" + (visible ? "Y" : "N"));
mApplication.notificationMgr.updateCfi(this.mSubId, visible);
}
};
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 4d09c32..cbc2984 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -30,16 +30,12 @@
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
-import android.database.sqlite.SQLiteDatabase;
-import android.database.sqlite.SQLiteOpenHelper;
-import android.os.AsyncResult;
import android.os.Binder;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.PersistableBundle;
-import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.preference.PreferenceManager;
@@ -54,9 +50,7 @@
import com.android.internal.telephony.ICarrierConfigLoader;
import com.android.internal.telephony.IccCardConstants;
import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneFactory;
-import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.util.FastXmlSerializer;
import com.android.internal.util.IndentingPrintWriter;
@@ -170,9 +164,19 @@
PersistableBundle config;
switch (msg.what) {
case EVENT_CLEAR_CONFIG:
+
+ /* Ignore clear configuration request if device is being shutdown. */
+ Phone phone = PhoneFactory.getPhone(phoneId);
+ if (phone != null) {
+ if (phone.isShuttingDown()) {
+ break;
+ }
+ }
+
if (mConfigFromDefaultApp[phoneId] == null &&
mConfigFromCarrierApp[phoneId] == null)
break;
+
mConfigFromDefaultApp[phoneId] = null;
mConfigFromCarrierApp[phoneId] = null;
mServiceConnection[phoneId] = null;
diff --git a/src/com/android/phone/GsmUmtsCallForwardOptions.java b/src/com/android/phone/GsmUmtsCallForwardOptions.java
index 5a16edc..77cc6cc 100644
--- a/src/com/android/phone/GsmUmtsCallForwardOptions.java
+++ b/src/com/android/phone/GsmUmtsCallForwardOptions.java
@@ -10,6 +10,7 @@
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceScreen;
+import android.telephony.CarrierConfigManager;
import android.util.Log;
import android.view.MenuItem;
@@ -18,7 +19,6 @@
public class GsmUmtsCallForwardOptions extends TimeConsumingPreferenceActivity {
private static final String LOG_TAG = "GsmUmtsCallForwardOptions";
- private final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
private static final String NUM_PROJECTION[] = {
android.provider.ContactsContract.CommonDataKinds.Phone.NUMBER
@@ -46,6 +46,7 @@
private Bundle mIcicle;
private Phone mPhone;
private SubscriptionInfoHelper mSubscriptionInfoHelper;
+ private boolean mReplaceInvalidCFNumbers;
@Override
protected void onCreate(Bundle icicle) {
@@ -58,6 +59,13 @@
getActionBar(), getResources(), R.string.call_forwarding_settings_with_label);
mPhone = mSubscriptionInfoHelper.getPhone();
+ CarrierConfigManager carrierConfig = (CarrierConfigManager)
+ getSystemService(CARRIER_CONFIG_SERVICE);
+ if (carrierConfig != null) {
+ mReplaceInvalidCFNumbers = carrierConfig.getConfig().getBoolean(
+ CarrierConfigManager.KEY_CALL_FORWARDING_MAP_NON_NUMBER_TO_VOICEMAIL_BOOL);
+ }
+
PreferenceScreen prefSet = getPreferenceScreen();
mButtonCFU = (CallForwardEditPreference) prefSet.findPreference(BUTTON_CFU_KEY);
mButtonCFB = (CallForwardEditPreference) prefSet.findPreference(BUTTON_CFB_KEY);
@@ -94,8 +102,8 @@
if (mFirstResume) {
if (mIcicle == null) {
- if (DBG) Log.d(LOG_TAG, "start to init ");
- mPreferences.get(mInitIndex).init(this, false, mPhone);
+ Log.d(LOG_TAG, "start to init ");
+ mPreferences.get(mInitIndex).init(this, false, mPhone, mReplaceInvalidCFNumbers);
} else {
mInitIndex = mPreferences.size();
@@ -106,7 +114,7 @@
cf.number = bundle.getString(KEY_NUMBER);
cf.status = bundle.getInt(KEY_STATUS);
pref.handleCallForwardResult(cf);
- pref.init(this, true, mPhone);
+ pref.init(this, true, mPhone, mReplaceInvalidCFNumbers);
}
}
mFirstResume = false;
@@ -133,7 +141,7 @@
public void onFinished(Preference preference, boolean reading) {
if (mInitIndex < mPreferences.size()-1 && !isFinishing()) {
mInitIndex++;
- mPreferences.get(mInitIndex).init(this, false, mPhone);
+ mPreferences.get(mInitIndex).init(this, false, mPhone, mReplaceInvalidCFNumbers);
}
super.onFinished(preference, reading);
@@ -141,9 +149,9 @@
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (DBG) Log.d(LOG_TAG, "onActivityResult: done");
+ Log.d(LOG_TAG, "onActivityResult: done");
if (resultCode != RESULT_OK) {
- if (DBG) Log.d(LOG_TAG, "onActivityResult: contact picker result not OK.");
+ Log.d(LOG_TAG, "onActivityResult: contact picker result not OK.");
return;
}
Cursor cursor = null;
@@ -151,7 +159,7 @@
cursor = getContentResolver().query(data.getData(),
NUM_PROJECTION, null, null, null);
if ((cursor == null) || (!cursor.moveToFirst())) {
- if (DBG) Log.d(LOG_TAG, "onActivityResult: bad contact data, no results found.");
+ Log.d(LOG_TAG, "onActivityResult: bad contact data, no results found.");
return;
}
diff --git a/src/com/android/phone/LocationAccessPolicy.java b/src/com/android/phone/LocationAccessPolicy.java
index 9f863a3..6f2a5ec 100644
--- a/src/com/android/phone/LocationAccessPolicy.java
+++ b/src/com/android/phone/LocationAccessPolicy.java
@@ -45,18 +45,27 @@
*
* @param pkgName Package name of the application requesting access
* @param uid The uid of the package
+ * @param message Message to add to the exception if no location permission
* @return boolean true or false if permissions is granted
*/
static boolean canAccessCellLocation(@NonNull Context context, @NonNull String pkgName,
- int uid) throws SecurityException {
+ int uid, String message) throws SecurityException {
context.getSystemService(AppOpsManager.class).checkPackage(uid, pkgName);
// We always require the location permission and also require the
// location mode to be on for non-legacy apps. Legacy apps are
// required to be in the foreground to at least mitigate the case
// where a legacy app the user is not using tracks their location.
- if (!hasUidLocationPermission(context, pkgName, uid)
- || (!isLocationModeEnabled(context, UserHandle.getUserId(uid)))
- && !isLegacyForeground(context, pkgName)) {
+
+ // Grating ACCESS_FINE_LOCATION to an app automatically grants it ACCESS_COARSE_LOCATION.
+ context.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION, message);
+ final int opCode = AppOpsManager.permissionToOpCode(
+ Manifest.permission.ACCESS_COARSE_LOCATION);
+ if (opCode != AppOpsManager.OP_NONE && context.getSystemService(AppOpsManager.class)
+ .noteOp(opCode, uid, pkgName) != AppOpsManager.MODE_ALLOWED) {
+ return false;
+ }
+ if (!isLocationModeEnabled(context, UserHandle.getUserId(uid))
+ && !isLegacyForeground(context, pkgName)) {
return false;
}
// If the user or profile is current, permission is granted.
@@ -103,21 +112,6 @@
== PackageManager.PERMISSION_GRANTED;
}
- private static boolean hasUidLocationPermission(@NonNull Context context,
- @NonNull String pkgName, int uid) {
- // Grating ACCESS_FINE_LOCATION to an app automatically grants it ACCESS_COARSE_LOCATION.
- if ((context.checkCallingOrSelfPermission(
- Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED)) {
- final int opCode = AppOpsManager.permissionToOpCode(
- Manifest.permission.ACCESS_COARSE_LOCATION);
- if (opCode != AppOpsManager.OP_NONE) {
- return context.getSystemService(AppOpsManager.class).noteOp(opCode, uid, pkgName)
- == AppOpsManager.MODE_ALLOWED;
- }
- }
- return false;
- }
-
private static boolean isCurrentProfile(@NonNull Context context, int uid) {
final int currentUser = ActivityManager.getCurrentUser();
final int callingUserId = UserHandle.getUserId(uid);
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index 23aed98..fc354ae 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -811,7 +811,6 @@
updateBodyAdvancedFields(activity, prefSet, phoneSubId, hasActiveSubscriptions);
} else {
prefSet.addPreference(mAdvancedOptions);
- mAdvancedOptions.setEnabled(hasActiveSubscriptions);
}
}
@@ -1713,8 +1712,7 @@
PreferenceCategory networkOperatorCategory =
(PreferenceCategory) prefSet.findPreference(
NetworkOperators.CATEGORY_NETWORK_OPERATORS_KEY);
- PreferenceScreen carrierSettings =
- (PreferenceScreen) prefSet.findPreference(BUTTON_CARRIER_SETTINGS_KEY);
+ Preference carrierSettings = prefSet.findPreference(BUTTON_CARRIER_SETTINGS_KEY);
if (apnExpand != null) {
apnExpand.setEnabled(isWorldMode() || enable);
}
diff --git a/src/com/android/phone/NetworkSelectListPreference.java b/src/com/android/phone/NetworkSelectListPreference.java
index 946856a..936c2a0 100644
--- a/src/com/android/phone/NetworkSelectListPreference.java
+++ b/src/com/android/phone/NetworkSelectListPreference.java
@@ -315,7 +315,13 @@
CharSequence[] networkEntries = new CharSequence[result.size()];
CharSequence[] networkEntryValues = new CharSequence[result.size()];
for (int i = 0; i < mOperatorInfoList.size(); i++) {
- networkEntries[i] = getNetworkTitle(mOperatorInfoList.get(i));
+ if (mOperatorInfoList.get(i).getState() == OperatorInfo.State.FORBIDDEN) {
+ networkEntries[i] = getNetworkTitle(mOperatorInfoList.get(i))
+ + " "
+ + getContext().getResources().getString(R.string.forbidden_network);
+ } else {
+ networkEntries[i] = getNetworkTitle(mOperatorInfoList.get(i));
+ }
networkEntryValues[i] = Integer.toString(i + 2);
}
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index f3c9ad3..3d20545 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -464,7 +464,7 @@
* @param visible true if there are messages waiting
*/
/* package */ void updateCfi(int subId, boolean visible) {
- if (DBG) log("updateCfi(): " + visible);
+ logi("updateCfi: subId= " + subId + ", visible=" + (visible ? "Y" : "N"));
if (visible) {
// If Unconditional Call Forwarding (forward all calls) for VOICE
// is enabled, just show a notification. We'll default to expanded
@@ -653,4 +653,8 @@
private void log(String msg) {
Log.d(LOG_TAG, msg);
}
+
+ private void logi(String msg) {
+ Log.i(LOG_TAG, msg);
+ }
}
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 204afd3..59b7684 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -1641,7 +1641,7 @@
@Override
public Bundle getCellLocation(String callingPackage) {
if (!LocationAccessPolicy.canAccessCellLocation(mPhone.getContext(),
- callingPackage, Binder.getCallingUid())) {
+ callingPackage, Binder.getCallingUid(), "getCellLocation")) {
return null;
}
@@ -1709,7 +1709,7 @@
@SuppressWarnings("unchecked")
public List<NeighboringCellInfo> getNeighboringCellInfo(String callingPackage) {
if (!LocationAccessPolicy.canAccessCellLocation(mPhone.getContext(),
- callingPackage, Binder.getCallingUid())) {
+ callingPackage, Binder.getCallingUid(), "getNeighboringCellInfo")) {
return null;
}
@@ -1737,7 +1737,7 @@
@Override
public List<CellInfo> getAllCellInfo(String callingPackage) {
if (!LocationAccessPolicy.canAccessCellLocation(mPhone.getContext(),
- callingPackage, Binder.getCallingUid())) {
+ callingPackage, Binder.getCallingUid(), "getAllCellInfo")) {
return null;
}
diff --git a/src/com/android/services/telephony/PstnIncomingCallNotifier.java b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
index e52ca72..e007bb4 100644
--- a/src/com/android/services/telephony/PstnIncomingCallNotifier.java
+++ b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
@@ -141,8 +141,24 @@
Connection connection = call.getLatestConnection();
if (connection != null) {
String number = connection.getAddress();
- if (!TextUtils.isEmpty(number) && Objects.equals(number, ccwi.number)) {
+ int presentation = connection.getNumberPresentation();
+
+ if (presentation != PhoneConstants.PRESENTATION_ALLOWED
+ && presentation == ccwi.numberPresentation) {
+ // Presentation of number not allowed, but the presentation of the Connection
+ // and the call waiting presentation match.
+ Log.i(this, "handleCdmaCallWaiting: inform telecom of waiting call; "
+ + "presentation = %d", presentation);
sendIncomingCallIntent(connection);
+ } else if (!TextUtils.isEmpty(number) && Objects.equals(number, ccwi.number)) {
+ // Presentation of the number is allowed, so we ensure the number matches the
+ // one in the call waiting information.
+ Log.i(this, "handleCdmaCallWaiting: inform telecom of waiting call; "
+ + "number = %s", Log.pii(number));
+ sendIncomingCallIntent(connection);
+ } else {
+ Log.w(this, "handleCdmaCallWaiting: presentation or number do not match, not"
+ + " informing telecom of call: %s", ccwi);
}
}
}
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/AppActiveStreams.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/AppActiveStreams.java
index dfc7ac9..5da8145 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/AppActiveStreams.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/AppActiveStreams.java
@@ -16,9 +16,8 @@
package com.android.phone.testapps.embmsmw;
-import android.os.RemoteException;
-import android.telephony.mbms.IStreamingServiceCallback;
import android.telephony.mbms.StreamingService;
+import android.telephony.mbms.StreamingServiceCallback;
import java.util.HashMap;
import java.util.Map;
@@ -28,18 +27,18 @@
public class AppActiveStreams {
// Wrapper for a pair (StreamingServiceCallback, streaming state)
private static class StreamCallbackWithState {
- private final IStreamingServiceCallback mCallback;
+ private final StreamingServiceCallback mCallback;
private int mState;
private int mMethod;
private boolean mMethodSet = false;
- StreamCallbackWithState(IStreamingServiceCallback callback, int state, int method) {
+ StreamCallbackWithState(StreamingServiceCallback callback, int state, int method) {
mCallback = callback;
mState = state;
mMethod = method;
}
- public IStreamingServiceCallback getCallback() {
+ public StreamingServiceCallback getCallback() {
return mCallback;
}
@@ -80,7 +79,7 @@
StreamingService.STATE_STOPPED : callbackWithState.getState();
}
- public void startStreaming(String serviceId, IStreamingServiceCallback callback, int reason) {
+ public void startStreaming(String serviceId, StreamingServiceCallback callback, int reason) {
if (mStreamStates.get(serviceId) != null) {
// error - already started
return;
@@ -94,25 +93,17 @@
mStreamStates.put(serviceId,
new StreamCallbackWithState(callback, StreamingService.STATE_STARTED,
StreamingService.UNICAST_METHOD));
- try {
- callback.streamStateUpdated(StreamingService.STATE_STARTED, reason);
- updateStreamingMethod(serviceId);
- } catch (RemoteException e) {
- dispose(serviceId);
- }
+ callback.onStreamStateUpdated(StreamingService.STATE_STARTED, reason);
+ updateStreamingMethod(serviceId);
}
public void stopStreaming(String serviceId, int reason) {
StreamCallbackWithState entry = mStreamStates.get(serviceId);
if (entry != null) {
- try {
- if (entry.getState() != StreamingService.STATE_STOPPED) {
- entry.setState(StreamingService.STATE_STOPPED);
- entry.getCallback().streamStateUpdated(StreamingService.STATE_STOPPED, reason);
- }
- } catch (RemoteException e) {
- dispose(serviceId);
+ if (entry.getState() != StreamingService.STATE_STOPPED) {
+ entry.setState(StreamingService.STATE_STOPPED);
+ entry.getCallback().onStreamStateUpdated(StreamingService.STATE_STOPPED, reason);
}
}
}
@@ -133,11 +124,7 @@
}
if (newMethod != oldMethod || callbackWithState.isMethodSet()) {
callbackWithState.setMethod(newMethod);
- try {
- callbackWithState.getCallback().streamMethodUpdated(newMethod);
- } catch (RemoteException e) {
- dispose(serviceId);
- }
+ callbackWithState.getCallback().onStreamMethodUpdated(newMethod);
}
}
}
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
index afac316..128793f 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
@@ -30,16 +30,17 @@
import android.os.IBinder;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
-import android.telephony.MbmsDownloadManager;
+import android.telephony.MbmsDownloadSession;
import android.telephony.mbms.DownloadRequest;
+import android.telephony.mbms.DownloadStateCallback;
import android.telephony.mbms.FileInfo;
import android.telephony.mbms.FileServiceInfo;
-import android.telephony.mbms.IDownloadProgressListener;
-import android.telephony.mbms.IMbmsDownloadManagerCallback;
-import android.telephony.mbms.MbmsException;
+import android.telephony.mbms.MbmsDownloadSessionCallback;
+import android.telephony.mbms.MbmsErrors;
import android.telephony.mbms.UriPathPair;
import android.telephony.mbms.vendor.IMbmsDownloadService;
import android.telephony.mbms.vendor.MbmsDownloadServiceBase;
+import android.telephony.mbms.vendor.VendorUtils;
import android.util.Log;
import java.io.IOException;
@@ -68,46 +69,39 @@
private final IMbmsDownloadService mBinder = new MbmsDownloadServiceBase() {
@Override
- public int initialize(int subId, IMbmsDownloadManagerCallback listener) {
+ public int initialize(int subId, MbmsDownloadSessionCallback callback) {
int packageUid = Binder.getCallingUid();
String[] packageNames = getPackageManager().getPackagesForUid(packageUid);
if (packageNames == null) {
- return MbmsException.InitializationErrors.ERROR_APP_PERMISSIONS_NOT_GRANTED;
+ return MbmsErrors.InitializationErrors.ERROR_APP_PERMISSIONS_NOT_GRANTED;
}
boolean isUidAllowed = Arrays.stream(packageNames).anyMatch(ALLOWED_PACKAGES::contains);
if (!isUidAllowed) {
- return MbmsException.InitializationErrors.ERROR_APP_PERMISSIONS_NOT_GRANTED;
+ return MbmsErrors.InitializationErrors.ERROR_APP_PERMISSIONS_NOT_GRANTED;
}
// Do initialization with a bit of a delay to simulate work being done.
mHandler.postDelayed(() -> {
FrontendAppIdentifier appKey = new FrontendAppIdentifier(packageUid, subId);
if (!mAppCallbacks.containsKey(appKey)) {
- mAppCallbacks.put(appKey, listener);
- ComponentName appReceiver = MbmsDownloadManager.getAppReceiverFromUid(
- EmbmsSampleDownloadService.this, packageUid);
+ mAppCallbacks.put(appKey, callback);
+ ComponentName appReceiver = VendorUtils.getAppReceiverFromPackageName(
+ EmbmsSampleDownloadService.this,
+ getPackageManager().getNameForUid(packageUid));
mAppReceivers.put(appKey, appReceiver);
} else {
- try {
- listener.error(
- MbmsException.InitializationErrors.ERROR_DUPLICATE_INITIALIZE, "");
- } catch (RemoteException e) {
- // ignore, it was an error anyway
- }
+ callback.onError(
+ MbmsErrors.InitializationErrors.ERROR_DUPLICATE_INITIALIZE, "");
return;
}
- try {
- listener.middlewareReady();
- } catch (RemoteException e) {
- // TODO: call dispose
- }
+ callback.onMiddlewareReady();
}, INITIALIZATION_DELAY);
- return MbmsException.SUCCESS;
+ return MbmsErrors.SUCCESS;
}
@Override
- public int getFileServices(int subscriptionId,
+ public int requestUpdateFileServices(int subscriptionId,
List<String> serviceClasses) throws RemoteException {
FrontendAppIdentifier appKey =
new FrontendAppIdentifier(Binder.getCallingUid(), subscriptionId);
@@ -118,14 +112,10 @@
.getFileServicesForClasses(serviceClasses);
mHandler.postDelayed(() -> {
- try {
- IMbmsDownloadManagerCallback appCallback = mAppCallbacks.get(appKey);
- appCallback.fileServicesUpdated(serviceInfos);
- } catch (RemoteException e) {
- // TODO: call dispose
- }
+ MbmsDownloadSessionCallback appCallback = mAppCallbacks.get(appKey);
+ appCallback.onFileServicesUpdated(serviceInfos);
}, SEND_FILE_SERVICE_INFO_DELAY);
- return MbmsException.SUCCESS;
+ return MbmsErrors.SUCCESS;
}
@Override
@@ -136,20 +126,27 @@
checkInitialized(appKey);
if (mActiveDownloadRequests.getOrDefault(appKey, Collections.emptySet()).size() > 0) {
- return MbmsException.DownloadErrors.ERROR_CANNOT_CHANGE_TEMP_FILE_ROOT;
+ return MbmsErrors.DownloadErrors.ERROR_CANNOT_CHANGE_TEMP_FILE_ROOT;
}
mAppTempFileRoots.put(appKey, rootDirectoryPath);
- return MbmsException.SUCCESS;
+ return MbmsErrors.SUCCESS;
}
@Override
- public int download(DownloadRequest downloadRequest, IDownloadProgressListener listener) {
+ public int download(DownloadRequest downloadRequest) {
FrontendAppIdentifier appKey = new FrontendAppIdentifier(
Binder.getCallingUid(), downloadRequest.getSubscriptionId());
checkInitialized(appKey);
mHandler.post(() -> sendFdRequest(downloadRequest, appKey));
- return MbmsException.SUCCESS;
+ return MbmsErrors.SUCCESS;
+ }
+
+ @Override
+ public int registerStateCallback(DownloadRequest downloadRequest,
+ DownloadStateCallback callback) throws RemoteException {
+ mDownloadStateCallbacks.put(downloadRequest, callback);
+ return MbmsErrors.SUCCESS;
}
@Override
@@ -159,16 +156,25 @@
checkInitialized(appKey);
if (!mActiveDownloadRequests.getOrDefault(
appKey, Collections.emptySet()).contains(downloadRequest)) {
- return MbmsException.DownloadErrors.ERROR_UNKNOWN_DOWNLOAD_REQUEST;
+ return MbmsErrors.DownloadErrors.ERROR_UNKNOWN_DOWNLOAD_REQUEST;
}
mActiveDownloadRequests.get(appKey).remove(downloadRequest);
- return MbmsException.SUCCESS;
+ return MbmsErrors.SUCCESS;
+ }
+
+ @Override
+ public void onAppCallbackDied(int uid, int subscriptionId) {
+ FrontendAppIdentifier appKey = new FrontendAppIdentifier(uid, subscriptionId);
+
+ Log.i(LOG_TAG, "Disposing app " + appKey + " due to binder death");
+ mAppCallbacks.remove(appKey);
+ // TODO: call dispose
}
};
private static EmbmsSampleDownloadService sInstance = null;
- private final Map<FrontendAppIdentifier, IMbmsDownloadManagerCallback> mAppCallbacks =
+ private final Map<FrontendAppIdentifier, MbmsDownloadSessionCallback> mAppCallbacks =
new HashMap<>();
private final Map<FrontendAppIdentifier, ComponentName> mAppReceivers = new HashMap<>();
private final Map<FrontendAppIdentifier, String> mAppTempFileRoots = new HashMap<>();
@@ -177,6 +183,8 @@
// A map of app-identifiers to (maps of service-ids to sets of temp file uris in use)
private final Map<FrontendAppIdentifier, Map<String, Set<Uri>>> mTempFilesInUse =
new ConcurrentHashMap<>();
+ private final Map<DownloadRequest, DownloadStateCallback> mDownloadStateCallbacks =
+ new ConcurrentHashMap<>();
private HandlerThread mHandlerThread;
private Handler mHandler;
@@ -201,15 +209,15 @@
ComponentName appReceiver = mAppReceivers.values().iterator().next();
for (FileServiceInfo fileServiceInfo :
FileServiceRepository.getInstance(this).getAllFileServices()) {
- Intent cleanupIntent = new Intent(MbmsDownloadManager.ACTION_CLEANUP);
+ Intent cleanupIntent = new Intent(VendorUtils.ACTION_CLEANUP);
cleanupIntent.setComponent(appReceiver);
- cleanupIntent.putExtra(MbmsDownloadManager.EXTRA_SERVICE_INFO, fileServiceInfo);
- cleanupIntent.putExtra(MbmsDownloadManager.EXTRA_TEMP_FILE_ROOT,
+ cleanupIntent.putExtra(VendorUtils.EXTRA_SERVICE_ID, fileServiceInfo.getServiceId());
+ cleanupIntent.putExtra(VendorUtils.EXTRA_TEMP_FILE_ROOT,
mAppTempFileRoots.get(registeredAppId));
Set<Uri> tempFilesInUse =
mTempFilesInUse.getOrDefault(registeredAppId, Collections.emptyMap())
.getOrDefault(fileServiceInfo.getServiceId(), Collections.emptySet());
- cleanupIntent.putExtra(MbmsDownloadManager.EXTRA_TEMP_FILES_IN_USE,
+ cleanupIntent.putExtra(VendorUtils.EXTRA_TEMP_FILES_IN_USE,
new ArrayList<>(tempFilesInUse));
sendBroadcast(cleanupIntent);
}
@@ -219,10 +227,10 @@
// Assume one app, and do it for the specified service.
FrontendAppIdentifier registeredAppId = mAppReceivers.keySet().iterator().next();
ComponentName appReceiver = mAppReceivers.values().iterator().next();
- Intent fdRequestIntent = new Intent(MbmsDownloadManager.ACTION_FILE_DESCRIPTOR_REQUEST);
- fdRequestIntent.putExtra(MbmsDownloadManager.EXTRA_SERVICE_INFO, serviceInfo);
- fdRequestIntent.putExtra(MbmsDownloadManager.EXTRA_FD_COUNT, 10);
- fdRequestIntent.putExtra(MbmsDownloadManager.EXTRA_TEMP_FILE_ROOT,
+ Intent fdRequestIntent = new Intent(VendorUtils.ACTION_FILE_DESCRIPTOR_REQUEST);
+ fdRequestIntent.putExtra(VendorUtils.EXTRA_SERVICE_ID, serviceInfo.getServiceId());
+ fdRequestIntent.putExtra(VendorUtils.EXTRA_FD_COUNT, 10);
+ fdRequestIntent.putExtra(VendorUtils.EXTRA_TEMP_FILE_ROOT,
mAppTempFileRoots.get(registeredAppId));
fdRequestIntent.setComponent(appReceiver);
@@ -237,7 +245,7 @@
if (extras != null) {
Log.i(LOG_TAG, "Got "
+ extras.getParcelableArrayList(
- MbmsDownloadManager.EXTRA_FREE_URI_LIST).size()
+ VendorUtils.EXTRA_FREE_URI_LIST).size()
+ " fds");
}
}
@@ -255,12 +263,10 @@
private void sendFdRequest(DownloadRequest request, FrontendAppIdentifier appKey) {
int numFds = getNumFdsNeededForRequest(request);
// Compose the FILE_DESCRIPTOR_REQUEST_INTENT
- Intent requestIntent = new Intent(MbmsDownloadManager.ACTION_FILE_DESCRIPTOR_REQUEST);
- requestIntent.putExtra(MbmsDownloadManager.EXTRA_SERVICE_INFO,
- FileServiceRepository.getInstance(this)
- .getFileServiceInfoForId(request.getFileServiceId()));
- requestIntent.putExtra(MbmsDownloadManager.EXTRA_FD_COUNT, numFds);
- requestIntent.putExtra(MbmsDownloadManager.EXTRA_TEMP_FILE_ROOT,
+ Intent requestIntent = new Intent(VendorUtils.ACTION_FILE_DESCRIPTOR_REQUEST);
+ requestIntent.putExtra(VendorUtils.EXTRA_SERVICE_ID, request.getFileServiceId());
+ requestIntent.putExtra(VendorUtils.EXTRA_FD_COUNT, numFds);
+ requestIntent.putExtra(VendorUtils.EXTRA_TEMP_FILE_ROOT,
mAppTempFileRoots.get(appKey));
requestIntent.setComponent(mAppReceivers.get(appKey));
@@ -288,7 +294,7 @@
private void performDownload(DownloadRequest request, FrontendAppIdentifier appKey,
Bundle extras) {
List<UriPathPair> tempFiles = extras.getParcelableArrayList(
- MbmsDownloadManager.EXTRA_FREE_URI_LIST);
+ VendorUtils.EXTRA_FREE_URI_LIST);
List<FileInfo> filesToDownload = FileServiceRepository.getInstance(this)
.getFileServiceInfoForId(request.getFileServiceId())
.getFiles();
@@ -326,7 +332,17 @@
private void downloadSingleFile(FrontendAppIdentifier appKey, DownloadRequest request,
UriPathPair tempFile, FileInfo fileToDownload) {
- int result = MbmsDownloadManager.RESULT_SUCCESSFUL;
+ int result = MbmsDownloadSession.RESULT_SUCCESSFUL;
+ // Test Callback
+ DownloadStateCallback c = mDownloadStateCallbacks.get(request);
+ if (c != null) {
+ c.onProgressUpdated(request, fileToDownload, 0, 10, 0, 10);
+ }
+ // Test Callback
+ if (c != null) {
+ c.onStateUpdated(request, fileToDownload,
+ MbmsDownloadSession.STATUS_ACTIVELY_DOWNLOADING);
+ }
try {
// Get the ParcelFileDescriptor for the single temp file we requested
ParcelFileDescriptor tempFileFd = getContentResolver().openFileDescriptor(
@@ -348,30 +364,32 @@
destinationStream.write(imageBuffer);
destinationStream.flush();
} catch (IOException e) {
- result = MbmsDownloadManager.RESULT_CANCELLED;
+ result = MbmsDownloadSession.RESULT_CANCELLED;
}
-
+ // Test Callback
+ if (c != null) {
+ c.onProgressUpdated(request, fileToDownload, 10, 10, 10, 10);
+ }
// Take a round-trip through the download request serialization to exercise it
- DownloadRequest request1 = new DownloadRequest.Builder()
- .setSource(request.getSourceUri())
+ DownloadRequest request1 = new DownloadRequest.Builder(request.getSourceUri())
.setSubscriptionId(request.getSubscriptionId())
.setServiceId(request.getFileServiceId())
.setOpaqueData(request.getOpaqueData())
.build();
Intent downloadResultIntent =
- new Intent(MbmsDownloadManager.ACTION_DOWNLOAD_RESULT_INTERNAL);
- downloadResultIntent.putExtra(MbmsDownloadManager.EXTRA_REQUEST, request1);
- downloadResultIntent.putExtra(MbmsDownloadManager.EXTRA_FINAL_URI,
+ new Intent(VendorUtils.ACTION_DOWNLOAD_RESULT_INTERNAL);
+ downloadResultIntent.putExtra(MbmsDownloadSession.EXTRA_MBMS_DOWNLOAD_REQUEST, request1);
+ downloadResultIntent.putExtra(VendorUtils.EXTRA_FINAL_URI,
tempFile.getFilePathUri());
- downloadResultIntent.putExtra(MbmsDownloadManager.EXTRA_FILE_INFO, fileToDownload);
- downloadResultIntent.putExtra(MbmsDownloadManager.EXTRA_TEMP_FILE_ROOT,
+ downloadResultIntent.putExtra(MbmsDownloadSession.EXTRA_MBMS_FILE_INFO, fileToDownload);
+ downloadResultIntent.putExtra(VendorUtils.EXTRA_TEMP_FILE_ROOT,
mAppTempFileRoots.get(appKey));
ArrayList<Uri> tempFileList = new ArrayList<>(1);
tempFileList.add(tempFile.getFilePathUri());
downloadResultIntent.getExtras().putParcelableArrayList(
- MbmsDownloadManager.EXTRA_TEMP_LIST, tempFileList);
- downloadResultIntent.putExtra(MbmsDownloadManager.EXTRA_RESULT, result);
+ VendorUtils.EXTRA_TEMP_LIST, tempFileList);
+ downloadResultIntent.putExtra(MbmsDownloadSession.EXTRA_MBMS_DOWNLOAD_RESULT, result);
downloadResultIntent.setComponent(mAppReceivers.get(appKey));
sendOrderedBroadcast(downloadResultIntent,
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
index 94346f7..f50536c 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
@@ -23,13 +23,11 @@
import android.os.Handler;
import android.os.HandlerThread;
import android.os.IBinder;
-import android.os.RemoteException;
-import android.telephony.mbms.IMbmsStreamingManagerCallback;
-import android.telephony.mbms.IStreamingServiceCallback;
-import android.telephony.mbms.MbmsException;
+import android.telephony.mbms.MbmsErrors;
+import android.telephony.mbms.MbmsStreamingSessionCallback;
import android.telephony.mbms.StreamingService;
+import android.telephony.mbms.StreamingServiceCallback;
import android.telephony.mbms.StreamingServiceInfo;
-import android.telephony.mbms.vendor.IMbmsStreamingService;
import android.telephony.mbms.vendor.MbmsStreamingServiceBase;
import android.util.Log;
@@ -55,7 +53,7 @@
private static final int SEND_STREAMING_SERVICES_LIST = 1;
- private final Map<FrontendAppIdentifier, IMbmsStreamingManagerCallback> mAppCallbacks =
+ private final Map<FrontendAppIdentifier, MbmsStreamingSessionCallback> mAppCallbacks =
new HashMap<>();
private HandlerThread mHandlerThread;
@@ -66,57 +64,44 @@
SomeArgs args = (SomeArgs) msg.obj;
FrontendAppIdentifier appKey = (FrontendAppIdentifier) args.arg1;
List<StreamingServiceInfo> services = (List) args.arg2;
- IMbmsStreamingManagerCallback appCallback = mAppCallbacks.get(appKey);
+ MbmsStreamingSessionCallback appCallback = mAppCallbacks.get(appKey);
if (appCallback != null) {
- try {
- appCallback.streamingServicesUpdated(services);
- } catch (RemoteException e) {
- // Assume app has gone away and clean up.
- }
+ appCallback.onStreamingServicesUpdated(services);
}
break;
}
return true;
};
- private final IMbmsStreamingService.Stub mBinder = new MbmsStreamingServiceBase() {
+ private final MbmsStreamingServiceBase mBinder = new MbmsStreamingServiceBase() {
@Override
- public int initialize(IMbmsStreamingManagerCallback listener, int subId) {
+ public int initialize(MbmsStreamingSessionCallback callback, int subId) {
int packageUid = Binder.getCallingUid();
String[] packageNames = getPackageManager().getPackagesForUid(packageUid);
if (packageNames == null) {
- return MbmsException.InitializationErrors.ERROR_APP_PERMISSIONS_NOT_GRANTED;
+ return MbmsErrors.InitializationErrors.ERROR_APP_PERMISSIONS_NOT_GRANTED;
}
boolean isUidAllowed = Arrays.stream(packageNames).anyMatch(ALLOWED_PACKAGES::contains);
if (!isUidAllowed) {
- return MbmsException.InitializationErrors.ERROR_APP_PERMISSIONS_NOT_GRANTED;
+ return MbmsErrors.InitializationErrors.ERROR_APP_PERMISSIONS_NOT_GRANTED;
}
mHandler.postDelayed(() -> {
FrontendAppIdentifier appKey = new FrontendAppIdentifier(packageUid, subId);
if (!mAppCallbacks.containsKey(appKey)) {
- mAppCallbacks.put(appKey, listener);
+ mAppCallbacks.put(appKey, callback);
} else {
- try {
- listener.error(
- MbmsException.InitializationErrors.ERROR_DUPLICATE_INITIALIZE, "");
- } catch (RemoteException e) {
- // ignore, it was an error anyway
- }
+ callback.onError(
+ MbmsErrors.InitializationErrors.ERROR_DUPLICATE_INITIALIZE, "");
return;
}
- try {
- listener.middlewareReady();
- } catch (RemoteException e) {
- StreamStateTracker.disposeAll(appKey);
- mAppCallbacks.remove(appKey);
- }
+ callback.onMiddlewareReady();
}, INITIALIZATION_DELAY);
- return MbmsException.SUCCESS;
+ return MbmsErrors.SUCCESS;
}
@Override
- public int getStreamingServices(int subscriptionId, List<String> serviceClasses) {
+ public int requestUpdateStreamingServices(int subscriptionId, List<String> serviceClasses) {
FrontendAppIdentifier appKey =
new FrontendAppIdentifier(Binder.getCallingUid(), subscriptionId);
checkInitialized(appKey);
@@ -132,12 +117,12 @@
mHandler.sendMessageDelayed(
mHandler.obtainMessage(SEND_STREAMING_SERVICES_LIST, args),
SEND_SERVICE_LIST_DELAY);
- return MbmsException.SUCCESS;
+ return MbmsErrors.SUCCESS;
}
@Override
public int startStreaming(int subscriptionId, String serviceId,
- IStreamingServiceCallback callback) {
+ StreamingServiceCallback callback) {
FrontendAppIdentifier appKey =
new FrontendAppIdentifier(Binder.getCallingUid(), subscriptionId);
checkInitialized(appKey);
@@ -145,14 +130,14 @@
if (StreamStateTracker.getStreamingState(appKey, serviceId) ==
StreamingService.STATE_STARTED) {
- return MbmsException.StreamingErrors.ERROR_DUPLICATE_START_STREAM;
+ return MbmsErrors.StreamingErrors.ERROR_DUPLICATE_START_STREAM;
}
mHandler.postDelayed(
() -> StreamStateTracker.startStreaming(appKey, serviceId, callback,
StreamingService.REASON_BY_USER_REQUEST),
START_STREAMING_DELAY);
- return MbmsException.SUCCESS;
+ return MbmsErrors.SUCCESS;
}
@Override
@@ -178,16 +163,6 @@
mHandler.post(() -> StreamStateTracker.stopStreaming(appKey, serviceId,
StreamingService.REASON_BY_USER_REQUEST));
- }
-
- @Override
- public void disposeStream(int subscriptionId, String serviceId) {
- FrontendAppIdentifier appKey =
- new FrontendAppIdentifier(Binder.getCallingUid(), subscriptionId);
- checkInitialized(appKey);
- checkServiceExists(serviceId);
-
- Log.i(TAG, "Disposing of stream " + serviceId);
StreamStateTracker.dispose(appKey, serviceId);
}
@@ -201,6 +176,15 @@
StreamStateTracker.disposeAll(appKey);
mAppCallbacks.remove(appKey);
}
+
+ @Override
+ public void onAppCallbackDied(int uid, int subscriptionId) {
+ FrontendAppIdentifier appKey = new FrontendAppIdentifier(uid, subscriptionId);
+
+ Log.i(TAG, "Disposing app " + appKey + " due to binder death");
+ StreamStateTracker.disposeAll(appKey);
+ mAppCallbacks.remove(appKey);
+ }
};
@Override
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java
index a771a1a..27911f6 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java
@@ -21,13 +21,8 @@
import android.telephony.mbms.FileInfo;
import android.telephony.mbms.FileServiceInfo;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -67,7 +62,7 @@
public List<FileServiceInfo> getFileServicesForClasses(
List<String> serviceClasses) {
return mIdToServiceInfo.values().stream()
- .filter((info) -> serviceClasses.contains(info.getClassName()))
+ .filter((info) -> serviceClasses.contains(info.getServiceClassName()))
.collect(Collectors.toList());
}
@@ -119,23 +114,6 @@
return null;
}
- InputStream fileIn = mContext.getResources().openRawResource(mFileUriToResource.get(uri));
- int fileSize;
- byte[] buffer;
- byte[] md5Sum;
- try {
- fileSize = fileIn.available();
- buffer = new byte[fileIn.available()];
- fileIn.read(buffer);
- } catch (IOException e) {
- // ignore and just return null
- return null;
- }
- try {
- md5Sum = MessageDigest.getInstance("MD5").digest(buffer);
- } catch (NoSuchAlgorithmException e) {
- return null;
- }
- return new FileInfo(uri, "application/octet-stream", fileSize, md5Sum);
+ return new FileInfo(uri, "application/octet-stream");
}
}
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamStateTracker.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamStateTracker.java
index de81359..6fde02b 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamStateTracker.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamStateTracker.java
@@ -16,8 +16,8 @@
package com.android.phone.testapps.embmsmw;
-import android.telephony.mbms.IStreamingServiceCallback;
import android.telephony.mbms.StreamingService;
+import android.telephony.mbms.StreamingServiceCallback;
import android.util.Log;
import java.util.HashMap;
@@ -39,7 +39,7 @@
}
public static void startStreaming(FrontendAppIdentifier appIdentifier, String serviceId,
- IStreamingServiceCallback callback, int reason) {
+ StreamingServiceCallback callback, int reason) {
AppActiveStreams appStreams = sPerAppStreamStates.get(appIdentifier);
if (appStreams == null) {
appStreams = new AppActiveStreams(appIdentifier);
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
index 677f39b..e1a12e3 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
@@ -43,7 +43,7 @@
public static List<StreamingServiceInfo> getStreamingServicesForClasses(
List<String> serviceClasses) {
return sIdToServiceInfo.values().stream()
- .filter((info) -> serviceClasses.contains(info.getClassName()))
+ .filter((info) -> serviceClasses.contains(info.getServiceClassName()))
.collect(Collectors.toList());
}
diff --git a/testapps/EmbmsTestDownloadApp/res/layout/activity_main.xml b/testapps/EmbmsTestDownloadApp/res/layout/activity_main.xml
index 076bc37..1aea6a5 100644
--- a/testapps/EmbmsTestDownloadApp/res/layout/activity_main.xml
+++ b/testapps/EmbmsTestDownloadApp/res/layout/activity_main.xml
@@ -105,9 +105,31 @@
android:layout_row="4"
android:layout_column="0"
android:text="@string/cancel_download_button" />
+ <Button
+ android:id="@+id/register_state_callback_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_row="5"
+ android:layout_column="0"
+ android:text="@string/register_state_callback_button" />
+ <Button
+ android:id="@+id/register_progress_callback_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_row="5"
+ android:layout_column="1"
+ android:text="@string/register_progress_callback_button" />
+ <Button
+ android:id="@+id/register_all_callback_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_row="6"
+ android:layout_column="0"
+ android:text="@string/register_all_callback_button" />
+
<Spinner
android:id="@+id/active_downloads"
- android:layout_row="4"
+ android:layout_row="7"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
diff --git a/testapps/EmbmsTestDownloadApp/res/values/donottranslate_strings.xml b/testapps/EmbmsTestDownloadApp/res/values/donottranslate_strings.xml
index 13d9fc2..b032b26 100644
--- a/testapps/EmbmsTestDownloadApp/res/values/donottranslate_strings.xml
+++ b/testapps/EmbmsTestDownloadApp/res/values/donottranslate_strings.xml
@@ -24,4 +24,7 @@
<string name="request_spurious_temp_files_button">Request more temp files</string>
<string name="delay_download_button">Delay download</string>
<string name="cancel_download_button">Cancel download</string>
+ <string name="register_state_callback_button">Register State Cb</string>
+ <string name="register_progress_callback_button">Register Progress Cb</string>
+ <string name="register_all_callback_button">Register All Cbs</string>
</resources>
\ No newline at end of file
diff --git a/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/DownloadCompletionReceiver.java b/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/DownloadCompletionReceiver.java
index ef9e672..3c94b76 100644
--- a/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/DownloadCompletionReceiver.java
+++ b/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/DownloadCompletionReceiver.java
@@ -20,20 +20,68 @@
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
-import android.telephony.MbmsDownloadManager;
+import android.telephony.MbmsDownloadSession;
+import android.telephony.mbms.DownloadRequest;
+import android.telephony.mbms.FileInfo;
+
+import java.io.IOException;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
public class DownloadCompletionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (EmbmsTestDownloadApp.DOWNLOAD_DONE_ACTION.equals(intent.getAction())) {
- int result = intent.getIntExtra(MbmsDownloadManager.EXTRA_RESULT,
- MbmsDownloadManager.RESULT_CANCELLED);
- if (result != MbmsDownloadManager.RESULT_SUCCESSFUL) {
+ int result = intent.getIntExtra(MbmsDownloadSession.EXTRA_MBMS_DOWNLOAD_RESULT,
+ MbmsDownloadSession.RESULT_CANCELLED);
+ if (result != MbmsDownloadSession.RESULT_SUCCESSFUL) {
EmbmsTestDownloadApp.getInstance().onDownloadFailed(result);
}
Uri completedFile = intent.getParcelableExtra(
- MbmsDownloadManager.EXTRA_COMPLETED_FILE_URI);
- EmbmsTestDownloadApp.getInstance().onDownloadDone(completedFile);
+ MbmsDownloadSession.EXTRA_MBMS_COMPLETED_FILE_URI);
+ FileInfo completedFileInfo = intent.getParcelableExtra(
+ MbmsDownloadSession.EXTRA_MBMS_FILE_INFO);
+ DownloadRequest request = intent.getParcelableExtra(
+ MbmsDownloadSession.EXTRA_MBMS_DOWNLOAD_REQUEST);
+
+ Path destinationFile = getDestinationFile(context,
+ request.getFileServiceId(), completedFileInfo);
+ Path sourceFile = FileSystems.getDefault().getPath(completedFile.getPath());
+ try {
+ Files.move(sourceFile, destinationFile, StandardCopyOption.REPLACE_EXISTING);
+ } catch (IOException e) {
+ return;
+ }
+
+ EmbmsTestDownloadApp.getInstance().onDownloadDone(
+ Uri.fromFile(destinationFile.toFile()));
+ }
+ }
+
+ private Path getDestinationFile(Context context, String serviceId, FileInfo info) {
+ try {
+ if (serviceId.contains("2")) {
+ String fileName = info.getUri().getLastPathSegment();
+ Path destination = FileSystems.getDefault()
+ .getPath(context.getFilesDir().getPath(), "images/animals/", fileName)
+ .normalize();
+ if (!Files.isDirectory(destination.getParent())) {
+ Files.createDirectory(destination.getParent());
+ }
+ return destination;
+ } else {
+ Path destination = FileSystems.getDefault()
+ .getPath(context.getFilesDir().getPath(), "images/image.png")
+ .normalize();
+ if (!Files.isDirectory(destination.getParent())) {
+ Files.createDirectory(destination.getParent());
+ }
+ return destination;
+ }
+ } catch (IOException e) {
+ return null;
}
}
}
diff --git a/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/EmbmsTestDownloadApp.java b/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/EmbmsTestDownloadApp.java
index 80045ce..d96cd24 100644
--- a/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/EmbmsTestDownloadApp.java
+++ b/testapps/EmbmsTestDownloadApp/src/com/android/phone/testapps/embmsdownload/EmbmsTestDownloadApp.java
@@ -25,12 +25,13 @@
import android.os.HandlerThread;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
-import android.telephony.MbmsDownloadManager;
+import android.telephony.MbmsDownloadSession;
import android.telephony.SubscriptionManager;
import android.telephony.mbms.DownloadRequest;
+import android.telephony.mbms.DownloadStateCallback;
+import android.telephony.mbms.FileInfo;
import android.telephony.mbms.FileServiceInfo;
-import android.telephony.mbms.MbmsDownloadManagerCallback;
-import android.telephony.mbms.MbmsException;
+import android.telephony.mbms.MbmsDownloadSessionCallback;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
@@ -43,7 +44,6 @@
import android.widget.Toast;
import java.io.File;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -108,7 +108,7 @@
public View getView(int position, View convertView, ViewGroup parent) {
FileServiceInfo info = getItem(position);
TextView result = new TextView(EmbmsTestDownloadApp.this);
- result.setText(info.getNames().get(info.getLocales().get(0)));
+ result.setText(info.getNameForLocale(info.getLocales().get(0)));
return result;
}
@@ -117,7 +117,7 @@
FileServiceInfo info = getItem(position);
TextView result = new TextView(EmbmsTestDownloadApp.this);
String text = "name="
- + info.getNames().get(info.getLocales().get(0))
+ + info.getNameForLocale(info.getLocales().get(0))
+ ", "
+ "numFiles="
+ info.getFiles().size();
@@ -153,15 +153,15 @@
}
- private MbmsDownloadManagerCallback mCallback = new MbmsDownloadManagerCallback() {
+ private MbmsDownloadSessionCallback mCallback = new MbmsDownloadSessionCallback() {
@Override
- public void error(int errorCode, String message) {
+ public void onError(int errorCode, String message) {
runOnUiThread(() -> Toast.makeText(EmbmsTestDownloadApp.this,
"Error " + errorCode + ": " + message, Toast.LENGTH_SHORT).show());
}
@Override
- public void fileServicesUpdated(List<FileServiceInfo> services) {
+ public void onFileServicesUpdated(List<FileServiceInfo> services) {
EmbmsTestDownloadApp.this.runOnUiThread(() ->
Toast.makeText(EmbmsTestDownloadApp.this,
"Got services length " + services.size(),
@@ -170,13 +170,13 @@
}
@Override
- public void middlewareReady() {
+ public void onMiddlewareReady() {
runOnUiThread(() -> Toast.makeText(EmbmsTestDownloadApp.this,
"Initialization done", Toast.LENGTH_SHORT).show());
}
};
- private MbmsDownloadManager mDownloadManager;
+ private MbmsDownloadSession mDownloadManager;
private Handler mHandler;
private HandlerThread mHandlerThread;
private FileServiceInfoAdapter mFileServiceInfoAdapter;
@@ -203,12 +203,7 @@
Button bindButton = (Button) findViewById(R.id.bind_button);
bindButton.setOnClickListener((view) -> {
- try {
- mDownloadManager = MbmsDownloadManager.create(this, mCallback);
- } catch (MbmsException e) {
- Toast.makeText(EmbmsTestDownloadApp.this,
- "caught MbmsException: " + e.getErrorCode(), Toast.LENGTH_SHORT).show();
- }
+ mDownloadManager = MbmsDownloadSession.create(this, mCallback, mHandler);
});
Button setTempFileRootButton = (Button) findViewById(R.id.set_temp_root_button);
@@ -216,24 +211,14 @@
File downloadDir = new File(EmbmsTestDownloadApp.this.getFilesDir(),
CUSTOM_EMBMS_TEMP_FILE_LOCATION);
downloadDir.mkdirs();
- try {
- mDownloadManager.setTempFileRootDirectory(downloadDir);
- Toast.makeText(EmbmsTestDownloadApp.this,
- "temp file root set to " + downloadDir, Toast.LENGTH_SHORT).show();
- } catch (MbmsException e) {
- Toast.makeText(EmbmsTestDownloadApp.this,
- "caught MbmsException: " + e.getErrorCode(), Toast.LENGTH_SHORT).show();
- }
+ mDownloadManager.setTempFileRootDirectory(downloadDir);
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "temp file root set to " + downloadDir, Toast.LENGTH_SHORT).show();
});
Button getFileServicesButton = (Button) findViewById(R.id.get_file_services_button);
getFileServicesButton.setOnClickListener((view) -> mHandler.post(() -> {
- try {
- mDownloadManager.getFileServices(Collections.singletonList("Class1"));
- } catch (MbmsException e) {
- runOnUiThread(() -> Toast.makeText(EmbmsTestDownloadApp.this,
- "caught MbmsException: " + e.getErrorCode(), Toast.LENGTH_SHORT).show());
- }
+ mDownloadManager.requestUpdateFileServices(Collections.singletonList("Class1"));
}));
final Spinner serviceSelector = (Spinner) findViewById(R.id.available_file_services);
@@ -286,15 +271,113 @@
"No download service bound", Toast.LENGTH_SHORT).show();
return;
}
- try {
- DownloadRequest request =
- (DownloadRequest) downloadRequestSpinner.getSelectedItem();
- mDownloadManager.cancelDownload(request);
- mDownloadRequestAdapter.remove(request);
- } catch (MbmsException e) {
- runOnUiThread(() -> Toast.makeText(EmbmsTestDownloadApp.this,
- "caught MbmsException: " + e.getErrorCode(), Toast.LENGTH_SHORT).show());
+ DownloadRequest request =
+ (DownloadRequest) downloadRequestSpinner.getSelectedItem();
+ mDownloadManager.cancelDownload(request);
+ mDownloadRequestAdapter.remove(request);
+ });
+
+ Button registerProgressCallback =
+ (Button) findViewById(R.id.register_progress_callback_button);
+ registerProgressCallback.setOnClickListener((view) -> {
+ if (mDownloadManager == null) {
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "No download service bound", Toast.LENGTH_SHORT).show();
+ return;
}
+ DownloadRequest req = (DownloadRequest) downloadRequestSpinner.getSelectedItem();
+ if (req == null) {
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "No DownloadRequest Pending for progress...", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ mDownloadManager.registerStateCallback(req, new DownloadStateCallback(
+ DownloadStateCallback.PROGRESS_UPDATES) {
+ @Override
+ public void onProgressUpdated(DownloadRequest request, FileInfo fileInfo,
+ int currentDownloadSize, int fullDownloadSize, int currentDecodedSize,
+ int fullDecodedSize) {
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "Progress Updated (" + fileInfo + ") cd: " + currentDecodedSize
+ + " fd: " + fullDownloadSize, Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onStateUpdated(DownloadRequest request, FileInfo fileInfo, int state) {
+ // only registered for state callback, this shouldn't happen!
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "State ERROR: received state update for callback that didn't filter it",
+ Toast.LENGTH_SHORT).show();
+ }
+ }, sInstance.getMainThreadHandler());
+ });
+
+ Button registerStateCallback =
+ (Button) findViewById(R.id.register_state_callback_button);
+ registerStateCallback.setOnClickListener((view) -> {
+ if (mDownloadManager == null) {
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "No download service bound", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ DownloadRequest req = (DownloadRequest) downloadRequestSpinner.getSelectedItem();
+ if (req == null) {
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "No DownloadRequest Pending for state...", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ mDownloadManager.registerStateCallback(req, new DownloadStateCallback(
+ DownloadStateCallback.STATE_UPDATES) {
+ @Override
+ public void onProgressUpdated(DownloadRequest request, FileInfo fileInfo,
+ int currentDownloadSize, int fullDownloadSize, int currentDecodedSize,
+ int fullDecodedSize) {
+ // only registered for state callback, this shouldn't happen!
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "Progress ERROR: received progress update for callback that didn't "
+ + "filter it", Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onStateUpdated(DownloadRequest request, FileInfo fileInfo, int state) {
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "State Updated (" + fileInfo + ") state: " + state,
+ Toast.LENGTH_SHORT).show();
+ }
+ }, sInstance.getMainThreadHandler());
+ });
+
+ Button registerAllCallbacks =
+ (Button) findViewById(R.id.register_all_callback_button);
+ registerAllCallbacks.setOnClickListener((view) -> {
+ if (mDownloadManager == null) {
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "No download service bound", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ DownloadRequest req = (DownloadRequest) downloadRequestSpinner.getSelectedItem();
+ if (req == null) {
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "No DownloadRequest Pending for state...", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ mDownloadManager.registerStateCallback(req, new DownloadStateCallback() {
+ @Override
+ public void onProgressUpdated(DownloadRequest request, FileInfo fileInfo,
+ int currentDownloadSize, int fullDownloadSize, int currentDecodedSize,
+ int fullDecodedSize) {
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "Progress Updated (" + fileInfo + ") cd: " + currentDecodedSize
+ + " fd: " + fullDownloadSize, Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onStateUpdated(DownloadRequest request, FileInfo fileInfo, int state) {
+ Toast.makeText(EmbmsTestDownloadApp.this,
+ "State Updated (" + fileInfo + ") state: " + state,
+ Toast.LENGTH_SHORT).show();
+ }
+ }, sInstance.getMainThreadHandler());
});
}
@@ -331,51 +414,25 @@
}
private void performDownload(FileServiceInfo info) {
- File destination = null;
Uri.Builder sourceUriBuilder = new Uri.Builder()
.scheme(FILE_DOWNLOAD_SCHEME)
.authority(FILE_AUTHORITY);
- try {
- if (info.getFiles().size() > 1) {
- destination = new File(getFilesDir(), "images/animals/").getCanonicalFile();
- destination.mkdirs();
- clearDirectory(destination);
- sourceUriBuilder.path("/*");
- } else {
- destination = new File(getFilesDir(), "images/image.png").getCanonicalFile();
- destination.delete();
- sourceUriBuilder.path("/image.png");
- }
- } catch (IOException e) {
- // ignore
+ if (info.getServiceId().contains("2")) {
+ sourceUriBuilder.path("/*");
+ } else {
+ sourceUriBuilder.path("/image.png");
}
Intent completionIntent = new Intent(DOWNLOAD_DONE_ACTION);
completionIntent.setClass(this, DownloadCompletionReceiver.class);
- DownloadRequest request = new DownloadRequest.Builder()
+ DownloadRequest request = new DownloadRequest.Builder(sourceUriBuilder.build())
.setServiceInfo(info)
- .setSource(sourceUriBuilder.build())
- .setDest(Uri.fromFile(destination))
.setAppIntent(completionIntent)
.setSubscriptionId(SubscriptionManager.getDefaultSubscriptionId())
.build();
- try {
- mDownloadManager.download(request, null);
- mDownloadRequestAdapter.add(request);
- } catch (MbmsException e) {
- Toast.makeText(EmbmsTestDownloadApp.this,
- "caught MbmsException: " + e.getErrorCode(), Toast.LENGTH_SHORT).show();
- }
- }
-
- private static void clearDirectory(File directory) {
- for (File file: directory.listFiles()) {
- if (file.isDirectory()) {
- clearDirectory(file);
- }
- file.delete();
- }
+ mDownloadManager.download(request);
+ mDownloadRequestAdapter.add(request);
}
}
diff --git a/testapps/EmbmsTestStreamingApp/res/layout/activity_main.xml b/testapps/EmbmsTestStreamingApp/res/layout/activity_main.xml
index b75a157..d28ede2 100644
--- a/testapps/EmbmsTestStreamingApp/res/layout/activity_main.xml
+++ b/testapps/EmbmsTestStreamingApp/res/layout/activity_main.xml
@@ -96,13 +96,6 @@
android:layout_column="1"
android:text="@string/stop_streaming_button" />
<Button
- android:id="@+id/dispose_stream_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_row="2"
- android:layout_column="0"
- android:text="@string/dispose_stream_button" />
- <Button
android:id="@+id/dispose_manager_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/EmbmsTestStreamingApp.java b/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/EmbmsTestStreamingApp.java
index b19e004..0546c9d 100644
--- a/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/EmbmsTestStreamingApp.java
+++ b/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/EmbmsTestStreamingApp.java
@@ -22,9 +22,8 @@
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
-import android.telephony.MbmsStreamingManager;
-import android.telephony.mbms.MbmsException;
-import android.telephony.mbms.MbmsStreamingManagerCallback;
+import android.telephony.MbmsStreamingSession;
+import android.telephony.mbms.MbmsStreamingSessionCallback;
import android.telephony.mbms.StreamingService;
import android.telephony.mbms.StreamingServiceInfo;
import android.view.View;
@@ -41,11 +40,12 @@
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.NoSuchElementException;
public class EmbmsTestStreamingApp extends Activity {
- private MbmsStreamingManagerCallback mStreamingListener = new MbmsStreamingManagerCallback() {
+ private MbmsStreamingSessionCallback mStreamingListener = new MbmsStreamingSessionCallback() {
@Override
- public void streamingServicesUpdated(List<StreamingServiceInfo> services) {
+ public void onStreamingServicesUpdated(List<StreamingServiceInfo> services) {
EmbmsTestStreamingApp.this.runOnUiThread(() ->
Toast.makeText(EmbmsTestStreamingApp.this,
"Got services length " + services.size(),
@@ -54,7 +54,7 @@
}
@Override
- public void middlewareReady() {
+ public void onMiddlewareReady() {
runOnUiThread(() -> Toast.makeText(EmbmsTestStreamingApp.this, "Successfully bound",
Toast.LENGTH_SHORT).show());
}
@@ -67,16 +67,13 @@
}
private String getName(StreamingServiceInfo info) {
- Map<Locale, String> names = info.getNames();
- String name = "<No Name>";
- if (!names.isEmpty()) {
- Locale locale = Locale.getDefault();
- if (!names.containsKey(locale)) {
- locale = names.keySet().iterator().next();
- }
- name = names.get(locale);
+ Locale locale = Locale.getDefault();
+ try {
+ return info.getNameForLocale(locale).toString();
+ } catch (NoSuchElementException e) {
+ locale = info.getLocales().iterator().next();
+ return info.getNameForLocale(locale).toString();
}
- return name;
}
@Override
@@ -131,7 +128,7 @@
}
}
- private MbmsStreamingManager mStreamingManager = null;
+ private MbmsStreamingSession mStreamingManager = null;
private Handler mHandler;
private HandlerThread mHandlerThread;
@@ -156,14 +153,8 @@
Button bindButton = (Button) findViewById(R.id.bind_button);
bindButton.setOnClickListener((view) -> {
- try {
- mStreamingManager = MbmsStreamingManager.create(
- EmbmsTestStreamingApp.this, mStreamingListener);
- } catch (MbmsException e) {
- Toast.makeText(EmbmsTestStreamingApp.this,
- "Init error: " + e.getErrorCode(), Toast.LENGTH_SHORT).show();
- return;
- }
+ mStreamingManager = MbmsStreamingSession.create(
+ EmbmsTestStreamingApp.this, mStreamingListener, mHandler);
});
Button getStreamingServicesButton = (Button)
@@ -174,13 +165,7 @@
"No streaming service bound", Toast.LENGTH_SHORT).show();
return;
}
- try {
- mStreamingManager.getStreamingServices(Collections.singletonList("Class1"));
- } catch (MbmsException e) {
- Toast.makeText(EmbmsTestStreamingApp.this,
- "Error getting streaming services" + e.getErrorCode(),
- Toast.LENGTH_SHORT).show();
- }
+ mStreamingManager.requestUpdateStreamingServices(Collections.singletonList("Class1"));
});
final Spinner serviceSelector = (Spinner) findViewById(R.id.available_streaming_services);
@@ -241,27 +226,13 @@
stream.stopStreaming();
});
- Button disposeStreamButton = (Button) findViewById(R.id.dispose_stream_button);
- disposeStreamButton.setOnClickListener((view) -> {
- if (getSelectedTrackedStream() == null) {
- Toast.makeText(EmbmsTestStreamingApp.this,
- "No streams selected", Toast.LENGTH_SHORT).show();
- return;
- }
- clearStateAndUriDisplay();
- StreamingServiceTracker stream = getSelectedTrackedStream();
- mTrackedStreamingServiceAdapter.remove(stream.getServiceId());
- mStreamingServiceTrackerById.remove(stream.getServiceId());
- stream.dispose();
- });
-
Button disposeManagerButton = (Button) findViewById(R.id.dispose_manager_button);
disposeManagerButton.setOnClickListener((view) -> {
clearStateAndUriDisplay();
mTrackedStreamingServiceAdapter.clear();
mStreamingServicesDisplayAdapter.update(Collections.emptyList());
mStreamingServiceTrackerById.clear();
- mStreamingManager.dispose();
+ mStreamingManager.close();
});
}
diff --git a/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/StreamingServiceTracker.java b/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/StreamingServiceTracker.java
index b247076..5244d30 100644
--- a/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/StreamingServiceTracker.java
+++ b/testapps/EmbmsTestStreamingApp/src/com/android/phone/testapps/embmsfrontend/StreamingServiceTracker.java
@@ -17,8 +17,7 @@
package com.android.phone.testapps.embmsfrontend;
import android.net.Uri;
-import android.telephony.MbmsStreamingManager;
-import android.telephony.mbms.MbmsException;
+import android.telephony.MbmsStreamingSession;
import android.telephony.mbms.StreamingService;
import android.telephony.mbms.StreamingServiceCallback;
import android.telephony.mbms.StreamingServiceInfo;
@@ -27,20 +26,20 @@
public class StreamingServiceTracker {
private class Callback extends StreamingServiceCallback {
@Override
- public void error(int errorCode, String message) {
+ public void onError(int errorCode, String message) {
String toastMessage = "Error: " + errorCode + ": " + message;
mActivity.runOnUiThread(() ->
Toast.makeText(mActivity, toastMessage, Toast.LENGTH_SHORT).show());
}
@Override
- public void streamStateUpdated(int state, int reason) {
- onStreamStateUpdated(state, reason);
+ public void onStreamStateUpdated(int state, int reason) {
+ StreamingServiceTracker.this.onStreamStateUpdated(state, reason);
}
@Override
- public void streamMethodUpdated(int method) {
- onStreamMethodUpdated(method);
+ public void onStreamMethodUpdated(int method) {
+ StreamingServiceTracker.this.onStreamMethodUpdated(method);
}
}
@@ -57,37 +56,17 @@
mStreamingServiceInfo = info;
}
- public boolean startStreaming(MbmsStreamingManager streamingManager) {
- try {
- mStreamingService =
- streamingManager.startStreaming(mStreamingServiceInfo, new Callback());
- return true;
- } catch (MbmsException e) {
- Toast.makeText(mActivity,
- "Error starting streaming: " + e.getErrorCode(),
- Toast.LENGTH_SHORT).show();
- }
- return false;
+ /**
+ * Start streaming using the provided streaming session
+ */
+ public boolean startStreaming(MbmsStreamingSession streamingManager) {
+ mStreamingService =
+ streamingManager.startStreaming(mStreamingServiceInfo, new Callback(), null);
+ return true;
}
public void stopStreaming() {
- try {
- mStreamingService.stopStreaming();
- } catch (MbmsException e) {
- Toast.makeText(mActivity,
- "Error stopping streaming: " + e.getErrorCode(),
- Toast.LENGTH_SHORT).show();
- }
- }
-
- public void dispose() {
- try {
- mStreamingService.dispose();
- } catch (MbmsException e) {
- Toast.makeText(mActivity,
- "Error disposing stream" + e.getErrorCode(),
- Toast.LENGTH_SHORT).show();
- }
+ mStreamingService.stopStreaming();
}
public String getServiceId() {
@@ -108,14 +87,8 @@
private void onStreamStateUpdated(int state, int reason) {
if (state == StreamingService.STATE_STARTED && mState != StreamingService.STATE_STARTED) {
- try {
- mStreamingUri = mStreamingService.getPlaybackUri();
- mActivity.updateUri();
- } catch (MbmsException e) {
- String errorToast = "Got error " + e.getErrorCode() + " while getting uri";
- mActivity.runOnUiThread(() ->
- Toast.makeText(mActivity, errorToast, Toast.LENGTH_SHORT).show());
- }
+ mStreamingUri = mStreamingService.getPlaybackUri();
+ mActivity.updateUri();
}
mState = state;
mActivity.updateStreamingState();
diff --git a/tests/src/com/android/phone/tests/CallForwardInfoTest.java b/tests/src/com/android/phone/tests/CallForwardInfoTest.java
new file mode 100644
index 0000000..acf5955
--- /dev/null
+++ b/tests/src/com/android/phone/tests/CallForwardInfoTest.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2017 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.tests;
+
+import android.support.test.runner.AndroidJUnit4;
+import android.telephony.PhoneNumberUtils;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.Locale;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+/**
+ * Tests Related to CallForwardInfoTest
+ */
+@RunWith(AndroidJUnit4.class)
+public class CallForwardInfoTest {
+
+ @Test
+ public void testCallForwardNumberResponses() {
+ // Test numbers in correct formats
+ assertNotNull(PhoneNumberUtils.formatNumber("+12345678900", Locale.US.getCountry()));
+ assertNotNull(PhoneNumberUtils.formatNumber("123-456-7890", Locale.US.getCountry()));
+ assertNotNull(PhoneNumberUtils.formatNumber("#123", Locale.US.getCountry()));
+ assertNotNull(PhoneNumberUtils.formatNumber("*12", Locale.US.getCountry()));
+ // Test invalid numbers
+ assertNull(PhoneNumberUtils.formatNumber("a", Locale.US.getCountry()));
+ assertNull(PhoneNumberUtils.formatNumber("a1", Locale.US.getCountry()));
+ }
+}