am 0ceb5a12: Add permission to CONNECTION_MANAGER PhoneAccount registration.

* commit '0ceb5a12f6fc2d9a4c9abe5361cbf7b4736e1a85':
  Add permission to CONNECTION_MANAGER PhoneAccount registration.
diff --git a/Android.mk b/Android.mk
index b272445..395aacc 100644
--- a/Android.mk
+++ b/Android.mk
@@ -14,7 +14,7 @@
 LOCAL_CERTIFICATE := platform
 LOCAL_PRIVILEGED_MODULE := true
 
-LOCAL_PROGUARD_ENABLED := optimization
+LOCAL_PROGUARD_FLAGS := $(proguard.flags)
 
 # Workaround for "local variable type mismatch" error.
 LOCAL_DX_FLAGS += --no-locals
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index bf6d335..9fc3317 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"দ্রুত প্রতিক্রিয়া"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"ডিফল্ট অ্যাপ্লিকেশন পুনরায় সেট করুন"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> এ বার্তা পাঠানো হয়েছে৷"</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"ফোন অ্যাকাউন্ট সেটিংস"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"আউটগোয়িং ডিফল্ট অ্যাকাউন্ট"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Wi-Fi এর মাধ্যমে কল করার অ্যাকাউন্ট"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"প্রতিবার জিজ্ঞাসা করুন"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Wi-Fi কলিং ব্যবহার করবেন না"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"জরুরী নয় এমন ফোন কল করার জন্য ব্যবহারকারী অনুমতি পাননি"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"কল করা যায়নি, কোনো বৈধ নম্বর লেখা হয়নি।"</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"ভয়েসমেল নম্বর অনুপস্থিত"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"সিম কার্ডটিতে কোনো ভয়েসমেল নম্বর সংরক্ষিত নেই৷"</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"একটি নম্বর যোগ করুন"</string>
 </resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index d1f644e..b194e6e 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Erantzun bizkorra"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"Berrezarri aplik. lehenetsia"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"Mezua bidali da <xliff:g id="PHONE_NUMBER">%s</xliff:g> zenbakira."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"Telefonoaren kontuaren ezarpenak"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"Irteerako kontu lehenetsia"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Wi-Fi bidezko deiak egiteko kontua"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"Galdetu beti"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Ez erabili Wi-Fi bidezko deiak"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"Erabiltzaile honek ez du larrialdietakoak ez diren telefono-deiak egiteko baimenik"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"Ez da deia egin ez delako baliozko zenbakirik idatzi."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"Erantzungailuaren zenbakia falta da"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"Ez da erantzungailuaren zenbakirik gorde SIM txartelean."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"Gehitu zenbakia"</string>
 </resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index d7bde86..f75da28 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Resposta rápida"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"Restablecer aplicación predet."</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"Mensaxe enviada ao <xliff:g id="PHONE_NUMBER">%s</xliff:g>."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"Configuración da conta do teléfono"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"Conta saínte predeterminada"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Conta de chamadas wifi"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"Preguntar sempre"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Non utilizar as chamadas wifi"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"Este usuario non ten permiso para facer chamadas telefónicas que non sexan de emerxencia"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"Chamada non enviada; o número introducido non é válido."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"Falta o número de correo de voz"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"Non hai ningún número de correo de voz almacenado na tarxeta SIM."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"Engadir número"</string>
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f49074f..debd49b 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -30,15 +30,15 @@
     <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"मैं आपको वापस कॉल करूंगा/करूंगी."</string>
     <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"मैं आपको बाद में कॉल करूंगा/करूंगी."</string>
     <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"अभी बात नहीं हो सकती. बाद में कॉल करें?"</string>
-    <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"झटपट उत्तर"</string>
-    <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"झटपट उत्तर संपादित करें"</string>
+    <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"त्वरित प्रतिसाद"</string>
+    <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"त्वरित प्रतिसाद संपादित करें"</string>
     <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
-    <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"झटपट उत्तर"</string>
+    <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"त्वरित प्रतिसाद"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"डिफ़ॉल्ट ऐप्स  रीसेट करें"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> को संदेश भेजा गया."</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"इस उपयोगकर्ता को गैर-आपातकालीन फ़ोन कॉल करने की अनुमति नहीं है"</string>
     <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"कॉल नहीं भेजा गया, कोई मान्य नंबर नहीं डाला गया था."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"गुम वॉयस मेल नंबर"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"सिम कार्ड पर कोई वॉयस मेल नंबर संग्रहीत नहीं है."</string>
+    <string name="no_vm_number" msgid="4164780423805688336">"गुम ध्वनिमेल नंबर"</string>
+    <string name="no_vm_number_msg" msgid="1300729501030053828">"सिम कार्ड पर कोई ध्वनिमेल नंबर संग्रहीत नहीं है."</string>
     <string name="add_vm_number_str" msgid="4676479471644687453">"नंबर जोड़ें"</string>
 </resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 4a7fb77..8c37bd3 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Snarsvar"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"Endurstilla sjálfgefið forrit"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"Skilaboð send til <xliff:g id="PHONE_NUMBER">%s</xliff:g>."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"Reikningsstillingar síma"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"Sjálfgefinn sendingarreikningur"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Reikningur Wi-Fi símtala"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"Spyrja í hvert skipti"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Ekki nota Wi-Fi símtöl"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"Þessi notandi hefur ekki leyfi til að hringja símtöl önnur en neyðarsímtöl"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"Símtalið var ekki sent. Ekki var slegið inn gilt símanúmer."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"Talhólfsnúmer vantar"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"Ekkert talhólfsnúmer er vistað á SIM-kortinu."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"Bæta númeri við"</string>
 </resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index b5991d5..921c40c 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Жылдам жауап"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"Бастапқы қолдб-ға қайта реттеу"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"Хабар <xliff:g id="PHONE_NUMBER">%s</xliff:g> нөміріне жіберілді."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"Телефон есептік жазбасының параметрлері"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"Әдепкі шығыс есептік жазба"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Wi-Fi қоңыраулар есептік жазбасы"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"Әр қоңырау үшін сұрау"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Wi-Fi қоңырауларын пайдаланбау"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"Бұл пайдаланушыға жедел емес қоңырауларды шалуға рұқсат етілмеген"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"Қоңырау жіберілмеді, енгізілген нөмір жарамсыз."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"Дауыс хабарының нөмірі жоқ"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"SIM картасында ешқандай дауыс хабарының нөмірі сақталмаған."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"Нөмір қосу"</string>
 </resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 9d1390f..5109406 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -18,10 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="telecommAppLabel" product="default" msgid="3477737022166975496">"ಫೋನ್"</string>
     <string name="unknown" msgid="6878797917991465859">"ಅಜ್ಞಾತ"</string>
-    <string name="notification_missedCallTitle" msgid="7554385905572364535">"ಮಿಸ್ಡ್‌ ಕಾಲ್‌"</string>
+    <string name="notification_missedCallTitle" msgid="7554385905572364535">"ತಪ್ಪಿ ಹೋದ ಕರೆ"</string>
     <string name="notification_missedCallsTitle" msgid="1361677948941502522">"ತಪ್ಪಿದ ಕರೆಗಳು"</string>
     <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ತಪ್ಪಿದ ಕರೆಗಳು"</string>
-    <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> ಅವರಿಂದ ಮಿಸ್ಡ್‌ ಕಾಲ್‌"</string>
+    <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> ಅವರಿಂದ ತಪ್ಪಿದ ಕರೆ"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"ಮರಳಿ ಕರೆ ಮಾಡಿ"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"ಸಂದೇಶ"</string>
     <string name="accessibility_call_muted" msgid="2776111226185342220">"ಕರೆಯನ್ನು ಮ್ಯೂಟ್ ಮಾಡಲಾಗಿದೆ."</string>
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"ತ್ವರಿತ ಪ್ರತಿಕ್ರಿಯೆ"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"ಡೀಫಾಲ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ ಮರುಹೊಂದಿಸಿ"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> ಗೆ ಸಂದೇಶ ಕಳುಹಿಸಲಾಗಿದೆ."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"ಫೋನ್ ಖಾತೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"ಡೀಫಾಲ್ಟ್ ಹೊರಹೋಗುವ ಖಾತೆ"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Wi-Fi ಕರೆ ಮಾಡುವ ಖಾತೆ"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"ಪ್ರತಿ ಬಾರಿ ಕೇಳಿ"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Wi-Fi ಕರೆ ಮಾಡುವಿಕೆಯನ್ನು ಬಳಸಬೇಡಿ"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"ತುರ್ತುಸ್ಥಿತಿಯಲ್ಲದ ಫೋನ್‌ ಕರೆಗಳನ್ನು ಮಾಡಲು ಈ ಬಳಕೆದಾರರನ್ನು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"ಕರೆ ಮಾಡಲಾಗಿಲ್ಲ, ಯಾವುದೇ ಮಾನ್ಯವಾದ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿಲ್ಲ."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"ಧ್ವನಿಮೇಲ್‌ ಸಂಖ್ಯೆಯು ಕಾಣೆಯಾಗಿದೆ"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"SIM ಕಾರ್ಡ್‌ನಲ್ಲಿ ಯಾವುದೇ ಧ್ವನಿಮೇಲ್‌ ಸಂಖ್ಯೆಯನ್ನು ಸಂಗ್ರಹಿಸಿಲ್ಲ."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"ಸಂಖ್ಯೆಯನ್ನು ಸೇರಿಸಿ"</string>
 </resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 3fe403b..064a0d1 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -45,12 +45,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Тез жооп"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"Абалкы колдонмону өзгөртүү"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> номуруна билдирүү жөнөтүлдү."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"Телефондун каттоо эсебинин жөндөөлөрү"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"Демейки чыгуучу каттоо эсеби"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Wi-Fi чалуу үчүн каттоо эсеби"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"Чалган сайын сурасын"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Wi-Fi чалуу колдонулбасын"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"Бул колдонуучу шашылыш эмес чалууларды аткара албайт"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"Чалуу жөнөтүлгөн жок, жарактуу номер киргизилген жок."</string>
-    <!-- no translation found for no_vm_number (4164780423805688336) -->
-    <skip />
-    <!-- no translation found for no_vm_number_msg (1300729501030053828) -->
-    <skip />
-    <!-- no translation found for add_vm_number_str (4676479471644687453) -->
-    <skip />
 </resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index 2b02f38..52df23f 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Брз одговор"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"Ресетирај стандардна апликација"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"Порака е испратена на <xliff:g id="PHONE_NUMBER">%s</xliff:g>."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"Поставки на телефонска сметка"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"Стандардна излезна сметка"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Сметка за повикување преку Wi-Fi"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"Секогаш прашај"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Не користи повикување преку Wi-Fi"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"Корисникот нема дозвола да прави телефонски повици ако не е итно"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"Повикот не се поврза, внесен е неважечки број."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"Недостасува број на говорна пошта"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"Нема мемориран број на говорна пошта на СИМ картичката."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"Додај број"</string>
 </resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index 68b0679..3e8d420 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"ദ്രുത പ്രതികരണം"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"സ്ഥിര അപ്ലിക്കേഷൻ പുനഃസജ്ജമാക്കുക"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> എന്നതിലേക്ക് സന്ദേശമയച്ചു."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"ഫോൺ അക്കൗണ്ട് ക്രമീകരണങ്ങൾ"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"സ്ഥിര ഔട്ട്ഗോയിംഗ് അക്കൗണ്ട്"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Wi-Fi കോൾ ചെയ്യൽ അക്കൗണ്ട്"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"ഓരോ തവണയും ചോദിക്കുക"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Wi-Fi കോൾ ചെയ്യൽ ഉപയോഗിക്കരുത്"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"അത്യാവശ്യമല്ലാത്ത ഫോൺ കോളുകൾ ചെയ്യാൻ ഈ ഉപയോക്താവിനെ അനുവദിക്കുന്നില്ല"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"കോൾ ചെയ്യാനായില്ല, സാധുവായ നമ്പറൊന്നും നൽകിയിട്ടില്ല."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"വോയ്‌സ്മെയിൽ നമ്പർ കാണുന്നില്ല"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"SIM കാർഡിൽ വോയ്‌സ്‌മെയിൽ നമ്പറൊന്നും സംഭരിച്ചിട്ടില്ല."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"നമ്പർ ചേർക്കുക"</string>
 </resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index f0fdd48..c04c823 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"द्रुत प्रतिसाद"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"डीफॉल्ट अ‍ॅप रीसेट करा"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"संदेश <xliff:g id="PHONE_NUMBER">%s</xliff:g> वर पाठविला."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"फोन खाते सेटिंग्ज"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"डीफॉल्ट केले जाणारे खाते"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Wi-Fi कॉल करण्याचे खाते"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"प्रत्येक वेळी विचारा"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Wi-Fi कॉल करणे वापरू नका"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"या वापरकर्त्यास आणीबाणी-नसलेले फोन कॉल करण्‍याची अनुमती नाही"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"कॉल पाठविला नाही, वैध नंबर प्रविेष्‍ट केला नाही."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"व्हॉइसमेल नंबर गहाळ"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"सिम कार्डवर कोणताही व्हॉइसमेल नंबर संचयित केला नाही."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"नंबर जोडा"</string>
 </resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index 26809f7..3742912 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"အမြန်တုံ့ပြန်ချက်"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"ပုံသေ အပ်ပလီကေးရှင်းအား ပြန်ပြောင်းရန်"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> ထံ စာတိုပို့လိုက်ပါပြီ"</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"ဖုန်း အကောင့် ဆက်တင်များ"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"ပုံသေ အထွက် အကောင့်"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"ကြိုးမဲ့ ခေါ်ဆိုမှု အကောင့်"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"အကြိမ်တိုင်းမှာ မေးရန်"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"ကြိုးမဲ့ ခေါ်ဆိုမှုကို မသုံးပါနှင့်"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"ဒီအသုံးပြုသူအား အရေးပေါ် မဟုတ်သည့် ဖုန်း ခေါ်ဆိုမှုများ လုပ်ခွင့် မပြုပါ"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"ခေါ်ဆို မရခဲ့ပါ၊ ထည့်သွင်းခဲ့သည့် နံပါတ် မမှန်ပါ"</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"အသံစာပို့စနစ် နံပါတ် ပျောက်နေပါသည်"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"ဆင်းမ်ကဒ်ပေါ်တွင် အသံစာပို့စနစ် နံပါတ် သိမ်းဆည်ထားခြင်း မရှိပါ"</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"နံပါတ်ထပ်ထည့်ရန်"</string>
 </resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index 756b601..0fe8775 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"द्रुत प्रतिक्रिया"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"पूर्वनिर्धारित अनुप्रयोग पुनःसेट गर्नुहोस्"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> लाई सन्देश पठाइयो।"</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"फोन खाता सेटिङहरू"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"बहिर्गमन पूर्वनिर्धारित खाता"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"वाइफाइ कल गर्ने खाता"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"प्रत्येक चोटि सोध्नुहोस्"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"वाइफाइ कल प्रयोग नगर्नुहोस्"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"यो प्रयोगकर्तालाई गैर-आकस्मिक फोन कल गर्न अनुमति छैन"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"कल पठाइएन, सही नम्बर प्रविष्टि गरिएको छैन।"</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"भ्वाइसमेल नम्बर हराइरहेको छ"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"SIM कार्डमा कुनै पनि भ्वाइसमेल नम्बर भण्डारण भएको छैन।"</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"नम्बर थप्नुहोस्"</string>
 </resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index fc1f24e..91f9f29 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"ක්ෂණික ප්‍රතිචාරය"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"සුපුරුදු යෙදුම යළි සකසන්න"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> හට පණිවිඩය යවන්න."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"දුරකථන ගිණුම සැකසීම"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"සුපුරුදු එළියට යෑමේ ගිණුම"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Wi-Fi ඇමතුම් ගැනීමේ ගිණුම"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"සෑම වේලාවේම අසන්න"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Wi-Fi ඇමතුම භාවිතා කරන්න එපා"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"හදිසි-නැති දුරකථන ඇමතුම් සිදුකිරීමට මෙම පරිශීලකයාට අවසර නොමැත"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"ඇමතුම නොයැවිණි, වලංගු අංකයක් ඇතුලත් කර නැත."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"හඬ තැපැල් අංකය නැත"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"SIM කාඩ් පතෙහි හඬ තැපැල් අංකයක් ආචිත වී නැත."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"අංකයක් එක් කරන්න"</string>
 </resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index 4b29058..5c50ffb 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"விரைவு பதில்"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"இயல்பு பயன்பாட்டை மீட்டமை"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> க்குச் செய்தி அனுப்பப்பட்டது."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"ஃபோன் கணக்கு அமைப்புகள்"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"அழைப்பிற்கான இயல்புநிலை கணக்கு"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"வைஃபை அழைப்பிற்கான கணக்கு"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"ஒவ்வொரு முறையும் கேள்"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"வைஃபை அழைப்பைப் பயன்படுத்தாதே"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"அவசரமற்ற ஃபோன் அழைப்புகளைச் செய்ய இவருக்கு அனுமதியில்லை"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"அழைக்க முடியவில்லை, சரியான எண் உள்ளிடப்படவில்லை."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"குரலஞ்சல் எண் இல்லை"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"சிம் கார்டில் குரலஞ்சலுக்கான எண் எதுவும் சேமிக்கப்படவில்லை."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"எண்ணைச் சேர்"</string>
 </resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 4a660cd..627ed4a 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"శీఘ్ర ప్రతిస్పందన"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"డిఫాల్ట్ అనువర్తనాన్ని రీసెట్ చేయి"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"<xliff:g id="PHONE_NUMBER">%s</xliff:g>కు సందేశం పంపబడింది."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"ఫోన్ ఖాతా సెట్టింగ్‌లు"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"డిఫాల్ట్ అవుట్‌గోయింగ్ ఖాతా"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Wi-Fi కాలింగ్ ఖాతా"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"ప్రతిసారి అడుగు"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Wi-Fi కాలింగ్‌ను ఉపయోగించవద్దు"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"ఈ వినియోగదారుకి అత్యవసరం కాని ఫోన్ కాల్‌లు చేయడానికి అనుమతి లేదు"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"కాల్ చేయలేరు, చెల్లుబాటు అయ్యే నంబర్ నమోదు చేయలేదు."</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"వాయిస్ మెయిల్ నంబర్ లేదు"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"SIM కార్డులో వాయిస్ మెయిల్ నంబర్ ఏదీ నిల్వ చేయబడలేదు."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"నంబర్‌ను జోడించు"</string>
 </resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index a403f29..16b8bac 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"فوری جواب"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"ڈیفالٹ ایپ دوبارہ ترتیب دیں"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"پیغام <xliff:g id="PHONE_NUMBER">%s</xliff:g> کو بھیج دیا گیا۔"</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"فون اکاؤنٹ کی ترتیبات"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"ڈیفالٹ آؤٹ گوئنگ اکاؤنٹ"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"‏Wi-Fi کالنگ اکاؤنٹ"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"ہر بار پوچھیں"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"‏Wi-Fi کالنگ کا استعمال نہ کریں"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"اس صارف کو غیر ہنگامی فون کالیں کرنے کی اجازت نہیں ہے"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"کال نہیں بھیجی گئی، کوئی درست نمبر درج نہیں کیا گیا۔"</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"صوتی میل نمبر درج نہیں ہے"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"‏SIM کارڈ پر کوئی بھی صوتی میل نمبر اسٹور نہیں ہے۔"</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"نمبر شامل کریں"</string>
 </resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 96a456c..6d259b3 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -36,9 +36,10 @@
     <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Tezkor javob"</string>
     <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"Standart ilovani tiklash"</string>
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"Xabar <xliff:g id="PHONE_NUMBER">%s</xliff:g>ga jo‘natildi."</string>
+    <string name="phone_account_preferences_title" msgid="5042332049625236956">"Telefon hisobi sozlamalari"</string>
+    <string name="default_outgoing_account_title" msgid="8261079649574578970">"Chiquvchi qo‘ng‘iroqlar uchun birlamchi hisob"</string>
+    <string name="sim_call_manager_account" msgid="2559930293628077755">"Wi-Fi qo‘ng‘iroqlar uchun hisob"</string>
+    <string name="account_ask_every_time" msgid="944077828070287407">"Har safar so‘ralsin"</string>
+    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"Wi-Fi qo‘ng‘iroqlardan foydalanilmasin"</string>
     <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"Ushbu foydalanuvchiga favqulodda qo‘ng‘iroqlardan boshqa telefon qo‘ng‘iroqlarini amalga oshirish uchun ruxsat berilmagan"</string>
-    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"Qo‘ng‘iroq amalga oshmadi, chunki raqam noto‘g‘ri kiritildi"</string>
-    <string name="no_vm_number" msgid="4164780423805688336">"Javobsiz ovozli xabar raqami"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"SIM kartada birorta ham ovozli xabar saqlanmagan."</string>
-    <string name="add_vm_number_str" msgid="4676479471644687453">"Raqam qo‘shish"</string>
 </resources>
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index 05f4748..e07b279 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -436,7 +436,10 @@
             return null;
         }
 
-        if (phoneAccountHandle == null && accounts.size() > 1 && !isEmergencyCall) {
+        boolean needsAccountSelection = phoneAccountHandle == null && accounts.size() > 1 &&
+                !isEmergencyCall;
+
+        if (needsAccountSelection) {
             // This is the state where the user is expected to select an account
             call.setState(CallState.PRE_DIAL_WAIT);
             extras.putParcelableList(android.telecom.Call.AVAILABLE_PHONE_ACCOUNTS, accounts);
@@ -447,7 +450,7 @@
         call.setExtras(extras);
 
         // Do not add the call if it is a potential MMI code.
-        if (isPotentialMMICode(handle) || isPotentialInCallMMICode) {
+        if ((isPotentialMMICode(handle) || isPotentialInCallMMICode) && !needsAccountSelection) {
             call.addListener(this);
         } else {
             addCall(call);
@@ -696,7 +699,7 @@
         mProximitySensorManager.turnOff(screenOnImmediately);
     }
 
-    void phoneAccountSelected(Call call, PhoneAccountHandle account) {
+    void phoneAccountSelected(Call call, PhoneAccountHandle account, boolean setDefault) {
         if (!mCalls.contains(call)) {
             Log.i(this, "Attempted to add account to unknown call %s", call);
         } else {
@@ -715,6 +718,10 @@
             } else {
                 call.disconnect();
             }
+
+            if (setDefault) {
+                mPhoneAccountRegistrar.setUserSelectedOutgoingPhoneAccount(account);
+            }
         }
     }
 
diff --git a/src/com/android/server/telecom/InCallAdapter.java b/src/com/android/server/telecom/InCallAdapter.java
index 5a93464..d4af791 100644
--- a/src/com/android/server/telecom/InCallAdapter.java
+++ b/src/com/android/server/telecom/InCallAdapter.java
@@ -139,7 +139,8 @@
                     try {
                         call = mCallIdMapper.getCall(args.arg1);
                         if (call != null) {
-                            mCallsManager.phoneAccountSelected(call, (PhoneAccountHandle) args.arg2);
+                            mCallsManager.phoneAccountSelected(call,
+                                    (PhoneAccountHandle) args.arg2, args.argi1 == 1);
                         } else {
                             Log.w(this, "phoneAccountSelected, unknown call id: %s", args.arg1);
                         }
@@ -284,11 +285,13 @@
     }
 
     @Override
-    public void phoneAccountSelected(String callId, PhoneAccountHandle accountHandle) {
+    public void phoneAccountSelected(String callId, PhoneAccountHandle accountHandle,
+            boolean setDefault) {
         if (mCallIdMapper.isValidCallId(callId)) {
             SomeArgs args = SomeArgs.obtain();
             args.arg1 = callId;
             args.arg2 = accountHandle;
+            args.argi1 = setDefault? 1 : 0;
             mHandler.obtainMessage(MSG_PHONE_ACCOUNT_SELECTED, args).sendToTarget();
         }
     }
diff --git a/src/com/android/server/telecom/PhoneAccountRegistrar.java b/src/com/android/server/telecom/PhoneAccountRegistrar.java
index ab65d15..4ee2c88 100644
--- a/src/com/android/server/telecom/PhoneAccountRegistrar.java
+++ b/src/com/android/server/telecom/PhoneAccountRegistrar.java
@@ -28,6 +28,7 @@
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
+import android.telephony.PhoneNumberUtils;
 import android.content.ComponentName;
 import android.content.Context;
 import android.net.Uri;
@@ -91,6 +92,7 @@
     private final Context mContext;
     private State mState;
 
+    @VisibleForTesting
     public PhoneAccountRegistrar(Context context) {
         this(context, FILE_NAME);
     }
@@ -113,6 +115,36 @@
     }
 
     /**
+     * Retrieves the phone account id for a given subscription id if it exists. Subscription ids
+     * apply only to PSTN/SIM card phone accounts so all other accounts should not have a
+     * subscription id.
+     * @param subscriptionId The subscription id for which to construct the phone account id
+     * @return The string representing the phone account id for the subscription id.
+     */
+    public String getPhoneAccountIdForSubscriptionId(long subscriptionId) {
+        return String.valueOf(subscriptionId);
+    }
+
+    /**
+     * Retrieves the subscription id for a given phone account if it exists. Subscription ids
+     * apply only to PSTN/SIM card phone accounts so all other accounts should not have a
+     * subscription id.
+     * @param accountHandle The handle for the phone account for which to retrieve the
+     * subscription id.
+     * @return The value of the subscription id (long) or -1 if it does not exist or is not valid.
+     */
+    public long getSubscriptionIdForPhoneAccount(PhoneAccountHandle accountHandle) {
+        PhoneAccount account = getPhoneAccount(accountHandle);
+        if (account == null || !account.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION) ||
+                !TextUtils.isDigitsOnly(accountHandle.getId())) {
+            // Since no decimals or negative numbers can be valid subscription ids, only a string of
+            // numbers can be subscription id
+            return -1;
+        }
+        return Long.parseLong(accountHandle.getId());
+    }
+
+    /**
      * Retrieves the default outgoing phone account supporting the specified uriScheme.
      * @param uriScheme The URI scheme for the outgoing call.
      * @return The {@link PhoneAccountHandle} to use.
@@ -412,6 +444,11 @@
         }
     }
 
+    public boolean isVoiceMailNumber(PhoneAccountHandle accountHandle, String number) {
+        long subId = getSubscriptionIdForPhoneAccount(accountHandle);
+        return PhoneNumberUtils.isVoiceMailNumber(subId, number);
+    }
+
     public void addListener(Listener l) {
         mListeners.add(l);
     }
@@ -773,6 +810,7 @@
         private static final String SUBSCRIPTION_ADDRESS = "subscription_number";
         private static final String CAPABILITIES = "capabilities";
         private static final String ICON_RES_ID = "icon_res_id";
+        private static final String COLOR = "color";
         private static final String LABEL = "label";
         private static final String SHORT_DESCRIPTION = "short_description";
         private static final String SUPPORTED_URI_SCHEMES = "supported_uri_schemes";
@@ -795,6 +833,7 @@
                 writeTextSafely(SUBSCRIPTION_ADDRESS, o.getSubscriptionAddress(), serializer);
                 writeTextSafely(CAPABILITIES, Integer.toString(o.getCapabilities()), serializer);
                 writeTextSafely(ICON_RES_ID, Integer.toString(o.getIconResId()), serializer);
+                writeTextSafely(COLOR, Integer.toString(o.getColor()), serializer);
                 writeTextSafely(LABEL, o.getLabel(), serializer);
                 writeTextSafely(SHORT_DESCRIPTION, o.getShortDescription(), serializer);
                 writeStringList(SUPPORTED_URI_SCHEMES, o.getSupportedUriSchemes(), serializer);
@@ -812,6 +851,7 @@
                 Uri subscriptionAddress = null;
                 int capabilities = 0;
                 int iconResId = 0;
+                int color = 0;
                 String label = null;
                 String shortDescription = null;
                 List<String> supportedUriSchemes = null;
@@ -834,6 +874,9 @@
                     } else if (parser.getName().equals(ICON_RES_ID)) {
                         parser.next();
                         iconResId = Integer.parseInt(parser.getText());
+                    } else if (parser.getName().equals(COLOR)) {
+                        parser.next();
+                        color = Integer.parseInt(parser.getText());
                     } else if (parser.getName().equals(LABEL)) {
                         parser.next();
                         label = parser.getText();
@@ -871,6 +914,7 @@
                         .setSubscriptionAddress(subscriptionAddress)
                         .setCapabilities(capabilities)
                         .setIconResId(iconResId)
+                        .setColor(color)
                         .setShortDescription(shortDescription)
                         .setSupportedUriSchemes(supportedUriSchemes)
                         .build();
diff --git a/src/com/android/server/telecom/TelecomServiceImpl.java b/src/com/android/server/telecom/TelecomServiceImpl.java
index aaa3d16..7113678 100644
--- a/src/com/android/server/telecom/TelecomServiceImpl.java
+++ b/src/com/android/server/telecom/TelecomServiceImpl.java
@@ -35,9 +35,9 @@
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
+import android.telephony.PhoneNumberUtils;
 import android.telephony.TelephonyManager;
 
-
 // TODO: Needed for move to system service: import com.android.internal.R;
 import com.android.internal.telecom.ITelecomService;
 import com.android.internal.util.IndentingPrintWriter;
@@ -332,6 +332,20 @@
     }
 
     /**
+     * @see android.telecom.TelecomManager#isVoiceMailNumber
+     */
+    @Override
+    public boolean isVoiceMailNumber(PhoneAccountHandle accountHandle, String number) {
+        enforceReadPermissionOrDefaultDialer();
+        try {
+            return mPhoneAccountRegistrar.isVoiceMailNumber(accountHandle, number);
+        } catch (Exception e) {
+            Log.e(this, e, "getSubscriptionIdForPhoneAccount");
+            throw e;
+        }
+    }
+
+    /**
      * @see android.telecom.TelecomManager#silenceRinger
      */
     @Override
diff --git a/tests/src/com/android/server/telecom/tests/unit/PhoneAccountRegistrarTest.java b/tests/src/com/android/server/telecom/tests/unit/PhoneAccountRegistrarTest.java
index 014c2d2..cd1bbd1 100644
--- a/tests/src/com/android/server/telecom/tests/unit/PhoneAccountRegistrarTest.java
+++ b/tests/src/com/android/server/telecom/tests/unit/PhoneAccountRegistrarTest.java
@@ -260,6 +260,7 @@
             assertEquals(a.getSubscriptionAddress(), b.getSubscriptionAddress());
             assertEquals(a.getCapabilities(), b.getCapabilities());
             assertEquals(a.getIconResId(), b.getIconResId());
+            assertEquals(a.getColor(), b.getColor());
             assertEquals(a.getLabel(), b.getLabel());
             assertEquals(a.getShortDescription(), b.getShortDescription());
             assertEquals(a.getSupportedUriSchemes(), b.getSupportedUriSchemes());