Merge "Save config to disk to avoid binding." into mnc-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index f8c737f..27f93c6 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -109,6 +109,7 @@
<uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
<uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL" />
<uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
+ <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
<!-- This tells the activity manager to not delay any of our activity
diff --git a/res/layout/emergency_dialer.xml b/res/layout/emergency_dialer.xml
index acb7033..01c2f80 100644
--- a/res/layout/emergency_dialer.xml
+++ b/res/layout/emergency_dialer.xml
@@ -121,8 +121,9 @@
<ImageButton
android:id="@+id/floating_action_button"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
android:background="@drawable/floating_action_button"
android:contentDescription="@string/description_dial_button"
android:src="@drawable/fab_ic_call"/>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index d37aa82..a3f4daa 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Foonrekeninge"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Voeg SIP-rekening by"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Stel rekeninginstellings op"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Alle oproeprekeninge"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Kies watter rekeninge oproepe kan maak"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi-oproepe"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Moenie Wi-Fi vir oproepe gebruik nie"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Moenie belassistent gebruik nie"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 10cbf50..6507ccb 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"የስልክ መለያዎች"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"የSIP መለያ ያክሉ"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"የመለያ ቅንብሮችን ይውቀሩ"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"የሁሉም ደዋይ መለያዎች"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"የትኛዎቹ መለያዎች ጥሪዎችን ማድረግ እንደሚችሉ ይምረጡ"</string>
<string name="wifi_calling" msgid="739018212480165598">"የWi-Fi ጥሪ ማድረጊያ"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"የWi-Fi መደወያን አትጠቀም"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"የጥሪ ረዳትን አትጠቀም"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 8622a25..7f71dbf 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"حسابات الهاتف"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"إضافة حساب SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"تهيئة إعدادات الحساب"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"كل حسابات الاتصال"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"حدد الحسابات التي يمكنها إجراء مكالمات"</string>
<string name="wifi_calling" msgid="739018212480165598">"الاتصال عبر Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"عدم استخدام الاتصال عبر Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"عدم استخدام مساعد الاتصال"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index edfc778..f8c0b7d 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Профили за телефонни услуги"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Добавяне на профил за SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Конфигуриране на настройките на профила"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Всички профили за обаждане"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Изберете от кои профили могат да се извършват обаждания"</string>
<string name="wifi_calling" msgid="739018212480165598">"Обаждания през Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Без използване на услуга за обаждане през Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Без използване на помощник за обаждания"</string>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 50539db..81b5fe0 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"ফোন অ্যাকাউন্টগুলি"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP অ্যাকাউন্ট যোগ করুন"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"অ্যাকাউন্ট সেটিংস কনফিগার করুন"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"সমস্ত কলিং অ্যাকাউন্ট"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"কোন অ্যাকাউন্টগুলি কল করতে পারবে তা নির্বাচন করুন"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi কলিং"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi কলিং ব্যবহার করবেন না"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"কল সহায়ক ব্যবহার করবেন না"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index d8047a7..4371aad 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Comptes del telèfon"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Afegeix un compte SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configura les opcions del compte"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Tots els comptes de trucades"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Selecciona quins comptes poden fer trucades"</string>
<string name="wifi_calling" msgid="739018212480165598">"Trucades per Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"No facis servir les trucades per Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"No facis servir l\'assistent de trucades"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 8d3dad7..cfaffe7 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonní účty"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Přidat účet SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurace nastavení účtu"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Všechny účty pro volání"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Vyberte, které účty mohou uskutečňovat volání"</string>
<string name="wifi_calling" msgid="739018212480165598">"Volání přes Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Nepoužívat volání pomocí Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Nepoužívat asistenta pro volání"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 0ec783a..551d1e2 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonkonti"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Tilføj en SIP-konto"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurer kontoindstillinger"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Alle opkaldskonti"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Vælg, hvilke konti der kan foretage opkald"</string>
<string name="wifi_calling" msgid="739018212480165598">"Opkald via Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Undlad at bruge Wi-Fi-opkald"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Undlad at bruge opkaldsassistent"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index b177bdc..1af2e35 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -68,8 +68,10 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonkonten"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP-Konto hinzufügen"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Kontoeinstellungen konfigurieren"</string>
- <string name="wifi_calling" msgid="739018212480165598">"WLAN-Telefonie"</string>
- <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Keine WLAN-Anrufe nutzen"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Alle Anrufkonten"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Auswählen, welche Konten Anrufe tätigen können"</string>
+ <string name="wifi_calling" msgid="739018212480165598">"Anrufe über WLAN"</string>
+ <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Option \"Anrufe über WLAN\" nicht nutzen"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Keinen Anrufassistenten nutzen"</string>
<string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ohne"</string>
<string name="wifi_calling_call_assistant" msgid="229102032881680320">"Anrufassistent"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 990ddc5..92518f9 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Λογαριασμοί τηλεφώνου"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Προσθήκη λογαριασμού SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Διαμόρφωση ρυθμίσεων λογαριασμού"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Όλα οι λογαριασμοί κλήσης"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Επιλέξτε τους λογαριασμούς που μπορούν να πραγματοποιήσουν κλήσεις"</string>
<string name="wifi_calling" msgid="739018212480165598">"Κλήση Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Να μη χρησιμοποιηθεί η κλήση μέσω Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Να μη χρησιμοποιηθεί βοηθός κλήσης"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 09dd8a0..1cb35ee 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Phone accounts"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Add SIP account"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configure account settings"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"All calling accounts"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Select which accounts can make calls"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi Calling"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Do not use Wi-Fi calling"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Do not use call assistant"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 09dd8a0..1cb35ee 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Phone accounts"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Add SIP account"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configure account settings"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"All calling accounts"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Select which accounts can make calls"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi Calling"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Do not use Wi-Fi calling"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Do not use call assistant"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 09dd8a0..1cb35ee 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Phone accounts"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Add SIP account"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configure account settings"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"All calling accounts"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Select which accounts can make calls"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi Calling"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Do not use Wi-Fi calling"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Do not use call assistant"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 38f1d26..d320b59 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Cuentas telefónicas"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Agregar cuenta SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Cómo configurar la cuenta"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Todas las cuentas telefónicas"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Elige las cuentas que pueden realizar llamadas."</string>
<string name="wifi_calling" msgid="739018212480165598">"Llamada por Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"No utilizar llamadas por Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"No utilizar asistente de llamadas"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 89981da..fd95542 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Cuentas de teléfono"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Añadir cuenta SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurar ajustes de cuenta"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Todas las cuentas de llamadas"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Selecciona las cuentas que pueden realizar llamadas"</string>
<string name="wifi_calling" msgid="739018212480165598">"Llamadas Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"No usar llamadas Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"No usar asistente de llamadas"</string>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index d5fe424..8c77b15 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefoni kontod"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP-konto lisamine"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konto seadete seadistamine"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Kõik kõnekontod"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Valige, milliste kontodega saab helistada"</string>
<string name="wifi_calling" msgid="739018212480165598">"WiFi-kõned"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ärge kasutage WiFi-kõnesid"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ärge kasutage kõneabi"</string>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 5e00781..c901464 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonoko kontuak"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Gehitu SIP kontua"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfiguratu kontuaren ezarpenak"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Deiak egiteko kontu guztiak"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Hautatu zein kontutatik egin daitezkeen deiak"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi bidezko deiak"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ez erabili Wi-Fi bidezko deiak"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ez erabili deiak egiteko laguntzailea"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 6e2c40e..0589876 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"حسابهای تلفن"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"افزودن حساب SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"پیکربندی تنظیمات حساب"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"همه حسابهای تماس"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"انتخاب حسابهایی که میتوانند تماس بگیرند"</string>
<string name="wifi_calling" msgid="739018212480165598">"تماس از طریق Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"از تماس از طریق Wi-Fi استفاده نشود"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"از دستیار تماس استفاده نشود"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index c86a742..ca68d1c 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Puhelintilit"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Lisää SIP-tili"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Tiliasetusten määrittäminen"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Kaikki puhelutilit"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Valitse, mitkä tilit voivat soittaa puheluita."</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi-puhelut"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Älä käytä puheluihin Wi-Fiä"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Älä käytä puheluapuria"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index ae16a04..f2aef16 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Comptes du téléphone"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Ajouter un compte SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurer les paramètres du compte"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Tous les comptes d\'appel"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Sélectionner les comptes pour lesquels les appels sont activés"</string>
<string name="wifi_calling" msgid="739018212480165598">"Appels Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ne pas utiliser les appels par Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ne pas utiliser l\'assistant d\'appel"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 5ddde48..f9de5ac 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Comptes téléphone"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Ajouter un compte SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurer les paramètres du compte"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Tous les comptes téléphoniques"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Sélectionner les comptes pour lesquels les appels sont activés"</string>
<string name="wifi_calling" msgid="739018212480165598">"Appels Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ne pas utiliser les appels Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ne pas utiliser l\'assistant d\'appel"</string>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 70c70ab..f6448e1 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Contas do teléfono"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Engadir conta SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Determinar configuración da conta"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Todas as contas de chamadas"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Selecciona as contas que poden facer chamadas"</string>
<string name="wifi_calling" msgid="739018212480165598">"Chamadas por wifi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Non utilizar as chamadas wifi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Non utilizar o asistente de chamadas"</string>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index 5f1bc61..c25ac55 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"ફોન એકાઉન્ટ્સ"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP એકાઉન્ટ ઉમેરો"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"એકાઉન્ટ સેટિંગ્સ ગોઠવો"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"બધા કૉલિંગ એકાઉન્ટ્સ"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"કયા એકાઉન્ટ્સ કૉલ કરી શકે તે પસંદ કરો"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi કૉલિંગ"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi કૉલિંગનો ઉપયોગ કરશો નહીં"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"કૉલ સહાયકનો ઉપયોગ કરશો નહીં"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index d8cde4c..3a23d49 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"फ़ोन खाते"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP खाता जोड़ें"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"खाता सेटिंग कॉन्फ़िगर करें"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"सभी कॉलिंग खाते"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"चुनें कि कौन से खाते कॉल कर सकते हैं"</string>
<string name="wifi_calling" msgid="739018212480165598">"वाई-फ़ाई कॉलिंग"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"वाई-फ़ाई कॉलिंग का उपयोग न करें"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"कॉल सहायक का उपयोग न करें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index bcc58c4..653184c 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonski računi"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Dodaj SIP račun"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfiguriranje postavki računa"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Svi računi za pozivanje"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Odaberite račune koji mogu upućivati pozive"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi pozivi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ne upotrebljavaj Wi-Fi pozive"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ne upotrebljavaj pomoćnik za pozive"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index c328b68..088d22f 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonos fiókok"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP-fiók hozzáadása"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Fiókbeállítások konfigurálása"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Az összes telefonos fiók"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Válassza ki, hogy mely fiókokkal lehessen hívást kezdeményezni"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi-hívás"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ne használja a Wi-Fi-hívást"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ne használja a hívássegédet"</string>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index a9da284..ed27c08 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Հաշիվներ զանգերի համար"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Ավելացնել SIP հաշիվ"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Կազմաձևել հաշվի կարգավորումները"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Բոլոր հաշիվները զանգերի համար"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"Զանգեր Wi-Fi-ի միջոցով"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Չօգտագործել Wi-Fi-ը զանգերի համար"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Չօգտագործել զանգերի օգնականը"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 68bdea0..9dba6a0 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Akun ponsel"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Tambahkan akun SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Mengonfigurasi setelan akun"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Semua akun pemanggil"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Pilih akun mana yang dapat melakukan panggilan telepon"</string>
<string name="wifi_calling" msgid="739018212480165598">"Panggilan Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Jangan gunakan panggilan Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Jangan gunakan asisten panggilan telepon"</string>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 27fd3b2..d79b114 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Símareikningar"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Bæta við SIP-reikningi"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Velja reikningsstillingar"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Allir símtalareikningar"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Velja hvaða reikningar geta hringt símtöl"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi símtöl"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ekki nota Wi-Fi símtöl"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ekki nota símtalaaðstoð"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index c023c2d..5136ec7 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Account telefono"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Aggiungi account SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurazione delle impostazioni dell\'account"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Tutti gli account chiamate"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Seleziona gli account autorizzati a effettuare chiamate"</string>
<string name="wifi_calling" msgid="739018212480165598">"Chiamate Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Non utilizzare chiamate Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Non utilizzare assistente chiamate"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index d08f516..d24b534 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"חשבונות טלפון"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"הוסף חשבון SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"קבע את הגדרות החשבון"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"כל החשבונות לביצוע שיחות"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"בחר אילו חשבונות יכולים להתקשר"</string>
<string name="wifi_calling" msgid="739018212480165598">"שיחות ב-Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"אל תשתמש בשיחות Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"אל תשתמש באסיסטנט שיחות"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 790c356..0ec1dfa 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"携帯端末アカウント"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIPアカウントを追加"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"アカウントを設定"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"すべての通話アカウント"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"通話できるアカウントを選択"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi通話"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi発信を使用しない"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"発信アシスタントを使用しない"</string>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index b74e7f2..de9ba46 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"ტელეფონის ანგარიშები"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP ანგარიშის დამატება"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ანგარიშის პარამეტრების კონფიგურაცია"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"დარეკვის ყველა ანგარიში"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"აირჩიეთ რომელ ანგარიშს შეეძლება ზარების განხორციელება"</string>
<string name="wifi_calling" msgid="739018212480165598">"დარეკვა Wi-Fi-ს მეშვეობით"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"არ გამოიყენოს Wi-Fi დარეკვა"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"არ გამოიყენოს ზარის თანაშემწე"</string>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 5a3c701..a097ffa 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Телефон есептік жазбалары"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP есептік жазбасын қосу"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Есептік жазба параметрлерін конфигурациялау"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Барлық қоңырау шалу есептік жазбалары"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi қоңыраулары"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi қоңырауларын пайдаланбау"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Қоңыраулар көмекшісін пайдаланбау"</string>
@@ -412,7 +415,7 @@
<string name="puk2_blocked" msgid="3150263853077280049">"PUK2 уақытша бөгелген."</string>
<string name="pin2_attempts" msgid="720736232885011507">\n"<xliff:g id="NUMBER">%d</xliff:g> әрекет қалды."</string>
<string name="pin2_unblocked" msgid="7791600368153469078">"PIN2 енді бөгелмеген"</string>
- <string name="doneButton" msgid="2859593360997984240">"Орындалды"</string>
+ <string name="doneButton" msgid="2859593360997984240">"Дайын"</string>
<string name="voicemail_settings_number_label" msgid="8524164258691887790">"Дауыс хабарының нөмірі"</string>
<string name="card_title_dialing" msgid="5769417478498348054">"Теруде"</string>
<string name="card_title_redialing" msgid="8253487008234167266">"Қайта терілуде"</string>
@@ -437,7 +440,7 @@
<string name="notification_network_selection_title" msgid="4224455487793492772">"Қызмет көрсетілмейді"</string>
<string name="notification_network_selection_text" msgid="2607085729661923269">"Таңдалған (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) желісі қол жетімсіз"</string>
<string name="notification_action_end_call" msgid="6069460915123531620">"Қоңырауды аяқтау"</string>
- <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Кері қоңырау шалу"</string>
+ <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Қоңырау шалу"</string>
<string name="notification_missedCall_message" msgid="3049928912736917988">"Хабар"</string>
<string name="incall_error_power_off" msgid="2947938060513306698">"Қоңырау шалу үшін ұшақ режимін өшіріңіз."</string>
<string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Қоңырау шалу үшін ұшақ режимін өшіріңіз не сымсыз желіге қосылыңыз."</string>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index af84169..ef4d5b7 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"គណនីទូរស័ព្ទ"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"បន្ថែមគណនី SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"កំណត់ការកំណត់គណនី"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"គណនីហៅទូរស័ព្ទទាំងអស់"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"ជ្រើសគណនីណាមួយដែលអាចធ្វើការហៅទូរស័ព្ទ"</string>
<string name="wifi_calling" msgid="739018212480165598">"ការហៅតាម Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"កុំប្រើការហៅតាម Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"កុំប្រើជំនួយការហៅ"</string>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index dc673d8..fce21fb 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"ಫೋನ್ ಖಾತೆಗಳು"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP ಖಾತೆಯನ್ನು ಸೇರಿಸಿ"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ಖಾತೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"ಎಲ್ಲಾ ಕರೆ ಮಾಡುವ ಖಾತೆಗಳು"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"ಯಾವ ಖಾತೆಗಳು ಕರೆಗಳನ್ನು ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
<string name="wifi_calling" msgid="739018212480165598">"ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆ"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi ಕರೆ ಮಾಡುವಿಕೆಯನ್ನು ಬಳಸಬೇಡಿ"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ಕರೆ ಸಹಾಯಕವನ್ನು ಬಳಸಬೇಡಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 84bdbec..279012c 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"전화 계정"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP 계정 추가"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"계정 설정 조정"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"모든 통화 계정"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi 통화"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi 통화 사용 안함"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"통화 도우미 사용 안함"</string>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 41b6aec..72e8db5 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -101,6 +101,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Телефон каттоо эсептери"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP каттоо эсебин кошуу"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Каттоо эсеп жөндөөлөрүн конфигурациялоо"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Бардык чалуу каттоо эсептери"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi чалуу"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi чалуу колдонулбасын"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Чалуу жардамчысы колдонулбасын"</string>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 13c16c3..1b35de4 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"ບັນຊີໂທລະສັບ"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"ເພີ່ມບັນຊີ SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ຕັ້ງການຕັ້ງຄ່າບັນຊີ"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"ທຸກບັນຊີການໂທ"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"ເລືອກວ່າຈະໃຫ້ບັນຊີໃດໂທ"</string>
<string name="wifi_calling" msgid="739018212480165598">"ການໂທ Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"ຢ່າໃຊ້ການໂທດ້ວຍ Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ຢ່າໃຊ້ຕົວຊ່ວຍການໂທ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 6cb7487..3008812 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefono paskyros"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Pridėti SIP paskyrą"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Paskyros nustatymų konfigūravimas"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Visos skambinimo paskyros"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Pasirinkti, iš kurių paskyrų galima skambinti"</string>
<string name="wifi_calling" msgid="739018212480165598">"„Wi-Fi“ skambinimas"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Nenaudoti „Wi-Fi“ skambinimo"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Nenaudoti skambučių pagelbiklio"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index ee80b25..54267f4 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Tālruņa konti"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Pievienot SIP kontu"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konta iestatījumu konfigurēšana"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Visi zvanu konti"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Atlasīt kontus, no kuriem var veikt zvanus"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi zvani"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Neizmantot Wi-Fi zvanus"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Neizmantot zvanu palīgu"</string>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index e25a6a8..c4940c8 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Телефонски сметки"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Додајте сметка на СИП"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Конфигурирајте ги поставките на сметка"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Сите сметки за повици"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Изберете кои сметки може да повикуваат"</string>
<string name="wifi_calling" msgid="739018212480165598">"Повикување преку Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Не користете повикување преку Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Не користете помошник за повикување"</string>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index 364199d..096dd06 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"ഫോൺ അക്കൗണ്ടുകൾ"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP അക്കൗണ്ട് ചേർക്കുക"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"അക്കൗണ്ട് ക്രമീകരണങ്ങൾ കോൺഫിഗർചെയ്യുക"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"കോളുചെയ്യാനുള്ള എല്ലാ അക്കൗണ്ടുകളും"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"ഫോൺ വിളിക്കാനാകുന്ന അക്കൗണ്ടുകൾ തിരഞ്ഞെടുക്കുക"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi കോളിംഗ്"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi കോൾ ചെയ്യൽ ഉപയോഗിക്കരുത്"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"കോൾ സഹായി ഉപയോഗിക്കരുത്"</string>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index a81679f..f97b65b 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Гар утасны акаунт"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP акаунт нэмэх"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Акаунтын тохиргоог хийх"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Дуудлагын эрхтэй бүх бүртгэл"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Дуудлага хийх боломжтой бүртгэлээ сонгоно уу"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi дуудлага"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi дуудлагыг бүү ашигла"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Дуудлагын туслагчийг бүү ашигла"</string>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index 1e8cdaf..03d6f70 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -35,7 +35,7 @@
<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_bluetooth" msgid="3047641300848211128">"ब"</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>
<string name="send_button" msgid="4106860097497818751">"पाठवा"</string>
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"फोन खाती"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP खाते जोडा"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"खाते सेटिंग्ज कॉन्फिगर करा"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"सर्व कॉल करण्याची खाती"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"कोणती खाती कॉल करू शकतात ते निवडा"</string>
<string name="wifi_calling" msgid="739018212480165598">"वाय-फाय कॉलिंग"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"वाय-फाय कॉल करणे वापरू नका"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"कॉल सहाय्यक वापरू नका"</string>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index c50ec0c..ec0f55a 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Akaun telefon"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Tambah akaun SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurasi tetapan akaun"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Semua akaun panggilan"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"Panggilan Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Jangan gunakan panggilan Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Jangan gunakan pembantu panggilan"</string>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index 930c146..8af4007 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"ဖုန်းအကောင့်များ"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP အကောင့်ပေါင်းထည့်မည်။"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"အကောင့် ချိန်ညှိချက်များ ပြုပြင်မည်"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"ခေါ်ဆိုနေသော အကောင့်များ အားလုံး"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"ဖုန်းခေါ်ဆိုနိုင်သည့် အကောင့်များအား ရွေးရန်"</string>
<string name="wifi_calling" msgid="739018212480165598">"ဝိုင်ဖိုင် ခေါ်ဆိုမှု"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"ကြိုးမဲ့ ခေါ်ဆိုမှုကို မသုံးပါနှင့်"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ခေါ်ဆိုမှု အကူ အသုံးမပြုပါ"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index d12a556..e088e3c 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonkontoer"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Legg til SIP-konto"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurer kontoinnstillingene"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Alle ringekontoer"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Velg hvilke kontoer som kan ringe"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi-anrop"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ikke bruk Wi-Fi for å ringe"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ikke bruk ringeassistenten"</string>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index 30dde92..6395d34 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"फोन खाता"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP खाता थप्नुहोस्"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"खाता सेटिङ कन्फिगर गर्नुहोस्"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"सबै कलिङ खाताहरू"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"कुन खाताहरूले कल गर्न सक्छन् चयन गर्नुहोस्"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi कलिङ"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi कल प्रयोग नगर्नुहोस्"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"कल सहायक प्रयोग नगर्नुहोस्"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 10b4e58..484a51d 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefoonaccounts"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP-account toevoegen"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Accountinstellingen configureren"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Alle oproepaccounts"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Selecteer de accounts die kunnen bellen"</string>
<string name="wifi_calling" msgid="739018212480165598">"Bellen via wifi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Bellen via wifi niet gebruiken"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Oproepassistent niet gebruiken"</string>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index 5f00996..a9a3078 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"ਫੋਨ ਖਾਤੇ"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP ਖਾਤਾ ਜੋੜੋ"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ਖਾਤਾ ਸੈਟਿੰਗਾਂ ਕੌਂਫਿਗਰ ਕਰੋ"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"ਸਾਰੇ ਕਾਲਿੰਗ ਖਾਤੇ"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"ਚੁਣੋ ਕਿ ਕਿਹੜੇ ਖਾਤੇ ਕਾਲਾਂ ਨੂੰ ਕਰ ਸਕਦੇ ਹਨ"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi ਕਾਲਿੰਗ"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi ਕਾਲਿੰਗ ਨਾ ਵਰਤੋ"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ਕਾਲ ਸਹਾਇਕ ਨਾ ਵਰਤੋ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index cfde3c7..bf862f2 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Konta telefonu"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Dodaj konto SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurowanie ustawień konta"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Wszystkie konta telefoniczne"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Wybierz konta, na których można wykonywać połączenia telefoniczne"</string>
<string name="wifi_calling" msgid="739018212480165598">"Połączenia przez Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Nie używaj połączeń Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Nie używaj asystenta połączeń"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index fd512c1..ea61cf1 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Contas do telemóvel"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Adicionar conta SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurar as definições da conta"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Todas as contas de chamadas"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Selecionar que contas podem fazer chamadas"</string>
<string name="wifi_calling" msgid="739018212480165598">"Chamadas Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Não utilizar chamadas de Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Não utilizar o assistente de chamadas"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 1c7e3b8..11b75a7 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Contas de telefone"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Adicionar conta SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurar conta"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Todas as contas de chamadas"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Selecione quais contas podem fazer chamadas"</string>
<string name="wifi_calling" msgid="739018212480165598">"Chamadas por Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Não usar chamadas por Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Não usar o assistente de chamada"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index b309635..d2aeae2 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Conturi telefon"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Adăugați un cont SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurați setările contului"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Toate conturile pentru apelare"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Selectați conturile care pot efectua apeluri"</string>
<string name="wifi_calling" msgid="739018212480165598">"Apelare prin Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Nu folosiți apelarea prin Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Nu folosiți un asistent de apelare"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index ff68f11..0492fbd 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Аккаунты для звонков"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Добавить SIP-аккаунт"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Задать настройки аккаунта"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Все аккаунты для звонков"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"Звонки по Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Не использовать Wi-Fi для звонков"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Не использовать ассистент"</string>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index e2d0f9c..546deb5 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"දුරකථන ගිණුම්"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP ගිණුම් එකතු කරන්න"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ගිණුමේ සැකසීම් වින්යාස කරන්න"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"සියලු ඇමතුම් ගිණුම්"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"ඇමතුම් සිදු කළ හැකි ගිණුම් තෝරන්න"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi ඇමතීම"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi ඇමතුම භාවිතා කරන්න එපා"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ඇමතුම් සහායක භාවිතා කරන්න එපා"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 574d232..102bbc2 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefónne účty"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Pridať účet SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurácia nastavení účtu"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Všetky telefónne účty"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Výber účtov, v ktorých bude možné telefonovať"</string>
<string name="wifi_calling" msgid="739018212480165598">"Volanie cez Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Nepoužívať volanie prostredníctvom siete Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Nepoužívať asistenta hovorov"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 0ef8d7e..debc8a6 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Računi telefona"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Dodaj račun SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfiguriranje nastavitev računa"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Vsi računi za klicanje"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Izberite, kateri računi lahko opravljajo klice"</string>
<string name="wifi_calling" msgid="739018212480165598">"Klicanje prek Wi-Fi-ja"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ne uporabljaj klicanja prek povezave Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ne uporabljaj pomočnika za klicanje"</string>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index 9cbdc2b..5d7973f 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Llogari telefoni"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Shto llogari SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfiguro cilësimet e llogarisë"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Të gjitha llogaritë e telefonatave"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Zgjidh se cilat llogari mund të kryejnë telefonata"</string>
<string name="wifi_calling" msgid="739018212480165598">"Telefonatë me Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Mos përdor \"Telefonatë nga Wi-Fi\""</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Mos përdor \"Ndihmësin e telefonatës\""</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 21fb465..bde83ff 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Налози на телефону"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Додај SIP налог"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Конфигурисање подешавања налога"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Сви налози за позивање"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Изаберите који налози могу да обављају позиве"</string>
<string name="wifi_calling" msgid="739018212480165598">"Позивање преко Wi-Fi-ја"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Не користи Wi-Fi позивање"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Не користи помоћника за позиве"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index fa459f6..d67919b 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Konton på mobilen"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Lägg till SIP-konto"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurera kontoinställningar"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Alla konton för samtal"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Välj vilka konton som kan ringa samtal"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi-samtal"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Använd inte Wi-Fi-samtal"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Använd inte samtalsassistent"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 8cbbcb9..8dc00a9 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Akaunti za simu"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Ongeza akaunti ya SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Sanidi mipangilio ya akaunti"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Akaunti zote za simu"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Chagua akaunti ambazo zinaweza kupiga simu"</string>
<string name="wifi_calling" msgid="739018212480165598">"Upigaji simu kwa Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Usitumie upigaji simu kwa Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Usitumie kisaidizi cha simu"</string>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index 1076a6d..658daab 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"ஃபோன் கணக்குகள்"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP கணக்கைச் சேர்"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"கணக்கு அமைப்புகளை உள்ளமைக்கவும்"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"எல்லா அழைப்புக் கணக்குகளும்"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"அழைப்புகள் செய்வதற்கான கணக்குகளைத் தேர்ந்தெடுக்கவும்"</string>
<string name="wifi_calling" msgid="739018212480165598">"வைஃபை அழைப்பு"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"வைஃபை அழைப்பைப் பயன்படுத்தாதே"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"அழைப்பு உதவியைப் பயன்படுத்தாதே"</string>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index d050923..36bea43 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"ఫోన్ ఖాతాలు"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP ఖాతాను జోడించు"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ఖాతా సెట్టింగ్లను కాన్ఫిగర్ చేయి"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"అన్ని కాలింగ్ ఖాతాలు"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"ఏ ఖాతాల నుండి కాల్లు చేయవచ్చనే దాన్ని ఎంచుకోండి"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi కాలింగ్"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi కాలింగ్ను ఉపయోగించవద్దు"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"కాల్ సహాయకాన్ని ఉపయోగించవద్దు"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index fad1666..b31839f 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"บัญชีโทรศัพท์"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"เพิ่มบัญชี SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"กำหนดการตั้งค่าบัญชี"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"บัญชีการโทรทั้งหมด"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"การโทรผ่าน Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"ไม่ใช้การโทรผ่าน Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ไม่ใช้ผู้ช่วยโทร"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index b9b0f07..9d33929 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Mga account ng telepono"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Magdagdag ng SIP account"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"I-configure ang mga setting ng account"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Lahat ng account sa pagtawag"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"Pagtawag sa pamamagitan ng Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Huwag gumamit ng pagtawag sa pamamagitan ng Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Huwag gumamit ng assistant sa pagtawag"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index cbec82f..b717976 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefon hesapları"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP hesabı ekle"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Hesap ayarlarını yapılandır"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Tüm çağrı hesapları"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Hangi hesapların telefon edebileceğini seçin"</string>
<string name="wifi_calling" msgid="739018212480165598">"Kablosuz çağrı"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Kablosuz çağrıyı kullanma"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Çağrı asistanını kullanma"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 3ebd186..9af2f0f 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Облікові записи на телефоні"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Додати обліковий запис SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Налаштування параметрів облікового запису"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Усі облікові записи для дзвінків"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Виберіть, з яких облікових записів можна телефонувати"</string>
<string name="wifi_calling" msgid="739018212480165598">"Дзвінки через Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Не використовувати дзвінки через Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Не використовувати помічника викликів"</string>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 43e7b75..e8734b3 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"فون اکاؤنٹس"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP اکاؤنٹ شامل کریں"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"اکاؤنٹ کی ترتیبات کنفیگر کریں"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"سبھی کالنگ اکاؤنٹس"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi کالنگ"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi کالنگ کا استعمال نہ کریں"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"کال اسسٹنٹ کا استعمال نہ کریں"</string>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 2c46b98..760e6fa 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefon hisoblari"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP hisobini qo‘shish"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Hisob sozlamalarini shakllantirish"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Barcha qo‘ng‘iroq hisoblari"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi qo‘ng‘iroq"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi qo‘ng‘iroqlardan foydalanilmasin"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Qo‘ng‘iroq yordamchisidan foydalanilmasin"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 757517f..6a26d13 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Tài khoản điện thoại"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Thêm tài khoản SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Định cấu hình cài đặt tài khoản"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Tất cả các tài khoản gọi"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Chọn tài khoản có thể thực hiện cuộc gọi"</string>
<string name="wifi_calling" msgid="739018212480165598">"Gọi qua Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Không sử dụng tính năng gọi qua Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Không sử dụng trợ lý cuộc gọi"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index c7338c9..f6ee0f9 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"电话帐户"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"添加 SIP 帐户"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"配置帐户设置"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"所有通话帐户"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"WLAN 通话"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"不使用 WLAN 通话功能"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"不使用通话助手"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index c869eb3..181157d 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"手機帳戶"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"加入 SIP 帳戶"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"設定帳戶設定"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"所有通話帳戶"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"選擇可以撥號的帳戶"</string>
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi 通話"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"不要使用 Wi-Fi 通話功能"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"不要使用通話小幫手"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index fb70643..f673214 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -68,6 +68,9 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"手機帳戶"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"新增 SIP 帳戶"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"配置帳戶設定"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"所有通話帳戶"</string>
+ <!-- no translation found for phone_accounts_all_calling_accounts_summary (8594186415822657011) -->
+ <skip />
<string name="wifi_calling" msgid="739018212480165598">"Wi-Fi 通話"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"不使用 Wi-Fi 通話功能"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"不使用通話小幫手"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 11f394b..575a375 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -68,6 +68,8 @@
<string name="phone_accounts_selection_header" msgid="1365215726106915865">"Ama-akhawunti wefoni"</string>
<string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Engeza i-akhawunti ye-SIP"</string>
<string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Lungiselela izilungiselelo ze-akhawunti"</string>
+ <string name="phone_accounts_all_calling_accounts" msgid="207619531589278471">"Wonke ama-akhawunti wokushaya"</string>
+ <string name="phone_accounts_all_calling_accounts_summary" msgid="8594186415822657011">"Khetha ukuthi imaphi ama-akhawunti angenza amakholi"</string>
<string name="wifi_calling" msgid="739018212480165598">"Ukushaya kwe-Wi-Fi"</string>
<string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ungasebenzisi ukushaya nge-Wi-Fi"</string>
<string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ungasebenzisi umsizi wokushaya"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e707c4e..4c5603f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -151,6 +151,12 @@
<string name="phone_accounts_add_sip_account">Add SIP account</string>
<!-- Description label for icon to configure a phone account's settings. -->
<string name="phone_accounts_configure_account_settings">Configure account settings</string>
+ <!-- Label for heading that takes user to the list of calling accounts where they can enable
+ and disable all accounts. -->
+ <string name="phone_accounts_all_calling_accounts">All calling accounts</string>
+ <!-- Summary for all-calling-account setting indicating that is where the user goes to enable
+ and disable phone accounts. -->
+ <string name="phone_accounts_all_calling_accounts_summary">Select which accounts can make calls</string>
<!-- Title for setting to select Wi-Fi call manager account -->
<string name="wifi_calling">Wi-Fi calling</string>
diff --git a/res/xml/phone_account_settings.xml b/res/xml/phone_account_settings.xml
index 119accd..f0458cd 100644
--- a/res/xml/phone_account_settings.xml
+++ b/res/xml/phone_account_settings.xml
@@ -26,7 +26,19 @@
android:key="default_outgoing_account"
android:title="@string/phone_accounts_make_calls_with"
android:defaultValue=""
- android:persistent="false" />
+ android:persistent="false"
+ android:order="1" />
+
+ <PreferenceScreen
+ android:title="@string/phone_accounts_all_calling_accounts"
+ android:summary="@string/phone_accounts_all_calling_accounts_summary"
+ android:persistent="false"
+ android:order="1000" >
+
+ <intent android:action="android.intent.action.MAIN"
+ android:targetPackage="com.android.server.telecom"
+ android:targetClass="com.android.server.telecom.settings.EnableAccountPreferenceActivity" />
+ </PreferenceScreen>
</PreferenceCategory>
diff --git a/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java b/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java
index b54df59..b9ee69d 100644
--- a/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java
+++ b/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java
@@ -113,7 +113,9 @@
}
void setup(Context context) {
- startSipProfilesAsync((Context) context, (String) null);
+ startSipProfilesAsync(context, (String) null);
+
+ // TODO: remove orphaned SIP Accounts
}
/**
@@ -121,10 +123,10 @@
* {@link PhoneAccount}.
*
* @param context The context.
- * @param sipUri The Uri of the {@link SipProfile} to start, or {@code null} for all.
+ * @param sipProfileName The name of the {@link SipProfile} to start, or {@code null} for all.
*/
- void startSipService(Context context, String sipUri) {
- startSipProfilesAsync((Context) context, (String) sipUri);
+ void startSipService(Context context, String sipProfileName) {
+ startSipProfilesAsync(context, sipProfileName);
}
/**
@@ -132,10 +134,10 @@
* SIP service (this method is invoked via an intent from the SipService once a profile has
* been stopped/closed).
*
- * @param sipUri The Uri of the {@link SipProfile} to remove from the registry.
+ * @param sipProfileName Name of the SIP profile.
*/
- void removeSipProfile(String sipUri) {
- AccountEntry accountEntry = getAccountEntry(sipUri);
+ void removeSipProfile(String sipProfileName) {
+ AccountEntry accountEntry = getAccountEntry(sipProfileName);
if (accountEntry != null) {
mAccounts.remove(accountEntry);
@@ -150,18 +152,18 @@
* removal.
*
* @param context The context.
- * @param sipUri The {@code Uri} of the sip profile.
+ * @param sipProfileName Name of the SIP profile.
*/
- void stopSipService(Context context, String sipUri) {
+ void stopSipService(Context context, String sipProfileName) {
// Stop the sip service for the profile.
- AccountEntry accountEntry = getAccountEntry(sipUri);
+ AccountEntry accountEntry = getAccountEntry(sipProfileName);
if (accountEntry != null ) {
SipManager sipManager = SipManager.newInstance(context);
accountEntry.stopSipService(sipManager);
}
// Un-register its PhoneAccount.
- PhoneAccountHandle handle = SipUtil.createAccountHandle(context, sipUri);
+ PhoneAccountHandle handle = SipUtil.createAccountHandle(context, sipProfileName);
TelecomManager.from(context).unregisterPhoneAccount(handle);
}
@@ -182,28 +184,28 @@
* specified SIP profile and registering its {@link android.telecom.PhoneAccount}.
*
* @param context The context.
- * @param sipUri A specific SIP uri to start.
+ * @param sipProfileName Name of the SIP profile.
*/
- private void startSipProfilesAsync(final Context context, final String sipUri) {
+ private void startSipProfilesAsync(final Context context, final String sipProfileName) {
if (VERBOSE) log("startSipProfiles, start auto registration");
new Thread(new Runnable() {
@Override
public void run() {
- startSipProfiles(context, sipUri);
+ startSipProfiles(context, sipProfileName);
}}
).start();
}
/**
* Loops through all SIP accounts from the SIP database, starts each service and registers
- * each with the telecom framework. If a specific sipUri is specified, this will only register
- * the associated SIP account.
+ * each with the telecom framework. If a specific sipProfileName is specified, this will only
+ * register the associated SIP account.
*
* @param context The context.
- * @param sipUri A specific SIP uri to start, or {@code null} to start all.
+ * @param sipProfileName A specific SIP profile Name to start, or {@code null} to start all.
*/
- private void startSipProfiles(Context context, String sipUri) {
+ private void startSipProfiles(Context context, String sipProfileName) {
final SipSharedPreferences sipSharedPreferences = new SipSharedPreferences(context);
boolean isReceivingCalls = sipSharedPreferences.isReceivingCallsEnabled();
String primaryProfile = sipSharedPreferences.getPrimaryAccount();
@@ -215,12 +217,9 @@
for (SipProfile profile : sipProfileList) {
// Register a PhoneAccount for the profile and optionally enable the primary
// profile.
- if (sipUri == null || Objects.equals(sipUri, profile.getUriString())) {
+ if (sipProfileName == null || sipProfileName.equals(profile.getProfileName())) {
PhoneAccount phoneAccount = SipUtil.createPhoneAccount(context, profile);
telecomManager.registerPhoneAccount(phoneAccount);
- }
-
- if (sipUri == null || Objects.equals(sipUri, profile.getUriString())) {
startSipServiceForProfile(profile, sipManager, context, isReceivingCalls);
}
}
@@ -253,14 +252,14 @@
}
/**
- * Retrieves the {@link AccountEntry} from the registry with the specified Uri.
+ * Retrieves the {@link AccountEntry} from the registry with the specified name.
*
- * @param sipUri The Uri of the profile to retrieve.
+ * @param sipProfileName Name of the SIP profile to retrieve.
* @return The {@link AccountEntry}, or {@code null} is it was not found.
*/
- private AccountEntry getAccountEntry(String sipUri) {
+ private AccountEntry getAccountEntry(String sipProfileName) {
for (AccountEntry entry : mAccounts) {
- if (Objects.equals(sipUri, entry.getProfile().getUriString())) {
+ if (Objects.equals(sipProfileName, entry.getProfile().getProfileName())) {
return entry;
}
}
diff --git a/sip/src/com/android/services/telephony/sip/SipConnection.java b/sip/src/com/android/services/telephony/sip/SipConnection.java
index 5df61b7..e9f8e05 100644
--- a/sip/src/com/android/services/telephony/sip/SipConnection.java
+++ b/sip/src/com/android/services/telephony/sip/SipConnection.java
@@ -132,7 +132,8 @@
public void onHold() {
if (VERBOSE) log("onHold");
try {
- if (getPhone() != null && getState() == STATE_ACTIVE) {
+ if (getPhone() != null && getState() == STATE_ACTIVE
+ && getPhone().getRingingCall().getState() != Call.State.WAITING) {
getPhone().switchHoldingAndActive();
}
} catch (CallStateException e) {
diff --git a/sip/src/com/android/services/telephony/sip/SipConnectionService.java b/sip/src/com/android/services/telephony/sip/SipConnectionService.java
index ae21d73..ab4223a 100644
--- a/sip/src/com/android/services/telephony/sip/SipConnectionService.java
+++ b/sip/src/com/android/services/telephony/sip/SipConnectionService.java
@@ -110,8 +110,8 @@
if (attemptCall) {
// The ID used for SIP-based phone account is the SIP profile Uri. Use it to find
// the actual profile.
- String profileUri = accountHandle.getId();
- findProfile(profileUri, new IProfileFinderCallback() {
+ String profileName = accountHandle.getId();
+ findProfile(profileName, new IProfileFinderCallback() {
@Override
public void onFound(SipProfile profile) {
if (profile == null) {
@@ -205,7 +205,7 @@
* in communicating with the database, so it is done asynchronously with a separate thread and a
* callback interface.
*/
- private void findProfile(final String profileUri, final IProfileFinderCallback callback) {
+ private void findProfile(final String profileName, final IProfileFinderCallback callback) {
if (VERBOSE) log("findProfile");
new Thread(new Runnable() {
@Override
@@ -214,7 +214,7 @@
List<SipProfile> profileList = mSipProfileDb.retrieveSipProfileList();
if (profileList != null) {
for (SipProfile profile : profileList) {
- if (Objects.equals(profileUri, profile.getUriString())) {
+ if (Objects.equals(profileName, profile.getProfileName())) {
profileToUse = profile;
break;
}
diff --git a/sip/src/com/android/services/telephony/sip/SipEditor.java b/sip/src/com/android/services/telephony/sip/SipEditor.java
index ba06711..d6f862a 100644
--- a/sip/src/com/android/services/telephony/sip/SipEditor.java
+++ b/sip/src/com/android/services/telephony/sip/SipEditor.java
@@ -249,7 +249,7 @@
private void saveAndRegisterProfile(SipProfile p) throws IOException {
if (p == null) return;
mProfileDb.saveProfile(p);
- mSipAccountRegistry.startSipService(this, p.getUriString());
+ mSipAccountRegistry.startSipService(this, p.getProfileName());
}
/**
@@ -261,7 +261,7 @@
private void deleteAndUnregisterProfile(SipProfile p) {
if (p == null) return;
mProfileDb.deleteProfile(p);
- mSipAccountRegistry.stopSipService(this, p.getUriString());
+ mSipAccountRegistry.stopSipService(this, p.getProfileName());
}
private void setRemovedProfileAndFinish() {
diff --git a/sip/src/com/android/services/telephony/sip/SipPhoneAccountSettingsActivity.java b/sip/src/com/android/services/telephony/sip/SipPhoneAccountSettingsActivity.java
index 0455346..a6f6381 100644
--- a/sip/src/com/android/services/telephony/sip/SipPhoneAccountSettingsActivity.java
+++ b/sip/src/com/android/services/telephony/sip/SipPhoneAccountSettingsActivity.java
@@ -47,8 +47,8 @@
if (accountHandle != null) {
SipProfileDb profileDb = new SipProfileDb(this);
- String sipUri = SipUtil.getSipUriFromPhoneAccount(accountHandle);
- SipProfile profile = profileDb.retrieveSipProfile(sipUri);
+ String profileName = SipUtil.getSipProfileNameFromPhoneAccount(accountHandle);
+ SipProfile profile = profileDb.retrieveSipProfileFromName(profileName);
if (profile != null) {
Intent settingsIntent = new Intent(this, SipEditor.class);
settingsIntent.putExtra(SipSettings.KEY_SIP_PROFILE, (Parcelable) profile);
diff --git a/sip/src/com/android/services/telephony/sip/SipProfileDb.java b/sip/src/com/android/services/telephony/sip/SipProfileDb.java
index 5641af9..578c683 100644
--- a/sip/src/com/android/services/telephony/sip/SipProfileDb.java
+++ b/sip/src/com/android/services/telephony/sip/SipProfileDb.java
@@ -103,15 +103,6 @@
}
}
- public SipProfile retrieveSipProfile(String sipUri) {
- sipUri = sipUri.trim();
- if (sipUri.startsWith(SCHEME_PREFIX)) {
- return retrieveSipProfileFromName(sipUri.substring(SCHEME_PREFIX.length()));
- }
-
- return null;
- }
-
private List<SipProfile> retrieveSipProfileListInternal() {
List<SipProfile> sipProfileList = Collections.synchronizedList(
new ArrayList<SipProfile>());
@@ -129,7 +120,7 @@
return sipProfileList;
}
- private SipProfile retrieveSipProfileFromName(String name) {
+ public SipProfile retrieveSipProfileFromName(String name) {
if (TextUtils.isEmpty(name)) {
return null;
}
diff --git a/sip/src/com/android/services/telephony/sip/SipSettings.java b/sip/src/com/android/services/telephony/sip/SipSettings.java
index b89a5b1..99be70f 100644
--- a/sip/src/com/android/services/telephony/sip/SipSettings.java
+++ b/sip/src/com/android/services/telephony/sip/SipSettings.java
@@ -318,7 +318,9 @@
void deleteProfile(SipProfile p) {
mSipProfileList.remove(p);
SipPreference pref = mSipPreferenceMap.remove(p.getUriString());
- mSipListContainer.removePreference(pref);
+ if (pref != null) {
+ mSipListContainer.removePreference(pref);
+ }
}
private void addProfile(SipProfile p) throws IOException {
diff --git a/sip/src/com/android/services/telephony/sip/SipUtil.java b/sip/src/com/android/services/telephony/sip/SipUtil.java
index b6d3102..e885fad 100644
--- a/sip/src/com/android/services/telephony/sip/SipUtil.java
+++ b/sip/src/com/android/services/telephony/sip/SipUtil.java
@@ -16,13 +16,10 @@
package com.android.services.telephony.sip;
-import com.android.phone.R;
-
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
-import android.graphics.BitmapFactory;
import android.graphics.drawable.Icon;
import android.net.Uri;
import android.net.sip.SipManager;
@@ -34,6 +31,8 @@
import android.text.TextUtils;
import android.util.Log;
+import com.android.phone.R;
+
import java.util.ArrayList;
import java.util.List;
@@ -73,29 +72,29 @@
}
/**
- * Creates a {@link PhoneAccountHandle} from the specified SIP URI.
+ * Creates a {@link PhoneAccountHandle} from the specified SIP profile name.
*/
- static PhoneAccountHandle createAccountHandle(Context context, String sipUri) {
+ static PhoneAccountHandle createAccountHandle(Context context, String sipProfileName) {
return new PhoneAccountHandle(
- new ComponentName(context, SipConnectionService.class), sipUri);
+ new ComponentName(context, SipConnectionService.class), sipProfileName);
}
/**
- * Determines the SIP Uri for a specified {@link PhoneAccountHandle}.
+ * Determines the SIP profile name for a specified {@link PhoneAccountHandle}.
*
* @param phoneAccountHandle The {@link PhoneAccountHandle}.
- * @return The SIP Uri.
+ * @return The SIP profile name.
*/
- static String getSipUriFromPhoneAccount(PhoneAccountHandle phoneAccountHandle) {
+ static String getSipProfileNameFromPhoneAccount(PhoneAccountHandle phoneAccountHandle) {
if (phoneAccountHandle == null) {
return null;
}
- String sipUri = phoneAccountHandle.getId();
- if (TextUtils.isEmpty(sipUri)) {
+ String sipProfileName = phoneAccountHandle.getId();
+ if (TextUtils.isEmpty(sipProfileName)) {
return null;
}
- return sipUri;
+ return sipProfileName;
}
/**
@@ -110,13 +109,10 @@
// that prototype can include transport information which we do not want to see in the
// phone account.
String sipAddress = profile.getUserName() + "@" + profile.getSipDomain();
- Uri sipUri = Uri.parse(PhoneAccount.SCHEME_SIP + ":" + sipAddress);
+ Uri sipUri = Uri.parse(profile.getUriString());
- // SipProfile#getUriString() is used here for legacy reasons. Changing to use the sipAddress
- // defined above would cause SIP profiles with a TCP transport to be duplicated in the
- // PhoneAccountRegistry since the ID would change on re-registration.
PhoneAccountHandle accountHandle =
- SipUtil.createAccountHandle(context, profile.getUriString());
+ SipUtil.createAccountHandle(context, profile.getProfileName());
final ArrayList<String> supportedUriSchemes = new ArrayList<String>();
supportedUriSchemes.add(PhoneAccount.SCHEME_SIP);
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 9efbbda..7a126eb 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -146,6 +146,9 @@
PersistableBundle config;
switch (msg.what) {
case EVENT_CLEAR_CONFIG:
+ if (mConfigFromDefaultApp[phoneId] == null &&
+ mConfigFromCarrierApp[phoneId] == null)
+ break;
mConfigFromDefaultApp[phoneId] = null;
mConfigFromCarrierApp[phoneId] = null;
mServiceConnection[phoneId] = null;
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index 93760d2..2e444e0 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -206,8 +206,7 @@
} else {
mDialButton.setVisibility(View.GONE);
}
- View floatingActionButtonContainer = findViewById(R.id.floating_action_button_container);
- ViewUtil.setupFloatingActionButton(floatingActionButtonContainer, getResources());
+ ViewUtil.setupFloatingActionButton(mDialButton, getResources());
if (icicle != null) {
super.onRestoreInstanceState(icicle);
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index 54dfb75..c5a9f12 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -52,6 +52,7 @@
import com.android.internal.telephony.PhoneBase;
import com.android.internal.telephony.TelephonyCapabilities;
import com.android.phone.settings.VoicemailSettingsActivity;
+import com.android.phone.vvm.omtp.sync.VoicemailStatusQueryHelper;
import com.android.phone.settings.VoicemailNotificationSettingsUtil;
import com.android.phone.settings.VoicemailProviderSettingsUtil;
@@ -299,11 +300,20 @@
return;
}
+ Phone phone = PhoneGlobals.getPhone(subId);
+ if (visible && phone != null) {
+ VoicemailStatusQueryHelper queryHelper = new VoicemailStatusQueryHelper(mContext);
+ PhoneAccountHandle phoneAccount = PhoneUtils.makePstnPhoneAccountHandle(phone);
+ if (queryHelper.isNotificationsChannelActive(phoneAccount)) {
+ Log.v(LOG_TAG, "Notifications channel active for visual voicemail, hiding mwi.");
+ visible = false;
+ }
+ }
+
Log.i(LOG_TAG, "updateMwi(): subId " + subId + " update to " + visible);
mMwiVisible.put(subId, visible);
if (visible) {
- Phone phone = PhoneGlobals.getPhone(subId);
if (phone == null) {
Log.w(LOG_TAG, "Found null phone for: " + subId);
return;
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index e4b8c35..7d1602f 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -261,7 +261,12 @@
request = (MainThreadRequest) msg.obj;
int end_subId = request.subId;
final boolean hungUp;
- int phoneType = getPhone(end_subId).getPhoneType();
+ Phone phone = getPhone(end_subId);
+ if (phone == null) {
+ if (DBG) log("CMD_END_CALL: no phone for id: " + end_subId);
+ break;
+ }
+ int phoneType = phone.getPhoneType();
if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
// CDMA: If the user presses the Power button we treat it as
// ending the complete call session
@@ -464,10 +469,12 @@
}
int errorCode = IccOpenLogicalChannelResponse.STATUS_UNKNOWN_ERROR;
- if ((ar.exception != null) && (ar.exception instanceof CommandException)) {
- if (ar.exception.getMessage().compareTo("MISSING_RESOURCE") == 0) {
+ if (ar.exception instanceof CommandException) {
+ CommandException.Error error =
+ ((CommandException) (ar.exception)).getCommandError();
+ if (error == CommandException.Error.MISSING_RESOURCE) {
errorCode = IccOpenLogicalChannelResponse.STATUS_MISSING_RESOURCE;
- } else if (ar.exception.getMessage().compareTo("NO_SUCH_ELEMENT") == 0) {
+ } else if (error == CommandException.Error.NO_SUCH_ELEMENT) {
errorCode = IccOpenLogicalChannelResponse.STATUS_NO_SUCH_ELEMENT;
}
}
diff --git a/src/com/android/phone/common/mail/MailTransport.java b/src/com/android/phone/common/mail/MailTransport.java
index c66130c..99f0272 100644
--- a/src/com/android/phone/common/mail/MailTransport.java
+++ b/src/com/android/phone/common/mail/MailTransport.java
@@ -16,6 +16,7 @@
package com.android.phone.common.mail;
import android.content.Context;
+import android.net.Network;
import com.android.phone.common.mail.store.ImapStore;
import com.android.phone.common.mail.utils.LogUtils;
@@ -51,6 +52,7 @@
HttpsURLConnection.getDefaultHostnameVerifier();
private Context mContext;
+ private Network mNetwork;
private String mHost;
private int mPort;
private Socket mSocket;
@@ -58,8 +60,9 @@
private BufferedOutputStream mOut;
private int mFlags;
- public MailTransport(Context context, String address, int port, int flags) {
+ public MailTransport(Context context, Network network, String address, int port, int flags) {
mContext = context;
+ mNetwork = network;
mHost = address;
mPort = port;
mFlags = flags;
@@ -71,7 +74,7 @@
*/
@Override
public MailTransport clone() {
- return new MailTransport(mContext, mHost, mPort, mFlags);
+ return new MailTransport(mContext, mNetwork, mHost, mPort, mFlags);
}
public boolean canTrySslSecurity() {
@@ -94,7 +97,11 @@
if (canTrySslSecurity()) {
mSocket = HttpsURLConnection.getDefaultSSLSocketFactory().createSocket();
} else {
- mSocket = new Socket();
+ if (mNetwork == null) {
+ mSocket = new Socket();
+ } else {
+ mSocket = mNetwork.getSocketFactory().createSocket();
+ }
}
mSocket.connect(socketAddress, SOCKET_CONNECT_TIMEOUT);
// After the socket connects to an SSL server, confirm that the hostname is as expected
diff --git a/src/com/android/phone/common/mail/store/ImapStore.java b/src/com/android/phone/common/mail/store/ImapStore.java
index 1c91e76..605abbb 100644
--- a/src/com/android/phone/common/mail/store/ImapStore.java
+++ b/src/com/android/phone/common/mail/store/ImapStore.java
@@ -17,6 +17,7 @@
package com.android.phone.common.mail.store;
import android.content.Context;
+import android.net.Network;
import com.android.phone.common.mail.internet.MimeMessage;
import com.android.phone.common.mail.MailTransport;
@@ -50,11 +51,11 @@
* Contains all the information necessary to log into an imap server
*/
public ImapStore(Context context, String username, String password, int port,
- String serverName, int flags) {
+ String serverName, int flags, Network network) {
mContext = context;
mUsername = username;
mPassword = password;
- mTransport = new MailTransport(context, serverName, port, flags);
+ mTransport = new MailTransport(context, network, serverName, port, flags);
}
public Context getContext() {
diff --git a/src/com/android/phone/settings/PhoneAccountSettingsFragment.java b/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
index 34e564c..86036ce 100644
--- a/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
+++ b/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
@@ -25,6 +25,8 @@
import android.telephony.TelephonyManager;
import android.util.Log;
+import com.android.internal.telephony.Phone;
+import com.android.phone.PhoneUtils;
import com.android.phone.R;
import com.android.phone.SubscriptionInfoHelper;
import com.android.services.telephony.sip.SipAccountRegistry;
@@ -34,6 +36,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Iterator;
import java.util.List;
public class PhoneAccountSettingsFragment extends PreferenceFragment
@@ -45,6 +48,7 @@
"phone_accounts_accounts_list_category_key";
private static final String DEFAULT_OUTGOING_ACCOUNT_KEY = "default_outgoing_account";
+ private static final String ALL_CALLING_ACCOUNTS_KEY = "phone_account_all_calling_accounts";
private static final String CONFIGURE_CALL_ASSISTANT_PREF_KEY =
"wifi_calling_configure_call_assistant_preference";
@@ -58,6 +62,14 @@
private static final String USE_SIP_PREF_KEY = "use_sip_calling_options_key";
private static final String SIP_RECEIVE_CALLS_PREF_KEY = "sip_receive_calls_key";
+ /**
+ * Value to start ordering of phone accounts relative to other preferences. By setting this
+ * value on the phone account listings, we ensure that anything that is ordered before
+ * {value} in the preference XML comes before the phone account list and anything with
+ * a value significantly larger will list after.
+ */
+ private static final int ACCOUNT_ORDERING_START_VALUE = 100;
+
private String LOG_TAG = PhoneAccountSettingsFragment.class.getSimpleName();
private TelecomManager mTelecomManager;
@@ -93,20 +105,58 @@
addPreferencesFromResource(R.xml.phone_account_settings);
+ /**
+ * Here we make decisions about what we will and will not display with regards to phone-
+ * account settings. The basic settings structure is this:
+ * (1) <Make Calls With...> // Lets user pick a default account for outgoing calls
+ * (2) <Account List>
+ * <Account>
+ * ...
+ * <Account>
+ * </Account List>
+ * (3) <All Accounts> // Lets user enable/disable third-party accounts. SIM-based accounts
+ * // are always enabled and so aren't relevant here.
+ *
+ * Here are the rules that we follow:
+ * - (1) is only shown if there are multiple enabled accounts, including SIM accounts.
+ * This can be 2+ SIM accounts, 2+ third party accounts or any combination.
+ * - (2) The account list only lists (a) enabled third party accounts and (b) SIM-based
+ * accounts. However, for single-SIM devices, if the only account to show is the
+ * SIM-based account, we don't show the list at all under the assumption that the user
+ * already knows about the account.
+ * - (3) Is only shown if there exist any third party accounts. If none exist, then the
+ * option is hidden since there is nothing that can be done in it.
+ *
+ * By far, the most common case for users will be the single-SIM device without any
+ * third party accounts. IOW, the great majority of users won't see any of these options.
+ */
mAccountList = (PreferenceCategory) getPreferenceScreen().findPreference(
ACCOUNTS_LIST_CATEGORY_KEY);
- if (shouldShowConnectionServiceList()) {
- initAccountList();
+ List<PhoneAccountHandle> allNonSimAccounts =
+ getCallingAccounts(false /* includeSims */, true /* includeDisabled */);
+ // Check to see if we should show the entire section at all.
+ if (shouldShowConnectionServiceList(allNonSimAccounts)) {
+ List<PhoneAccountHandle> enabledAccounts =
+ getCallingAccounts(true /* includeSims */, false /* includeDisabled */);
+ // Initialize the account list with the set of enabled & SIM accounts.
+ initAccountList(enabledAccounts);
mDefaultOutgoingAccount = (AccountSelectionPreference)
getPreferenceScreen().findPreference(DEFAULT_OUTGOING_ACCOUNT_KEY);
mDefaultOutgoingAccount.setListener(this);
- if (mTelecomManager.getCallCapablePhoneAccounts().size() > 1) {
+
+ // Only show the 'Make Calls With..." option if there are multiple accounts.
+ if (enabledAccounts.size() > 1) {
updateDefaultOutgoingAccountsModel();
} else {
- getPreferenceScreen().removePreference(mDefaultOutgoingAccount);
+ mAccountList.removePreference(mDefaultOutgoingAccount);
}
+ Preference allAccounts = getPreferenceScreen().findPreference(ALL_CALLING_ACCOUNTS_KEY);
+ // If there are no third party (nonSim) accounts, then don't show enable/disable dialog.
+ if (allNonSimAccounts.isEmpty() && allAccounts != null) {
+ mAccountList.removePreference(allAccounts);
+ }
} else {
getPreferenceScreen().removePreference(mAccountList);
}
@@ -282,7 +332,7 @@
private void updateDefaultOutgoingAccountsModel() {
mDefaultOutgoingAccount.setModel(
mTelecomManager,
- mTelecomManager.getCallCapablePhoneAccounts(),
+ getCallingAccounts(true /* includeSims */, false /* includeDisabled */),
mTelecomManager.getUserSelectedOutgoingPhoneAccount(),
getString(R.string.phone_accounts_ask_every_time));
}
@@ -315,10 +365,22 @@
}
}
- private void initAccountList() {
+ private void initAccountList(List<PhoneAccountHandle> enabledAccounts) {
+
+ boolean isMultiSimDevice = mTelephonyManager.isMultiSimEnabled();
+
+ // On a single-SIM device, do not list any accounts if the only account is the SIM-based
+ // one. This is because on single-SIM devices, we do not expose SIM settings through the
+ // account listing entry so showing it does nothing to help the user. Nor does the lack of
+ // action match the "Settings" header above the listing.
+ if (!isMultiSimDevice && getCallingAccounts(
+ false /* includeSims */, false /* includeDisabled */).isEmpty()){
+ return;
+ }
+
// Obtain the list of phone accounts.
List<PhoneAccount> accounts = new ArrayList<>();
- for (PhoneAccountHandle handle : mTelecomManager.getCallCapablePhoneAccounts()) {
+ for (PhoneAccountHandle handle : enabledAccounts) {
PhoneAccount account = mTelecomManager.getPhoneAccount(handle);
if (account != null) {
accounts.add(account);
@@ -332,10 +394,8 @@
int retval = 0;
// SIM accounts go first
- boolean isSim1 = (account1.getCapabilities() &
- PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION) != 0;
- boolean isSim2 = (account2.getCapabilities() &
- PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION) != 0;
+ boolean isSim1 = account1.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION);
+ boolean isSim2 = account2.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION);
if (isSim1 != isSim2) {
retval = isSim1 ? -1 : 1;
}
@@ -362,22 +422,28 @@
}
});
+ int order = ACCOUNT_ORDERING_START_VALUE;
+
// Add an entry for each account.
for (PhoneAccount account : accounts) {
PhoneAccountHandle handle = account.getAccountHandle();
Intent intent = null;
- boolean isSimAccount = false;
// SIM phone accounts use a different setting intent and are thus handled differently.
- if ((PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION & account.getCapabilities()) != 0) {
- isSimAccount = true;
- SubscriptionInfo subInfo = mSubscriptionManager.getActiveSubscriptionInfo(
- mTelephonyManager.getSubIdForPhoneAccount(account));
+ if (account.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION)) {
- if (subInfo != null) {
- intent = new Intent(TelecomManager.ACTION_SHOW_CALL_SETTINGS);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- SubscriptionInfoHelper.addExtrasToIntent(intent, subInfo);
+ // For SIM-based accounts, we only expose the settings through the account list
+ // if we are on a multi-SIM device. For single-SIM devices, the settings are
+ // more spread out so there is no good single place to take the user, so we don't.
+ if (isMultiSimDevice) {
+ SubscriptionInfo subInfo = mSubscriptionManager.getActiveSubscriptionInfo(
+ mTelephonyManager.getSubIdForPhoneAccount(account));
+
+ if (subInfo != null) {
+ intent = new Intent(TelecomManager.ACTION_SHOW_CALL_SETTINGS);
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ SubscriptionInfoHelper.addExtrasToIntent(intent, subInfo);
+ }
}
} else {
// Build the settings intent.
@@ -407,6 +473,7 @@
accountPreference.setIntent(intent);
}
+ accountPreference.setOrder(order++);
mAccountList.addPreference(accountPreference);
}
}
@@ -424,12 +491,41 @@
return null;
}
- private boolean shouldShowConnectionServiceList() {
- return mTelephonyManager.isMultiSimEnabled() ||
- mTelecomManager.getCallCapablePhoneAccounts().size() > 1;
+ private boolean shouldShowConnectionServiceList(List<PhoneAccountHandle> allNonSimAccounts) {
+ return mTelephonyManager.isMultiSimEnabled() || allNonSimAccounts.size() > 0;
+ }
+
+ private List<PhoneAccountHandle> getCallingAccounts(
+ boolean includeSims, boolean includeDisabledAccounts) {
+ PhoneAccountHandle emergencyAccountHandle = getEmergencyPhoneAccount();
+
+ List<PhoneAccountHandle> accountHandles =
+ mTelecomManager.getCallCapablePhoneAccounts(includeDisabledAccounts);
+ for (Iterator<PhoneAccountHandle> i = accountHandles.iterator(); i.hasNext();) {
+ PhoneAccountHandle handle = i.next();
+ if (handle.equals(emergencyAccountHandle)) {
+ // never include emergency call accounts in this piece of code.
+ i.remove();
+ continue;
+ }
+
+ PhoneAccount account = mTelecomManager.getPhoneAccount(handle);
+ if (account == null) {
+ i.remove();
+ } else if (!includeSims &&
+ account.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION)) {
+ i.remove();
+ }
+ }
+ return accountHandles;
}
private String nullToEmpty(String str) {
return str == null ? "" : str;
}
+
+ private PhoneAccountHandle getEmergencyPhoneAccount() {
+ return PhoneUtils.makePstnPhoneAccountHandleWithPrefix(
+ (Phone) null, "" /* prefix */, true /* isEmergency */);
+ }
}
diff --git a/src/com/android/phone/vvm/omtp/OmtpConstants.java b/src/com/android/phone/vvm/omtp/OmtpConstants.java
index 971d2d6..fa3cb63 100644
--- a/src/com/android/phone/vvm/omtp/OmtpConstants.java
+++ b/src/com/android/phone/vvm/omtp/OmtpConstants.java
@@ -188,4 +188,6 @@
put(RETURN_CODE, RETURN_CODE_VALUES);
}};
+ /** Indicates the client is Google visual voicemail version 1.0. */
+ public static final String CLIENT_TYPE_GOOGLE_10 = "google.vvm.10";
}
diff --git a/src/com/android/phone/vvm/omtp/SimChangeReceiver.java b/src/com/android/phone/vvm/omtp/SimChangeReceiver.java
index 917374c..95fcb24 100644
--- a/src/com/android/phone/vvm/omtp/SimChangeReceiver.java
+++ b/src/com/android/phone/vvm/omtp/SimChangeReceiver.java
@@ -103,7 +103,7 @@
Log.i(TAG, "Requesting VVM activation for subId: " + subId);
SmsManager smsManager = SmsManager.getSmsManagerForSubscriptionId(subId);
OmtpMessageSender messageSender = new OmtpMessageSender(smsManager,
- (short) applicationPort, destinationNumber, null,
+ (short) applicationPort, destinationNumber, OmtpConstants.CLIENT_TYPE_GOOGLE_10,
OmtpConstants.PROTOCOL_VERSION1_1, null);
messageSender.requestVvmActivation(null);
}
diff --git a/src/com/android/phone/vvm/omtp/fetch/FetchVoicemailReceiver.java b/src/com/android/phone/vvm/omtp/fetch/FetchVoicemailReceiver.java
index ae32c27..179fec3 100644
--- a/src/com/android/phone/vvm/omtp/fetch/FetchVoicemailReceiver.java
+++ b/src/com/android/phone/vvm/omtp/fetch/FetchVoicemailReceiver.java
@@ -21,6 +21,10 @@
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
+import android.net.ConnectivityManager;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkRequest;
import android.net.Uri;
import android.provider.VoicemailContract;
import android.provider.VoicemailContract.Voicemails;
@@ -28,6 +32,7 @@
import android.text.TextUtils;
import android.util.Log;
+import com.android.phone.PhoneUtils;
import com.android.phone.vvm.omtp.imap.ImapHelper;
import com.android.phone.vvm.omtp.sync.OmtpVvmSyncAccountManager;
@@ -45,12 +50,22 @@
public static final int SOURCE_DATA = 0;
public static final int PHONE_ACCOUNT_ID = 1;
+ // Timeout used to call ConnectivityManager.requestNetwork
+ private static final int NETWORK_REQUEST_TIMEOUT_MILLIS = 60 * 1000;
+
private ContentResolver mContentResolver;
private Uri mUri;
+ private NetworkRequest mNetworkRequest;
+ private OmtpVvmNetworkRequestCallback mNetworkCallback;
+ private Context mContext;
+ private Account mAccount;
+ private String mUid;
+ private ConnectivityManager mConnectivityManager;
@Override
public void onReceive(final Context context, Intent intent) {
if (VoicemailContract.ACTION_FETCH_VOICEMAIL.equals(intent.getAction())) {
+ mContext = context;
mContentResolver = context.getContentResolver();
mUri = intent.getData();
@@ -71,7 +86,7 @@
}
try {
if (cursor.moveToFirst()) {
- final String uid = cursor.getString(SOURCE_DATA);
+ mUid = cursor.getString(SOURCE_DATA);
String accountId = cursor.getString(PHONE_ACCOUNT_ID);
if (TextUtils.isEmpty(accountId)) {
TelephonyManager telephonyManager = (TelephonyManager)
@@ -83,27 +98,71 @@
return;
}
}
- final Account account = new Account(accountId,
+ mAccount = new Account(accountId,
OmtpVvmSyncAccountManager.ACCOUNT_TYPE);
if (!OmtpVvmSyncAccountManager.getInstance(context)
- .isAccountRegistered(account)) {
+ .isAccountRegistered(mAccount)) {
Log.w(TAG, "Account not registered - cannot retrieve message.");
return;
}
- Executor executor = Executors.newCachedThreadPool();
- executor.execute(new Runnable() {
- @Override
- public void run() {
- new ImapHelper(context, account).fetchVoicemailPayload(
- new VoicemailFetchedCallback(context, mUri), uid);
- }
- });
+ int subId = PhoneUtils.getSubIdForPhoneAccountHandle(
+ PhoneUtils.makePstnPhoneAccountHandle(accountId));
+
+ mNetworkRequest = new NetworkRequest.Builder()
+ .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+ .setNetworkSpecifier(Integer.toString(subId))
+ .build();
+ mNetworkCallback = new OmtpVvmNetworkRequestCallback();
+ getConnectivityManager().requestNetwork(
+ mNetworkRequest, mNetworkCallback, NETWORK_REQUEST_TIMEOUT_MILLIS);
}
} finally {
cursor.close();
}
}
}
+
+ private class OmtpVvmNetworkRequestCallback extends ConnectivityManager.NetworkCallback {
+ @Override
+ public void onAvailable(final Network network) {
+ super.onAvailable(network);
+
+ Executor executor = Executors.newCachedThreadPool();
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ new ImapHelper(mContext, mAccount, network).fetchVoicemailPayload(
+ new VoicemailFetchedCallback(mContext, mUri), mUid);
+ releaseNetwork();
+ }
+ });
+ }
+
+ @Override
+ public void onLost(Network network) {
+ super.onLost(network);
+ releaseNetwork();
+ }
+
+ @Override
+ public void onUnavailable() {
+ super.onUnavailable();
+ releaseNetwork();
+ }
+ }
+
+ private void releaseNetwork() {
+ getConnectivityManager().unregisterNetworkCallback(mNetworkCallback);
+ }
+
+ private ConnectivityManager getConnectivityManager() {
+ if (mConnectivityManager == null) {
+ mConnectivityManager = (ConnectivityManager) mContext.getSystemService(
+ Context.CONNECTIVITY_SERVICE);
+ }
+ return mConnectivityManager;
+ }
}
diff --git a/src/com/android/phone/vvm/omtp/imap/ImapHelper.java b/src/com/android/phone/vvm/omtp/imap/ImapHelper.java
index 1368286..0d02700 100644
--- a/src/com/android/phone/vvm/omtp/imap/ImapHelper.java
+++ b/src/com/android/phone/vvm/omtp/imap/ImapHelper.java
@@ -18,6 +18,7 @@
import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.Context;
+import android.net.Network;
import android.telecom.PhoneAccountHandle;
import android.telecom.Voicemail;
@@ -61,7 +62,7 @@
private Context mContext;
private PhoneAccountHandle mPhoneAccount;
- public ImapHelper(Context context, Account account) {
+ public ImapHelper(Context context, Account account, Network network) {
try {
mContext = context;
mPhoneAccount = PhoneUtils.makePstnPhoneAccountHandle(account.name);
@@ -75,7 +76,7 @@
accountManager.getUserData(account, OmtpConstants.IMAP_PORT));
// TODO: determine the security protocol (e.g. ssl, tls, none, etc.)
mImapStore = new ImapStore(
- context, username, password, port, serverName, ImapStore.FLAG_NONE);
+ context, username, password, port, serverName, ImapStore.FLAG_NONE, network);
} catch (NumberFormatException e) {
LogUtils.e(TAG, e, "Could not parse port number");
}
diff --git a/src/com/android/phone/vvm/omtp/sms/OmtpMessageReceiver.java b/src/com/android/phone/vvm/omtp/sms/OmtpMessageReceiver.java
index 2d18ee7..7a2f5ad 100644
--- a/src/com/android/phone/vvm/omtp/sms/OmtpMessageReceiver.java
+++ b/src/com/android/phone/vvm/omtp/sms/OmtpMessageReceiver.java
@@ -126,15 +126,18 @@
VoicemailContract.Status.CONFIGURATION_STATE_OK,
VoicemailContract.Status.DATA_CHANNEL_STATE_OK,
VoicemailContract.Status.NOTIFICATION_CHANNEL_STATE_OK);
-
- Bundle bundle = new Bundle();
- bundle.putBoolean(OmtpVvmSyncAdapter.SYNC_EXTRAS_DOWNLOAD, true);
- bundle.putBoolean(ContentResolver.SYNC_EXTRAS_UPLOAD, true);
- ContentResolver.requestSync(account, VoicemailContract.AUTHORITY, bundle);
}
// Save the IMAP credentials in the corresponding account object so they are
// persistent and can be retrieved.
vvmAccountSyncManager.setAccountCredentialsFromStatusMessage(account, message);
+
+ // Add a phone state listener so that changes to the communication channels can be recorded.
+ vvmAccountSyncManager.addPhoneStateListener(account);
+
+ Bundle bundle = new Bundle();
+ bundle.putBoolean(OmtpVvmSyncAdapter.SYNC_EXTRAS_DOWNLOAD, true);
+ bundle.putBoolean(ContentResolver.SYNC_EXTRAS_UPLOAD, true);
+ ContentResolver.requestSync(account, VoicemailContract.AUTHORITY, bundle);
}
}
diff --git a/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncAccountManager.java b/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncAccountManager.java
index 4ac21b4..fcb284e 100644
--- a/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncAccountManager.java
+++ b/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncAccountManager.java
@@ -21,13 +21,18 @@
import android.content.Context;
import android.provider.VoicemailContract;
import android.telecom.PhoneAccountHandle;
+import android.telephony.PhoneStateListener;
import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
import android.util.Log;
import com.android.phone.PhoneUtils;
import com.android.phone.vvm.omtp.OmtpConstants;
import com.android.phone.vvm.omtp.sms.StatusMessage;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* A singleton class designed to assist in OMTP visual voicemail sync behavior.
*/
@@ -44,6 +49,10 @@
private Context mContext;
private SubscriptionManager mSubscriptionManager;
private AccountManager mAccountManager;
+ private TelephonyManager mTelephonyManager;
+ // Each account is associated with a phone state listener for updates to whether the device
+ // is able to sync.
+ private Map<Account, PhoneStateListener> mPhoneStateListenerMap;
/**
* Private constructor. Instance should only be acquired through getInstance().
@@ -64,6 +73,9 @@
mContext = context;
mSubscriptionManager = SubscriptionManager.from(context);
mAccountManager = AccountManager.get(context);
+ mTelephonyManager = (TelephonyManager)
+ mContext.getSystemService(Context.TELEPHONY_SERVICE);
+ mPhoneStateListenerMap = new HashMap<Account, PhoneStateListener>();
}
}
@@ -100,10 +112,27 @@
VoicemailContract.Status.CONFIGURATION_STATE_NOT_CONFIGURED,
VoicemailContract.Status.DATA_CHANNEL_STATE_NO_CONNECTION,
VoicemailContract.Status.NOTIFICATION_CHANNEL_STATE_NO_CONNECTION);
+
+ removePhoneStateListener(registeredAccounts[i]);
}
}
}
+ public void addPhoneStateListener(Account account) {
+ if (!mPhoneStateListenerMap.containsKey(account)) {
+ VvmPhoneStateListener phoneStateListener = new VvmPhoneStateListener(mContext,
+ PhoneUtils.makePstnPhoneAccountHandle(account.name));
+ mPhoneStateListenerMap.put(account, phoneStateListener);
+ mTelephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_SERVICE_STATE);
+ }
+ }
+
+ public void removePhoneStateListener(Account account) {
+ PhoneStateListener phoneStateListener =
+ mPhoneStateListenerMap.remove(account);
+ mTelephonyManager.listen(phoneStateListener, 0);
+ }
+
/**
* Check if a certain account is registered.
*
diff --git a/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncService.java b/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncService.java
index 2fbeaab..7fb4df2 100644
--- a/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncService.java
+++ b/src/com/android/phone/vvm/omtp/sync/OmtpVvmSyncService.java
@@ -80,7 +80,7 @@
@Override
public void onPerformSync(Account account, Bundle extras, String authority,
ContentProviderClient provider, SyncResult syncResult) {
- ImapHelper imapHelper = new ImapHelper(mContext, account);
+ ImapHelper imapHelper = new ImapHelper(mContext, account, null);
VoicemailsQueryHelper queryHelper = new VoicemailsQueryHelper(mContext);
if (extras.getBoolean(ContentResolver.SYNC_EXTRAS_UPLOAD, false)) {
diff --git a/src/com/android/phone/vvm/omtp/sync/VoicemailStatusQueryHelper.java b/src/com/android/phone/vvm/omtp/sync/VoicemailStatusQueryHelper.java
new file mode 100644
index 0000000..fa87a59
--- /dev/null
+++ b/src/com/android/phone/vvm/omtp/sync/VoicemailStatusQueryHelper.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2015 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.vvm.omtp.sync;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.VoicemailContract;
+import android.provider.VoicemailContract.Status;
+import android.telecom.PhoneAccountHandle;
+import android.util.Log;
+
+/**
+ * Construct queries to interact with the voicemail status table.
+ */
+public class VoicemailStatusQueryHelper {
+ private static final String TAG = "VoicemailStatusQueryHelper";
+
+ final static String[] PROJECTION = new String[] {
+ Status._ID, // 0
+ Status.NOTIFICATION_CHANNEL_STATE, // 1
+ Status.SOURCE_PACKAGE // 2
+ };
+
+ public static final int _ID = 0;
+ public static final int NOTIFICATION_CHANNEL_STATE = 1;
+ public static final int SOURCE_PACKAGE = 2;
+
+ private Context mContext;
+ private ContentResolver mContentResolver;
+ private Uri mSourceUri;
+
+ public VoicemailStatusQueryHelper(Context context) {
+ mContext = context;
+ mContentResolver = context.getContentResolver();
+ mSourceUri = VoicemailContract.Status.buildSourceUri(mContext.getPackageName());
+ }
+
+ /**
+ * Check if the notifications channel of a voicemail source is active. That is, when a new
+ * voicemail is available, if the server able to notify the device.
+ *
+ * @return {@code true} if notifications channel is active, {@code false} otherwise.
+ */
+ public boolean isNotificationsChannelActive(PhoneAccountHandle phoneAccount) {
+ Cursor cursor = null;
+ if (phoneAccount != null) {
+ String phoneAccountComponentName = phoneAccount.getComponentName().flattenToString();
+ String phoneAccountId = phoneAccount.getId();
+ if (phoneAccountComponentName == null || phoneAccountId == null) {
+ return false;
+ }
+ try {
+ String whereClause =
+ Status.PHONE_ACCOUNT_COMPONENT_NAME + "=? AND " +
+ Status.PHONE_ACCOUNT_ID + "=? AND " + Status.SOURCE_PACKAGE + "=?";
+ String[] whereArgs = { phoneAccountComponentName, phoneAccountId,
+ mContext.getPackageName()};
+ cursor = mContentResolver.query(
+ mSourceUri, PROJECTION, whereClause, whereArgs, null);
+ if (cursor != null && cursor.moveToFirst()) {
+ return cursor.getInt(NOTIFICATION_CHANNEL_STATE) ==
+ Status.NOTIFICATION_CHANNEL_STATE_OK;
+ }
+ }
+ finally {
+ if (cursor != null) {
+ cursor.close();
+ }
+ }
+ }
+ return false;
+ }
+}
diff --git a/src/com/android/phone/vvm/omtp/sync/VoicemailsQueryHelper.java b/src/com/android/phone/vvm/omtp/sync/VoicemailsQueryHelper.java
index f844e36..f45adf7 100644
--- a/src/com/android/phone/vvm/omtp/sync/VoicemailsQueryHelper.java
+++ b/src/com/android/phone/vvm/omtp/sync/VoicemailsQueryHelper.java
@@ -31,7 +31,7 @@
import java.util.List;
/**
- * Construct a queries to interact with the voicemails table.
+ * Construct queries to interact with the voicemails table.
*/
public class VoicemailsQueryHelper {
private static final String TAG = "VoicemailsQueryHelper";
@@ -102,8 +102,8 @@
try {
List<Voicemail> voicemails = new ArrayList<Voicemail>();
while (cursor.moveToNext()) {
- final long id = cursor.getLong(VoicemailsQueryHelper._ID);
- final String sourceData = cursor.getString(VoicemailsQueryHelper.SOURCE_DATA);
+ final long id = cursor.getLong(_ID);
+ final String sourceData = cursor.getString(SOURCE_DATA);
Voicemail voicemail = Voicemail.createForUpdate(id, sourceData).build();
voicemails.add(voicemail);
}
diff --git a/src/com/android/phone/vvm/omtp/sync/VvmPhoneStateListener.java b/src/com/android/phone/vvm/omtp/sync/VvmPhoneStateListener.java
new file mode 100644
index 0000000..c7c1116
--- /dev/null
+++ b/src/com/android/phone/vvm/omtp/sync/VvmPhoneStateListener.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2015 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.vvm.omtp.sync;
+
+import android.content.Context;
+import android.provider.VoicemailContract;
+import android.telecom.PhoneAccountHandle;
+import android.telephony.PhoneStateListener;
+import android.telephony.ServiceState;
+
+import com.android.phone.PhoneUtils;
+
+/**
+ * Check if service is lost and indicate this in the voicemail status.
+ */
+public class VvmPhoneStateListener extends PhoneStateListener {
+ private PhoneAccountHandle mPhoneAccount;
+ private Context mContext;
+ public VvmPhoneStateListener(Context context, PhoneAccountHandle accountHandle) {
+ super(PhoneUtils.getSubIdForPhoneAccountHandle(accountHandle));
+ mContext = context;
+ mPhoneAccount = accountHandle;
+ }
+
+ @Override
+ public void onServiceStateChanged(ServiceState serviceState) {
+ if (serviceState.getState() == ServiceState.STATE_IN_SERVICE) {
+ VoicemailContract.Status.setStatus(mContext, mPhoneAccount,
+ VoicemailContract.Status.CONFIGURATION_STATE_OK,
+ VoicemailContract.Status.DATA_CHANNEL_STATE_OK,
+ VoicemailContract.Status.NOTIFICATION_CHANNEL_STATE_OK);
+ } else {
+ VoicemailContract.Status.setStatus(mContext, mPhoneAccount,
+ VoicemailContract.Status.CONFIGURATION_STATE_OK,
+ VoicemailContract.Status.DATA_CHANNEL_STATE_NO_CONNECTION,
+ VoicemailContract.Status.NOTIFICATION_CHANNEL_STATE_NO_CONNECTION);
+ }
+ }
+}
diff --git a/src/com/android/services/telephony/TelecomAccountRegistry.java b/src/com/android/services/telephony/TelecomAccountRegistry.java
index 6e9d522..4b5096b 100644
--- a/src/com/android/services/telephony/TelecomAccountRegistry.java
+++ b/src/com/android/services/telephony/TelecomAccountRegistry.java
@@ -19,8 +19,12 @@
import android.content.ComponentName;
import android.content.Context;
import android.content.res.Configuration;
+import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
+import android.graphics.Canvas;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.net.Uri;
import android.telecom.PhoneAccount;
@@ -53,7 +57,7 @@
// This icon is the one that is used when the Slot ID that we have for a particular SIM
// is not supported, i.e. SubscriptionManager.INVALID_SLOT_ID or the 5th SIM in a phone.
- private final static int defaultPhoneAccountIcon = R.drawable.ic_multi_sim;
+ private final static int DEFAULT_SIM_ICON = R.drawable.ic_multi_sim;
final class AccountEntry implements PstnPhoneCapabilitiesNotifier.Listener {
private final Phone mPhone;
@@ -104,7 +108,7 @@
String label;
String description;
- Bitmap iconBitmap = null;
+ Icon icon = null;
// We can only get the real slotId from the SubInfoRecord, we can't calculate the
// slotId from the subId or the phoneId in all instances.
@@ -126,7 +130,7 @@
subDisplayName = record.getDisplayName();
slotId = record.getSimSlotIndex();
color = record.getIconTint();
- iconBitmap = record.createIconBitmap(mContext);
+ icon = Icon.createWithBitmap(record.createIconBitmap(mContext));
}
String slotIdString;
@@ -164,10 +168,21 @@
updateVideoPauseSupport(record);
}
- if (iconBitmap == null) {
- iconBitmap = BitmapFactory.decodeResource(
- mContext.getResources(),
- defaultPhoneAccountIcon);
+ if (icon == null) {
+ // TODO: Switch to using Icon.createWithResource() once that supports tinting.
+ Resources res = mContext.getResources();
+ Drawable drawable = res.getDrawable(DEFAULT_SIM_ICON, null);
+ drawable.setTint(res.getColor(R.color.default_sim_icon_tint_color, null));
+ drawable.setTintMode(PorterDuff.Mode.SRC_ATOP);
+
+ int width = drawable.getIntrinsicWidth();
+ int height = drawable.getIntrinsicHeight();
+ Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
+ Canvas canvas = new Canvas(bitmap);
+ drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
+ drawable.draw(canvas);
+
+ icon = Icon.createWithBitmap(bitmap);
}
PhoneAccount account = PhoneAccount.builder(phoneAccountHandle, label)
@@ -175,7 +190,7 @@
.setSubscriptionAddress(
Uri.fromParts(PhoneAccount.SCHEME_TEL, subNumber, null))
.setCapabilities(capabilities)
- .setIcon(iconBitmap == null ? null : Icon.createWithBitmap(iconBitmap))
+ .setIcon(icon)
.setHighlightColor(color)
.setShortDescription(description)
.setSupportedUriSchemes(Arrays.asList(