Merge TQ1A.230105.002 to aosp-master - DO NOT MERGE

Merged-In: I5f7aab63d8e4570fe0e950258a537dc9d2e52943
Merged-In: Ibabc90bf50f19a5b786c294c55347eee8bff2551

Change-Id: I7f66772b16cd7a296adca7c34a2a47e1b7980ebd
diff --git a/ecc/input/OWNERS b/ecc/input/OWNERS
index d9ecbb7..5685875 100644
--- a/ecc/input/OWNERS
+++ b/ecc/input/OWNERS
@@ -1,5 +1,4 @@
 set noparent
 
-djkrause@google.com
-satk@google.com
-somakala@google.com
\ No newline at end of file
+tgunn@google.com
+chinmayd@google.com
\ No newline at end of file
diff --git a/ecc/output/OWNERS b/ecc/output/OWNERS
index d9ecbb7..5685875 100644
--- a/ecc/output/OWNERS
+++ b/ecc/output/OWNERS
@@ -1,5 +1,4 @@
 set noparent
 
-djkrause@google.com
-satk@google.com
-somakala@google.com
\ No newline at end of file
+tgunn@google.com
+chinmayd@google.com
\ No newline at end of file
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 6781a2a..5d19229 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -34,7 +34,7 @@
     <string name="enter_input" msgid="6193628663039958990">"የUSSD መልዕክት በ<xliff:g id="MIN_LEN">%1$d</xliff:g> እና <xliff:g id="MAX_LEN">%2$d</xliff:g> ቁምፊዎች መካከል መሆን አለበት። እባክዎ እንደገና ይሞክሩ።"</string>
     <string name="manageConferenceLabel" msgid="8415044818156353233">"የስብሰባስልክ ጥሪ አደራጅ"</string>
     <string name="ok" msgid="7818974223666140165">"እሺ"</string>
-    <string name="audio_mode_speaker" msgid="243689733219312360">"ድምጽ ማጉያ"</string>
+    <string name="audio_mode_speaker" msgid="243689733219312360">"ድምፅ ማጉያ"</string>
     <string name="audio_mode_earpiece" msgid="2823700267171134282">"የስልክ እጀታ ጆሮማዳመጫ"</string>
     <string name="audio_mode_wired_headset" msgid="5028010823105817443">"ባለ ገመድ የጆሮ ማዳመጫ"</string>
     <string name="audio_mode_bluetooth" msgid="25732183428018809">"ብሉቱዝ"</string>
@@ -623,7 +623,7 @@
     <string name="ota_title_activate_success" msgid="1272135024761004889">"ስልክ አግብረሃል!"</string>
     <string name="ota_title_problem_with_activation" msgid="7019745985413368726">"ከአግብር ጋር ያለ ችግር"</string>
     <string name="ota_listen" msgid="2772252405488894280">"አግብር መጠናቀቁን እስኪሰሙ የተነገሩትን መመሪያዎች ይከተሉ።"</string>
-    <string name="ota_speaker" msgid="1086766980329820528">"ድምጽ ማጉያ"</string>
+    <string name="ota_speaker" msgid="1086766980329820528">"ድምፅ ማጉያ"</string>
     <string name="ota_progress" msgid="8837259285255700132">"ስልክዎን ፕሮግራም በማድረግ ላይ…"</string>
     <string name="ota_failure" msgid="5674217489921481576">"ስልክዎን ፕሮግራም ማድረግ አልተቻለም"</string>
     <string name="ota_successful" msgid="1106825981548107774">"አሁን ስልክዎ አግብሯል።አገልግሎቱ ለመጀመር እስከ 15 ደቂቃዎች ሊፈጅ ይችላል።"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index be6a4ff..2d0b83b 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -566,7 +566,7 @@
     <string name="emergency_enable_radio_dialog_message" msgid="1695305158151408629">"جارٍ تفعيل اللاسلكي..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="4329131876852608587">"لا تتوفر خدمة. جارٍ إعادة المحاولة…"</string>
     <string name="radio_off_during_emergency_call" msgid="8011154134040481609">"لا يمكن دخول وضع الطيران أثناء إجراء مكالمة طوارئ."</string>
-    <string name="dial_emergency_error" msgid="825822413209026039">"يتعذر الاتصال. لا يعد <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> رقم طوارئ."</string>
+    <string name="dial_emergency_error" msgid="825822413209026039">"يتعذر الاتصال. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ليس رقم طوارئ."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"يتعذر الاتصال. يمكنك طلب رقم طوارئ."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"مكالمة الطوارئ غير متوفرة"</string>
     <string name="pin_puk_system_user_only" msgid="1045147220686867922">"‏يمكن لمالك الجهاز فقط إدخال رمزَي PIN/PUK."</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 4e91747..583de99 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -144,7 +144,7 @@
     <string name="stk_cc_ss_to_ussd_error" msgid="8330749347425752192">"SS অনুৰোধ USSD অনুৰোধলৈ সলনি কৰা হ’ল"</string>
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"নতুন SS অনুৰোধলৈ সলনি কৰা হ’ল"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"SS অনুৰোধ ভিডিঅ\' কললৈ সলনি কৰা হ’ল"</string>
-    <string name="fdn_check_failure" msgid="1833769746374185247">"আপোনাৰ ফ\'ন এপটোৰ ফিক্সড্ ডায়েলিং নম্বৰ ছেটিঙটো অন কৰি থোৱা আছে। ফলস্বৰূপে, কল সম্পৰ্কীয় কিছুমান সুবিধাই কাম কৰা নাই।"</string>
+    <string name="fdn_check_failure" msgid="1833769746374185247">"আপোনাৰ ফ\'ন এপ্‌টোৰ ফিক্সড্ ডায়েলিং নম্বৰ ছেটিঙটো অন কৰি থোৱা আছে। ফলস্বৰূপে, কল সম্পৰ্কীয় কিছুমান সুবিধাই কাম কৰা নাই।"</string>
     <string name="radio_off_error" msgid="8321564164914232181">"এই ছেটিংসমূহ চোৱাৰ আগতে ৰেডিঅ\' অন কৰক।"</string>
     <string name="close_dialog" msgid="1074977476136119408">"ঠিক"</string>
     <string name="enable" msgid="2636552299455477603">"অন কৰক"</string>
@@ -179,7 +179,7 @@
     <string name="network_query_error" msgid="3862515805115145124">"নেটৱৰ্ক বিচাৰি পোৱা নগ\'ল। আকৌ চেষ্টা কৰক।"</string>
     <string name="register_on_network" msgid="4194770527833960423">"<xliff:g id="NETWORK">%s</xliff:g>ৰ লগত পঞ্জীয়ন কৰি থকা হৈছে…"</string>
     <string name="not_allowed" msgid="8541221928746104798">"আপোনাৰ ছিম কাৰ্ডখনে এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিবলৈ অনুমতি নিদিয়ে।"</string>
-    <string name="connect_later" msgid="1950138106010005425">"এই মুহূৰ্তত এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিব নোৱাৰি। পিছত আকৌ চেষ্টা কৰক।"</string>
+    <string name="connect_later" msgid="1950138106010005425">"এই মুহূৰ্তত এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিব নোৱাৰি। পাছত আকৌ চেষ্টা কৰক।"</string>
     <string name="registration_done" msgid="5337407023566953292">"নেটৱৰ্কৰ লগত পঞ্জীয়ন কৰা হ’ল।"</string>
     <string name="already_auto" msgid="8607068290733079336">"স্বয়ংক্ৰিয় বাছনিত ইতিমধ্যে আছে।"</string>
     <string name="select_automatically" msgid="779750291257872651">"স্বয়ংক্ৰিয়ভাৱে নেটৱৰ্ক বাছনি কৰক"</string>
@@ -613,7 +613,7 @@
     <string name="network_info_message" msgid="7599413947016532355">"নেটৱৰ্ক বাৰ্তা"</string>
     <string name="network_error_message" msgid="4271579424089326618">"আসোঁৱাহ বাৰ্তা"</string>
     <string name="ota_title_activate" msgid="4049645324841263423">"আপোনাৰ ফ\'নটো সক্ৰিয় কৰক"</string>
-    <string name="ota_touch_activate" msgid="838764494319694754">"আপোনাৰ ফ\'নৰ সেৱা সক্ৰিয় কৰিবলৈ এটা বিশেষ কল কৰা প্ৰয়োজন। \n\nআপোনাৰ ফ\'নটো সক্ৰিয় কৰিবলৈ \"সক্ৰিয় কৰক\"ত টিপাৰ পিছত নিৰ্দেশনাসমূহ শুনক।"</string>
+    <string name="ota_touch_activate" msgid="838764494319694754">"আপোনাৰ ফ\'নৰ সেৱা সক্ৰিয় কৰিবলৈ এটা বিশেষ কল কৰা প্ৰয়োজন। \n\nআপোনাৰ ফ\'নটো সক্ৰিয় কৰিবলৈ \"সক্ৰিয় কৰক\"ত টিপাৰ পাছত নিৰ্দেশনাসমূহ শুনক।"</string>
     <string name="ota_hfa_activation_title" msgid="3300556778212729671">"সক্ৰিয় কৰি থকা হৈছে..."</string>
     <string name="ota_hfa_activation_dialog_message" msgid="7921718445773342996">"ফ\'নটোৱে আপোনাৰ ম’বাইল ডেটা সেৱা সক্ৰিয় কৰি আছে।\n\nএই কামটো সম্পূৰ্ণ হ\'বলৈ ৫ মিনিট পৰ্যন্ত সময় লাগিব পাৰে।"</string>
     <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"সক্ৰিয়কৰণ এৰি যায় নেকি?"</string>
@@ -711,7 +711,7 @@
     <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"বাতিল কৰক"</string>
     <string name="clh_card_title_call_ended_txt" msgid="5977978317527299698">"কল শেষ হ’ল"</string>
     <string name="clh_callFailed_powerOff_txt" msgid="8279934912560765361">"এয়াৰপ্লেইন ম\'ড অন হৈ আছে"</string>
-    <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"ছিম কাৰ্ডত প্ৰৱেশ কৰিব পৰা নাই"</string>
+    <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"ছিম কাৰ্ড এক্সেছ কৰিব নোৱাৰি"</string>
     <string name="clh_incall_error_out_of_service_txt" msgid="2736010617446749869">"ম’বাইল নেটৱৰ্ক উপলব্ধ নহয়"</string>
     <string name="clh_callFailed_unassigned_number_txt" msgid="141967660286695682">"আপুনি ডায়েল কৰিব খোজা ফ\'ন নম্বৰত আসোঁৱাহ আছে। আসোঁৱাহ ক\'ড ১।"</string>
     <string name="clh_callFailed_no_route_to_destination_txt" msgid="4805015149822352308">"কলটো সম্পূৰ্ণ কৰিব পৰা নগ\'ল। আসোঁৱাহ ক\'ড ৩।"</string>
@@ -794,7 +794,7 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"পাছৱৰ্ড নিশ্চিত কৰক"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"পাছৱৰ্ড দিয়ক"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"কল প্ৰতিবন্ধক ছেটিংসমূহ"</string>
-    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"নেটৱৰ্ক ব্যস্ত। অনুগ্ৰহ কৰি কিছুসময় পিছত আকৌ কল কৰাৰ চেষ্টা কৰক।"</string>
+    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"নেটৱৰ্ক ব্যস্ত। অনুগ্ৰহ কৰি কিছুসময় পাছত আকৌ কল কৰাৰ চেষ্টা কৰক।"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"নেটৱর্ক ব্যস্ত আছে। সহায়তাৰ বাবে আপোনাৰ ম\'বাইল অ\'পাৰেটৰৰ সৈতে যোগাযোগ কৰক।"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"কলটো বিচ্যুত কৰা হৈছে।"</string>
     <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"কলটো ফৰৱাৰ্ড কৰা হ’ল।"</string>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index 08bac75..d8479e7 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -19,8 +19,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
   <string-array name="preferred_network_mode_choices_world_mode">
     <item msgid="8359756926680194770">"Global"</item>
-    <item msgid="7497128470871581354">"LTE/CDMA"</item>
-    <item msgid="1732367262765147258">"LTE/GSM/UMTS"</item>
+    <item msgid="7497128470871581354">"LTE / CDMA"</item>
+    <item msgid="1732367262765147258">"LTE / GSM / UMTS"</item>
   </string-array>
   <string-array name="preferred_network_mode_values_world_mode">
     <item msgid="7956157363792248686">"10"</item>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 9b60e1b..f8b01ea 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -18,7 +18,7 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="phoneAppLabel" product="tablet" msgid="1916019789885839910">"Mobile Data"</string>
     <string name="phoneAppLabel" product="default" msgid="130465039375347763">"Phone Services"</string>
-    <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"Emergency Dialler"</string>
+    <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"Emergency Dialer"</string>
     <string name="phoneIconLabel" msgid="3015941229249651419">"Phone"</string>
     <string name="fdnListLabel" msgid="4119121875004244097">"FDN list"</string>
     <string name="unknown" msgid="8279698889921830815">"Unknown"</string>
@@ -26,10 +26,10 @@
     <string name="payphone" msgid="7936735771836716941">"Payphone"</string>
     <string name="onHold" msgid="6132725550015899006">"On hold"</string>
     <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Message"</string>
-    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operator message"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Carrier Message"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI code started"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD code running…"</string>
-    <string name="mmiCancelled" msgid="5339191899200678272">"MMI code cancelled"</string>
+    <string name="mmiCancelled" msgid="5339191899200678272">"MMI code canceled"</string>
     <string name="cancel" msgid="8984206397635155197">"Cancel"</string>
     <string name="enter_input" msgid="6193628663039958990">"USSD message must be between <xliff:g id="MIN_LEN">%1$d</xliff:g> and <xliff:g id="MAX_LEN">%2$d</xliff:g> characters. Please try again."</string>
     <string name="manageConferenceLabel" msgid="8415044818156353233">"Manage conference call"</string>
@@ -47,7 +47,7 @@
     <string name="no_vm_number" msgid="6623853880546176930">"Missing voicemail number"</string>
     <string name="no_vm_number_msg" msgid="5165161462411372504">"No voicemail number is stored on the SIM card."</string>
     <string name="add_vm_number_str" msgid="7368168964435881637">"Add number"</string>
-    <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"Voicemail settings can only be modified by the primary user."</string>
+    <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"Voicemail Settings can only be modified by the Primary User."</string>
     <string name="puk_unlocked" msgid="4627340655215746511">"Your SIM card has been unblocked. Your phone is unlocking…"</string>
     <string name="label_ndp" msgid="7617392683877410341">"SIM network unlock PIN"</string>
     <string name="label_phoneid" msgid="8775611434123577808">"SIM locked for operator"</string>
@@ -61,7 +61,7 @@
     <string name="labelGsmMore_with_label" msgid="3206015314393246224">"GSM call settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCDMAMore" msgid="7937441382611224632">"CDMA call settings"</string>
     <string name="labelCdmaMore_with_label" msgid="7759692829160238152">"CDMA call settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="apn_settings" msgid="1978652203074756623">"Access point names"</string>
+    <string name="apn_settings" msgid="1978652203074756623">"Access Point Names"</string>
     <string name="settings_label" msgid="9101778088412567956">"Network settings"</string>
     <string name="phone_accounts" msgid="1216879437523774604">"Calling accounts"</string>
     <string name="phone_accounts_make_calls_with" msgid="16747814788918145">"Make calls with"</string>
@@ -81,16 +81,16 @@
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="7746778673131551185">"VM:"</string>
     <string name="make_and_receive_calls" msgid="4868913166494621109">"Make &amp; receive calls"</string>
-    <string name="smart_forwarding_settings_menu" msgid="8850429887958938540">"Smart forwarding"</string>
+    <string name="smart_forwarding_settings_menu" msgid="8850429887958938540">"Smart Forwarding"</string>
     <string name="smart_forwarding_settings_menu_summary" msgid="5096947726032885325">"When one number isn\'t reachable, always forward calls to your other number"</string>
     <string name="voicemail_notifications_preference_title" msgid="7829238858063382977">"Notifications"</string>
     <string name="cell_broadcast_settings" msgid="8135324242541809924">"Emergency broadcasts"</string>
     <string name="call_settings" msgid="3677282690157603818">"Call settings"</string>
     <string name="additional_gsm_call_settings" msgid="1561980168685658846">"Additional settings"</string>
     <string name="additional_gsm_call_settings_with_label" msgid="7973920539979524908">"Additional settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="sum_gsm_call_settings" msgid="7964692601608878138">"Additional GSM-only call settings"</string>
+    <string name="sum_gsm_call_settings" msgid="7964692601608878138">"Additional GSM only call settings"</string>
     <string name="additional_cdma_call_settings" msgid="2178016561980611304">"Additional CDMA call settings"</string>
-    <string name="sum_cdma_call_settings" msgid="3185825305136993636">"Additional CDMA-only call settings"</string>
+    <string name="sum_cdma_call_settings" msgid="3185825305136993636">"Additional CDMA only call settings"</string>
     <string name="labelNwService" msgid="6015891883487125120">"Network service settings"</string>
     <string name="labelCallerId" msgid="2090540744550903172">"Caller ID"</string>
     <string name="sum_loading_settings" msgid="434063780286688775">"Loading settings…"</string>
@@ -100,7 +100,7 @@
     <string name="labelCW" msgid="8449327023861428622">"Call waiting"</string>
     <string name="sum_cw_enabled" msgid="3977308526187139996">"During a call, notify me of incoming calls"</string>
     <string name="sum_cw_disabled" msgid="3658094589461768637">"During a call, notify me of incoming calls"</string>
-    <string name="call_forwarding_settings" msgid="8937130467468257671">"Call-forwarding settings"</string>
+    <string name="call_forwarding_settings" msgid="8937130467468257671">"Call forwarding settings"</string>
     <string name="call_forwarding_settings_with_label" msgid="2345432813399564272">"Call forwarding settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCF" msgid="3578719437928476078">"Call forwarding"</string>
     <string name="labelCFU" msgid="8870170873036279706">"Always forward"</string>
@@ -123,14 +123,14 @@
     <string name="messageCFNRc" msgid="6980340731313007250">"Number when unreachable"</string>
     <string name="sum_cfnrc_enabled" msgid="1799069234006073477">"Forwarding to <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="739289696796917683">"Off"</string>
-    <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"Your operator doesn\'t support disabling call forwarding when your phone is unreachable."</string>
-    <string name="registration_cf_forbidden" msgid="4386482610771190420">"Your operator doesn\'t support call forwarding."</string>
+    <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"Your carrier doesn\'t support disabling call forwarding when your phone is unreachable."</string>
+    <string name="registration_cf_forbidden" msgid="4386482610771190420">"Your carrier doesn\'t support call forwarding."</string>
     <string name="cdma_call_waiting" msgid="4565070960879673216">"Turn on call waiting?"</string>
     <string name="enable_cdma_call_waiting_setting" msgid="5906811747921744307">"During a call, you\'ll be notified about incoming calls"</string>
     <string name="enable_cdma_cw" msgid="811047045863422232">"Turn on"</string>
     <string name="disable_cdma_cw" msgid="7119290446496301734">"Cancel"</string>
-    <string name="cdma_call_waiting_in_ims_on" msgid="6390979414188659218">"CDMA call waiting under IMS on"</string>
-    <string name="cdma_call_waiting_in_ims_off" msgid="1099246114368636334">"CDMA call waiting under IMS off"</string>
+    <string name="cdma_call_waiting_in_ims_on" msgid="6390979414188659218">"CDMA Call Waiting under IMS On"</string>
+    <string name="cdma_call_waiting_in_ims_off" msgid="1099246114368636334">"CDMA Call Waiting under IMS Off"</string>
     <string name="updating_title" msgid="6130548922615719689">"Call settings"</string>
     <string name="call_settings_admin_user_only" msgid="7238947387649986286">"Call settings can only be changed by the admin user."</string>
     <string name="call_settings_with_label" msgid="8460230435361579511">"Settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -144,8 +144,8 @@
     <string name="stk_cc_ss_to_ussd_error" msgid="8330749347425752192">"SS request changed to USSD request"</string>
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"Changed to new SS request"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"SS request changed to video call"</string>
-    <string name="fdn_check_failure" msgid="1833769746374185247">"Your Phone app\'s fixed dialling numbers setting is turned on. As a result, some call-related features aren\'t working."</string>
-    <string name="radio_off_error" msgid="8321564164914232181">"Please turn on the radio before viewing these settings."</string>
+    <string name="fdn_check_failure" msgid="1833769746374185247">"Your Phone app\'s Fixed Dialing Numbers setting is turned on. As a result, some call-related features aren\'t working."</string>
+    <string name="radio_off_error" msgid="8321564164914232181">"Turn on the radio before viewing these settings."</string>
     <string name="close_dialog" msgid="1074977476136119408">"OK"</string>
     <string name="enable" msgid="2636552299455477603">"Turn on"</string>
     <string name="disable" msgid="1122698860799462116">"Turn off"</string>
@@ -156,22 +156,22 @@
     <item msgid="9150034130629852635">"Show number"</item>
   </string-array>
     <string name="vm_changed" msgid="4739599044379692505">"Voicemail number changed."</string>
-    <string name="vm_change_failed" msgid="7877733929455763566">"Couldn\'t change the voicemail number.\nContact your operator if this problem persists."</string>
-    <string name="fw_change_failed" msgid="9179241823460192148">"Couldn\'t change the forwarding number.\nContact your operator if this problem persists."</string>
+    <string name="vm_change_failed" msgid="7877733929455763566">"Couldn\'t change the voicemail number.\nContact your carrier if this problem persists."</string>
+    <string name="fw_change_failed" msgid="9179241823460192148">"Couldn\'t change the forwarding number.\nContact your carrier if this problem persists."</string>
     <string name="fw_get_in_vm_failed" msgid="2432678237218183844">"Couldn\'t retrieve and save current forwarding number settings.\nSwitch to the new provider anyway?"</string>
     <string name="no_change" msgid="3737264882821031892">"No changes were made."</string>
     <string name="sum_voicemail_choose_provider" msgid="6750824719081403773">"Choose voicemail service"</string>
-    <string name="voicemail_default" msgid="6427575113775462077">"Your operator"</string>
+    <string name="voicemail_default" msgid="6427575113775462077">"Your carrier"</string>
     <string name="vm_change_pin_old_pin" msgid="7154951790929009241">"Old PIN"</string>
     <string name="vm_change_pin_new_pin" msgid="2656200418481288069">"New PIN"</string>
     <string name="vm_change_pin_progress_message" msgid="626015184502739044">"Please wait."</string>
     <string name="vm_change_pin_error_too_short" msgid="1789139338449945483">"The new PIN is too short."</string>
     <string name="vm_change_pin_error_too_long" msgid="3634907034310018954">"The new PIN is too long."</string>
-    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"The new PIN is too weak. A strong password should not have a continuous sequence or repeated digits."</string>
-    <string name="vm_change_pin_error_mismatch" msgid="5364847280026257331">"The old PIN doesn\'t match."</string>
+    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"The new PIN is too weak. A strong password should not have continuous sequence or repeated digits."</string>
+    <string name="vm_change_pin_error_mismatch" msgid="5364847280026257331">"The old PIN does not match."</string>
     <string name="vm_change_pin_error_invalid" msgid="5230002671175580674">"The new PIN contains invalid characters."</string>
     <string name="vm_change_pin_error_system_error" msgid="9116483527909681791">"Unable to change PIN"</string>
-    <string name="vvm_unsupported_message_format" msgid="4206402558577739713">"Unsupported message type. Call <xliff:g id="NUMBER">%s</xliff:g> to listen."</string>
+    <string name="vvm_unsupported_message_format" msgid="4206402558577739713">"Unsupported message type, call <xliff:g id="NUMBER">%s</xliff:g> to listen."</string>
     <string name="network_settings_title" msgid="7560807107123171541">"Mobile network"</string>
     <string name="label_available" msgid="1316084116670821258">"Available networks"</string>
     <string name="load_networks_progress" msgid="4051433047717401683">"Searching…"</string>
@@ -179,13 +179,13 @@
     <string name="network_query_error" msgid="3862515805115145124">"Couldn\'t find networks. Try again."</string>
     <string name="register_on_network" msgid="4194770527833960423">"Registering on <xliff:g id="NETWORK">%s</xliff:g>…"</string>
     <string name="not_allowed" msgid="8541221928746104798">"Your SIM card doesn\'t allow a connection to this network."</string>
-    <string name="connect_later" msgid="1950138106010005425">"Can\'t connect to this network at the moment. Try again later."</string>
+    <string name="connect_later" msgid="1950138106010005425">"Can\'t connect to this network right now. Try again later."</string>
     <string name="registration_done" msgid="5337407023566953292">"Registered on network."</string>
     <string name="already_auto" msgid="8607068290733079336">"Already in automatic selection."</string>
     <string name="select_automatically" msgid="779750291257872651">"Automatically select network"</string>
     <string name="manual_mode_disallowed_summary" msgid="3970048592179890197">"Unavailable when connected to %1$s"</string>
     <string name="network_select_title" msgid="4117305053881611988">"Network"</string>
-    <string name="register_automatically" msgid="3907580547590554834">"Automatic registration..."</string>
+    <string name="register_automatically" msgid="3907580547590554834">"Automatic registration…"</string>
     <string name="preferred_network_mode_title" msgid="5253395265169539830">"Preferred network type"</string>
     <string name="preferred_network_mode_summary" msgid="3787989000044330064">"Change the network operating mode"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="2781447433514459696">"Preferred network type"</string>
@@ -193,7 +193,7 @@
     <string name="choose_network_title" msgid="5335832663422653082">"Choose network"</string>
     <string name="network_disconnected" msgid="8844141106841160825">"Disconnected"</string>
     <string name="network_connected" msgid="2760235679963580224">"Connected"</string>
-    <string name="network_connecting" msgid="160901383582774987">"Connecting…"</string>
+    <string name="network_connecting" msgid="160901383582774987">"Connecting..."</string>
     <string name="network_could_not_connect" msgid="6547460848093727998">"Couldn’t connect"</string>
   <string-array name="preferred_network_mode_choices">
     <item msgid="4531933377509551889">"GSM/WCDMA preferred"</item>
@@ -208,7 +208,7 @@
     <item msgid="1694517610683571748">"GSM/WCDMA/LTE"</item>
     <item msgid="2431844716050955858">"Global"</item>
     <item msgid="8522859526931346931">"LTE"</item>
-    <item msgid="7852977970279215000">"LTE/WCDMA"</item>
+    <item msgid="7852977970279215000">"LTE / WCDMA"</item>
     <item msgid="5779210256161024981">"TDSCDMA only"</item>
     <item msgid="611913646308951205">"TDSCDMA/WCDMA"</item>
     <item msgid="1738977207573340604">"LTE/TDSCDMA"</item>
@@ -234,9 +234,9 @@
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Preferred network mode: WCDMA preferred"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Preferred network mode: GSM only"</string>
     <string name="preferred_network_mode_wcdma_only_summary" msgid="3585482191951442207">"Preferred network mode: WCDMA only"</string>
-    <string name="preferred_network_mode_gsm_wcdma_summary" msgid="2988950751948316810">"Preferred network mode: GSM/WCDMA"</string>
+    <string name="preferred_network_mode_gsm_wcdma_summary" msgid="2988950751948316810">"Preferred network mode: GSM / WCDMA"</string>
     <string name="preferred_network_mode_cdma_summary" msgid="9127141320343936911">"Preferred network mode: CDMA"</string>
-    <string name="preferred_network_mode_cdma_evdo_summary" msgid="3629440709757307077">"Preferred network mode: CDMA/EvDo"</string>
+    <string name="preferred_network_mode_cdma_evdo_summary" msgid="3629440709757307077">"Preferred network mode: CDMA / EvDo"</string>
     <string name="preferred_network_mode_cdma_only_summary" msgid="211164451887102568">"Preferred network mode: CDMA only"</string>
     <string name="preferred_network_mode_evdo_only_summary" msgid="939116631952132878">"Preferred network mode: EvDo only"</string>
     <string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary" msgid="7891131456022601976">"Preferred network mode: CDMA/EvDo/GSM/WCDMA"</string>
@@ -245,13 +245,13 @@
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferred network mode: CDMA+LTE/EVDO"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferred network mode: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferred network mode: Global"</string>
-    <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferred network mode: LTE/WCDMA"</string>
-    <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferred network mode: LTE/GSM/UMTS"</string>
-    <string name="preferred_network_mode_lte_cdma_summary" msgid="8187929456614068518">"Preferred network mode: LTE/CDMA"</string>
+    <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferred network mode: LTE / WCDMA"</string>
+    <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferred network mode: LTE / GSM / UMTS"</string>
+    <string name="preferred_network_mode_lte_cdma_summary" msgid="8187929456614068518">"Preferred network mode: LTE / CDMA"</string>
     <string name="preferred_network_mode_tdscdma_summary" msgid="3602127224234207206">"Preferred network mode: TDSCDMA"</string>
-    <string name="preferred_network_mode_tdscdma_wcdma_summary" msgid="7076968749402201123">"Preferred network mode: TDSCDMA/WCDMA"</string>
-    <string name="preferred_network_mode_lte_tdscdma_summary" msgid="3001058390866953624">"Preferred network mode: LTE/TDSCDMA"</string>
-    <string name="preferred_network_mode_tdscdma_gsm_summary" msgid="1716983444872465309">"Preferred network mode: TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_tdscdma_wcdma_summary" msgid="7076968749402201123">"Preferred network mode: TDSCDMA / WCDMA"</string>
+    <string name="preferred_network_mode_lte_tdscdma_summary" msgid="3001058390866953624">"Preferred network mode: LTE / TDSCDMA"</string>
+    <string name="preferred_network_mode_tdscdma_gsm_summary" msgid="1716983444872465309">"Preferred network mode: TDSCDMA / GSM"</string>
     <string name="preferred_network_mode_lte_tdscdma_gsm_summary" msgid="1349057007230669585">"Preferred network mode: LTE/GSM/TDSCDMA"</string>
     <string name="preferred_network_mode_tdscdma_gsm_wcdma_summary" msgid="2092262901885164194">"Preferred network mode: TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_wcdma_summary" msgid="56422129430744466">"Preferred network mode: LTE/TDSCDMA/WCDMA"</string>
@@ -259,7 +259,7 @@
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferred network mode: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferred network mode: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferred network mode: NR only"</string>
-    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferred network mode: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferred network mode: NR / LTE"</string>
     <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferred network mode: NR/LTE/CDMA/EvDo"</string>
     <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferred network mode: NR/LTE/GSM/WCDMA"</string>
     <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferred network mode: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
@@ -295,13 +295,13 @@
     <string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> calls and data services may be blocked while using <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>."</string>
     <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> calls and data services may be blocked while using another SIM."</string>
     <string name="sip_accounts_removed_notification_title" msgid="3528076957535736095">"Deprecated SIP accounts found and removed"</string>
-    <string name="sip_accounts_removed_notification_message" msgid="1916856744869791592">"SIP calling is no longer supported by the Android platform.\nYour existing SIP accounts <xliff:g id="REMOVED_SIP_ACCOUNTS">%s</xliff:g> have been removed.\nPlease confirm your default calling account setting."</string>
+    <string name="sip_accounts_removed_notification_message" msgid="1916856744869791592">"SIP calling is no longer supported by Android platform.\nYour existing SIP accounts <xliff:g id="REMOVED_SIP_ACCOUNTS">%s</xliff:g> have been removed.\nPlease confirm your default calling account setting."</string>
     <string name="sip_accounts_removed_notification_action" msgid="3772778402370555562">"Go to settings"</string>
     <string name="data_usage_title" msgid="8438592133893837464">"App data usage"</string>
     <string name="data_usage_template" msgid="6287906680674061783">"<xliff:g id="ID_1">%1$s</xliff:g> mobile data used <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="advanced_options_title" msgid="9208195294513520934">"Advanced"</string>
     <string name="carrier_settings_euicc" msgid="1190237227261337749">"Carrier"</string>
-    <string name="keywords_carrier_settings_euicc" msgid="8540160967922063745">"operator, esim, sim, euicc, switch operators, add operator"</string>
+    <string name="keywords_carrier_settings_euicc" msgid="8540160967922063745">"carrier, esim, sim, euicc, switch carriers, add carrier"</string>
     <string name="carrier_settings_euicc_summary" msgid="2027941166597330117">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> — <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>"</string>
     <string name="mobile_data_settings_title" msgid="7228249980933944101">"Mobile data"</string>
     <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Access data using mobile network"</string>
@@ -315,20 +315,20 @@
     <string name="cdma_options" msgid="3669592472226145665">"CDMA Options"</string>
     <string name="throttle_data_usage" msgid="1944145350660420711">"Data usage"</string>
     <string name="throttle_current_usage" msgid="7483859109708658613">"Data used in current period"</string>
-    <string name="throttle_time_frame" msgid="1813452485948918791">"Data usage period"</string>
+    <string name="throttle_time_frame" msgid="1813452485948918791">"Data use period"</string>
     <string name="throttle_rate" msgid="7641913901133634905">"Data rate policy"</string>
     <string name="throttle_help" msgid="2624535757028809735">"Learn more"</string>
     <string name="throttle_status_subtext" msgid="1110276415078236687">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) of <xliff:g id="USED_2">%3$s</xliff:g> period maximum\nNext period starts in <xliff:g id="USED_3">%4$d</xliff:g> days (<xliff:g id="USED_4">%5$s</xliff:g>)"</string>
     <string name="throttle_data_usage_subtext" msgid="3185429653996709840">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) of <xliff:g id="USED_2">%3$s</xliff:g> period maximum"</string>
     <string name="throttle_data_rate_reduced_subtext" msgid="8369839346277847725">"<xliff:g id="USED_0">%1$s</xliff:g> maximum exceeded\nData rate reduced to <xliff:g id="USED_1">%2$d</xliff:g> Kb/s"</string>
     <string name="throttle_time_frame_subtext" msgid="6462089615392402127">"<xliff:g id="USED_0">%1$d</xliff:g>٪ of cycle elapsed\nNext period starts in <xliff:g id="USED_1">%2$d</xliff:g> days (<xliff:g id="USED_2">%3$s</xliff:g>)"</string>
-    <string name="throttle_rate_subtext" msgid="7221971817325779535">"Data rate reduced to <xliff:g id="USED">%1$d</xliff:g> Kb/s if data usage limit is exceeded"</string>
-    <string name="throttle_help_subtext" msgid="2817114897095534807">"More information about your operator\'s mobile network data usage policy"</string>
-    <string name="cell_broadcast_sms" msgid="4053449797289031063">"Mobile Broadcast SMS"</string>
-    <string name="enable_disable_cell_bc_sms" msgid="4759958924031721350">"Mobile Broadcast SMS"</string>
-    <string name="cell_bc_sms_enable" msgid="2019708772024632073">"Mobile Broadcast SMS enabled"</string>
-    <string name="cell_bc_sms_disable" msgid="1214238639910875347">"Mobile Broadcast SMS disabled"</string>
-    <string name="cb_sms_settings" msgid="6858093721831312036">"Mobile Broadcast SMS settings"</string>
+    <string name="throttle_rate_subtext" msgid="7221971817325779535">"Data rate reduced to <xliff:g id="USED">%1$d</xliff:g> Kb/s if data use limit is exceeded"</string>
+    <string name="throttle_help_subtext" msgid="2817114897095534807">"More information about your carrier\'s mobile network data use policy"</string>
+    <string name="cell_broadcast_sms" msgid="4053449797289031063">"Cell Broadcast SMS"</string>
+    <string name="enable_disable_cell_bc_sms" msgid="4759958924031721350">"Cell Broadcast SMS"</string>
+    <string name="cell_bc_sms_enable" msgid="2019708772024632073">"Cell Broadcast SMS enabled"</string>
+    <string name="cell_bc_sms_disable" msgid="1214238639910875347">"Cell Broadcast SMS disabled"</string>
+    <string name="cb_sms_settings" msgid="6858093721831312036">"Cell Broadcast SMS settings"</string>
     <string name="enable_disable_emergency_broadcast" msgid="6325655044472196496">"Emergency Broadcast"</string>
     <string name="emergency_broadcast_enable" msgid="5759610647771102442">"Emergency Broadcast enabled"</string>
     <string name="emergency_broadcast_disable" msgid="2844904734469323266">"Emergency Broadcast disabled"</string>
@@ -396,15 +396,15 @@
     <string name="enable_disable_advertisements" msgid="8704125663718797151">"Advertisements"</string>
     <string name="advertisements_enable" msgid="8651409664217899145">"Advertisements enabled"</string>
     <string name="advertisements_disable" msgid="2999957360508271492">"Advertisements disabled"</string>
-    <string name="enable_disable_stock_quotes" msgid="631498357725951825">"Share Quotes"</string>
-    <string name="stock_quotes_enable" msgid="5104318195579771947">"Share Quotes enabled"</string>
-    <string name="stock_quotes_disable" msgid="3126423481704498278">"Share Quotes disabled"</string>
+    <string name="enable_disable_stock_quotes" msgid="631498357725951825">"Stock Quotes"</string>
+    <string name="stock_quotes_enable" msgid="5104318195579771947">"Stock Quotes enabled"</string>
+    <string name="stock_quotes_disable" msgid="3126423481704498278">"Stock Quotes disabled"</string>
     <string name="enable_disable_eo" msgid="5730223317238970819">"Employment Opportunities"</string>
     <string name="eo_enable" msgid="107713355461019817">"Employment Opportunities enabled"</string>
     <string name="eo_disable" msgid="3955421278929647485">"Employment Opportunities disabled"</string>
-    <string name="enable_disable_mhh" msgid="715930476289202466">"Medical, Health and Hospital"</string>
-    <string name="mhh_enable" msgid="7224396815285147008">"Medical, Health and Hospital enabled"</string>
-    <string name="mhh_disable" msgid="5503643028885686265">"Medical, Health and Hospital disabled"</string>
+    <string name="enable_disable_mhh" msgid="715930476289202466">"Medical, Health, and Hospital"</string>
+    <string name="mhh_enable" msgid="7224396815285147008">"Medical, Health, and Hospital enabled"</string>
+    <string name="mhh_disable" msgid="5503643028885686265">"Medical, Health, and Hospital disabled"</string>
     <string name="enable_disable_technology_news" msgid="2794845609698078400">"Technology News"</string>
     <string name="technology_news_enable" msgid="1908991199492598311">"Technology News enabled"</string>
     <string name="technology_news_disable" msgid="8388582607149800889">"Technology News disabled"</string>
@@ -435,20 +435,20 @@
   </string-array>
     <string name="cdma_activate_device" msgid="5914720276140097632">"Activate device"</string>
     <string name="cdma_lte_data_service" msgid="359786441782404562">"Set up data service"</string>
-    <string name="carrier_settings_title" msgid="6292869148169850220">"Provider settings"</string>
-    <string name="fdn" msgid="2545904344666098749">"Fixed dialling numbers"</string>
-    <string name="fdn_with_label" msgid="6412087553365709494">"Fixed dialling numbers (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="carrier_settings_title" msgid="6292869148169850220">"Carrier settings"</string>
+    <string name="fdn" msgid="2545904344666098749">"Fixed Dialing Numbers"</string>
+    <string name="fdn_with_label" msgid="6412087553365709494">"Fixed Dialing Numbers (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="3341716430375195441">"FDN list"</string>
     <string name="fdn_list_with_label" msgid="1409655283510382556">"FDN list (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="fdn_activation" msgid="2178637004710435895">"FDN activation"</string>
-    <string name="fdn_enabled" msgid="7017355494808056447">"Fixed dialling numbers are enabled"</string>
-    <string name="fdn_disabled" msgid="6696468878037736600">"Fixed dialling numbers are disabled"</string>
+    <string name="fdn_enabled" msgid="7017355494808056447">"Fixed Dialing Numbers are enabled"</string>
+    <string name="fdn_disabled" msgid="6696468878037736600">"Fixed Dialing Numbers are disabled"</string>
     <string name="enable_fdn" msgid="4830555730418033723">"Enable FDN"</string>
     <string name="disable_fdn" msgid="3918794950264647541">"Disable FDN"</string>
     <string name="change_pin2" msgid="3110844547237754871">"Change PIN2"</string>
     <string name="enable_fdn_ok" msgid="5080925177369329827">"Disable FDN"</string>
     <string name="disable_fdn_ok" msgid="3745475926874838676">"Enable FDN"</string>
-    <string name="sum_fdn" msgid="6152246141642323582">"Manage fixed dialling numbers"</string>
+    <string name="sum_fdn" msgid="6152246141642323582">"Manage Fixed Dialing Numbers"</string>
     <string name="sum_fdn_change_pin" msgid="3510994280557335727">"Change PIN for FDN access"</string>
     <string name="sum_fdn_manage_list" msgid="3311397063233992907">"Manage phone number list"</string>
     <string name="voice_privacy" msgid="7346935172372181951">"Voice privacy"</string>
@@ -466,18 +466,18 @@
     <string name="name" msgid="1347432469852527784">"Name"</string>
     <string name="number" msgid="1564053487748491000">"Number"</string>
     <string name="save" msgid="983805790346099749">"Save"</string>
-    <string name="add_fdn_contact" msgid="1169713422306640887">"Add fixed dialling number"</string>
-    <string name="adding_fdn_contact" msgid="3112531600824361259">"Adding fixed dialling number…"</string>
-    <string name="fdn_contact_added" msgid="2840016151693394596">"Fixed dialling number added."</string>
-    <string name="edit_fdn_contact" msgid="6030829994819587408">"Edit fixed dialling number"</string>
-    <string name="updating_fdn_contact" msgid="6989341376868227150">"Updating fixed dialling number…"</string>
-    <string name="fdn_contact_updated" msgid="6876330243323118937">"Fixed dialling number updated."</string>
-    <string name="delete_fdn_contact" msgid="7027405651994507077">"Delete fixed dialling number"</string>
-    <string name="deleting_fdn_contact" msgid="6872320570844460428">"Deleting fixed dialling number…"</string>
-    <string name="fdn_contact_deleted" msgid="1680714996763848838">"Fixed dialling number deleted."</string>
+    <string name="add_fdn_contact" msgid="1169713422306640887">"Add fixed dialing number"</string>
+    <string name="adding_fdn_contact" msgid="3112531600824361259">"Adding fixed dialing number…"</string>
+    <string name="fdn_contact_added" msgid="2840016151693394596">"Fixed dialing number added."</string>
+    <string name="edit_fdn_contact" msgid="6030829994819587408">"Edit fixed dialing number"</string>
+    <string name="updating_fdn_contact" msgid="6989341376868227150">"Updating fixed dialing number…"</string>
+    <string name="fdn_contact_updated" msgid="6876330243323118937">"Fixed dialing number updated."</string>
+    <string name="delete_fdn_contact" msgid="7027405651994507077">"Delete fixed dialing number"</string>
+    <string name="deleting_fdn_contact" msgid="6872320570844460428">"Deleting fixed dialing number…"</string>
+    <string name="fdn_contact_deleted" msgid="1680714996763848838">"Fixed dialing number deleted."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN wasn\'t updated because you typed an incorrect PIN."</string>
     <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN wasn\'t updated because the number exceeds <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> digits."</string>
-    <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN wasn\'t updated. The PIN2 was incorrect or the phone number was rejected."</string>
+    <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN wasn\'t updated. The PIN2 was incorrect, or the phone number was rejected."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN operation failed."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Reading from SIM card…"</string>
     <string name="simContacts_empty" msgid="1135632055473689521">"No contacts on your SIM card."</string>
@@ -489,8 +489,8 @@
     <string name="oldPinLabel" msgid="8618515202411987721">"Old PIN"</string>
     <string name="newPinLabel" msgid="3585899083055354732">"New PIN"</string>
     <string name="confirmPinLabel" msgid="7783531218662473778">"Confirm new PIN"</string>
-    <string name="badPin" msgid="4549286285015892321">"The old PIN that you typed isn\'t correct. Try again."</string>
-    <string name="mismatchPin" msgid="1467254768290323845">"The PINs that you typed don\'t match. Try again."</string>
+    <string name="badPin" msgid="4549286285015892321">"The old PIN you typed isn\'t correct. Try again."</string>
+    <string name="mismatchPin" msgid="1467254768290323845">"The PINs you typed don\'t match. Try again."</string>
     <string name="invalidPin" msgid="7363723429414001979">"Type a PIN that is 4 to 8 numbers."</string>
     <string name="disable_sim_pin" msgid="3112303905548613752">"Clear SIM PIN"</string>
     <string name="enable_sim_pin" msgid="445461050748318980">"Set SIM PIN"</string>
@@ -520,8 +520,8 @@
     <string name="pin2_error_exception" msgid="8116103864600823641">"Network or SIM card error"</string>
     <string name="doneButton" msgid="7371209609238460207">"Done"</string>
     <string name="voicemail_settings_number_label" msgid="1265118640154688162">"Voicemail number"</string>
-    <string name="card_title_dialing" msgid="8742182654254431781">"Dialling"</string>
-    <string name="card_title_redialing" msgid="18130232613559964">"Redialling"</string>
+    <string name="card_title_dialing" msgid="8742182654254431781">"Dialing"</string>
+    <string name="card_title_redialing" msgid="18130232613559964">"Redialing"</string>
     <string name="card_title_conf_call" msgid="901197309274457427">"Conference call"</string>
     <string name="card_title_incoming_call" msgid="881424648458792430">"Incoming call"</string>
     <string name="card_title_call_ended" msgid="650223980095026340">"Call ended"</string>
@@ -541,10 +541,10 @@
     <string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Exit emergency callback mode to make a non-emergency call."</string>
     <string name="incall_error_emergency_only" msgid="8786127461027964653">"Not registered on network."</string>
     <string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobile network not available."</string>
-    <string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobile network isn\'t available. Connect to a wireless network to make a call."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobile network is not available. Connect to a wireless network to make a call."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"To place a call, enter a valid number."</string>
     <string name="incall_error_call_failed" msgid="393508653582682539">"Call failed."</string>
-    <string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Call cannot be added at this time. You can try to get in touch by sending a message."</string>
+    <string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Call cannot be added at this time. You can try to reach out by sending a message."</string>
     <string name="incall_error_supp_service_unknown" msgid="8751177117194592623">"Service not supported"</string>
     <string name="incall_error_supp_service_switch" msgid="5272822448189448479">"Can\'t switch calls."</string>
     <string name="incall_error_supp_service_resume" msgid="1276861499306817035">"Can\'t resume call."</string>
@@ -577,7 +577,7 @@
     <string name="dialerKeyboardHintText" msgid="1115266533703764049">"Use keyboard to dial"</string>
     <string name="onscreenHoldText" msgid="4025348842151665191">"Hold"</string>
     <string name="onscreenEndCallText" msgid="6138725377654842757">"End"</string>
-    <string name="onscreenShowDialpadText" msgid="658465753816164079">"Dial pad"</string>
+    <string name="onscreenShowDialpadText" msgid="658465753816164079">"Dialpad"</string>
     <string name="onscreenMuteText" msgid="5470306116733843621">"Mute"</string>
     <string name="onscreenAddCallText" msgid="9075675082903611677">"Add call"</string>
     <string name="onscreenMergeCallsText" msgid="3692389519611225407">"Merge calls"</string>
@@ -593,14 +593,14 @@
     <string name="singleContactImportedMsg" msgid="3619804066300998934">"Imported contact"</string>
     <string name="failedToImportSingleContactMsg" msgid="228095510489830266">"Failed to import contact"</string>
     <string name="hac_mode_title" msgid="4127986689621125468">"Hearing aids"</string>
-    <string name="hac_mode_summary" msgid="7774989500136009881">"Turn on hearing-aid compatibility"</string>
+    <string name="hac_mode_summary" msgid="7774989500136009881">"Turn on hearing aid compatibility"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"Real-time text (RTT) call"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Allow messaging within a voice call"</string>
-    <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT assists callers who are deaf, hard of hearing, have a speech disability or need more than voice alone.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Learn more&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT calls are saved as a message transcript\n       &lt;br&gt; – RTT is not available for video calls"</string>
+    <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT assists callers who are deaf, hard of hearing, have a speech disability, or need more than voice alone.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Learn more&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT calls are saved as a message transcript\n       &lt;br&gt; - RTT is not available for video calls"</string>
     <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Note: RTT is not available while roaming"</string>
   <string-array name="tty_mode_entries">
-    <item msgid="3238070884803849303">"TTY off"</item>
-    <item msgid="1449091874731375214">"TTY full"</item>
+    <item msgid="3238070884803849303">"TTY Off"</item>
+    <item msgid="1449091874731375214">"TTY Full"</item>
     <item msgid="1044179293199519425">"TTY HCO"</item>
     <item msgid="2131559553795606483">"TTY VCO"</item>
   </string-array>
@@ -617,7 +617,7 @@
     <string name="ota_hfa_activation_title" msgid="3300556778212729671">"Activating..."</string>
     <string name="ota_hfa_activation_dialog_message" msgid="7921718445773342996">"The phone is activating your mobile data service.\n\nThis can take up to 5 minutes."</string>
     <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"Skip activation?"</string>
-    <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"If you skip activation, you can\'t place calls or connect to mobile data networks (though you can connect to Wi-Fi networks). Until you activate your phone, you are asked to activate it each time that you turn it on."</string>
+    <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"If you skip activation, you can\'t place calls or connect to mobile data networks (though you can connect to Wi-Fi networks). Until you activate your phone, you are asked to activate it each time you turn it on."</string>
     <string name="ota_skip_activation_dialog_skip_label" msgid="5908029466817825633">"Skip"</string>
     <string name="ota_activate" msgid="7939695753665438357">"Activate"</string>
     <string name="ota_title_activate_success" msgid="1272135024761004889">"Phone is activated."</string>
@@ -625,9 +625,9 @@
     <string name="ota_listen" msgid="2772252405488894280">"Follow the spoken instructions until you hear that activation is complete."</string>
     <string name="ota_speaker" msgid="1086766980329820528">"Speaker"</string>
     <string name="ota_progress" msgid="8837259285255700132">"Programming your phone…"</string>
-    <string name="ota_failure" msgid="5674217489921481576">"Couldn\'t programme your phone"</string>
+    <string name="ota_failure" msgid="5674217489921481576">"Couldn\'t program your phone"</string>
     <string name="ota_successful" msgid="1106825981548107774">"Your phone is now activated. It may take up to 15 minutes for service to start."</string>
-    <string name="ota_unsuccessful" msgid="8531037653803955754">"Your phone didn\'t activate. \nYou may need to find an area with better coverage (near a window or outside). \n\nTry again or call customer service for more options."</string>
+    <string name="ota_unsuccessful" msgid="8531037653803955754">"Your phone didn\'t activate. \nYou may need to find an area with better coverage (near a window, or outside). \n\nTry again or call customer service for more options."</string>
     <string name="ota_spc_failure" msgid="904092035241370080">"EXCESS SPC FAILURES"</string>
     <string name="ota_call_end" msgid="8657746378290737034">"Back"</string>
     <string name="ota_try_again" msgid="6914781945599998550">"Try again"</string>
@@ -637,9 +637,9 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Emergency Callback Mode"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Data connection disabled"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"No data connection until <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{The phone will be in emergency callback mode for one minute. While in this mode, no apps using a data connection can be used. Do you want to exit now?}other{The phone will be in emergency callback mode for %s minutes. While in this mode, no applications using a data connection can be used. Do you want to exit now?}}"</string>
-    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for one minute. Do you want to exit now?}other{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?}}"</string>
-    <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"The action selected isn\'t available during an emergency call."</string>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{The phone will be in Emergency Callback mode for one minute. While in this mode no apps using a data connection can be used. Do you want to exit now?}other{The phone will be in Emergency Callback mode for %s minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for one minute. Do you want to exit now?}other{The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?}}"</string>
+    <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"The selected action isn\'t available while in an emergency call."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Exiting Emergency Callback mode"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</string>
@@ -657,8 +657,8 @@
     <string name="selectContact" msgid="1527612842599767382">"select contact"</string>
     <string name="not_voice_capable" msgid="2819996734252084253">"Voice calling not supported"</string>
     <string name="description_dial_button" msgid="8614631902795087259">"dial"</string>
-    <string name="description_dialpad_button" msgid="7395114120463883623">"show dial pad"</string>
-    <string name="pane_title_emergency_dialpad" msgid="3627372514638694401">"Emergency dial pad"</string>
+    <string name="description_dialpad_button" msgid="7395114120463883623">"show dialpad"</string>
+    <string name="pane_title_emergency_dialpad" msgid="3627372514638694401">"Emergency Dialpad"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="6610414098912832120">"Visual Voicemail"</string>
     <string name="voicemail_set_pin_dialog_title" msgid="7005128605986960003">"Set PIN"</string>
     <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"Change PIN"</string>
@@ -677,7 +677,7 @@
     <string name="message_decode_error" msgid="1061856591500290887">"There was an error while decoding the message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A SIM card has activated your service and updated your phone\'s roaming capabilities."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"There are too many active calls. Please end or merge existing calls before placing a new one."</string>
-    <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Unable to connect. Please insert a valid SIM card."</string>
+    <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Unable to connect, please insert a valid SIM card."</string>
     <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Wi-Fi connection lost. Call ended."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"Your video call cannot be placed due to low battery."</string>
     <string name="callFailed_low_battery" msgid="4056828320214416182">"Video call ended due to low battery."</string>
@@ -686,11 +686,11 @@
     <string name="change_pin_title" msgid="3564254326626797321">"Change Voicemail PIN"</string>
     <string name="change_pin_continue_label" msgid="5177011752453506371">"Continue"</string>
     <string name="change_pin_cancel_label" msgid="2301711566758827936">"Cancel"</string>
-    <string name="change_pin_ok_label" msgid="6861082678817785330">"OK"</string>
+    <string name="change_pin_ok_label" msgid="6861082678817785330">"Ok"</string>
     <string name="change_pin_enter_old_pin_header" msgid="853151335217594829">"Confirm your old PIN"</string>
     <string name="change_pin_enter_old_pin_hint" msgid="8801292976275169367">"Enter your voicemail PIN to continue."</string>
     <string name="change_pin_enter_new_pin_header" msgid="4739465616733486118">"Set a new PIN"</string>
-    <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"PIN must be <xliff:g id="MIN">%1$d</xliff:g>-<xliff:g id="MAX">%2$d</xliff:g> digits long."</string>
+    <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"PIN must be <xliff:g id="MIN">%1$d</xliff:g>-<xliff:g id="MAX">%2$d</xliff:g> digits."</string>
     <string name="change_pin_confirm_pin_header" msgid="2606303906320705726">"Confirm your PIN"</string>
     <string name="change_pin_confirm_pins_dont_match" msgid="305164501222587215">"PINs don\'t match"</string>
     <string name="change_pin_succeeded" msgid="2504705600693014403">"Voicemail PIN updated"</string>
@@ -787,14 +787,14 @@
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Change call barring password"</string>
     <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Cannot change call barring password"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Passwords do not match"</string>
-    <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Enter a password with four numbers"</string>
+    <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Enter a password with 4 numbers"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Password changed"</string>
     <string name="call_barring_old_pwd" msgid="5500085633281388281">"Old password"</string>
     <string name="call_barring_new_pwd" msgid="2515524903813227732">"New password"</string>
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirm password"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Enter password"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Call barring settings"</string>
-    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Network is busy. Please try placing your call again later."</string>
+    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Network is busy. Please try your call again later."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Network is congested. Contact your mobile operator for assistance."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Call deflected."</string>
     <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"Call forwarded."</string>
@@ -814,48 +814,48 @@
     <string name="supp_service_conference_call" msgid="4004193534408317148">"Joining conference call."</string>
     <string name="supp_service_held_call_released" msgid="2847835124639112410">"Held call has been released."</string>
     <string name="callFailed_otasp_provisioning_in_process" msgid="3345666183602879326">"Cannot place a call as the device is currently being provisioned."</string>
-    <string name="callFailed_already_dialing" msgid="7250591188960691086">"Cannot place a call as another outgoing call is already dialling."</string>
+    <string name="callFailed_already_dialing" msgid="7250591188960691086">"Cannot place a call as another outgoing call is already dialing."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Cannot place a call as there is an unanswered incoming call. Answer or reject the incoming call prior to placing a new call."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Cannot place a call as calling has been disabled using the ro.telephony.disable-call system property."</string>
     <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Cannot place a call as there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call."</string>
-    <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data is turned on. You can change this in mobile network settings."</string>
-    <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data and data roaming are turned on. You can change these in mobile network settings."</string>
-    <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
-    <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data and data roaming are turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change these in mobile network settings."</string>
+    <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure mobile data is turned on. You can change this in mobile network settings."</string>
+    <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure mobile data and data roaming are turned on. You can change these in mobile network settings."</string>
+    <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
+    <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure mobile data and data roaming are turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change these in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Dismiss"</string>
-    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Enable data connection"</string>
-    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Disable data connection"</string>
-    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE provisioned"</string>
-    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video calling provisioned"</string>
-    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi calling provisioned"</string>
-    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence provisioned"</string>
-    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS data"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Enable Data Connection"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Disable Data Connection"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE Provisioned"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video Calling Provisioned"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi Calling Provisioned"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence Provisioned"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs Data"</string>
     <string name="dsds_switch_string" msgid="7564769822086764796">"Enable DSDS"</string>
-    <string name="dsds_dialog_title" msgid="8494569893941847575">"Restart device?"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Restart Device?"</string>
     <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
-    <string name="removable_esim_string" msgid="7931369811671787649">"Set removable eSIM as default"</string>
-    <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
-    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"View service dialling numbers"</string>
-    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS service status"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS status"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Set Removable eSIM as Default"</string>
+    <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile Radio Power"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM Address Book"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View Fixed Dialing Numbers"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"View Service Dialing Numbers"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS Service Status"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS Status"</string>
     <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registered"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Not registered"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Not Registered"</string>
     <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Available"</string>
     <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Unavailable"</string>
-    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
-    <string name="radioInfo_service_in" msgid="45753418231446400">"In service"</string>
-    <string name="radioInfo_service_out" msgid="287972405416142312">"Out of service"</string>
-    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Emergency calls only"</string>
-    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio off"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS Registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT Interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"In Service"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Out of Service"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Emergency Calls Only"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio Off"</string>
     <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
-    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Not roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Not Roaming"</string>
     <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Idle"</string>
     <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ringing"</string>
-    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Call in progress"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Call in Progress"</string>
     <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Disconnected"</string>
     <string name="radioInfo_data_connecting" msgid="925092271092152472">"Connecting"</string>
     <string name="radioInfo_data_connected" msgid="7637335645634239508">"Connected"</string>
@@ -867,56 +867,56 @@
     <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
     <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
     <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
-    <string name="radio_info_subid" msgid="6839966868621703203">"Current subID:"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Current subId:"</string>
     <string name="radio_info_dds" msgid="1122593144425697126">"SubId of default data SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL bandwidth (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL bandwidth (kbps):"</string>
-    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE physical channel configuration:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Mobile info refresh rate:"</string>
-    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"All mobile measurement info:"</string>
-    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Data service:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL Bandwidth (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL Bandwidth (kbps):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE Physical Channel Configuration:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Cell Info Refresh Rate:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"All Cell Measurement Info:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Data Service:"</string>
     <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
     <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Call redirect:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Number of PPP reset since boot:"</string>
-    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Current network:"</string>
-    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data received:"</string>
-    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Voice service:"</string>
-    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signal strength"</string>
-    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Voice call status:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data sent"</string>
-    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Message waiting:"</string>
-    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Phone number:"</string>
-    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select radio band"</string>
-    <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice network type:"</string>
-    <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data network type:"</string>
-    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Override network type:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Call Redirect:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Number of PPP Reset Since Boot:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Current Network:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data Received:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Voice Service:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signal Strength:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Voice Call Status:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data Sent:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Message Waiting:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Phone Number:"</string>
+    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select Radio Band"</string>
+    <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice Network Type:"</string>
+    <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data Network Type:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Override Network Type:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Select phone index"</string>
-    <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set preferred network type:"</string>
-    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping hostname(www.google.com) IPv4:"</string>
-    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping hostname(www.google.com) IPv6:"</string>
-    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP client test:"</string>
-    <string name="ping_test_label" msgid="448617502935719694">"Run ping test"</string>
+    <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set Preferred Network Type:"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping Hostname(www.google.com) IPv4:"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping Hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP Client Test:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Run Ping Test"</string>
     <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Update"</string>
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Refresh"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS check"</string>
-    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific info/settings"</string>
-    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC available (NSA):"</string>
-    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restricted (NSA):"</string>
-    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR available (NSA):"</string>
-    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR state (NSA):"</string>
-    <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
-    <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
-    <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS Check"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific Info/Settings"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC Available (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR Restricted (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR Available (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR State (NSA):"</string>
+    <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR Frequency:"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Set Radio Band Mode"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Loading Band List…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
     <string name="band_mode_failed" msgid="1707488541847192924">"Unsuccessful"</string>
     <string name="band_mode_succeeded" msgid="2230018000534761063">"Successful"</string>
     <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tablet info"</string>
     <string name="phone_info_label" product="default" msgid="1784175881556791433">"Phone info"</string>
-    <string name="carrier_provisioning" msgid="2668065041869578376">"Operator provisioning info"</string>
-    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Trigger operator provisioning"</string>
-    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Your Bluetooth signal is weak. Try switching to speakerphone."</string>
-    <string name="call_quality_notification_name" msgid="3476828289553948830">"Call quality notification"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Carrier Provisioning Info"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Trigger Carrier Provisioning"</string>
+    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Your bluetooth signal is weak. Try switching to speakerphone."</string>
+    <string name="call_quality_notification_name" msgid="3476828289553948830">"Call Quality Notification"</string>
     <string name="notification_channel_sip_account" msgid="1261816025156179637">"Deprecated SIP accounts"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 5c5deba..ccdab6c 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -34,7 +34,7 @@
     <string name="enter_input" msgid="6193628663039958990">"El mensaje USSD debe tener entre <xliff:g id="MIN_LEN">%1$d</xliff:g> y <xliff:g id="MAX_LEN">%2$d</xliff:g> caracteres. Vuelve a intentarlo."</string>
     <string name="manageConferenceLabel" msgid="8415044818156353233">"Administrar conferencia telefónica"</string>
     <string name="ok" msgid="7818974223666140165">"Aceptar"</string>
-    <string name="audio_mode_speaker" msgid="243689733219312360">"Altavoz"</string>
+    <string name="audio_mode_speaker" msgid="243689733219312360">"Bocina"</string>
     <string name="audio_mode_earpiece" msgid="2823700267171134282">"Auricular"</string>
     <string name="audio_mode_wired_headset" msgid="5028010823105817443">"Auriculares con cable"</string>
     <string name="audio_mode_bluetooth" msgid="25732183428018809">"Bluetooth"</string>
@@ -916,7 +916,7 @@
     <string name="phone_info_label" product="default" msgid="1784175881556791433">"Información del teléfono"</string>
     <string name="carrier_provisioning" msgid="2668065041869578376">"Información del aprovisionamiento del proveedor"</string>
     <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Activar aprovisionamiento del proveedor"</string>
-    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Tu señal de Bluetooth es débil. Intenta cambiar al altavoz."</string>
+    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Tu señal de Bluetooth es débil. Intenta cambiar a la bocina."</string>
     <string name="call_quality_notification_name" msgid="3476828289553948830">"Notificación de calidad de llamada"</string>
     <string name="notification_channel_sip_account" msgid="1261816025156179637">"Cuentas SIP obsoletas"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 2922f6d..43f48f1 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -662,7 +662,7 @@
     <string name="voicemail_visual_voicemail_switch_title" msgid="6610414098912832120">"ビジュアル留守番電話"</string>
     <string name="voicemail_set_pin_dialog_title" msgid="7005128605986960003">"PIN の設定"</string>
     <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"PIN の変更"</string>
-    <string name="preference_category_ringtone" msgid="8787281191375434976">"着信音とバイブレーション"</string>
+    <string name="preference_category_ringtone" msgid="8787281191375434976">"サウンドとバイブレーション"</string>
     <string name="pstn_connection_service_label" msgid="9200102709997537069">"内蔵のSIMカード"</string>
     <string name="enable_video_calling_title" msgid="7246600931634161830">"ビデオハングアウトを有効にする"</string>
     <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"ビデオハングアウトをONにするには、ネットワーク設定で4G LTE拡張モードを有効にする必要があります。"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index c7c297f..aa71422 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -555,7 +555,7 @@
     <string name="incall_error_supp_service_hangup" msgid="836524952243836735">"Kan ikke frigjøre samtale(r)."</string>
     <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"Kan ikke sette samtaler på vent."</string>
     <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Koble til et trådløst nettverk for å ringe."</string>
-    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Slå på telefonanrop via Wi-Fi for å ringe."</string>
+    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Slå på telefonanrop via Wifi for å ringe."</string>
     <string name="emergency_information_hint" msgid="9208897544917793012">"Nødinformasjon"</string>
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"Eier"</string>
     <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Trykk på nytt for å se informasjon"</string>
@@ -673,12 +673,12 @@
     <string name="sim_description_default" msgid="7474671114363724971">"SIM-kort, spor: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Tilgjengelighet"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wifi-anrop fra"</string>
-    <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Oppringing via Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Oppringing via Wifi"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Det oppsto en feil under dekoding av meldingen."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Et SIM-kort har aktivert tjenesten din og oppdatert roamingfunksjonene for telefonen din."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Du har for mange aktive samtaler. Avslutt eller slå sammen eksisterende samtaler før du starter en ny samtale."</string>
     <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Kunne ikke koble til. Sett inn et gyldig SIM-kort."</string>
-    <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Samtalen ble avsluttet fordi Wi-Fi-forbindelsen ble brutt."</string>
+    <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Samtalen ble avsluttet fordi Wifi-forbindelsen ble brutt."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"Kan ikke utføre videoanropet på grunn av lite batteristrøm."</string>
     <string name="callFailed_low_battery" msgid="4056828320214416182">"Videosamtalen ble avsluttet på grunn av lite batteristrøm."</string>
     <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Nødanrop via wifi-anrop er ikke tilgjengelig på dette stedet."</string>
@@ -846,7 +846,7 @@
     <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Ikke registrert"</string>
     <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Tilgjengelig"</string>
     <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Utilgjengelig"</string>
-    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nTale over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nTale over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoanrop: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-grensesnitt: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nTale over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nTale over Wifi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoanrop: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-grensesnitt: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="45753418231446400">"Fungerer som normalt"</string>
     <string name="radioInfo_service_out" msgid="287972405416142312">"Ute av drift"</string>
     <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Bare nødanrop"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 36fd00f..7b231a7 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -47,7 +47,7 @@
     <string name="no_vm_number" msgid="6623853880546176930">"ହଜିଯାଇଥିବା ଭଏସମେଲ୍ ନମ୍ବର୍"</string>
     <string name="no_vm_number_msg" msgid="5165161462411372504">"SIM କାର୍ଡରେ କୌଣସି ଭଏସମେଲ୍ ନମ୍ବର୍ ଷ୍ଟୋର୍ କରାଯାଇନାହିଁ।"</string>
     <string name="add_vm_number_str" msgid="7368168964435881637">"ନମ୍ବର୍ ଯୋଡ଼ନ୍ତୁ"</string>
-    <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"ଭଏସମେଲ ସେଟିଂସକୁ ପ୍ରାଥମିକ ଉପଯୋଗକର୍ତ୍ତା କେବଳ ପରିବର୍ତ୍ତିତ କରିପାରିବେ।"</string>
+    <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"ଭଏସମେଲ ସେଟିଂସକୁ କେବଳ ପ୍ରାଥମିକ ୟୁଜର ପରିବର୍ତ୍ତନ କରିପାରିବେ।"</string>
     <string name="puk_unlocked" msgid="4627340655215746511">"ଆପଣଙ୍କର SIM କାର୍ଡକୁ ଅବରୋଧ କରିଦିଆଯାଇଛି। ଆପଣଙ୍କର ଫୋନ୍ ଅନଲକ୍ ହେଉଛି…"</string>
     <string name="label_ndp" msgid="7617392683877410341">"SIM ନେଟ୍‌ୱର୍କ‌କୁ ଅନଲକ୍ କରିବା ପାଇଁ PIN"</string>
     <string name="label_phoneid" msgid="8775611434123577808">"ଅପରେଟର୍ ପାଇଁ SIM ଲକ୍ କରାଯାଇଛି"</string>
@@ -56,7 +56,7 @@
     <string name="requesting_unlock" msgid="930512210309437741">"ନେଟ୍‌ୱର୍କକୁ ଅନଲକ୍ କରିବା ପାଇଁ ଅନୁରୋଧ କରାଯାଉଛି…"</string>
     <string name="unlock_failed" msgid="7103543844840661366">"ନେଟ୍‌ୱର୍କ ଅନଲକ୍ କରିବା ପାଇଁ ଅନୁରୋଧ ବିଫଳ ହୋ‌ଇଛି।"</string>
     <string name="unlock_success" msgid="32681089371067565">"ନେଟ୍‌ୱର୍କ ଅନଲକ୍ କରିବା ସଫଳ ହେଲା।"</string>
-    <string name="mobile_network_settings_not_available" msgid="8678168497517090039">"ଏହି ୟୁଜରଙ୍କ ପାଇଁ ମୋବାଇଲ୍ ନେଟ୍‌ୱର୍କ ସେଟିଙ୍ଗ ଉପଲବ୍ଧ ନାହିଁ"</string>
+    <string name="mobile_network_settings_not_available" msgid="8678168497517090039">"ଏହି ୟୁଜରଙ୍କ ପାଇଁ ମୋବାଇଲ ନେଟୱାର୍କ ସେଟିଂସ ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="labelGSMMore" msgid="7354182269461281543">"GSM କଲ ସେଟିଂସ"</string>
     <string name="labelGsmMore_with_label" msgid="3206015314393246224">"GSM କଲ ସେଟିଂସ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCDMAMore" msgid="7937441382611224632">"CDMA କଲ୍ ସେଟିଙ୍ଗ"</string>
@@ -132,7 +132,7 @@
     <string name="cdma_call_waiting_in_ims_on" msgid="6390979414188659218">"IMSରେ CDMA \'କଲ୍ ୱେଟିଂ\' ସୁବିଧା ଚାଲୁ ଅଛି"</string>
     <string name="cdma_call_waiting_in_ims_off" msgid="1099246114368636334">"IMSରେ CDMA \'କଲ୍ ୱେଟିଂ\' ସୁବିଧା ବନ୍ଦ ଅଛି"</string>
     <string name="updating_title" msgid="6130548922615719689">"କଲ ସେଟିଂସ"</string>
-    <string name="call_settings_admin_user_only" msgid="7238947387649986286">"କଲ୍ ସେଟିଙ୍ଗକୁ କେବଳ ଆଡମିନ୍ ୟୁଜର୍‌ ବଦଳାଇପାରିବେ।"</string>
+    <string name="call_settings_admin_user_only" msgid="7238947387649986286">"କଲ ସେଟିଂସକୁ କେବଳ ଆଡମିନ ୟୁଜର ବଦଳାଇପାରିବେ।"</string>
     <string name="call_settings_with_label" msgid="8460230435361579511">"ସେଟିଙ୍ଗ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="error_updating_title" msgid="2024290892676808965">"କଲ୍ ସେଟିଙ୍ଗରେ ତ୍ରୁଟି"</string>
     <string name="reading_settings" msgid="1605904432450871183">"ସେଟିଂସକୁ ପଢ଼ାଯାଉଛି…"</string>
@@ -718,8 +718,8 @@
     <string name="clh_callFailed_channel_unacceptable_txt" msgid="4062754579408613021">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 6।"</string>
     <string name="clh_callFailed_operator_determined_barring_txt" msgid="4202077821465974286">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 8।"</string>
     <string name="clh_callFailed_normal_call_clearing_txt" msgid="5677987959062976462">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 16।"</string>
-    <string name="clh_callFailed_user_busy_txt" msgid="8886432858568086854">"ୟୁଜର୍ ବ୍ୟସ୍ତ ଅଛନ୍ତି"</string>
-    <string name="clh_callFailed_no_user_responding_txt" msgid="341100226919865128">"ୟୁଜର୍ ଉତ୍ତର ଦେଉନାହାନ୍ତି"</string>
+    <string name="clh_callFailed_user_busy_txt" msgid="8886432858568086854">"ୟୁଜର ବ୍ୟସ୍ତ ଅଛନ୍ତି"</string>
+    <string name="clh_callFailed_no_user_responding_txt" msgid="341100226919865128">"ୟୁଜର ଉତ୍ତର ଦେଉନାହାଁନ୍ତି"</string>
     <string name="clh_callFailed_user_alerting_txt" msgid="896082976264427969">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 19।"</string>
     <string name="clh_callFailed_call_rejected_txt" msgid="3439435671153341709">"କଲ୍‌କୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରାଗଲା"</string>
     <string name="clh_callFailed_number_changed_txt" msgid="2868476949771441667">"ନମ୍ବର୍ ବଦଳିଯାଇଛି"</string>
@@ -800,7 +800,7 @@
     <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"କଲ୍‌କୁ ଫରୱାର୍ଡ କରାଯାଇଛି।"</string>
     <string name="supp_service_notification_call_waiting" msgid="4577403881609445324">"କଲ୍ ଅପେକ୍ଷାରେ ଅଛି।"</string>
     <string name="supp_service_clir_suppression_rejected" msgid="6105737020194776121">"ନମ୍ବର୍ ଅବରୋଧକୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରାଗଲା।"</string>
-    <string name="supp_service_closed_user_group_call" msgid="2811636666505250689">"ନିକଟତମ ୟୁଜର୍ ଗ୍ରୁପ୍ ଦ୍ଵାରା କଲ୍‌ରେ ସୀମିତ।"</string>
+    <string name="supp_service_closed_user_group_call" msgid="2811636666505250689">"ନିକଟତମ ୟୁଜର ଗ୍ରୁପ କଲ।"</string>
     <string name="supp_service_incoming_calls_barred" msgid="2034627421274447674">"ଇନକମିଙ୍ଗ କଲ୍‌କୁ ରୋକାଯାଇଛି।"</string>
     <string name="supp_service_outgoing_calls_barred" msgid="5205725332394087112">"ଆଉଟ୍‌ଗୋ‌ଇଙ୍ଗ କଲ୍‌କୁ ରୋକାଯାଇଛି।"</string>
     <string name="supp_service_call_forwarding_active" msgid="7910162960395132464">"କଲ୍ ଫରୱାର୍ଡିଙ୍ଗ ସକ୍ରିୟ ଅଛି।"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index ba4c4b0..ca67787 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -179,7 +179,7 @@
     <string name="network_query_error" msgid="3862515805115145124">"Não foi possível localizar nenhuma rede. Tente novamente."</string>
     <string name="register_on_network" msgid="4194770527833960423">"A registar em <xliff:g id="NETWORK">%s</xliff:g>..."</string>
     <string name="not_allowed" msgid="8541221928746104798">"O cartão SIM não permite uma ligação a esta rede."</string>
-    <string name="connect_later" msgid="1950138106010005425">"De momento, não é possível estabelecer ligação com esta rede. Tente novamente mais tarde."</string>
+    <string name="connect_later" msgid="1950138106010005425">"De momento, não é possível estabelecer ligação com esta rede. Tente mais tarde."</string>
     <string name="registration_done" msgid="5337407023566953292">"Registado na rede."</string>
     <string name="already_auto" msgid="8607068290733079336">"A seleção automática já está ativada."</string>
     <string name="select_automatically" msgid="779750291257872651">"Selecionar automaticamente a rede"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index ab6d5d5..8761db9 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -579,7 +579,7 @@
     <string name="onscreenEndCallText" msgid="6138725377654842757">"Finalizar"</string>
     <string name="onscreenShowDialpadText" msgid="658465753816164079">"Teclado"</string>
     <string name="onscreenMuteText" msgid="5470306116733843621">"Desativar som"</string>
-    <string name="onscreenAddCallText" msgid="9075675082903611677">"Adicionar chamada"</string>
+    <string name="onscreenAddCallText" msgid="9075675082903611677">"Adicionar ligação"</string>
     <string name="onscreenMergeCallsText" msgid="3692389519611225407">"Juntar chamadas"</string>
     <string name="onscreenSwapCallsText" msgid="2682542150803377991">"Trocar"</string>
     <string name="onscreenManageCallsText" msgid="1162047856081836469">"Gerenciar chamadas"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 581b586..9837f72 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -582,8 +582,8 @@
     <string name="onscreenAddCallText" msgid="9075675082903611677">"కాల్‌ను జోడించు"</string>
     <string name="onscreenMergeCallsText" msgid="3692389519611225407">"కాల్స్‌ను విలీనం చేయి"</string>
     <string name="onscreenSwapCallsText" msgid="2682542150803377991">"స్వాప్ చేయి"</string>
-    <string name="onscreenManageCallsText" msgid="1162047856081836469">"కాల్స్‌ను నిర్వహించు"</string>
-    <string name="onscreenManageConferenceText" msgid="4700574060601755137">"కాన్ఫరెన్స్‌ను నిర్వహించు"</string>
+    <string name="onscreenManageCallsText" msgid="1162047856081836469">"కాల్స్‌ను మేనేజ్ చేయండి"</string>
+    <string name="onscreenManageConferenceText" msgid="4700574060601755137">"కాన్ఫరెన్స్‌ను మేనేజ్ చేయండి"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"ఆడియో"</string>
     <string name="onscreenVideoCallText" msgid="1743992456126258698">"వీడియో కాల్"</string>
     <string name="importSimEntry" msgid="3892354284082689894">"దిగుమతి చేయండి"</string>
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index 7bff98a..fdd610e 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -456,11 +456,7 @@
                     CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL,
                     false);
         boolean isDataEnabled;
-        if (mPhone.isUsingNewDataStack()) {
-            isDataEnabled = mPhone.getDataSettingsManager().isDataEnabled();
-        } else {
-            isDataEnabled = mPhone.getDataEnabledSettings().isDataEnabled();
-        }
+        isDataEnabled = mPhone.getDataSettingsManager().isDataEnabled();
         if (mImsMgr.isVtEnabledByPlatform() && mImsMgr.isVtProvisionedOnDevice()
                 && (carrierConfig.getBoolean(
                         CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS)
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index f6ec75d..abbd816 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -49,7 +49,6 @@
 import android.telephony.TelephonyCallback;
 import android.telephony.TelephonyLocalConnection;
 import android.telephony.TelephonyManager;
-import android.telephony.data.ApnSetting;
 import android.util.LocalLog;
 import android.util.Log;
 import android.widget.Toast;
@@ -68,8 +67,6 @@
 import com.android.internal.telephony.TelephonyComponentFactory;
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.data.DataEvaluation.DataDisallowedReason;
-import com.android.internal.telephony.dataconnection.DataConnectionReasons;
-import com.android.internal.telephony.dataconnection.DataConnectionReasons.DataDisallowedReasonType;
 import com.android.internal.telephony.ims.ImsResolver;
 import com.android.internal.telephony.imsphone.ImsPhone;
 import com.android.internal.telephony.imsphone.ImsPhoneCallTracker;
@@ -891,22 +888,13 @@
 
         boolean dataAllowed;
         boolean notAllowedDueToRoamingOff;
-        if (phone.isUsingNewDataStack()) {
-            List<DataDisallowedReason> reasons = phone.getDataNetworkController()
-                    .getInternetDataDisallowedReasons();
-            dataAllowed = reasons.isEmpty();
-            notAllowedDueToRoamingOff = (reasons.size() == 1
-                    && reasons.contains(DataDisallowedReason.ROAMING_DISABLED));
-            mDataRoamingNotifLog.log("dataAllowed=" + dataAllowed + ", reasons=" + reasons);
-            if (VDBG) Log.v(LOG_TAG, "dataAllowed=" + dataAllowed + ", reasons=" + reasons);
-        } else {
-            DataConnectionReasons reasons = new DataConnectionReasons();
-            dataAllowed = phone.isDataAllowed(ApnSetting.TYPE_DEFAULT, reasons);
-            notAllowedDueToRoamingOff = reasons.containsOnly(
-                    DataDisallowedReasonType.ROAMING_DISABLED);
-            mDataRoamingNotifLog.log("dataAllowed=" + dataAllowed + ", reasons=" + reasons);
-            if (VDBG) Log.v(LOG_TAG, "dataAllowed=" + dataAllowed + ", reasons=" + reasons);
-        }
+        List<DataDisallowedReason> reasons = phone.getDataNetworkController()
+                .getInternetDataDisallowedReasons();
+        dataAllowed = reasons.isEmpty();
+        notAllowedDueToRoamingOff = (reasons.size() == 1
+                && reasons.contains(DataDisallowedReason.ROAMING_DISABLED));
+        mDataRoamingNotifLog.log("dataAllowed=" + dataAllowed + ", reasons=" + reasons);
+        if (VDBG) Log.v(LOG_TAG, "dataAllowed=" + dataAllowed + ", reasons=" + reasons);
 
         if (!dataAllowed && notAllowedDueToRoamingOff) {
             // No need to show it again if we never cancelled it explicitly.
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
old mode 100755
new mode 100644
index 4122dfe..bdbd5f9
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -184,7 +184,6 @@
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.TelephonyPermissions;
 import com.android.internal.telephony.data.DataUtils;
-import com.android.internal.telephony.dataconnection.ApnSettingUtils;
 import com.android.internal.telephony.emergency.EmergencyNumberTracker;
 import com.android.internal.telephony.euicc.EuiccConnector;
 import com.android.internal.telephony.ims.ImsResolver;
@@ -380,6 +379,7 @@
     private SharedPreferences mTelephonySharedPreferences;
     private PhoneConfigurationManager mPhoneConfigurationManager;
     private final RadioInterfaceCapabilityController mRadioInterfaceCapabilities;
+    private final Telephony2gUpdater mTelephony2gUpdater;
 
     /** User Activity */
     private AtomicBoolean mNotifyUserActivity;
@@ -2347,6 +2347,9 @@
         mRadioInterfaceCapabilities = RadioInterfaceCapabilityController.getInstance();
         mNotifyUserActivity = new AtomicBoolean(false);
         PropertyInvalidatedCache.invalidateCache(TelephonyManager.CACHE_KEY_PHONE_ACCOUNT_TO_SUBID);
+        mTelephony2gUpdater = new Telephony2gUpdater(
+                Executors.newSingleThreadExecutor(), mApp);
+        mTelephony2gUpdater.init();
         publish();
     }
 
@@ -2861,13 +2864,8 @@
             int subId = mSubscriptionController.getDefaultDataSubId();
             final Phone phone = getPhone(subId);
             if (phone != null) {
-                if (phone.isUsingNewDataStack()) {
-                    phone.getDataSettingsManager().setDataEnabled(
-                            TelephonyManager.DATA_ENABLED_REASON_USER, true, callingPackage);
-                } else {
-                    phone.getDataEnabledSettings().setDataEnabled(
-                            TelephonyManager.DATA_ENABLED_REASON_USER, true);
-                }
+                phone.getDataSettingsManager().setDataEnabled(
+                        TelephonyManager.DATA_ENABLED_REASON_USER, true, callingPackage);
                 return true;
             } else {
                 return false;
@@ -2887,13 +2885,8 @@
             int subId = mSubscriptionController.getDefaultDataSubId();
             final Phone phone = getPhone(subId);
             if (phone != null) {
-                if (phone.isUsingNewDataStack()) {
-                    phone.getDataSettingsManager().setDataEnabled(
-                            TelephonyManager.DATA_ENABLED_REASON_USER, false, callingPackage);
-                } else {
-                    phone.getDataEnabledSettings().setDataEnabled(
-                            TelephonyManager.DATA_ENABLED_REASON_USER, false);
-                }
+                phone.getDataSettingsManager().setDataEnabled(
+                        TelephonyManager.DATA_ENABLED_REASON_USER, false, callingPackage);
                 return true;
             } else {
                 return false;
@@ -3009,10 +3002,7 @@
         try {
             final Phone phone = getPhone(subId);
             if (phone != null) {
-                if (phone.isUsingNewDataStack()) {
-                    return phone.getDataNetworkController().getInternetDataNetworkState();
-                }
-                return PhoneConstantConversions.convertDataState(phone.getDataConnectionState());
+                return phone.getDataNetworkController().getInternetDataNetworkState();
             } else {
                 return PhoneConstantConversions.convertDataState(
                         PhoneConstants.DataState.DISCONNECTED);
@@ -6499,6 +6489,17 @@
             @TelephonyManager.NetworkTypeBitMask long allowedNetworkTypes) {
         TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
                 mApp, subId, "setAllowedNetworkTypesForReason");
+        // If the caller only has carrier privileges, then they should not be able to override
+        // any network types which were set for security reasons.
+        if (mApp.checkCallingOrSelfPermission(Manifest.permission.MODIFY_PHONE_STATE)
+                != PERMISSION_GRANTED
+                && (reason == TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G
+                || reason == TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS)) {
+            throw new SecurityException(
+                    "setAllowedNetworkTypesForReason cannot be called with carrier privileges for"
+                            + " reason "
+                            + reason);
+        }
         if (!TelephonyManager.isValidAllowedNetworkTypesReason(reason)) {
             loge("setAllowedNetworkTypesForReason: Invalid allowed network type reason: " + reason);
             return false;
@@ -6648,11 +6649,7 @@
             Phone phone = PhoneFactory.getPhone(phoneId);
             if (phone != null) {
                 boolean retVal;
-                if (phone.isUsingNewDataStack()) {
-                    retVal = phone.getDataSettingsManager().isDataEnabled();
-                } else {
-                    retVal = phone.getDataEnabledSettings().isDataEnabled();
-                }
+                retVal = phone.getDataSettingsManager().isDataEnabled();
                 if (DBG) log("isDataEnabled: " + retVal + ", subId=" + subId);
                 return retVal;
             } else {
@@ -6704,15 +6701,7 @@
             Phone phone = PhoneFactory.getPhone(phoneId);
             if (phone != null) {
                 boolean retVal;
-                if (phone.isUsingNewDataStack()) {
-                    retVal = phone.getDataSettingsManager().isDataEnabledForReason(reason);
-                } else {
-                    if (reason == TelephonyManager.DATA_ENABLED_REASON_USER) {
-                        retVal = phone.isUserDataEnabled();
-                    } else {
-                        retVal = phone.getDataEnabledSettings().isDataEnabledForReason(reason);
-                    }
-                }
+                retVal = phone.getDataSettingsManager().isDataEnabledForReason(reason);
                 if (DBG) log("isDataEnabledForReason: retVal=" + retVal);
                 return retVal;
             } else {
@@ -8450,12 +8439,8 @@
                 if (reason == TelephonyManager.DATA_ENABLED_REASON_CARRIER) {
                     phone.carrierActionSetMeteredApnsEnabled(enabled);
                 } else {
-                    if (phone.isUsingNewDataStack()) {
-                        phone.getDataSettingsManager().setDataEnabled(
-                                reason, enabled, callingPackage);
-                    } else {
-                        phone.getDataEnabledSettings().setDataEnabled(reason, enabled);
-                    }
+                    phone.getDataSettingsManager().setDataEnabled(
+                            reason, enabled, callingPackage);
                 }
             }
         } finally {
@@ -9665,15 +9650,10 @@
 
             boolean isMetered;
             boolean isDataEnabled;
-            if (phone.isUsingNewDataStack()) {
-                isMetered = phone.getDataNetworkController().getDataConfigManager()
-                        .isMeteredCapability(DataUtils.apnTypeToNetworkCapability(apnType),
-                                phone.getServiceState().getDataRoaming());
-                isDataEnabled = phone.getDataSettingsManager().isDataEnabled(apnType);
-            } else {
-                isMetered = ApnSettingUtils.isMeteredApnType(apnType, phone);
-                isDataEnabled = phone.getDataEnabledSettings().isDataEnabled(apnType);
-            }
+            isMetered = phone.getDataNetworkController().getDataConfigManager()
+                    .isMeteredCapability(DataUtils.apnTypeToNetworkCapability(apnType),
+                            phone.getServiceState().getDataRoaming());
+            isDataEnabled = phone.getDataSettingsManager().isDataEnabled(apnType);
             return !isMetered || isDataEnabled;
         } finally {
             Binder.restoreCallingIdentity(identity);
@@ -9689,13 +9669,9 @@
         try {
             Phone phone = getPhone(subId);
             if (phone == null) return true; // By default return true.
-            if (phone.isUsingNewDataStack()) {
-                return phone.getDataNetworkController().getDataConfigManager().isMeteredCapability(
-                        DataUtils.apnTypeToNetworkCapability(apnType),
-                        phone.getServiceState().getDataRoaming());
-            }
-
-            return ApnSettingUtils.isMeteredApnType(apnType, phone);
+            return phone.getDataNetworkController().getDataConfigManager().isMeteredCapability(
+                    DataUtils.apnTypeToNetworkCapability(apnType),
+                    phone.getServiceState().getDataRoaming());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -9827,17 +9803,9 @@
 
             switch (policy) {
                 case TelephonyManager.MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL:
-                    if (phone.isUsingNewDataStack()) {
-                        return phone.getDataSettingsManager().isDataAllowedInVoiceCall();
-                    } else {
-                        return phone.getDataEnabledSettings().isDataAllowedInVoiceCall();
-                    }
+                    return phone.getDataSettingsManager().isDataAllowedInVoiceCall();
                 case TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED:
-                    if (phone.isUsingNewDataStack()) {
-                        return phone.getDataSettingsManager().isMmsAlwaysAllowed();
-                    } else {
-                        return phone.getDataEnabledSettings().isMmsAlwaysAllowed();
-                    }
+                    return phone.getDataSettingsManager().isMmsAlwaysAllowed();
                 default:
                     throw new IllegalArgumentException(policy + " is not a valid policy");
             }
@@ -9858,18 +9826,10 @@
 
             switch (policy) {
                 case TelephonyManager.MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL:
-                    if (phone.isUsingNewDataStack()) {
-                        phone.getDataSettingsManager().setAllowDataDuringVoiceCall(enabled);
-                    } else {
-                        phone.getDataEnabledSettings().setAllowDataDuringVoiceCall(enabled);
-                    }
+                    phone.getDataSettingsManager().setAllowDataDuringVoiceCall(enabled);
                     break;
                 case TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED:
-                    if (phone.isUsingNewDataStack()) {
-                        phone.getDataSettingsManager().setAlwaysAllowMmsData(enabled);
-                    } else {
-                        phone.getDataEnabledSettings().setAlwaysAllowMmsData(enabled);
-                    }
+                    phone.getDataSettingsManager().setAlwaysAllowMmsData(enabled);
                     break;
                 default:
                     throw new IllegalArgumentException(policy + " is not a valid policy");
@@ -11246,12 +11206,6 @@
         }
     }
 
-    @Override
-    public boolean isUsingNewDataStack() {
-        TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "isUsingNewDataStack");
-        return getDefaultPhone().isUsingNewDataStack();
-    }
-
     /**
      * Sets the modem service class Name that Telephony will bind to.
      *
diff --git a/src/com/android/phone/RcsProvisioningMonitor.java b/src/com/android/phone/RcsProvisioningMonitor.java
index 1ed0d72..a948d08 100644
--- a/src/com/android/phone/RcsProvisioningMonitor.java
+++ b/src/com/android/phone/RcsProvisioningMonitor.java
@@ -828,7 +828,7 @@
 
     private void onConfigReceived(int subId, byte[] config, boolean isCompressed) {
         logv("onConfigReceived, subId:" + subId + ", config:"
-                + config + ", isCompressed:" + isCompressed);
+                + Arrays.toString(config) + ", isCompressed:" + isCompressed);
         RcsProvisioningInfo info = mRcsProvisioningInfos.get(subId);
         if (info == null) {
             logd("sub[" + subId + "] has been removed");
diff --git a/src/com/android/phone/Telephony2gUpdater.java b/src/com/android/phone/Telephony2gUpdater.java
new file mode 100644
index 0000000..0919385
--- /dev/null
+++ b/src/com/android/phone/Telephony2gUpdater.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.UserManager;
+import android.telephony.RadioAccessFamily;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.util.Log;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.RILConstants;
+
+import java.util.List;
+import java.util.concurrent.Executor;
+
+/**
+ * A {@link BroadcastReceiver} that ensures that user restrictions are correctly applied to
+ * telephony.
+ * This includes handling broadcasts from user restriction state changes, as well as ensuring that
+ * SIM-specific settings are correctly applied when new subscriptions become active.
+ *
+ * Callers are expected to call {@code init()} and keep an instance of this class alive.
+ */
+public class Telephony2gUpdater extends BroadcastReceiver {
+    private static final String TAG = "TelephonyUserManagerReceiver";
+
+    // We can't interact with the HAL on the main thread of the phone process (where
+    // receivers are run by default), so we execute our logic from a separate thread.
+    private final Executor mExecutor;
+    private final Context mContext;
+    private final long mBaseAllowedNetworks;
+
+    public Telephony2gUpdater(Executor executor, Context context) {
+        this(executor, context,
+                RadioAccessFamily.getRafFromNetworkType(RILConstants.PREFERRED_NETWORK_MODE));
+    }
+
+    public Telephony2gUpdater(Executor executor, Context context,
+            long baseAllowedNetworks) {
+        mExecutor = executor;
+        mContext = context;
+        mBaseAllowedNetworks = baseAllowedNetworks;
+    }
+
+    /**
+     * Register the given instance as a {@link BroadcastReceiver} and a {@link
+     * SubscriptionManager.OnSubscriptionsChangedListener}.
+     */
+    public void init() {
+        mContext.getSystemService(SubscriptionManager.class).addOnSubscriptionsChangedListener(
+                mExecutor, new SubscriptionListener());
+        IntentFilter filter = new IntentFilter();
+        filter.addAction(UserManager.ACTION_USER_RESTRICTIONS_CHANGED);
+        mContext.registerReceiver(this, filter);
+    }
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        if (context == null || intent == null) return;
+        Log.i(TAG, "Received callback for action " + intent.getAction());
+        final PendingResult result = goAsync();
+        mExecutor.execute(() -> {
+            Log.i(TAG, "Running handler for action " + intent.getAction());
+            handleUserRestrictionsChanged(context);
+            result.finish();
+        });
+    }
+
+    /**
+     * Update all active subscriptions with allowed network types depending on the current state
+     * of the {@link UserManager.DISALLOW_2G}.
+     */
+    @VisibleForTesting
+    public void handleUserRestrictionsChanged(Context context) {
+        UserManager um = context.getSystemService(UserManager.class);
+        TelephonyManager tm = context.getSystemService(TelephonyManager.class);
+        SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
+        final long twoGBitmask = TelephonyManager.NETWORK_CLASS_BITMASK_2G;
+
+        boolean shouldDisable2g = um.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G);
+
+        // This is expected when subscription info cannot be determined. We'll get another
+        // callback in the future from our SubscriptionListener once we have valid subscriptions.
+        List<SubscriptionInfo> subscriptionInfoList = sm.getAvailableSubscriptionInfoList();
+        if (subscriptionInfoList == null) {
+            return;
+        }
+
+        long allowedNetworkTypes = mBaseAllowedNetworks;
+
+        // 2G device admin controls are global
+        for (SubscriptionInfo info : subscriptionInfoList) {
+            TelephonyManager telephonyManager = tm.createForSubscriptionId(
+                    info.getSubscriptionId());
+            if (shouldDisable2g) {
+                allowedNetworkTypes &= ~twoGBitmask;
+            } else {
+                allowedNetworkTypes |= twoGBitmask;
+            }
+            telephonyManager.setAllowedNetworkTypesForReason(
+                    TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS,
+                    allowedNetworkTypes);
+        }
+    }
+
+    private class SubscriptionListener extends SubscriptionManager.OnSubscriptionsChangedListener {
+        @Override
+        public void onSubscriptionsChanged() {
+            Log.i(TAG, "Running handler for subscription change.");
+            handleUserRestrictionsChanged(mContext);
+        }
+    }
+
+}
diff --git a/src/com/android/phone/TelephonyShellCommand.java b/src/com/android/phone/TelephonyShellCommand.java
index 97676fc..3eb4511 100644
--- a/src/com/android/phone/TelephonyShellCommand.java
+++ b/src/com/android/phone/TelephonyShellCommand.java
@@ -21,6 +21,8 @@
 import static com.android.internal.telephony.d2d.Communicator.MESSAGE_DEVICE_BATTERY_STATE;
 import static com.android.internal.telephony.d2d.Communicator.MESSAGE_DEVICE_NETWORK_COVERAGE;
 
+import static java.util.Map.entry;
+
 import android.Manifest;
 import android.content.Context;
 import android.net.Uri;
@@ -61,7 +63,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -171,8 +172,6 @@
             "get-allowed-network-types-for-users";
     private static final String SET_ALLOWED_NETWORK_TYPES_FOR_USER =
             "set-allowed-network-types-for-users";
-    // Check if telephony new data stack is enabled.
-    private static final String GET_DATA_MODE = "get-data-mode";
     private static final String GET_IMEI = "get-imei";
     private static final String GET_SIM_SLOTS_MAPPING = "get-sim-slots-mapping";
     // Take advantage of existing methods that already contain permissions checks when possible.
@@ -198,33 +197,32 @@
     // For instance: "xxxx_string", "xxxx_string_array", etc.
     // The carrier config keys in this map does not follow this convention. It is therefore not
     // possible to infer the type for these keys by looking at the string.
-    private static final Map<String, CcType> CC_TYPE_MAP = new HashMap<String, CcType>() {{
-            put(CarrierConfigManager.Gps.KEY_A_GLONASS_POS_PROTOCOL_SELECT_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_GPS_LOCK_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_LPP_PROFILE_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_NFW_PROXY_APPS_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_SUPL_ES_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_SUPL_HOST_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_SUPL_MODE_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_SUPL_PORT_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_SUPL_VER_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL_STRING,
-                    CcType.STRING);
-            put(CarrierConfigManager.KEY_CARRIER_APP_NO_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
-                    CcType.STRING_ARRAY);
-            put(CarrierConfigManager.KEY_CARRIER_APP_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
-                    CcType.STRING_ARRAY);
-            put(CarrierConfigManager.KEY_CARRIER_CALL_SCREENING_APP_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_HTTP_PARAMS_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_NAI_SUFFIX_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_UA_PROF_TAG_NAME_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_UA_PROF_URL_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_USER_AGENT_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_RATCHET_RAT_FAMILIES, CcType.STRING_ARRAY);
-        }
-    };
+    private static final Map<String, CcType> CC_TYPE_MAP = Map.ofEntries(
+            entry(CarrierConfigManager.Gps.KEY_A_GLONASS_POS_PROTOCOL_SELECT_STRING,
+                    CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_GPS_LOCK_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_LPP_PROFILE_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_NFW_PROXY_APPS_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_SUPL_ES_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_SUPL_HOST_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_SUPL_MODE_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_SUPL_PORT_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_SUPL_VER_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL_STRING,
+                    CcType.STRING),
+            entry(CarrierConfigManager.KEY_CARRIER_APP_NO_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
+                    CcType.STRING_ARRAY),
+            entry(CarrierConfigManager.KEY_CARRIER_APP_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
+                    CcType.STRING_ARRAY),
+            entry(CarrierConfigManager.KEY_CARRIER_CALL_SCREENING_APP_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_HTTP_PARAMS_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_NAI_SUFFIX_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_UA_PROF_TAG_NAME_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_UA_PROF_URL_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_USER_AGENT_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_RATCHET_RAT_FAMILIES, CcType.STRING_ARRAY));
 
     /**
      * Map from a shorthand string to the feature tags required in registration required in order
@@ -329,8 +327,6 @@
             case GET_ALLOWED_NETWORK_TYPES_FOR_USER:
             case SET_ALLOWED_NETWORK_TYPES_FOR_USER:
                 return handleAllowedNetworkTypesCommand(cmd);
-            case GET_DATA_MODE:
-                return handleGetDataMode();
             case GET_IMEI:
                 return handleGetImei();
             case GET_SIM_SLOTS_MAPPING:
@@ -2913,24 +2909,6 @@
         }
     }
 
-    private int handleGetDataMode() {
-        if (!checkShellUid()) {
-            return -1;
-        }
-
-        boolean newDataStackEnabled = false;
-        try {
-            newDataStackEnabled = mInterface.isUsingNewDataStack();
-        } catch (RemoteException e) {
-            getOutPrintWriter().println("Something went wrong. " + e);
-            return -1;
-        }
-
-        getOutPrintWriter().println("Telephony is running with the "
-                + (newDataStackEnabled ? "new" : "old") + " data stack.");
-        return 0;
-    }
-
     private int handleRadioSetModemServiceCommand() {
         PrintWriter errPw = getErrPrintWriter();
         String serviceName = null;
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index 2058d2d..3840999 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -72,6 +72,13 @@
 import android.telephony.TelephonyDisplayInfo;
 import android.telephony.TelephonyManager;
 import android.telephony.data.NetworkSlicingConfig;
+import android.telephony.ims.ImsException;
+import android.telephony.ims.ImsManager;
+import android.telephony.ims.ImsMmTelManager;
+import android.telephony.ims.ImsRcsManager;
+import android.telephony.ims.ProvisioningManager;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.Menu;
@@ -92,9 +99,6 @@
 import androidx.appcompat.app.AlertDialog.Builder;
 import androidx.appcompat.app.AppCompatActivity;
 
-import com.android.ims.ImsConfig;
-import com.android.ims.ImsException;
-import com.android.ims.ImsManager;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.euicc.EuiccConnector;
@@ -176,18 +180,6 @@
      */
     private static final int ALWAYS_ON_DSDS_MODE = 1;
 
-    private static final int IMS_VOLTE_PROVISIONED_CONFIG_ID =
-            ImsConfig.ConfigConstants.VLT_SETTING_ENABLED;
-
-    private static final int IMS_VT_PROVISIONED_CONFIG_ID =
-            ImsConfig.ConfigConstants.LVC_SETTING_ENABLED;
-
-    private static final int IMS_WFC_PROVISIONED_CONFIG_ID =
-            ImsConfig.ConfigConstants.VOICE_OVER_WIFI_SETTING_ENABLED;
-
-    private static final int EAB_PROVISIONED_CONFIG_ID =
-            ImsConfig.ConfigConstants.EAB_SETTING_ENABLED;
-
     //Values in must match CELL_INFO_REFRESH_RATES
     private static final String[] CELL_INFO_REFRESH_RATE_LABELS = {
             "Disabled",
@@ -291,6 +283,7 @@
     private TelephonyManager mTelephonyManager;
     private ImsManager mImsManager = null;
     private Phone mPhone = null;
+    private ProvisioningManager mProvisioningManager = null;
 
     private String mPingHostnameResultV4;
     private String mPingHostnameResultV6;
@@ -419,12 +412,23 @@
         unregisterPhoneStateListener();
         mTelephonyManager.setCellInfoListRate(sCellInfoListRateDisabled);
 
+        if (phoneIndex == SubscriptionManager.INVALID_PHONE_INDEX) {
+            log("Invalid phone index " + phoneIndex + ", subscription ID " + subId);
+            return;
+        }
+
         // update the subId
         mTelephonyManager = mTelephonyManager.createForSubscriptionId(subId);
 
         // update the phoneId
-        mImsManager = ImsManager.getInstance(getApplicationContext(), phoneIndex);
         mPhone = PhoneFactory.getPhone(phoneIndex);
+        mImsManager = new ImsManager(mPhone.getContext());
+        try {
+            mProvisioningManager = ProvisioningManager.createForSubscriptionId(subId);
+        } catch (IllegalArgumentException e) {
+            log("updatePhoneIndex : IllegalArgumentException " + e.getMessage());
+            mProvisioningManager = null;
+        }
 
         updateAllFields();
     }
@@ -480,11 +484,17 @@
         mQueuedWork = new ThreadPoolExecutor(1, 1, RUNNABLE_TIMEOUT_MS, TimeUnit.MICROSECONDS,
                 new LinkedBlockingDeque<Runnable>());
         mConnectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
-        mPhone = PhoneFactory.getDefaultPhone();
+        mPhone = getPhone(SubscriptionManager.getDefaultSubscriptionId());
         mTelephonyManager = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
                 .createForSubscriptionId(mPhone.getSubId());
 
-        mImsManager = ImsManager.getInstance(getApplicationContext(), mPhone.getPhoneId());
+        mImsManager = new ImsManager(mPhone.getContext());
+        try {
+            mProvisioningManager = ProvisioningManager.createForSubscriptionId(mPhone.getSubId());
+        } catch (IllegalArgumentException e) {
+            log("onCreate : IllegalArgumentException " + e.getMessage());
+            mProvisioningManager = null;
+        }
 
         sPhoneIndexLabels = getPhoneIndexLabels(mTelephonyManager);
 
@@ -552,7 +562,7 @@
         mImsWfcProvisionedSwitch = (Switch) findViewById(R.id.wfc_provisioned_switch);
         mEabProvisionedSwitch = (Switch) findViewById(R.id.eab_provisioned_switch);
 
-        if (!ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
+        if (!isImsSupportedOnDevice(mPhone.getContext())) {
             mImsVolteProvisionedSwitch.setVisibility(View.GONE);
             mImsVtProvisionedSwitch.setVisibility(View.GONE);
             mImsWfcProvisionedSwitch.setVisibility(View.GONE);
@@ -627,7 +637,7 @@
 
         mCellInfoRefreshRateIndex = 0; //disabled
         mPreferredNetworkTypeResult = PREFERRED_NETWORK_LABELS.length - 1; //Unknown
-        mSelectedPhoneIndex = 0; //phone 0
+        mSelectedPhoneIndex = mPhone.getPhoneId();
 
         new Thread(() -> {
             int networkType = (int) mTelephonyManager.getPreferredNetworkTypeBitmask();
@@ -751,6 +761,7 @@
         mCellInfoRefreshRateIndex = b.getInt("mCellInfoRefreshRateIndex", 0);
     }
 
+    @SuppressWarnings("MissingSuperCall") // TODO: Fix me
     @Override
     protected void onSaveInstanceState(Bundle outState) {
         outState.putString("mPingHostnameResultV4", mPingHostnameResultV4);
@@ -774,7 +785,7 @@
                 R.string.radioInfo_menu_viewFDN).setOnMenuItemClickListener(mViewFDNCallback);
         menu.add(1, MENU_ITEM_VIEW_SDN, 0,
                 R.string.radioInfo_menu_viewSDN).setOnMenuItemClickListener(mViewSDNCallback);
-        if (ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
+        if (isImsSupportedOnDevice(mPhone.getContext())) {
             menu.add(1, MENU_ITEM_GET_IMS_STATUS,
                     0, R.string.radioInfo_menu_getIMS).setOnMenuItemClickListener(mGetImsStatus);
         }
@@ -1502,34 +1513,38 @@
         mRadioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
     }
 
-    void setImsVolteProvisionedState(boolean state) {
+    private void setImsVolteProvisionedState(boolean state) {
         Log.d(TAG, "setImsVolteProvisioned state: " + ((state) ? "on" : "off"));
-        setImsConfigProvisionedState(IMS_VOLTE_PROVISIONED_CONFIG_ID, state);
+        setImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE, state);
     }
 
-    void setImsVtProvisionedState(boolean state) {
+    private void setImsVtProvisionedState(boolean state) {
         Log.d(TAG, "setImsVtProvisioned() state: " + ((state) ? "on" : "off"));
-        setImsConfigProvisionedState(IMS_VT_PROVISIONED_CONFIG_ID, state);
+        setImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE, state);
     }
 
-    void setImsWfcProvisionedState(boolean state) {
+    private void setImsWfcProvisionedState(boolean state) {
         Log.d(TAG, "setImsWfcProvisioned() state: " + ((state) ? "on" : "off"));
-        setImsConfigProvisionedState(IMS_WFC_PROVISIONED_CONFIG_ID, state);
+        setImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN, state);
     }
 
-    void setEabProvisionedState(boolean state) {
+    private void setEabProvisionedState(boolean state) {
         Log.d(TAG, "setEabProvisioned() state: " + ((state) ? "on" : "off"));
-        setImsConfigProvisionedState(EAB_PROVISIONED_CONFIG_ID, state);
+        setRcsConfigProvisionedState(ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE, state);
     }
 
-    void setImsConfigProvisionedState(int configItem, boolean state) {
-        if (mPhone != null && mImsManager != null) {
+    private void setImsConfigProvisionedState(int capability, int tech, boolean state) {
+        if (mProvisioningManager != null) {
             mQueuedWork.execute(new Runnable() {
                 public void run() {
                     try {
-                        mImsManager.getConfigInterface().setProvisionedValue(
-                                configItem, state ? 1 : 0);
-                    } catch (ImsException e) {
+                        mProvisioningManager.setProvisioningStatusForCapability(
+                                capability, tech, state);
+                    } catch (RuntimeException e) {
                         Log.e(TAG, "setImsConfigProvisioned() exception:", e);
                     }
                 }
@@ -1537,6 +1552,71 @@
         }
     }
 
+    private void setRcsConfigProvisionedState(int capability, int tech, boolean state) {
+        if (mProvisioningManager != null) {
+            mQueuedWork.execute(new Runnable() {
+                public void run() {
+                    try {
+                        mProvisioningManager.setRcsProvisioningStatusForCapability(
+                                capability, tech, state);
+                    } catch (RuntimeException e) {
+                        Log.e(TAG, "setRcsConfigProvisioned() exception:", e);
+                    }
+                }
+            });
+        }
+    }
+
+    private boolean isImsVolteProvisioningRequired() {
+        return isImsConfigProvisioningRequired(
+                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+    }
+
+    private boolean isImsVtProvisioningRequired() {
+        return isImsConfigProvisioningRequired(
+                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+    }
+
+    private boolean isImsWfcProvisioningRequired() {
+        return isImsConfigProvisioningRequired(
+                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN);
+    }
+
+    private boolean isEabProvisioningRequired() {
+        return isRcsConfigProvisioningRequired(
+                ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+    }
+
+    private boolean isImsConfigProvisioningRequired(int capability, int tech) {
+        if (mProvisioningManager != null) {
+            try {
+                return mProvisioningManager.isProvisioningRequiredForCapability(
+                        capability, tech);
+            } catch (RuntimeException e) {
+                Log.e(TAG, "isImsConfigProvisioningRequired() exception:", e);
+            }
+        }
+
+        return false;
+    }
+
+    private boolean isRcsConfigProvisioningRequired(int capability, int tech) {
+        if (mProvisioningManager != null) {
+            try {
+                return mProvisioningManager.isRcsProvisioningRequiredForCapability(
+                        capability, tech);
+            } catch (RuntimeException e) {
+                Log.e(TAG, "isRcsConfigProvisioningRequired() exception:", e);
+            }
+        }
+
+        return false;
+    }
+
     OnCheckedChangeListener mRadioPowerOnChangeListener = new OnCheckedChangeListener() {
         @Override
         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@@ -1556,11 +1636,8 @@
     };
 
     private boolean isImsVolteProvisioned() {
-        if (mImsManager != null) {
-            return mImsManager.isVolteEnabledByPlatform()
-                && mImsManager.isVolteProvisionedOnDevice();
-        }
-        return false;
+        return getImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
     }
 
     OnCheckedChangeListener mImsVolteCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1571,11 +1648,8 @@
     };
 
     private boolean isImsVtProvisioned() {
-        if (mImsManager != null) {
-            return mImsManager.isVtEnabledByPlatform()
-                && mImsManager.isVtProvisionedOnDevice();
-        }
-        return false;
+        return getImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
     }
 
     OnCheckedChangeListener mImsVtCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1586,11 +1660,8 @@
     };
 
     private boolean isImsWfcProvisioned() {
-        if (mImsManager != null) {
-            return mImsManager.isWfcEnabledByPlatform()
-                && mImsManager.isWfcProvisionedOnDevice();
-        }
-        return false;
+        return getImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN);
     }
 
     OnCheckedChangeListener mImsWfcCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1601,7 +1672,8 @@
     };
 
     private boolean isEabProvisioned() {
-        return isFeatureProvisioned(EAB_PROVISIONED_CONFIG_ID, false);
+        return getRcsConfigProvisionedState(ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
     }
 
     OnCheckedChangeListener mEabCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1611,23 +1683,30 @@
         }
     };
 
-    private boolean isFeatureProvisioned(int featureId, boolean defaultValue) {
-        boolean provisioned = defaultValue;
-        if (mImsManager != null) {
+    private boolean getImsConfigProvisionedState(int capability, int tech) {
+        if (mProvisioningManager != null) {
             try {
-                ImsConfig imsConfig = mImsManager.getConfigInterface();
-                if (imsConfig != null) {
-                    provisioned =
-                            (imsConfig.getProvisionedValue(featureId)
-                                    == ImsConfig.FeatureValueConstants.ON);
-                }
-            } catch (ImsException ex) {
-                Log.e(TAG, "isFeatureProvisioned() exception:", ex);
+                return mProvisioningManager.getProvisioningStatusForCapability(
+                        capability, tech);
+            } catch (RuntimeException e) {
+                Log.e(TAG, "getImsConfigProvisionedState() exception:", e);
             }
         }
 
-        log("isFeatureProvisioned() featureId=" + featureId + " provisioned=" + provisioned);
-        return provisioned;
+        return false;
+    }
+
+    private boolean getRcsConfigProvisionedState(int capability, int tech) {
+        if (mProvisioningManager != null) {
+            try {
+                return mProvisioningManager.getRcsProvisioningStatusForCapability(
+                        capability, tech);
+            } catch (RuntimeException e) {
+                Log.e(TAG, "getRcsConfigProvisionedState() exception:", e);
+            }
+        }
+
+        return false;
     }
 
     private boolean isEabEnabledByPlatform() {
@@ -1646,35 +1725,56 @@
     }
 
     private void updateImsProvisionedState() {
-        if (!ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
+        if (!isImsSupportedOnDevice(mPhone.getContext())) {
             return;
         }
-        log("updateImsProvisionedState isImsVolteProvisioned()=" + isImsVolteProvisioned());
-        //delightful hack to prevent on-checked-changed calls from
-        //actually forcing the ims provisioning to its transient/current value.
+
+        updateServiceEnabledByPlatform();
+
+        updateEabProvisionedSwitch(isEabEnabledByPlatform());
+    }
+
+    private void updateVolteProvisionedSwitch(boolean isEnabledByPlatform) {
+        boolean isProvisioned = isEnabledByPlatform && isImsVolteProvisioned();
+        log("updateVolteProvisionedSwitch isProvisioned" + isProvisioned);
+
         mImsVolteProvisionedSwitch.setOnCheckedChangeListener(null);
-        mImsVolteProvisionedSwitch.setChecked(isImsVolteProvisioned());
+        mImsVolteProvisionedSwitch.setChecked(isProvisioned);
         mImsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
         mImsVolteProvisionedSwitch.setEnabled(!IS_USER_BUILD
-                && mImsManager.isVolteEnabledByPlatform());
+                && isEnabledByPlatform && isImsVolteProvisioningRequired());
+    }
+
+    private void updateVtProvisionedSwitch(boolean isEnabledByPlatform) {
+        boolean isProvisioned = isEnabledByPlatform && isImsVtProvisioned();
+        log("updateVtProvisionedSwitch isProvisioned" + isProvisioned);
 
         mImsVtProvisionedSwitch.setOnCheckedChangeListener(null);
-        mImsVtProvisionedSwitch.setChecked(isImsVtProvisioned());
+        mImsVtProvisionedSwitch.setChecked(isProvisioned);
         mImsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
         mImsVtProvisionedSwitch.setEnabled(!IS_USER_BUILD
-                && mImsManager.isVtEnabledByPlatform());
+                && isEnabledByPlatform && isImsVtProvisioningRequired());
+    }
+
+    private void updateWfcProvisionedSwitch(boolean isEnabledByPlatform) {
+        boolean isProvisioned = isEnabledByPlatform && isImsWfcProvisioned();
+        log("updateWfcProvisionedSwitch isProvisioned" + isProvisioned);
 
         mImsWfcProvisionedSwitch.setOnCheckedChangeListener(null);
-        mImsWfcProvisionedSwitch.setChecked(isImsWfcProvisioned());
+        mImsWfcProvisionedSwitch.setChecked(isProvisioned);
         mImsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
         mImsWfcProvisionedSwitch.setEnabled(!IS_USER_BUILD
-                && mImsManager.isWfcEnabledByPlatform());
+                && isEnabledByPlatform && isImsWfcProvisioningRequired());
+    }
+
+    private void updateEabProvisionedSwitch(boolean isEnabledByPlatform) {
+        log("updateEabProvisionedSwitch isEabWfcProvisioned()=" + isEabProvisioned());
 
         mEabProvisionedSwitch.setOnCheckedChangeListener(null);
         mEabProvisionedSwitch.setChecked(isEabProvisioned());
         mEabProvisionedSwitch.setOnCheckedChangeListener(mEabCheckedChangeListener);
         mEabProvisionedSwitch.setEnabled(!IS_USER_BUILD
-                && isEabEnabledByPlatform());
+                && isEnabledByPlatform && isEabProvisioningRequired());
     }
 
     OnClickListener mDnsCheckButtonHandler = new OnClickListener() {
@@ -1913,4 +2013,45 @@
         intent.putExtra("isDefault", isChecked);
         sendBroadcast(intent);
     }
+
+    private boolean isImsSupportedOnDevice(Context context) {
+        return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS);
+    }
+
+    private void updateServiceEnabledByPlatform() {
+        int subId = mPhone.getSubId();
+        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            log("updateServiceEnabledByPlatform subscription ID is invalid");
+            return;
+        }
+
+        ImsMmTelManager imsMmTelManager = mImsManager.getImsMmTelManager(subId);
+        try {
+            imsMmTelManager.isSupported(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                    AccessNetworkConstants.TRANSPORT_TYPE_WWAN, getMainExecutor(), (result) -> {
+                        updateVolteProvisionedSwitch(result);
+                    });
+            imsMmTelManager.isSupported(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                    AccessNetworkConstants.TRANSPORT_TYPE_WWAN, getMainExecutor(), (result) -> {
+                        updateVtProvisionedSwitch(result);
+                    });
+            imsMmTelManager.isSupported(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                    AccessNetworkConstants.TRANSPORT_TYPE_WLAN, getMainExecutor(), (result) -> {
+                        updateWfcProvisionedSwitch(result);
+                    });
+        } catch (ImsException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private Phone getPhone(int subId) {
+        log("getPhone subId = " + subId);
+        Phone phone = PhoneFactory.getPhone(SubscriptionManager.getPhoneId(subId));
+        if (phone == null) {
+            log("return the default phone");
+            return PhoneFactory.getDefaultPhone();
+        }
+
+        return phone;
+    }
 }
diff --git a/src/com/android/phone/settings/VoicemailProviderSettings.java b/src/com/android/phone/settings/VoicemailProviderSettings.java
index fc2e7f8..10f0ddb 100644
--- a/src/com/android/phone/settings/VoicemailProviderSettings.java
+++ b/src/com/android/phone/settings/VoicemailProviderSettings.java
@@ -21,6 +21,8 @@
 import com.android.internal.telephony.CallForwardInfo;
 import com.android.internal.telephony.CommandsInterface;
 
+import java.util.Arrays;
+
 /**
  * Settings for a voicemail provider, including any conditional forwarding information.
  */
@@ -88,7 +90,7 @@
     @Override
     public String toString() {
         return mVoicemailNumber + ((mForwardingSettings == null) ? ""
-                : ", " + mForwardingSettings.toString());
+                : ", " + Arrays.toString(mForwardingSettings));
     }
 
     public String getVoicemailNumber() {
diff --git a/src/com/android/services/telephony/TelephonyConferenceController.java b/src/com/android/services/telephony/TelephonyConferenceController.java
index 9aa3dbe..f0aa641 100644
--- a/src/com/android/services/telephony/TelephonyConferenceController.java
+++ b/src/com/android/services/telephony/TelephonyConferenceController.java
@@ -20,6 +20,8 @@
 import android.telecom.Connection;
 import android.telecom.DisconnectCause;
 import android.telecom.PhoneAccountHandle;
+import android.text.TextUtils;
+import android.util.Patterns;
 
 import com.android.internal.telephony.Call;
 import com.android.phone.PhoneUtils;
@@ -40,7 +42,6 @@
  */
 final class TelephonyConferenceController {
     private static final int TELEPHONY_CONFERENCE_MAX_SIZE = 5;
-    private static final String RIL_REPORTED_CONFERENCE_CALL_STRING = "Conference Call";
 
     private final TelephonyConnection.TelephonyConnectionListener mTelephonyConnectionListener =
             new TelephonyConnection.TelephonyConnectionListener() {
@@ -271,13 +272,13 @@
                             // Remove all instances of PROPERTY_IS_DOWNGRADED_CONFERENCE. This
                             // property should only be set on the parent call (i.e. the newly
                             // created TelephonyConference.
-                            // This doesn't apply to a connection whose address is "Conference
-                            // Call", which may be updated by some modem to create a connection
-                            // to represent a merged conference connection in SRVCC.
+                            // This doesn't apply to a connection whose address is not an
+                            // identifiable phone number, which may be updated by some modem
+                            // to create a connection to represent a merged conference connection
+                            // in SRVCC.
                             if (connection.getAddress() == null
-                                    || !connection.getAddress().getSchemeSpecificPart()
-                                            .equalsIgnoreCase(
-                                                    RIL_REPORTED_CONFERENCE_CALL_STRING)) {
+                                    || isPhoneNumber(
+                                            connection.getAddress().getSchemeSpecificPart())) {
                                 Log.d(this, "Removing PROPERTY_IS_DOWNGRADED_CONFERENCE"
                                         + " from connection %s", connection);
                                 int newProperties = connection.getConnectionProperties()
@@ -320,4 +321,11 @@
             }
         }
     }
+
+    private boolean isPhoneNumber(String number) {
+        if (TextUtils.isEmpty(number)) {
+            return false;
+        }
+        return Patterns.PHONE.matcher(number).matches();
+    }
 }
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index ed07726..f6d3feb 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -813,6 +813,7 @@
     private RttTextStream mRttTextStream = null;
 
     private boolean mWasImsConnection;
+    private boolean mWasCrossSim;
 
     /**
      * Tracks the multiparty state of the ImsCall so that changes in the bit state can be detected.
@@ -2344,6 +2345,16 @@
                                 ImsCallProfile.EXTRA_CONFERENCE_AVAIL)) {
                         updateConnectionCapabilities();
                     }
+                    // If extras contain or contained Cross Sim information,
+                    // then ensure connection properties are updated and propagated to Telecom.
+                    // Also, update the status hints in the case the call has
+                    // has moved from cross sim call back to wifi
+                    mWasCrossSim |= mOriginalConnectionExtras.containsKey(
+                                ImsCallProfile.EXTRA_IS_CROSS_SIM_CALL);
+                    if (mWasCrossSim) {
+                        updateStatusHints();
+                        updateConnectionProperties();
+                    }
                 } else {
                     Log.d(this, "Extras update not required");
                 }
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 071376d..bb96c7c 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -78,12 +78,12 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Queue;
+import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 import java.util.function.Consumer;
 import java.util.regex.Pattern;
@@ -232,6 +232,7 @@
         boolean hasIccCard(int slotId);
         boolean isCurrentEmergencyNumber(String number);
         Map<Integer, List<EmergencyNumber>> getCurrentEmergencyNumberList();
+        boolean isConcurrentCallsPossible();
     }
 
     private TelephonyManagerProxy mTelephonyManagerProxy;
@@ -271,6 +272,12 @@
                 return new HashMap<>();
             }
         }
+
+        @Override
+        public boolean isConcurrentCallsPossible() {
+            // Under DSDA, need to be determined by voice capabilities
+            return mTelephonyManager.getMaxNumberOfSimultaneouslyActiveSims() > 1;
+        }
     }
 
     /**
@@ -1133,6 +1140,11 @@
                             "Invalid phone type",
                             phone.getPhoneId()));
         }
+        if (!Objects.equals(request.getAccountHandle(), accountHandle)) {
+            Log.i(this, "onCreateOutgoingConnection, update phoneAccountHandle, accountHandle = "
+                    + accountHandle);
+            connection.setPhoneAccountHandle(accountHandle);
+        }
         connection.setAddress(handle, PhoneConstants.PRESENTATION_ALLOWED);
         connection.setTelephonyConnectionInitializing();
         connection.setTelephonyVideoState(request.getVideoState());
@@ -1636,7 +1648,13 @@
             Bundle connExtras = c.getExtras();
             Log.i(this, "retryOutgoingOriginalConnection, redialing on Phone Id: " + newPhoneToUse);
             c.clearOriginalConnection();
-            if (phoneId != newPhoneToUse.getPhoneId()) updatePhoneAccount(c, newPhoneToUse);
+            if (phoneId != newPhoneToUse.getPhoneId()) {
+                if (!mTelephonyManagerProxy.isConcurrentCallsPossible()) {
+                    disconnectAllCallsOnOtherSubs(
+                            mPhoneUtilsProxy.makePstnPhoneAccountHandle(newPhoneToUse));
+                }
+                updatePhoneAccount(c, newPhoneToUse);
+            }
             placeOutgoingConnection(c, newPhoneToUse, videoState, connExtras);
         } else {
             // We have run out of Phones to use. Disconnect the call and destroy the connection.
@@ -2525,9 +2543,7 @@
                        return;
                    }
 
-                   c.sendMessages(new HashSet<Communicator.Message>() {{
-                       add(new Communicator.Message(message, value));
-                   }});
+                   c.sendMessages(Set.of(new Communicator.Message(message, value)));
 
                });
     }
@@ -2645,4 +2661,23 @@
                     }
                 });
     }
+
+    private void disconnectAllCallsOnOtherSubs (@NonNull PhoneAccountHandle handle) {
+        Collection<Connection>connections = getAllConnections();
+        connections.stream()
+                .filter(c ->
+                        (c.getState() == Connection.STATE_ACTIVE
+                                || c.getState() == Connection.STATE_HOLDING)
+                                // Include any calls not on same sub as current connection.
+                                && !Objects.equals(c.getPhoneAccountHandle(), handle))
+                .forEach(c -> {
+                    if (c instanceof TelephonyConnection) {
+                        TelephonyConnection tc = (TelephonyConnection) c;
+                        Log.i(LOG_TAG, "disconnectAllCallsOnOtherSubs: disconnect" +
+                                " %s due to redial happened on other sub.",
+                                tc.getTelecomCallId());
+                        tc.hangup(android.telephony.DisconnectCause.LOCAL);
+                    }
+                });
+    }
 }
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
index 3d83a4c..edb3c47 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
@@ -58,9 +58,8 @@
 import java.util.concurrent.ConcurrentHashMap;
 
 public class EmbmsSampleDownloadService extends Service {
-    private static final Set<String> ALLOWED_PACKAGES = new HashSet<String>() {{
-        add("com.android.phone.testapps.embmsdownload");
-    }};
+    private static final Set<String> ALLOWED_PACKAGES = Set.of(
+            "com.android.phone.testapps.embmsdownload");
 
     private static final String LOG_TAG = "EmbmsSampleDownload";
     private static final long INITIALIZATION_DELAY = 200;
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
index f50536c..58afe98 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
@@ -35,15 +35,13 @@
 
 import java.util.Arrays;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 public class EmbmsTestStreamingService extends Service {
-    private static final Set<String> ALLOWED_PACKAGES = new HashSet<String>() {{
-        add("com.android.phone.testapps.embmsfrontend");
-    }};
+    private static final Set<String> ALLOWED_PACKAGES = Set.of(
+            "com.android.phone.testapps.embmsfrontend");
 
     private static final String TAG = "EmbmsTestStreaming";
 
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java
index 27911f6..fe345f3 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java
@@ -81,14 +81,10 @@
     private void createFileService(String className, Uri... filesIncluded) {
         sServiceIdCounter++;
         String id = "FileServiceId[" + sServiceIdCounter + "]";
-        List<Locale> locales = new ArrayList<Locale>(2) {{
-            add(Locale.US);
-            add(Locale.UK);
-        }};
-        Map<Locale, String> localeDict = new HashMap<Locale, String>() {{
-            put(Locale.US, "File Source " + sServiceIdCounter);
-            put(Locale.UK, "File Source with extra vowels " + sServiceIdCounter);
-        }};
+        List<Locale> locales = List.of(Locale.US, Locale.UK);
+        Map<Locale, String> localeDict = Map.of(
+                Locale.US, "File Source " + sServiceIdCounter,
+                Locale.UK, "File Source with extra vowels " + sServiceIdCounter);
         List<FileInfo> fileInfos = Arrays.stream(filesIncluded)
                 .map(this::getFileInfoForUri)
                 .collect(Collectors.toList());
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
index e1a12e3..e49dea5 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
@@ -19,7 +19,6 @@
 import android.net.Uri;
 import android.telephony.mbms.StreamingServiceInfo;
 
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -61,14 +60,10 @@
     private static void createStreamingService(String className) {
         sServiceIdCounter++;
         String id = "StreamingServiceId[" + sServiceIdCounter + "]";
-        Map<Locale, String> localeDict = new HashMap<Locale, String>() {{
-                put(Locale.US, "Entertainment Source " + sServiceIdCounter);
-                put(Locale.CANADA, "Entertainment Source, eh?" + sServiceIdCounter);
-        }};
-        List<Locale> locales = new ArrayList<Locale>() {{
-                add(Locale.CANADA);
-                add(Locale.US);
-        }};
+        Map<Locale, String> localeDict = Map.of(
+                Locale.US, "Entertainment Source " + sServiceIdCounter,
+                Locale.CANADA, "Entertainment Source, eh?" + sServiceIdCounter);
+        List<Locale> locales = List.of(Locale.CANADA, Locale.US);
         StreamingServiceInfo info = new StreamingServiceInfo(localeDict, className, locales,
                 id, new Date(System.currentTimeMillis() - 10000),
                 new Date(System.currentTimeMillis() + 10000));
diff --git a/testapps/GbaTestApp/res/values-en-rCA/strings.xml b/testapps/GbaTestApp/res/values-en-rCA/strings.xml
index 6c4a199..0d5c727 100644
--- a/testapps/GbaTestApp/res/values-en-rCA/strings.xml
+++ b/testapps/GbaTestApp/res/values-en-rCA/strings.xml
@@ -3,12 +3,12 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2922839697457005451">"GbaTestApp"</string>
     <string name="label_settings" msgid="8030871890526865502">"Settings"</string>
-    <string name="label_carrier" msgid="1470455313066422804">"Operator config"</string>
-    <string name="label_service" msgid="2668963955237345578">"Service config"</string>
-    <string name="label_test" msgid="8425079572898571918">"Test config"</string>
+    <string name="label_carrier" msgid="1470455313066422804">"Carrier Config"</string>
+    <string name="label_service" msgid="2668963955237345578">"Service Config"</string>
+    <string name="label_test" msgid="8425079572898571918">"Test Config"</string>
     <string name="button_name_running" msgid="4557363091224858010">"Running"</string>
     <string name="button_name_exit" msgid="8025683733431538975">"Exit"</string>
-    <string name="label_test_result" msgid="892984695972956196">"Test result"</string>
+    <string name="label_test_result" msgid="892984695972956196">"Test Result"</string>
     <string name="button_name_clear" msgid="436313515327318537">"Reset"</string>
     <string name="button_name_done" msgid="6030406534322497491">"Done"</string>
     <string name="title_activity_carrier_config" msgid="7807803900475957717">"CarrierConfigActivity"</string>
@@ -16,16 +16,16 @@
     <string name="title_activity_test_config" msgid="7585204485536359713">"TestConfigActivity"</string>
     <string name="service_package_name" msgid="7204809439090483315">"Package name of GBA service"</string>
     <string name="service_release_time" msgid="532937496122890892">"How long to release service after calling"</string>
-    <string name="request_app_type" msgid="3975978141673475612">"UICC app type"</string>
+    <string name="request_app_type" msgid="3975978141673475612">"UICC App Type"</string>
     <string name="request_naf_url" msgid="4487793541217737042">"Network application function (NAF) URL"</string>
-    <string name="request_force_bootstrapping" msgid="206043602616214325">"Force bootstrapping?"</string>
-    <string name="request_org" msgid="8416693445448308975">"Organisation code"</string>
-    <string name="request_security_protocol" msgid="1444164827561010482">"UA security protocol ID"</string>
-    <string name="request_tls_cipher_suite" msgid="6659854717595308404">"TLS cipher suite ID"</string>
-    <string name="response_success" msgid="2469204471244527663">"GBA auth success?"</string>
-    <string name="response_fail_reason" msgid="3401426967253202496">"Fail reason ID"</string>
-    <string name="response_key" msgid="8839847772051686309">"GBA key (CK + IK)"</string>
-    <string name="response_btid" msgid="2550216722679350756">"Bootstrapping transaction identifier (B-TID)"</string>
+    <string name="request_force_bootstrapping" msgid="206043602616214325">"Force Bootstrapping?"</string>
+    <string name="request_org" msgid="8416693445448308975">"Organization Code"</string>
+    <string name="request_security_protocol" msgid="1444164827561010482">"UA Security Protocol ID"</string>
+    <string name="request_tls_cipher_suite" msgid="6659854717595308404">"TLS Cipher Suite ID"</string>
+    <string name="response_success" msgid="2469204471244527663">"GBA Auth Success?"</string>
+    <string name="response_fail_reason" msgid="3401426967253202496">"Fail Reason ID"</string>
+    <string name="response_key" msgid="8839847772051686309">"GBA Key (CK + IK)"</string>
+    <string name="response_btid" msgid="2550216722679350756">"Bootstrapping Transaction Identifier (B-TID)"</string>
     <string name="sample_naf" msgid="255371174145881001">"3GPP-bootstrapping@naf1.operator.com"</string>
     <string name="sample_btid" msgid="6967620309576384966">"(B-TID)"</string>
     <string name="sample_key" msgid="3337589659405527482">"6629fae49393a05397450978507c4ef1"</string>
diff --git a/testapps/TelephonyManagerTestApp/AndroidManifest.xml b/testapps/TelephonyManagerTestApp/AndroidManifest.xml
index 40fc549..6392c26 100644
--- a/testapps/TelephonyManagerTestApp/AndroidManifest.xml
+++ b/testapps/TelephonyManagerTestApp/AndroidManifest.xml
@@ -26,7 +26,6 @@
     <uses-permission android:name="android.permission.CALL_PRIVILEGED"/>
     <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
 
-            android.Manifest.permission.ACCESS_FINE_LOCATION
     <application android:label="TelephonyManagerTestApp">
         <activity android:name=".TelephonyManagerTestApp"
              android:label="TelephonyManagerTestApp"
diff --git a/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java b/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java
index ccb5639..28408f9 100644
--- a/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java
+++ b/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java
@@ -25,7 +25,6 @@
 
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Executor;
@@ -44,15 +43,13 @@
     }
 
     private final Context mContext;
-    private final Map<Class, Function<String, Object>> mParsers =
-            new HashMap<Class, Function<String, Object>>() {{
-                put(PhoneNumberRange.class, ParameterParser::parsePhoneNumberRange);
-                put(Executor.class, s -> parseExecutor(s));
-                put(NumberVerificationCallback.class, s -> parseNumberVerificationCallback(s));
-                put(Consumer.class, s -> parseConsumer(s));
-                put(List.class, s -> parseList(s));
-                put(RadioAccessSpecifier.class, s -> parseRadioAccessSpecifier(s));
-            }};
+    private final Map<Class, Function<String, Object>> mParsers = Map.of(
+            PhoneNumberRange.class, ParameterParser::parsePhoneNumberRange,
+            Executor.class, s -> parseExecutor(s),
+            NumberVerificationCallback.class, s -> parseNumberVerificationCallback(s),
+            Consumer.class, s -> parseConsumer(s),
+            List.class, s -> parseList(s),
+            RadioAccessSpecifier.class, s -> parseRadioAccessSpecifier(s));
 
     private ParameterParser(Context context) {
         mContext = context;
diff --git a/testapps/TestRcsApp/OWNERS b/testapps/TestRcsApp/OWNERS
index 1d0d52b..4261109 100644
--- a/testapps/TestRcsApp/OWNERS
+++ b/testapps/TestRcsApp/OWNERS
@@ -1,3 +1,5 @@
-allenwtsu@google.com
-calvinpan@google.com
-jamescflin@google.com
+breadley@google.com
+joonhunshin@google.com
+donaldahn@google.com
+hhshin@google.com
+schie@google.com
diff --git a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/FileUploadActivity.java b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/FileUploadActivity.java
index b9078f8..cfb75bc 100644
--- a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/FileUploadActivity.java
+++ b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/FileUploadActivity.java
@@ -189,6 +189,7 @@
         });
     }
 
+    @SuppressWarnings("MissingSuperCall") // TODO: fix me
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         switch (requestCode) {
diff --git a/tests/src/com/android/TestContext.java b/tests/src/com/android/TestContext.java
index 7edbed9..7c3a842 100644
--- a/tests/src/com/android/TestContext.java
+++ b/tests/src/com/android/TestContext.java
@@ -31,6 +31,7 @@
 import android.os.Looper;
 import android.os.PersistableBundle;
 import android.os.Process;
+import android.os.UserManager;
 import android.telecom.TelecomManager;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
@@ -58,6 +59,7 @@
     @Mock TelephonyManager mMockTelephonyManager;
     @Mock SubscriptionManager mMockSubscriptionManager;
     @Mock ImsManager mMockImsManager;
+    @Mock UserManager mMockUserManager;
 
     private SparseArray<PersistableBundle> mCarrierConfigs = new SparseArray<>();
 
@@ -147,6 +149,9 @@
             case(Context.TELEPHONY_IMS_SERVICE) : {
                 return mMockImsManager;
             }
+            case(Context.USER_SERVICE) : {
+                return mMockUserManager;
+            }
         }
         return null;
     }
@@ -165,6 +170,9 @@
         if (serviceClass == SubscriptionManager.class) {
             return Context.TELEPHONY_SUBSCRIPTION_SERVICE;
         }
+        if (serviceClass == UserManager.class) {
+            return Context.USER_SERVICE;
+        }
         return null;
     }
 
diff --git a/tests/src/com/android/phone/Telephony2gUpdaterTest.java b/tests/src/com/android/phone/Telephony2gUpdaterTest.java
new file mode 100644
index 0000000..3443767
--- /dev/null
+++ b/tests/src/com/android/phone/Telephony2gUpdaterTest.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.os.UserManager;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.TelephonyTestBase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+@RunWith(AndroidJUnit4.class)
+public class Telephony2gUpdaterTest extends TelephonyTestBase {
+    private Telephony2gUpdater mTelephony2gUpdater;
+    private Executor mExecutor;
+
+    private UserManager mMockUserManager;
+    private TelephonyManager mMockTelephonyManager;
+    private SubscriptionManager mMockSubscriptionManager;
+
+    // 2G Bitmask is 0b10000000_01001011
+    private static final long BASE_NETWORK = 0b11111111_11111111;
+    private static final long EXPECTED_DISABLED = 0b01111111_10110100;
+    private static final long EXPECTED_ENABLED = 0b11111111_11111111;
+
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+
+        mMockTelephonyManager = mContext.getSystemService(TelephonyManager.class);
+        mMockUserManager = mContext.getSystemService(UserManager.class);
+        mMockSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
+
+        mExecutor = Executors.newSingleThreadExecutor();
+        mTelephony2gUpdater = new Telephony2gUpdater(mExecutor,
+                getTestContext(), BASE_NETWORK);
+    }
+
+    @Test
+    public void handleUserRestrictionsChanged_noSubscriptions_noAllowedNetworksChanged() {
+        when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+                new ArrayList<>());
+        mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+        verify(mMockTelephonyManager, never()).setAllowedNetworkTypesForReason(anyInt(), anyInt());
+    }
+
+    @Test
+    public void handleUserRestrictionsChanged_nullSubscriptions_noAllowedNetworksChanged() {
+        when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(null);
+        mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+        verify(mMockTelephonyManager, never()).setAllowedNetworkTypesForReason(anyInt(), anyInt());
+    }
+
+    @Test
+    public void handleUserRestrictionsChanged_oneSubscription_allowedNetworksUpdated() {
+        TelephonyManager tmSubscription1 = mock(TelephonyManager.class);
+        when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+                Collections.singletonList(getSubInfo(1)));
+        when(mMockTelephonyManager.createForSubscriptionId(1)).thenReturn(tmSubscription1);
+        when(mMockUserManager.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G)).thenReturn(
+                true);
+
+        mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+
+        System.out.println(TelephonyManager.convertNetworkTypeBitmaskToString(11L));
+        verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_DISABLED);
+    }
+
+    @Test
+    public void handleUserRestrictionsChanged_manySubscriptionsDisallow2g_allowedNetworkUpdated() {
+
+        // Two subscriptions are available
+        when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+                Arrays.asList(getSubInfo(1), getSubInfo(2)));
+        TelephonyManager tmSubscription1 = mock(TelephonyManager.class);
+        TelephonyManager tmSubscription2 = mock(TelephonyManager.class);
+        when(mMockTelephonyManager.createForSubscriptionId(1)).thenReturn(tmSubscription1);
+        when(mMockTelephonyManager.createForSubscriptionId(2)).thenReturn(tmSubscription2);
+        // 2g is disallowed
+        when(mMockUserManager.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G)).thenReturn(
+                true);
+
+        mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+
+        verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_DISABLED);
+        verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_DISABLED);
+    }
+
+    @Test
+    public void handleUserRestrictionsChanged_manySubscriptionsAllow2g_allowedNetworkUpdated() {
+
+        // Two subscriptions are available
+        when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+                Arrays.asList(getSubInfo(1), getSubInfo(2)));
+        TelephonyManager tmSubscription1 = mock(TelephonyManager.class);
+        TelephonyManager tmSubscription2 = mock(TelephonyManager.class);
+        when(mMockTelephonyManager.createForSubscriptionId(1)).thenReturn(tmSubscription1);
+        when(mMockTelephonyManager.createForSubscriptionId(2)).thenReturn(tmSubscription2);
+
+        // 2g is allowed
+        when(mMockUserManager.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G)).thenReturn(
+                false);
+
+        mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+
+        verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_ENABLED);
+        verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_ENABLED);
+    }
+
+    private SubscriptionInfo getSubInfo(int id) {
+        return new SubscriptionInfo(id, "890126042XXXXXXXXXXX", 0, "T-mobile", "T-mobile", 0, 255,
+                "12345", 0, null, "310", "260", "156", false, null, null);
+    }
+}