Merge "Fixed leak of cross user data in multiple settings." into sc-dev am: 23cfbb23d8 am: 6b60c92f38

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/services/Telephony/+/23528263

Change-Id: I9c8e91b279270cfd457203fd85298854667a8aa9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 21a540f..82c6736 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -714,7 +714,7 @@
     <string name="change_pin_enter_new_pin_header" msgid="4739465616733486118">"تعيين رقم تعريف شخصي جديد"</string>
     <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"ينبغي لرقم التعريف الشخصي أن يتكون من <xliff:g id="MIN">%1$d</xliff:g>-<xliff:g id="MAX">%2$d</xliff:g> أرقام."</string>
     <string name="change_pin_confirm_pin_header" msgid="2606303906320705726">"تأكيد رقم التعريف الشخصي"</string>
-    <string name="change_pin_confirm_pins_dont_match" msgid="305164501222587215">"أرقام التعريف الشخصي غير متطابقة"</string>
+    <string name="change_pin_confirm_pins_dont_match" msgid="305164501222587215">"رقما التعريف الشخصي غير متطابقَين"</string>
     <string name="change_pin_succeeded" msgid="2504705600693014403">"تمّ تحديث رقم التعريف الشخصي للبريد الصوتي"</string>
     <string name="change_pin_system_error" msgid="7772788809875146873">"يتعذر تعيين رقم التعريف الشخصي"</string>
     <string name="mobile_data_status_roaming_turned_off_subtext" msgid="6840673347416227054">"تم إيقاف تجوال البيانات"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index d56f319..8f01c35 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -305,7 +305,7 @@
     <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">"Mobilni podaci"</string>
     <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Koristi podatke preko mobilne mreže"</string>
-    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Želite li da isključite mobilne podatke?"</string>
+    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Želite da isključite mobilne podatke?"</string>
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"Potrebno je da izaberete nešto"</string>
     <string name="sim_change_data_title" msgid="9142726786345906606">"Da promenimo SIM za podatke?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"Želite li da za mobilne podatke koristite <xliff:g id="NEW_SIM">%1$s</xliff:g> umesto <xliff:g id="OLD_SIM">%2$s</xliff:g>?"</string>
@@ -870,7 +870,7 @@
     <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Poziv je u toku"</string>
     <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Veza je prekinuta"</string>
     <string name="radioInfo_data_connecting" msgid="925092271092152472">"Povezuje se"</string>
-    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Povezano je"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Povezano"</string>
     <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspendovano"</string>
     <string name="radioInfo_unknown" msgid="5401423738500672850">"Nepoznato"</string>
     <string name="radioInfo_display_packets" msgid="6794302192441084157">"pak."</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 7af3720..147ac60 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -664,7 +664,7 @@
     <string name="contactPhoto" msgid="7885089213135154834">"Kontaktbild"</string>
     <string name="goPrivate" msgid="4645108311382209551">"privat sprechen"</string>
     <string name="selectContact" msgid="1527612842599767382">"Kontakt wählen"</string>
-    <string name="not_voice_capable" msgid="2819996734252084253">"Audioanruf wird nicht unterstützt."</string>
+    <string name="not_voice_capable" msgid="2819996734252084253">"Sprachanruf wird nicht unterstützt."</string>
     <string name="description_dial_button" msgid="8614631902795087259">"Wählen"</string>
     <string name="description_dialpad_button" msgid="7395114120463883623">"Wähltasten anzeigen"</string>
     <string name="pane_title_emergency_dialpad" msgid="3627372514638694401">"Wähltasten für Notruf"</string>
@@ -892,7 +892,7 @@
     <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Empfangene Daten:"</string>
     <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Sprachdienst:"</string>
     <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signalstärke:"</string>
-    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status für Audioanruf:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status für Sprachanruf:"</string>
     <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Gesendete Daten:"</string>
     <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Nachricht liegt vor:"</string>
     <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefonnummer:"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 2ca6c18..deaee55 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -534,7 +534,7 @@
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"Voicemail number unknown"</string>
     <string name="notification_network_selection_title" msgid="255595526707809121">"No service"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"Selected network<xliff:g id="OPERATOR_NAME">%s</xliff:g> unavailable"</string>
-    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Turn on mobile network, turn off airplane mode or turn off battery saver mode to make a call."</string>
+    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Turn on mobile network, turn off Airplane mode or turn off Battery Saver mode to make a call."</string>
     <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Turn off Airplane mode to make a call."</string>
     <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Turn off Airplane mode or connect to a wireless network to make a call."</string>
     <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Phone too hot"</b>\n\n"Can\'t complete this call. Try again when your phone cools down.\n\nYou can still make emergency calls."</string>
@@ -565,7 +565,7 @@
     <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"Tap again to call <xliff:g id="EMERGENCY_NUMBER">%s</xliff:g>"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="1695305158151408629">"Turning on radio…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="4329131876852608587">"No service. Trying again…"</string>
-    <string name="radio_off_during_emergency_call" msgid="8011154134040481609">"Cannot enter Airplane mode during an emergency call."</string>
+    <string name="radio_off_during_emergency_call" msgid="8011154134040481609">"Can\'t enter Airplane mode during an emergency call."</string>
     <string name="dial_emergency_error" msgid="825822413209026039">"Can\'t call. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Can\'t call. Dial an emergency number."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Emergency calling not available"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index c4c0ea2..3f436b7 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -115,7 +115,7 @@
     <string name="sum_cfb_disabled" msgid="3589913334164866035">"Desactivado"</string>
     <string name="disable_cfb_forbidden" msgid="4831494744351633961">"Tu proveedor no admite la inhabilitación del desvío de llamadas cuando tu teléfono está ocupado."</string>
     <string name="labelCFNRy" msgid="3403533792248457946">"Cuando no haya respuesta"</string>
-    <string name="messageCFNRy" msgid="7644434155765359009">"Número cuando no contesta"</string>
+    <string name="messageCFNRy" msgid="7644434155765359009">"Número cuando no hay respuesta"</string>
     <string name="sum_cfnry_enabled" msgid="3000500837493854799">"Reenviar a <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="1990563512406017880">"Desactivado"</string>
     <string name="disable_cfnry_forbidden" msgid="3174731413216550689">"Tu proveedor no admite la inhabilitación del desvío de llamadas cuando tu teléfono no responde."</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index a106ba2..fecf020 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -482,7 +482,7 @@
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Leyendo desde tarjeta SIM…"</string>
     <string name="simContacts_empty" msgid="1135632055473689521">"No hay ningún contacto en la tarjeta SIM."</string>
     <string name="simContacts_title" msgid="2714029230160136647">"Seleccionar contactos para importar"</string>
-    <string name="simContacts_airplaneMode" msgid="4654884030631503808">"Desactiva el modo avión para importar contactos de la tarjeta SIM."</string>
+    <string name="simContacts_airplaneMode" msgid="4654884030631503808">"Desactiva el modo Avión para importar contactos de la tarjeta SIM."</string>
     <string name="enable_pin" msgid="967674051730845376">"Habilitar/Inhabilitar PIN de tarjeta SIM"</string>
     <string name="change_pin" msgid="3657869530942905790">"Cambiar PIN de tarjeta SIM"</string>
     <string name="enter_pin_text" msgid="3182311451978663356">"PIN de la tarjeta SIM:"</string>
@@ -534,9 +534,9 @@
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"Número del buzón de voz desconocido"</string>
     <string name="notification_network_selection_title" msgid="255595526707809121">"Sin servicio"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"La red seleccionada (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) no está disponible"</string>
-    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Activa la red móvil o desactiva el modo avión o el modo de ahorro de batería para hacer una llamada."</string>
-    <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Desactiva el modo avión parra hacer llamadas."</string>
-    <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Desactiva el modo avión o conéctate a una red inalámbrica para hacer llamadas."</string>
+    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Activa la red móvil o desactiva el modo Avión o el modo de ahorro de batería para hacer una llamada."</string>
+    <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Desactiva el modo Avión parra hacer llamadas."</string>
+    <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Desactiva el modo Avión o conéctate a una red inalámbrica para hacer llamadas."</string>
     <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"El teléfono está demasiado caliente"</b>\n\n"No se ha podido completar esta llamada. Vuelve a intentarlo cuando el teléfono se enfríe.\n\nNo obstante, puedes hacer llamadas de emergencia."</string>
     <string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Sal del modo de devolución de llamada de emergencia para hacer otro tipo de llamada."</string>
     <string name="incall_error_emergency_only" msgid="8786127461027964653">"No se ha podido conectar a la red"</string>
@@ -565,7 +565,7 @@
     <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"Tocar de nuevo para llamar al <xliff:g id="EMERGENCY_NUMBER">%s</xliff:g>"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="1695305158151408629">"Activando señal móvil…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="4329131876852608587">"Sin servicio. Reintentado…"</string>
-    <string name="radio_off_during_emergency_call" msgid="8011154134040481609">"Durante una llamada de emergencia no se puede entrar en el modo avión."</string>
+    <string name="radio_off_during_emergency_call" msgid="8011154134040481609">"Durante una llamada de emergencia no se puede entrar en el modo Avión."</string>
     <string name="dial_emergency_error" msgid="825822413209026039">"No se puede establecer la llamada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> no es un número de emergencia."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"No se puede establecer la llamada. Marca un número de emergencia."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"No se pueden hacer llamadas de emergencia"</string>
@@ -720,7 +720,7 @@
     <string name="mobile_data_activate_button" msgid="1139792516354374612">"AÑADIR DATOS"</string>
     <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"CANCELAR"</string>
     <string name="clh_card_title_call_ended_txt" msgid="5977978317527299698">"Llamada finalizada"</string>
-    <string name="clh_callFailed_powerOff_txt" msgid="8279934912560765361">"Está activado el modo avión"</string>
+    <string name="clh_callFailed_powerOff_txt" msgid="8279934912560765361">"Está activado el modo Avión"</string>
     <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"No se puede acceder a la tarjeta SIM"</string>
     <string name="clh_incall_error_out_of_service_txt" msgid="2736010617446749869">"Red móvil no disponible"</string>
     <string name="clh_callFailed_unassigned_number_txt" msgid="141967660286695682">"No se ha podido conectar con el número de teléfono al que estás llamando. Código de error 1."</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 85f4776..295b863 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -143,7 +143,7 @@
     <string name="stk_cc_ss_to_dial_error" msgid="5147693491690618704">"SS eskaera ohiko deira aldatu da"</string>
     <string name="stk_cc_ss_to_ussd_error" msgid="8330749347425752192">"SS eskaera USSD eskaerara aldatu da"</string>
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"SS eskaera berrira aldatu da"</string>
-    <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"SS eskaera bideo-deira aldatu da"</string>
+    <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"SS eskaera bideodeira aldatu da"</string>
     <string name="fdn_check_failure" msgid="1833769746374185247">"Telefonoa aplikazioaren Markatze finkoko zenbakiak ezarpena aktibatuta daukazu. Ondorioz, deiekin lotutako eginbide batzuk ez dira funtzionatzen ari."</string>
     <string name="radio_off_error" msgid="8321564164914232181">"Ezarpenak ikusi aurretik, piztu irratia."</string>
     <string name="close_dialog" msgid="1074977476136119408">"Ados"</string>
@@ -310,10 +310,10 @@
     <string name="sim_change_data_title" msgid="9142726786345906606">"Datuetarako SIMa aldatu nahi duzu?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"Datu-konexiorako, <xliff:g id="NEW_SIM">%1$s</xliff:g> txartela erabili nahi duzu <xliff:g id="OLD_SIM">%2$s</xliff:g> txartelaren ordez?"</string>
     <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Wifi bidezko deiak"</string>
-    <string name="video_calling_settings_title" msgid="342829454913266078">"Operadorearen bideo-deiak"</string>
+    <string name="video_calling_settings_title" msgid="342829454913266078">"Operadorearen bideodeiak"</string>
     <string name="gsm_umts_options" msgid="4968446771519376808">"GSM/UMTS aukerak"</string>
     <string name="cdma_options" msgid="3669592472226145665">"CDMA aukerak"</string>
-    <string name="throttle_data_usage" msgid="1944145350660420711">"Datuen erabilera"</string>
+    <string name="throttle_data_usage" msgid="1944145350660420711">"Datu-erabilera"</string>
     <string name="throttle_current_usage" msgid="7483859109708658613">"Une honetan erabilitako datuak"</string>
     <string name="throttle_time_frame" msgid="1813452485948918791">"Datuak erabiltzeko epea"</string>
     <string name="throttle_rate" msgid="7641913901133634905">"Datu-abiaduraren gidalerroak"</string>
@@ -457,7 +457,7 @@
     <string name="tty_mode_option_summary" msgid="4770510287236494371">"Ezarri TTY modua"</string>
     <string name="auto_retry_mode_title" msgid="2985801935424422340">"Saiatu berriro automatikoki"</string>
     <string name="auto_retry_mode_summary" msgid="2863919925349511402">"Gaitu automatikoki berriro saiatzeko modua"</string>
-    <string name="tty_mode_not_allowed_video_call" msgid="6551976083652752815">"Ezin da aldatu TTY modua bideo-deiak abian direnean"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="6551976083652752815">"Ezin da aldatu TTY modua bideodeiak abian direnean"</string>
     <string name="menu_add" msgid="5616487894975773141">"Gehitu kontaktua"</string>
     <string name="menu_edit" msgid="3593856941552460706">"Editatu kontaktua"</string>
     <string name="menu_delete" msgid="6326861853830546488">"Ezabatu kontaktua"</string>
@@ -585,7 +585,7 @@
     <string name="onscreenManageCallsText" msgid="1162047856081836469">"Kudeatu deiak"</string>
     <string name="onscreenManageConferenceText" msgid="4700574060601755137">"Kudeatu konferentzia"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"Audioa"</string>
-    <string name="onscreenVideoCallText" msgid="1743992456126258698">"Bideo-deia"</string>
+    <string name="onscreenVideoCallText" msgid="1743992456126258698">"Bideodeia"</string>
     <string name="importSimEntry" msgid="3892354284082689894">"Inportatu"</string>
     <string name="importAllSimEntries" msgid="2628391505643564007">"Inportatu guztiak"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"SIM txarteleko kontaktuak inportatzen"</string>
@@ -596,7 +596,7 @@
     <string name="hac_mode_summary" msgid="7774989500136009881">"Aktibatu audifonoen bateragarritasuna"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"Deietan testua bidaltzeko eginbidea"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Baimendu mezuak bidali eta jasotzea ahots-deien barruan"</string>
-    <string name="rtt_mode_more_information" msgid="587500128658756318">"Deietan testua bidaltzeko eginbideak deitzaile gorrei, entzumen-arazoak dituztenei, hitz egiteko ezintasunen bat dutenei edota ahotsaz gain beste makuluren bat behar dutenei laguntzen die.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Lortu informazio gehiago&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Deietan testua bidaltzeko eginbidearekin egindako deiak mezu-transkripzio gisa gordetzen dira.\n       &lt;br&gt; - Deietan testua bidaltzeko eginbidea ez da bateragarria bideo-deiekin."</string>
+    <string name="rtt_mode_more_information" msgid="587500128658756318">"Deietan testua bidaltzeko eginbideak deitzaile gorrei, entzumen-arazoak dituztenei, hitz egiteko ezintasunen bat dutenei edota ahotsaz gain beste makuluren bat behar dutenei laguntzen die.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Lortu informazio gehiago&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Deietan testua bidaltzeko eginbidearekin egindako deiak mezu-transkripzio gisa gordetzen dira.\n       &lt;br&gt; - Deietan testua bidaltzeko eginbidea ez da bateragarria bideodeiekin."</string>
     <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Oharra: Deietan testua bidaltzeko eginbidea ez dago erabilgarri ibiltaritzan"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY desaktibatuta"</item>
@@ -673,8 +673,8 @@
     <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"Aldatu PINa"</string>
     <string name="preference_category_ringtone" msgid="8787281191375434976">"Tonua eta dardara"</string>
     <string name="pstn_connection_service_label" msgid="9200102709997537069">"SIM txartel integratuak"</string>
-    <string name="enable_video_calling_title" msgid="7246600931634161830">"Aktibatu bideo-deiak"</string>
-    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"Bideo-deiak aktibatzeko, 4G LTE modu hobetua aktibatu behar duzu \"Sarearen ezarpenak\" atalean."</string>
+    <string name="enable_video_calling_title" msgid="7246600931634161830">"Aktibatu bideodeiak"</string>
+    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"Bideodeiak aktibatzeko, 4G LTE modu hobetua aktibatu behar duzu \"Sarearen ezarpenak\" atalean."</string>
     <string name="enable_video_calling_dialog_settings" msgid="8697890611305307110">"Sareko ezarpenak"</string>
     <string name="enable_video_calling_dialog_close" msgid="4298929725917045270">"Itxi"</string>
     <string name="sim_label_emergency_calls" msgid="9078241989421522310">"Larrialdi-deiak"</string>
@@ -690,7 +690,7 @@
     <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Ezin da konektatu. Erabili balio duen SIM txartel bat."</string>
     <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Galdu egin da wifi-konexioa. Amaitu da deia."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"Ezin da egin deia, bateria gutxi gelditzen delako."</string>
-    <string name="callFailed_low_battery" msgid="4056828320214416182">"Bideo-deia amaitu egin da bateria gutxi gelditzen delako."</string>
+    <string name="callFailed_low_battery" msgid="4056828320214416182">"Bideodeia amaitu egin da bateria gutxi gelditzen delako."</string>
     <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Ez daude erabilgarri wifi bidezko larrialdi-deiak kokapen honetan."</string>
     <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"Ez daude erabilgarri wifi bidezko deiak kokapen honetan."</string>
     <string name="change_pin_title" msgid="3564254326626797321">"Aldatu erantzungailuaren PINa"</string>
@@ -836,7 +836,7 @@
     <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Gaitu datu-konexioa"</string>
     <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Desgaitu datu-konexioa"</string>
     <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE hornituta"</string>
-    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Bideo-deiak aktibatuta"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Bideodeiak aktibatuta"</string>
     <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi bidezko deiak aktibatuta"</string>
     <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence hornitu da"</string>
     <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS datuak"</string>
@@ -855,7 +855,7 @@
     <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Erregistratu gabe"</string>
     <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Libre"</string>
     <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Ez dago erabilgarri"</string>
-    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS erregistroa: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE bidezko ahots-deiak: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWifi bidezko ahots-deiak: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nBideo-deiak: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfazea: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS erregistroa: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE bidezko ahots-deiak: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWifi bidezko ahots-deiak: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nBideodeiak: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfazea: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="45753418231446400">"Erabilgarri"</string>
     <string name="radioInfo_service_out" msgid="287972405416142312">"Ez erabilgarri"</string>
     <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Larrialdi-deiak soilik"</string>
@@ -885,7 +885,7 @@
     <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Sare mugikorraren neurketa guztien informazioa:"</string>
     <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Datu-zerbitzua:"</string>
     <string name="radio_info_roaming_label" msgid="6636932886446857120">"Ibiltaritza:"</string>
-    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEIa:"</string>
     <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Dei-desbideratzea:"</string>
     <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"PPP berrezarpen kopurua abiarazi ezkero:"</string>
     <string name="radio_info_current_network_label" msgid="3052098695239642450">"Oraingo sarea:"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index b310640..49e00fc 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -18,7 +18,7 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="phoneAppLabel" product="tablet" msgid="1916019789885839910">"داده‌های تلفن همراه"</string>
     <string name="phoneAppLabel" product="default" msgid="130465039375347763">"سرویس‌های تلفن"</string>
-    <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"شماره گیری اضطراری"</string>
+    <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"شماره‌گیر اضطراری"</string>
     <string name="phoneIconLabel" msgid="3015941229249651419">"تلفن"</string>
     <string name="fdnListLabel" msgid="4119121875004244097">"‏فهرست FDN"</string>
     <string name="unknown" msgid="8279698889921830815">"ناشناس"</string>
@@ -592,9 +592,9 @@
     <string name="importToFDNfromContacts" msgid="5068664870738407341">"وارد کردن از مخاطبین"</string>
     <string name="singleContactImportedMsg" msgid="3619804066300998934">"مخاطب واردشده"</string>
     <string name="failedToImportSingleContactMsg" msgid="228095510489830266">"مخاطب وارد نشد"</string>
-    <string name="hac_mode_title" msgid="4127986689621125468">"دستگاه‌های کمک‌شنوایی"</string>
+    <string name="hac_mode_title" msgid="4127986689621125468">"سمعک"</string>
     <string name="hac_mode_summary" msgid="7774989500136009881">"روشن کردن سازگاری دستگاه کمک‌شنوایی"</string>
-    <string name="rtt_mode_title" msgid="3075948111362818043">"‏تماس نوشتار هم‌زمان (RTT)"</string>
+    <string name="rtt_mode_title" msgid="3075948111362818043">"‏تماس با نوشتار هم‌زمان (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"پیام‌رسانی در تماس صوتی مجاز است"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"‏«نوشتار هم‌زمان» به تماس گیرندگان ناشنوا، دارای مشکل شنوایی، دارای ناتوانی گفتاری یا افرادی که به چیزی بیش از صدا نیاز دارند کمک می‌کند.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;بیشتر بدانید&lt;/a&gt;\n       ‏&lt;br&gt;&lt;br&gt; تماس‌های «نوشتار هم‌زمان» به‌صورت ترانویسی پیام ذخیره می‌شود\n       &lt;br&gt; «نوشتار هم‌زمان» برای تماس‌های ویدیویی دردسترس نیست"</string>
     <string name="no_rtt_when_roaming" msgid="5268008247378355389">"نکته: «نوشتار هم‌زمان» در هنگام فراگردی دردسترس نیست"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 7ccb20d..2153b0d 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -18,7 +18,7 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="phoneAppLabel" product="tablet" msgid="1916019789885839910">"Բջջային տվյալներ"</string>
     <string name="phoneAppLabel" product="default" msgid="130465039375347763">"Հեռախոսի ծառայություններ"</string>
-    <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"Արտակարգ իրավիճակների համարհավաքիչ"</string>
+    <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"Արտակարգ իրավիճակների համարահավաքիչ"</string>
     <string name="phoneIconLabel" msgid="3015941229249651419">"Հեռախոս"</string>
     <string name="fdnListLabel" msgid="4119121875004244097">"FDN ցուցակ"</string>
     <string name="unknown" msgid="8279698889921830815">"Անհայտ"</string>
@@ -284,7 +284,7 @@
     <string name="roaming" msgid="1576180772877858949">"Ռոումինգ"</string>
     <string name="roaming_enable" msgid="6853685214521494819">"Միանալ տվյալների փոխանցման ծառայություններին ռոումինգում"</string>
     <string name="roaming_disable" msgid="8856224638624592681">"Միանալ տվյալների փոխանցման ծառայություններին ռոումինգում"</string>
-    <string name="roaming_reenable_message" msgid="1951802463885727915">"Ռոումինգում բջջային ինտերնետն անջատված է: Հպեք՝ միացնելու համար:"</string>
+    <string name="roaming_reenable_message" msgid="1951802463885727915">"Ռոումինգում բջջային ինտերնետն անջատված է: Հպեք միացնելու համար:"</string>
     <string name="roaming_enabled_message" msgid="9022249120750897">"Ռոումինգի համար կարող է գումար գանձվել: Հպեք՝ փոփոխելու համար:"</string>
     <string name="roaming_notification_title" msgid="3590348480688047320">"Բջջային ինտերնետը կորավ"</string>
     <string name="roaming_on_notification_title" msgid="7451473196411559173">"Ինտերնետ ռոումինգը միացված է"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index f7ff030..2804a05 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -572,7 +572,7 @@
     <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Solo il proprietario del dispositivo può inserire i codici PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polizia"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulanza"</string>
-    <string name="fire_type_description" msgid="6565200468934914930">"Vigili del fuoco"</string>
+    <string name="fire_type_description" msgid="6565200468934914930">"Pompieri"</string>
     <string name="description_concat_format" msgid="2014471565101724088">"%1$s, %2$s"</string>
     <string name="dialerKeyboardHintText" msgid="1115266533703764049">"Usa tastiera"</string>
     <string name="onscreenHoldText" msgid="4025348842151665191">"In attesa"</string>
@@ -638,12 +638,12 @@
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Connessione dati disabilitata"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Nessuna connessione dati fino alle ore <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
     <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?</item>
       <item quantity="other">Il telefono sarà in modalità Richiamata di emergenza per <xliff:g id="COUNT_1">%s</xliff:g> minuti. In questa modalità non è possibile utilizzare applicazioni che impiegano una connessione dati. Vuoi uscire ora?</item>
+      <item quantity="one">Il telefono sarà in modalità Richiamata di emergenza per <xliff:g id="COUNT_0">%s</xliff:g> minuto. In questa modalità non è possibile utilizzare app che impiegano una connessione dati. Vuoi uscire ora?</item>
     </plurals>
     <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes. Do you want to exit now?</item>
       <item quantity="other">L\'azione selezionata non è disponibile in modalità Richiamata di emergenza. Il telefono sarà in questa modalità per <xliff:g id="COUNT_1">%s</xliff:g> minuti. Vuoi uscire ora?</item>
+      <item quantity="one">L\'azione selezionata non è disponibile in modalità Richiamata di emergenza. Il telefono sarà in questa modalità per <xliff:g id="COUNT_0">%s</xliff:g> minuto. Vuoi uscire ora?</item>
     </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"L\'azione selezionata non è disponibile in modalità di chiamata di emergenza."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Uscita dalla modalità di richiamata di emergenza"</string>
@@ -653,8 +653,8 @@
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Il telefono è in modalità di richiamata di emergenza"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Fino alle ore <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
     <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="one">Il telefono sarà in modalità di richiamata di emergenza per <xliff:g id="COUNT_1">%s</xliff:g> minuti.\nVuoi uscire ora?</item>
       <item quantity="other">Il telefono sarà in modalità di richiamata di emergenza per <xliff:g id="COUNT_1">%s</xliff:g> minuti.\nVuoi uscire ora?</item>
+      <item quantity="one">Il telefono sarà in modalità di richiamata di emergenza per <xliff:g id="COUNT_0">%s</xliff:g> minuto.\nVuoi uscire ora?</item>
     </plurals>
     <string name="voicemail_provider" msgid="4158806657253745294">"Servizio"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configurazione"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index e1b6827..00f5f65 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -584,7 +584,7 @@
     <string name="onscreenSwapCallsText" msgid="2682542150803377991">"ಸ್ವ್ಯಾಪ್‌ ಮಾಡು"</string>
     <string name="onscreenManageCallsText" msgid="1162047856081836469">"ಕರೆಗಳನ್ನು ನಿರ್ವಹಿಸಿ"</string>
     <string name="onscreenManageConferenceText" msgid="4700574060601755137">"ಕಾನ್ಫರೆನ್ಸ್ ನಿರ್ವಹಿಸಿ"</string>
-    <string name="onscreenAudioText" msgid="7224226735052019986">"ಆಡಿಯೊ"</string>
+    <string name="onscreenAudioText" msgid="7224226735052019986">"ಆಡಿಯೋ"</string>
     <string name="onscreenVideoCallText" msgid="1743992456126258698">"ವೀಡಿಯೊ ಕರೆ"</string>
     <string name="importSimEntry" msgid="3892354284082689894">"ಆಮದು"</string>
     <string name="importAllSimEntries" msgid="2628391505643564007">"ಎಲ್ಲವನ್ನೂ ಆಮದು ಮಾಡು"</string>
@@ -694,7 +694,7 @@
     <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"ಈ ಸ್ಥಳದಲ್ಲಿ ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆ ಮೂಲಕ ತುರ್ತು ಕರೆಗಳು ಲಭ್ಯವಿರುವುದಿಲ್ಲ."</string>
     <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"ಈ ಸ್ಥಳದಲ್ಲಿ ವೈ-ಫೈ ಕರೆಮಾಡುವಿಕೆ ಲಭ್ಯವಿಲ್ಲ."</string>
     <string name="change_pin_title" msgid="3564254326626797321">"ಧ್ವನಿಮೇಲ್ ಪಿನ್‌ ಬದಲಾಯಿಸಿ"</string>
-    <string name="change_pin_continue_label" msgid="5177011752453506371">"ಮುಂದುವರಿಸು"</string>
+    <string name="change_pin_continue_label" msgid="5177011752453506371">"ಮುಂದುವರಿಸಿ"</string>
     <string name="change_pin_cancel_label" msgid="2301711566758827936">"ರದ್ದುಮಾಡಿ"</string>
     <string name="change_pin_ok_label" msgid="6861082678817785330">"ಸರಿ"</string>
     <string name="change_pin_enter_old_pin_header" msgid="853151335217594829">"ನಿಮ್ಮ ಹಳೆಯ ಪಿನ್‌ ಅನ್ನು ದೃಢೀಕರಿಸಿ"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 1420182..50453f2 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -170,7 +170,7 @@
     <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"Жаңы PIN код өтө эле жөнөкөй. Сырсөз күчтүү болушу үчүн анда сандар үзгүлтүксүз катардан турбашы же сандар кайталанбашы керек."</string>
     <string name="vm_change_pin_error_mismatch" msgid="5364847280026257331">"Эски PIN код дал келген жок."</string>
     <string name="vm_change_pin_error_invalid" msgid="5230002671175580674">"Жаңы PIN коддо жараксыз белгилер бар."</string>
-    <string name="vm_change_pin_error_system_error" msgid="9116483527909681791">"PIN код өзгөртүлгөн жок"</string>
+    <string name="vm_change_pin_error_system_error" msgid="9116483527909681791">"PIN код өзгөргөн жок"</string>
     <string name="vvm_unsupported_message_format" msgid="4206402558577739713">"Колдоого алынбаган билдирүү, угуу үчүн <xliff:g id="NUMBER">%s</xliff:g> чалыңыз."</string>
     <string name="network_settings_title" msgid="7560807107123171541">"Мобилдик тармак"</string>
     <string name="label_available" msgid="1316084116670821258">"Жеткиликтүү тармактар"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 7963e41..b5ba43e 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -907,7 +907,7 @@
     <string name="ping_test_label" msgid="448617502935719694">"പിംഗ് പരിശോധന റൺ ചെയ്യുക"</string>
     <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"അപ്ഡേറ്റ് ചെയ്യുക"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"പുതുക്കിയെടുക്കുക"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"റീഫ്രഷ് ചെയ്യുക"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"DNS പരിശോധന മാറ്റുക"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-നിർദ്ദിഷ്‌ട വിവരം/ക്രമീകരണം"</string>
     <string name="radio_info_endc_available" msgid="4410653375290113436">"EN-DC ലഭ്യം:"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 7c788fa..8a841d1 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -48,7 +48,7 @@
     <string name="no_vm_number_msg" msgid="5165161462411372504">"सिम कार्डवर कोणताही व्हॉइसमेल नंबर स्टोअर केला नाही."</string>
     <string name="add_vm_number_str" msgid="7368168964435881637">"नंबर जोडा"</string>
     <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"केवळ प्राथमिक वापरकर्ता व्हॉइसमेल सेटिंग्ज बदलू शकतो."</string>
-    <string name="puk_unlocked" msgid="4627340655215746511">"तुमचे सिम कार्ड अवरोधित करणे रद्द केले गेले आहे. तुमचा फोन अनलॉक होत आहे…"</string>
+    <string name="puk_unlocked" msgid="4627340655215746511">"तुमचे सिम कार्ड ब्लॉक करणे रद्द केले गेले आहे. तुमचा फोन अनलॉक होत आहे…"</string>
     <string name="label_ndp" msgid="7617392683877410341">"सिम नेटवर्क अनलॉक पिन"</string>
     <string name="label_phoneid" msgid="8775611434123577808">"ऑपरेटरसाठी सिम लॉक केले आहे"</string>
     <string name="sim_ndp_unlock_text" msgid="7737338355451978338">"अनलॉक करा"</string>
@@ -499,7 +499,7 @@
     <string name="disable_pin_ok" msgid="888505244389647754">"पिन साफ केला"</string>
     <string name="pin_failed" msgid="4527347792881939652">"पिन चुकीचा आहे"</string>
     <string name="pin_changed" msgid="7291153750090452808">"पिन अपडेट केला"</string>
-    <string name="puk_requested" msgid="2061337960609806851">"पासवर्ड चुकीचा आहे. पिन आता अवरोधित केला. PUK ची विनंती केली."</string>
+    <string name="puk_requested" msgid="2061337960609806851">"पासवर्ड चुकीचा आहे. पिन आता ब्लॉक केला. PUK ची विनंती केली."</string>
     <string name="enter_pin2_text" msgid="7266379426804295979">"PIN2"</string>
     <string name="oldPin2Label" msgid="4648543187859997203">"जुना PIN2"</string>
     <string name="newPin2Label" msgid="1840905981784453939">"नवीन PIN2"</string>
@@ -511,12 +511,12 @@
     <string name="invalidPuk2" msgid="713729511903849544">"8 अंक असलेला एक PUK2 प्रविष्‍ट करा."</string>
     <string name="pin2_changed" msgid="5710551850481287821">"पिन2 अपडेट केला"</string>
     <string name="label_puk2_code" msgid="2852217004288085562">"PUK2 कोड प्रविष्‍ट करा"</string>
-    <string name="fdn_enable_puk2_requested" msgid="5793652792131588041">"पासवर्ड चुकीचा आहे. पिन2 आता अवरोधित केला. पुन्हा प्रयत्न करण्‍यासाठी, पिन 2 बदला."</string>
+    <string name="fdn_enable_puk2_requested" msgid="5793652792131588041">"पासवर्ड चुकीचा आहे. पिन2 आता ब्लॉक केला. पुन्हा प्रयत्न करण्‍यासाठी, पिन 2 बदला."</string>
     <string name="puk2_requested" msgid="6992374450720307514">"पासवर्ड चुकीचा आहे. सिम आता लॉक केले आहे. PUK2 प्रविष्‍ट करा."</string>
-    <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 कायमचे अवरोधित केले आहे."</string>
+    <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 कायमचे ब्लॉक केले आहे."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"आपल्‍याकडे <xliff:g id="NUMBER">%d</xliff:g> शिल्लक प्रयत्न आहेत."</string>
     <string name="puk2_locked" msgid="6497760825455461057">"PUK2 द्वारे लॉक केले आहे. ते अनलॉक करण्यासाठी सेवा पुरवठादाराशी संपर्क साधा."</string>
-    <string name="pin2_unblocked" msgid="4481107908727789303">"पिन2 अवरोधित केला नाही"</string>
+    <string name="pin2_unblocked" msgid="4481107908727789303">"पिन2 ब्लॉक केला नाही"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"नेटवर्क किंवा सिम कार्ड एरर"</string>
     <string name="doneButton" msgid="7371209609238460207">"पूर्ण झाले"</string>
     <string name="voicemail_settings_number_label" msgid="1265118640154688162">"व्हॉइसमेल नंबर"</string>
@@ -811,8 +811,8 @@
     <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_incoming_calls_barred" msgid="2034627421274447674">"इनकमिंग कॉल अवरोधित केले."</string>
-    <string name="supp_service_outgoing_calls_barred" msgid="5205725332394087112">"जाणारे कॉल अवरोधित केले."</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>
     <string name="supp_service_additional_call_forwarded" msgid="8772753260008398632">"अतिरिक्‍त कॉल फॉरवर्ड केला."</string>
     <string name="supp_service_additional_ect_connected" msgid="8525934162945220237">"भडक कॉल ट्रान्सफर करणे पूर्ण झाले."</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 03aea11..f0d1410 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -631,7 +631,7 @@
     <string name="ota_spc_failure" msgid="904092035241370080">"အလွန်အကျွံ SPC မအောင်မြင်မှုများ"</string>
     <string name="ota_call_end" msgid="8657746378290737034">"နောက်သို့"</string>
     <string name="ota_try_again" msgid="6914781945599998550">"ပြန်ကြိုးစားပါ"</string>
-    <string name="ota_next" msgid="2041016619313475914">"ရှေ့ဆက်သွားရန်"</string>
+    <string name="ota_next" msgid="2041016619313475914">"ရှေ့သို့"</string>
     <string name="ecm_exit_dialog" msgid="4200691880721429078">"EcmExitDialog"</string>
     <string name="phone_entered_ecm_text" msgid="8431238297843035842">"အရေးပေါ်ပြန်လည်ခေါ်ဆိုမှုအား ရိုက်သွင်းပြီး"</string>
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"အရေးပေါ်ပြန်လည်ခေါ်ဆိုမှု"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index b956af6..626459f 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -537,7 +537,7 @@
     <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Slå på mobilnettverket, slå av flymodus eller slå av batterisparingsmodus for å ringe ut."</string>
     <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Slå av flymodus for å ringe."</string>
     <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Slå av flymodus eller koble til et trådløst nettverk for å ringe."</string>
-    <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Telefonen er for varm"</b>\n\n"Kan ikke fullføre dette anropet. Prøv igjen når telefonen har kjølt seg ned.\n\nDu kan fortsatt foreta nødanrop."</string>
+    <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Telefonen er for varm"</b>\n\n"Kan ikke fullføre dette anropet. Prøv på nytt når telefonen har kjølt seg ned.\n\nDu kan fortsatt foreta nødanrop."</string>
     <string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Avslutt modusen for nødanrop for å gjøre et vanlig anrop."</string>
     <string name="incall_error_emergency_only" msgid="8786127461027964653">"Ikke registrert på nettverket."</string>
     <string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobilnettverket er ikke tilgjengelig."</string>
@@ -630,7 +630,7 @@
     <string name="ota_unsuccessful" msgid="8531037653803955754">"Telefonen ble ikke aktivert.\nPrøv å finne et område med bedre dekning (ved et vindu eller utendørs).\n\nPrøv på nytt, eller ring kundetjenesten for å få flere alternativer."</string>
     <string name="ota_spc_failure" msgid="904092035241370080">"Omfattende SPC-feil"</string>
     <string name="ota_call_end" msgid="8657746378290737034">"Tilbake"</string>
-    <string name="ota_try_again" msgid="6914781945599998550">"Prøv igjen"</string>
+    <string name="ota_try_again" msgid="6914781945599998550">"Prøv på nytt"</string>
     <string name="ota_next" msgid="2041016619313475914">"Neste"</string>
     <string name="ecm_exit_dialog" msgid="4200691880721429078">"EcmExitDialog"</string>
     <string name="phone_entered_ecm_text" msgid="8431238297843035842">"Startet modusen nødsamtale-tilbakeringing"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index e6d6abc..94dacf4 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -127,7 +127,7 @@
     <string name="registration_cf_forbidden" msgid="4386482610771190420">"तपाईंको सेवा प्रदायकले कल फर्वार्ड गर्ने सुविधा उपलब्ध गराउँदैन।"</string>
     <string name="cdma_call_waiting" msgid="4565070960879673216">"कल प्रतीक्षाको सुविधा सक्रिय गर्ने हो?"</string>
     <string name="enable_cdma_call_waiting_setting" msgid="5906811747921744307">"कल हुँदै गर्दा, तपाईंलाई आगमन कलबारे जानकारी दिइने छ"</string>
-    <string name="enable_cdma_cw" msgid="811047045863422232">"सक्रिय गर्नुहोस्"</string>
+    <string name="enable_cdma_cw" msgid="811047045863422232">"अन गर्नुहोस्"</string>
     <string name="disable_cdma_cw" msgid="7119290446496301734">"रद्द गर्नुहोस्"</string>
     <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>
@@ -612,7 +612,7 @@
   </string-array>
     <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_title_activate" msgid="4049645324841263423">"तपाईंको फोन अन गर्नुहोस्"</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>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index b13d9c8..05c83c5 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -145,7 +145,7 @@
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"Gewijzigd in nieuw SS-verzoek"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"SS-verzoek gewijzigd in videogesprek"</string>
     <string name="fdn_check_failure" msgid="1833769746374185247">"De instelling \'Vaste nummers\' in je app Telefoon staat aan. Hierdoor werken sommige oproepgerelateerde functies niet."</string>
-    <string name="radio_off_error" msgid="8321564164914232181">"Schakel de radio in voordat je deze instellingen bekijkt."</string>
+    <string name="radio_off_error" msgid="8321564164914232181">"Zet de radio aan voordat je deze instellingen bekijkt."</string>
     <string name="close_dialog" msgid="1074977476136119408">"OK"</string>
     <string name="enable" msgid="2636552299455477603">"Aanzetten"</string>
     <string name="disable" msgid="1122698860799462116">"Uit"</string>
@@ -326,33 +326,33 @@
     <string name="throttle_help_subtext" msgid="2817114897095534807">"Meer informatie over het beleid voor datagebruik van je mobiele provider"</string>
     <string name="cell_broadcast_sms" msgid="4053449797289031063">"Infodienstbericht"</string>
     <string name="enable_disable_cell_bc_sms" msgid="4759958924031721350">"SMS Infodienstbericht"</string>
-    <string name="cell_bc_sms_enable" msgid="2019708772024632073">"SMS Infodienstbericht ingeschakeld"</string>
+    <string name="cell_bc_sms_enable" msgid="2019708772024632073">"SMS Infodienstbericht staat aan"</string>
     <string name="cell_bc_sms_disable" msgid="1214238639910875347">"Infodienstbericht staat uit"</string>
     <string name="cb_sms_settings" msgid="6858093721831312036">"Instellingen voor SMS infodienstberichten"</string>
     <string name="enable_disable_emergency_broadcast" msgid="6325655044472196496">"Bericht bij noodsituatie"</string>
-    <string name="emergency_broadcast_enable" msgid="5759610647771102442">"Bericht bij noodsituatie ingeschakeld"</string>
+    <string name="emergency_broadcast_enable" msgid="5759610647771102442">"Bericht bij noodsituatie staat aan"</string>
     <string name="emergency_broadcast_disable" msgid="2844904734469323266">"Bericht bij noodsituatie staat uit"</string>
     <string name="enable_disable_administrative" msgid="7825925366822117961">"Beheer"</string>
-    <string name="administrative_enable" msgid="5717963431079532028">"Beheer ingeschakeld"</string>
+    <string name="administrative_enable" msgid="5717963431079532028">"Beheer staat aan"</string>
     <string name="administrative_disable" msgid="156796633660118691">"Beheer staat uit"</string>
     <string name="enable_disable_maintenance" msgid="3824817751053035017">"Onderhoud"</string>
-    <string name="maintenance_enable" msgid="2646784483222342290">"Onderhoud ingeschakeld"</string>
+    <string name="maintenance_enable" msgid="2646784483222342290">"Onderhoud staat aan"</string>
     <string name="maintenance_disable" msgid="2121032601497725602">"Onderhoud staat uit"</string>
     <string name="general_news_settings" msgid="2670499575962080411">"Algemeen nieuws"</string>
     <string name="bf_news_settings" msgid="8571709425370794221">"Zakelijk en financieel nieuws"</string>
     <string name="sports_news_settings" msgid="2684364556989168438">"Sportnieuws"</string>
     <string name="entertainment_news_settings" msgid="4228527702346305543">"Amusementsnieuws"</string>
     <string name="enable_disable_local" msgid="7654175079979415572">"Lokaal"</string>
-    <string name="local_enable" msgid="790606890868710629">"Lokaal nieuws ingeschakeld"</string>
+    <string name="local_enable" msgid="790606890868710629">"Lokaal nieuws staat aan"</string>
     <string name="local_disable" msgid="7649945293198602877">"Lokaal nieuws staat uit"</string>
     <string name="enable_disable_regional" msgid="5783403191376564638">"Regionaal"</string>
-    <string name="regional_enable" msgid="7730109417536296079">"Regionaal nieuws ingeschakeld"</string>
+    <string name="regional_enable" msgid="7730109417536296079">"Regionaal nieuws staat aan"</string>
     <string name="regional_disable" msgid="3781951818157772545">"Regionaal nieuws staat uit"</string>
     <string name="enable_disable_national" msgid="6198481711934897632">"Binnenlands"</string>
-    <string name="national_enable" msgid="5159683504138239304">"Binnenlands nieuws ingeschakeld"</string>
+    <string name="national_enable" msgid="5159683504138239304">"Binnenlands nieuws staat aan"</string>
     <string name="national_disable" msgid="8484356368757118987">"Binnenlands nieuws staat uit"</string>
     <string name="enable_disable_international" msgid="4204334217211198792">"Buitenlands"</string>
-    <string name="international_enable" msgid="8943466745792690340">"Buitenlands nieuws ingeschakeld"</string>
+    <string name="international_enable" msgid="8943466745792690340">"Buitenlands nieuws staat aan"</string>
     <string name="international_disable" msgid="4803498658100318265">"Buitenlands nieuws staat uit"</string>
     <string name="list_language_title" msgid="1850167908665485738">"Taal"</string>
     <string name="list_language_summary" msgid="7921756070782277559">"De taal voor het nieuws selecteren"</string>
@@ -376,41 +376,41 @@
   </string-array>
     <string name="list_language_dtitle" msgid="7457017255633587047">"Talen"</string>
     <string name="enable_disable_local_weather" msgid="7734933941872511543">"Lokaal weerbericht"</string>
-    <string name="local_weather_enable" msgid="2143929735295254729">"Lokaal weerbericht ingeschakeld"</string>
+    <string name="local_weather_enable" msgid="2143929735295254729">"Lokaal weerbericht staat aan"</string>
     <string name="local_weather_disable" msgid="4209936355998349647">"Lokaal weerbericht staat uit"</string>
     <string name="enable_disable_atr" msgid="821714821057385390">"Verkeersberichten"</string>
-    <string name="atr_enable" msgid="1799097759998768186">"Verkeersberichten ingeschakeld"</string>
-    <string name="atr_disable" msgid="6456758173289065766">"Verkeersberichten uitgeschakeld"</string>
+    <string name="atr_enable" msgid="1799097759998768186">"Verkeersberichten staan aan"</string>
+    <string name="atr_disable" msgid="6456758173289065766">"Verkeersberichten staan uit"</string>
     <string name="enable_disable_lafs" msgid="7448060358300805661">"Vluchttijden voor lokaal vliegveld"</string>
-    <string name="lafs_enable" msgid="3125783406052655690">"Vluchttijden voor lokaal vliegveld ingeschakeld"</string>
-    <string name="lafs_disable" msgid="7326815066813851447">"Vluchttijden voor lokaal vliegveld uitgeschakeld"</string>
+    <string name="lafs_enable" msgid="3125783406052655690">"Vluchttijden voor lokaal vliegveld staan aan"</string>
+    <string name="lafs_disable" msgid="7326815066813851447">"Vluchttijden voor lokaal vliegveld staan uit"</string>
     <string name="enable_disable_restaurants" msgid="3873247081569423019">"Restaurants"</string>
-    <string name="restaurants_enable" msgid="5810452674239139572">"Restaurants ingeschakeld"</string>
-    <string name="restaurants_disable" msgid="2733507854548413505">"Restaurants uitgeschakeld"</string>
+    <string name="restaurants_enable" msgid="5810452674239139572">"Restaurants staan aan"</string>
+    <string name="restaurants_disable" msgid="2733507854548413505">"Restaurants staan uit"</string>
     <string name="enable_disable_lodgings" msgid="7849168585821435109">"Overnachtingen"</string>
-    <string name="lodgings_enable" msgid="2020598411398609514">"Overnachtingen ingeschakeld"</string>
-    <string name="lodgings_disable" msgid="5145649659459722661">"Overnachtingen uitgeschakeld"</string>
+    <string name="lodgings_enable" msgid="2020598411398609514">"Overnachtingen staan aan"</string>
+    <string name="lodgings_disable" msgid="5145649659459722661">"Overnachtingen staan uit"</string>
     <string name="enable_disable_retail_directory" msgid="9095153426757081972">"Winkeloverzicht"</string>
-    <string name="retail_directory_enable" msgid="2532176568755452171">"Winkeloverzicht ingeschakeld"</string>
+    <string name="retail_directory_enable" msgid="2532176568755452171">"Winkeloverzicht staat aan"</string>
     <string name="retail_directory_disable" msgid="7242451210736299193">"Winkeloverzicht staat uit"</string>
     <string name="enable_disable_advertisements" msgid="8704125663718797151">"Advertenties"</string>
-    <string name="advertisements_enable" msgid="8651409664217899145">"Advertenties ingeschakeld"</string>
-    <string name="advertisements_disable" msgid="2999957360508271492">"Advertenties uitgeschakeld"</string>
+    <string name="advertisements_enable" msgid="8651409664217899145">"Advertenties staat aan"</string>
+    <string name="advertisements_disable" msgid="2999957360508271492">"Advertenties staan uit"</string>
     <string name="enable_disable_stock_quotes" msgid="631498357725951825">"Aandelenkoersen"</string>
-    <string name="stock_quotes_enable" msgid="5104318195579771947">"Aandelenkoersen ingeschakeld"</string>
-    <string name="stock_quotes_disable" msgid="3126423481704498278">"Aandelenkoersen uitgeschakeld"</string>
+    <string name="stock_quotes_enable" msgid="5104318195579771947">"Aandelenkoersen staan aan"</string>
+    <string name="stock_quotes_disable" msgid="3126423481704498278">"Aandelenkoersen staan uit"</string>
     <string name="enable_disable_eo" msgid="5730223317238970819">"Vacatures"</string>
-    <string name="eo_enable" msgid="107713355461019817">"Vacatures ingeschakeld"</string>
-    <string name="eo_disable" msgid="3955421278929647485">"Vacatures uitgeschakeld"</string>
+    <string name="eo_enable" msgid="107713355461019817">"Vacatures staan aan"</string>
+    <string name="eo_disable" msgid="3955421278929647485">"Vacatures staan uit"</string>
     <string name="enable_disable_mhh" msgid="715930476289202466">"Medisch, gezondheid en ziekenhuis"</string>
-    <string name="mhh_enable" msgid="7224396815285147008">"Medisch, gezondheid en ziekenhuis ingeschakeld"</string>
+    <string name="mhh_enable" msgid="7224396815285147008">"Medisch, gezondheid en ziekenhuis staan aan"</string>
     <string name="mhh_disable" msgid="5503643028885686265">"Medisch, gezondheid en ziekenhuis staat uit"</string>
     <string name="enable_disable_technology_news" msgid="2794845609698078400">"Technologienieuws"</string>
-    <string name="technology_news_enable" msgid="1908991199492598311">"Technologienieuws ingeschakeld"</string>
+    <string name="technology_news_enable" msgid="1908991199492598311">"Technologienieuws staat aan"</string>
     <string name="technology_news_disable" msgid="8388582607149800889">"Technologienieuws staat uit"</string>
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Meerdere categorieën"</string>
-    <string name="multi_category_enable" msgid="4531915767817483960">"Meerdere categorieën ingeschakeld"</string>
-    <string name="multi_category_disable" msgid="6325934413701238104">"Meerdere categorieën uitgeschakeld"</string>
+    <string name="multi_category_enable" msgid="4531915767817483960">"Meerdere categorieën staan aan"</string>
+    <string name="multi_category_disable" msgid="6325934413701238104">"Meerdere categorieën staan uit"</string>
     <string name="network_recommended" msgid="3444321100580250926">" (aanbevolen)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (aanbevolen)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (aanbevolen)"</string>
@@ -482,7 +482,7 @@
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Lezen vanaf simkaart..."</string>
     <string name="simContacts_empty" msgid="1135632055473689521">"Geen contacten op je simkaart."</string>
     <string name="simContacts_title" msgid="2714029230160136647">"Contacten selecteren om te importeren"</string>
-    <string name="simContacts_airplaneMode" msgid="4654884030631503808">"Schakel de vliegtuigmodus uit om contacten van de simkaart te importeren."</string>
+    <string name="simContacts_airplaneMode" msgid="4654884030631503808">"Zet de vliegtuigmodus uit om contacten van de simkaart te importeren."</string>
     <string name="enable_pin" msgid="967674051730845376">"SIM pincode aan-/uitzetten"</string>
     <string name="change_pin" msgid="3657869530942905790">"Pincode simkaart wijzigen"</string>
     <string name="enter_pin_text" msgid="3182311451978663356">"Pincode simkaart:"</string>
@@ -534,9 +534,9 @@
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"Voicemailnummer onbekend"</string>
     <string name="notification_network_selection_title" msgid="255595526707809121">"Geen service"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"Geselecteerd netwerk <xliff:g id="OPERATOR_NAME">%s</xliff:g> niet beschikbaar"</string>
-    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Schakel het mobiele netwerk in, schakel de vliegtuigmodus uit of schakel Batterijbesparing uit om te bellen."</string>
-    <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Schakel de vliegtuigmodus uit om te bellen."</string>
-    <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Schakel de vliegtuigmodus uit of maak verbinding met een draadloos netwerk om te bellen."</string>
+    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Zet het mobiele netwerk aan, of zet de vliegtuigmodus of Batterijbesparing uit om te bellen."</string>
+    <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Zet de vliegtuigmodus uit om te bellen."</string>
+    <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Zet de vliegtuigmodus uit of maak verbinding met een draadloos netwerk om te bellen."</string>
     <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Telefoon te heet"</b>\n\n"Kan dit gesprek niet tot stand brengen. Probeer het opnieuw als je telefoon is afgekoeld.\n\nJe kunt nog steeds noodoproepen plaatsen."</string>
     <string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Sluit de modus voor noodoproepen af om een niet-noodoproep te plaatsen."</string>
     <string name="incall_error_emergency_only" msgid="8786127461027964653">"Niet geregistreerd op netwerk."</string>
@@ -555,10 +555,10 @@
     <string name="incall_error_supp_service_hangup" msgid="836524952243836735">"Kan gesprek(ken) niet vrijgeven."</string>
     <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"Kan gesprekken niet in de wacht zetten."</string>
     <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Maak verbinding met een draadloos netwerk om te bellen."</string>
-    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Schakel bellen via wifi in om te bellen."</string>
+    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Zet bellen via wifi aan om te bellen."</string>
     <string name="emergency_information_hint" msgid="9208897544917793012">"Noodinformatie"</string>
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"Eigenaar"</string>
-    <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Tik nogmaals om informatie weer te geven"</string>
+    <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Tik nogmaals om informatie te bekijken"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="2667568200755388829">"Noodoproep"</string>
     <string name="single_emergency_number_title" msgid="8413371079579067196">"Alarmnummer"</string>
     <string name="numerous_emergency_numbers_title" msgid="8972398932506755510">"Alarmnummers"</string>
@@ -633,7 +633,7 @@
     <string name="ota_try_again" msgid="6914781945599998550">"Opnieuw proberen"</string>
     <string name="ota_next" msgid="2041016619313475914">"Volgende"</string>
     <string name="ecm_exit_dialog" msgid="4200691880721429078">"EcmExitDialog"</string>
-    <string name="phone_entered_ecm_text" msgid="8431238297843035842">"Modus voor noodoproepen ingeschakeld"</string>
+    <string name="phone_entered_ecm_text" msgid="8431238297843035842">"Modus voor noodoproepen staat aan"</string>
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Modus voor noodoproepen"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Gegevensverbinding staat uit"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Geen dataverbinding tot <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 3ceb270..2a8f830 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>
@@ -57,10 +57,10 @@
     <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="labelGSMMore" msgid="7354182269461281543">"GSM କଲ୍ ସେଟିଙ୍ଗ"</string>
-    <string name="labelGsmMore_with_label" msgid="3206015314393246224">"GSM କଲ୍ ସେଟିଙ୍ଗ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</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>
-    <string name="labelCdmaMore_with_label" msgid="7759692829160238152">"CDMA କଲ୍ ସେଟିଙ୍ଗ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="labelCdmaMore_with_label" msgid="7759692829160238152">"CDMA କଲ ସେଟିଂସ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="apn_settings" msgid="1978652203074756623">"ଆକ୍ସେସ୍ ପଏଣ୍ଟ ନାମ"</string>
     <string name="settings_label" msgid="9101778088412567956">"ନେଟ୍‍ୱର୍କ ସେଟିଙ୍ଗ"</string>
     <string name="phone_accounts" msgid="1216879437523774604">"କଲ୍ କରିବା ଆକାଉଣ୍ଟ"</string>
@@ -86,7 +86,7 @@
     <string name="voicemail_notifications_preference_title" msgid="7829238858063382977">"ବିଜ୍ଞପ୍ତି"</string>
     <string name="cell_broadcast_settings" msgid="8135324242541809924">"ଜରୁରିକାଳୀନ ପ୍ରସାରଣ"</string>
     <string name="call_settings" msgid="3677282690157603818">"କଲ୍‌ ସେଟିଂସ୍"</string>
-    <string name="additional_gsm_call_settings" msgid="1561980168685658846">"ଅତିରିକ୍ତ ସେଟିଙ୍ଗ"</string>
+    <string name="additional_gsm_call_settings" msgid="1561980168685658846">"ଅତିରିକ୍ତ ସେଟିଂସ"</string>
     <string name="additional_gsm_call_settings_with_label" msgid="7973920539979524908">"ଅତିରିକ୍ତ ସେଟିଙ୍ଗ(<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="sum_gsm_call_settings" msgid="7964692601608878138">"ଅତିରିକ୍ତ କେବଳ GSM କଲ୍ ସେଟିଙ୍ଗ"</string>
     <string name="additional_cdma_call_settings" msgid="2178016561980611304">"ଅତିରିକ୍ତ CDMA କଲ୍ ସେଟିଙ୍ଗ"</string>
@@ -96,11 +96,11 @@
     <string name="sum_loading_settings" msgid="434063780286688775">"ସେଟିଙ୍ଗ ଲୋଡ୍ ହେଉଛି…"</string>
     <string name="sum_hide_caller_id" msgid="131100328602371933">"ଆଉଟ୍‌ଗୋ‌ଇଙ୍ଗ କଲ୍‌ରେ ଲୁଚିଥିବା କଲ୍"</string>
     <string name="sum_show_caller_id" msgid="3571854755324664591">"ଆଉଟ୍‌ଗୋ‌ଇଙ୍ଗ କଲ୍‌ରେ ନମ୍ବର୍ ଡିସପ୍ଲେ ହୋ‌ଇଛି"</string>
-    <string name="sum_default_caller_id" msgid="1767070797135682959">"ଆଉଟ୍‌ଗୋ‌ଇଙ୍ଗ କଲ୍‌ରେ ମୋର ନମ୍ବର୍‌କୁ ଡିସପ୍ଲେ କରିବା ପାଇଁ ଡିଫଲ୍ଟ ଅପରେଟର୍ ସେଟିଂସକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="sum_default_caller_id" msgid="1767070797135682959">"ଆଉଟଗୋ‌ଇଂ କଲରେ ମୋର ନମ୍ବରକୁ ଡିସପ୍ଲେ କରିବା ପାଇଁ ଡିଫଲ୍ଟ ଅପରେଟର ସେଟିଂସକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="labelCW" msgid="8449327023861428622">"କଲ୍‌ ଅପେକ୍ଷାରେ ଅଛି"</string>
     <string name="sum_cw_enabled" msgid="3977308526187139996">"ଗୋଟିଏ କଲ୍ ସମୟରେ ଇନକମିଙ୍ଗ କଲ୍ ପାଇଁ ମୋତେ ସୂଚିତ କରନ୍ତୁ"</string>
     <string name="sum_cw_disabled" msgid="3658094589461768637">"ଗୋଟିଏ କଲ୍ ସମୟରେ ଇନକମିଙ୍ଗ କଲ୍ ପାଇଁ ମୋତେ ସୂଚିତ କରନ୍ତୁ"</string>
-    <string name="call_forwarding_settings" msgid="8937130467468257671">"କଲ୍ ଫରୱାର୍ଡିଂ ସେଟିଂସ୍"</string>
+    <string name="call_forwarding_settings" msgid="8937130467468257671">"କଲ ଫରୱାର୍ଡିଂ ସେଟିଂସ"</string>
     <string name="call_forwarding_settings_with_label" msgid="2345432813399564272">"କଲ୍ ଫର୍‌ୱାର୍ଡିଂ ସେଟିଂସ୍ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCF" msgid="3578719437928476078">"କଲ୍‌ ଫର୍‌ୱାର୍ଡିଙ୍ଗ"</string>
     <string name="labelCFU" msgid="8870170873036279706">"ସର୍ବଦା ଫର୍‌ୱାର୍ଡ କରନ୍ତୁ"</string>
@@ -131,7 +131,7 @@
     <string name="disable_cdma_cw" msgid="7119290446496301734">"ବାତିଲ୍ କରନ୍ତୁ"</string>
     <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="updating_title" msgid="6130548922615719689">"କଲ ସେଟିଂସ"</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>
@@ -145,7 +145,7 @@
     <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="radio_off_error" msgid="8321564164914232181">"ଏହି ସେଟିଙ୍ଗକୁ ଦେଖିବା ପୂର୍ବରୁ ରେଡିଓକୁ ଚାଲୁ କରନ୍ତୁ।"</string>
+    <string name="radio_off_error" msgid="8321564164914232181">"ଏହି ସେଟିଂସକୁ ଦେଖିବା ପୂର୍ବରୁ ରେଡିଓକୁ ଚାଲୁ କରନ୍ତୁ।"</string>
     <string name="close_dialog" msgid="1074977476136119408">"ଠିକ୍ ଅଛି"</string>
     <string name="enable" msgid="2636552299455477603">"ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="disable" msgid="1122698860799462116">"ବନ୍ଦ କରନ୍ତୁ"</string>
@@ -158,7 +158,7 @@
     <string name="vm_changed" msgid="4739599044379692505">"ଭଏସମେଲ୍ ନମ୍ବର୍ ବଦଳିଗଲା।"</string>
     <string name="vm_change_failed" msgid="7877733929455763566">"ଭଏସମେଲ୍ ନମ୍ବର୍ ବଦଳାଯାଇପାରିଲା ନାହିଁ। \nଯଦି ଏହି ସମସ୍ୟା ଜାରିରୁହେ ତେବେ ନିଜର କେରିଅର୍‌ଙ୍କ ସହ ସମ୍ପର୍କ କରନ୍ତୁ।"</string>
     <string name="fw_change_failed" msgid="9179241823460192148">"ଫଏ‌ୱାର୍ଡିଙ୍ଗ ନମ୍ବର୍‌କୁ ବଦଳାଇହେଲା ନାହିଁ। \n ଯଦି ଏହି ସମସ୍ୟା ଜାରିରୁହେ ତେବେ ନିଜର କେରିଅର୍‌ଙ୍କ ସହ ସମ୍ପର୍କ କରନ୍ତୁ।"</string>
-    <string name="fw_get_in_vm_failed" msgid="2432678237218183844">"ସାମ୍ପ୍ରତିକ ଫର୍‌ୱାର୍ଡିଙ୍ଗ ନମ୍ବର୍ ସେଟିଙ୍ଗକୁ ପୁନଃପ୍ରାପ୍ତ ଓ ସେଭ୍ କରିହେଲା ନାହିଁ। \nଯେକୌଣସି ଭାବେ ନୂଆ ପ୍ରଦାତାଙ୍କୁ ସ୍ଵିଚ୍ କରିବେ?"</string>
+    <string name="fw_get_in_vm_failed" msgid="2432678237218183844">"ବର୍ତ୍ତମାନର ଫରୱାର୍ଡିଂ ନମ୍ବର ସେଟିଂସକୁ ପୁନରୁଦ୍ଧାର ଓ ସେଭ କରାଯାଇପାରିଲା ନାହିଁ। \nନୂଆ ପ୍ରଦାନକାରୀକୁ ଯେ କୌଣସି ମତେ ସ୍ଵିଚ କରିବେ?"</string>
     <string name="no_change" msgid="3737264882821031892">"କୌଣସି ପରିବର୍ତ୍ତନ କରାଯାଇନାହିଁ|"</string>
     <string name="sum_voicemail_choose_provider" msgid="6750824719081403773">"ଭଏସ୍‌ମେଲ୍ ସେବାକୁ ଚୟନ କରନ୍ତୁ"</string>
     <string name="voicemail_default" msgid="6427575113775462077">"ଆପଣଙ୍କ କେରିଅର୍"</string>
@@ -435,7 +435,7 @@
   </string-array>
     <string name="cdma_activate_device" msgid="5914720276140097632">"ସକ୍ରିୟ ଡିଭାଇସ୍"</string>
     <string name="cdma_lte_data_service" msgid="359786441782404562">"ଡାଟା ସେବାକୁ ସେଟ‌ଅପ୍ କରନ୍ତୁ"</string>
-    <string name="carrier_settings_title" msgid="6292869148169850220">"କେରିଅର୍‍ ସେଟିଙ୍ଗ"</string>
+    <string name="carrier_settings_title" msgid="6292869148169850220">"କ୍ୟାରିଅର ସେଟିଂସ"</string>
     <string name="fdn" msgid="2545904344666098749">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍"</string>
     <string name="fdn_with_label" msgid="6412087553365709494">"ଫିକ୍ସଡ୍ ଡାଏଲିଂ ନମ୍ବର୍ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="3341716430375195441">"FDN ତାଲିକା"</string>
@@ -458,7 +458,7 @@
     <string name="auto_retry_mode_title" msgid="2985801935424422340">"ଅଟୋ-ରିଟ୍ରାଏ କରନ୍ତୁ"</string>
     <string name="auto_retry_mode_summary" msgid="2863919925349511402">"ଅଟୋ-ରିଟ୍ରାଏ ମୋଡ୍‌କୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="tty_mode_not_allowed_video_call" msgid="6551976083652752815">"ଭିଡିଓ କଲ୍ କରିବା ସମୟରେ TTY ମୋଡ୍‌କୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ଅନୁମତି ନାହିଁ"</string>
-    <string name="menu_add" msgid="5616487894975773141">"ଯୋଗାଯୋଗକୁ ଯୋଡ଼ନ୍ତୁ"</string>
+    <string name="menu_add" msgid="5616487894975773141">"ଯୋଗାଯୋଗକୁ ଯୋଗ କରନ୍ତୁ"</string>
     <string name="menu_edit" msgid="3593856941552460706">"ଯୋଗାଯୋଗକୁ ଏଡିଟ୍‍ କରନ୍ତୁ"</string>
     <string name="menu_delete" msgid="6326861853830546488">"ଯୋଗାଯୋଗକୁ ଡିଲିଟ୍ କରନ୍ତୁ"</string>
     <string name="menu_dial" msgid="4178537318419450012">"ଯୋଗାଯୋଗକୁ ଡାଏଲ୍ କରନ୍ତୁ"</string>
@@ -828,7 +828,7 @@
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"ଗୋଟିଏ ଉତ୍ତର ଦିଆଯାଇନଥିବା ଇନ୍‌କମିଂ କଲ୍ ଯୋଗୁଁ ଅନ୍ୟ ଏକ କଲ୍ କରିପାରିବେ ନାହିଁ । ଏକ ନୂତନ କଲ୍ କରିବା ପୂର୍ବରୁ ଇନ୍‌କମିଂ କଲ୍‌ଟିର ଉତ୍ତର ଦିଅନ୍ତୁ କିମ୍ବା ଏହାକୁ ଅଗ୍ରାହ୍ୟ କରନ୍ତୁ।"</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"ro.telephony.disable-call ସିଷ୍ଟମ୍ ଗୁଣର ପ୍ରୟୋଗ କରି କଲ୍ କରିବାର ସୁବିଧାକୁ ଅକ୍ଷମ କରାଯାଇଥିବା ଯୋଗୁଁ ଏକ କଲ୍ କରାଯାଇପାରିବ ନାହିଁ।"</string>
     <string name="callFailed_too_many_calls" msgid="5379426826618582180">"ଏକାସଙ୍ଗେ ଦୁଇଟି କଲ୍ ପ୍ରକ୍ରିୟାରେ ଥିବା ଯୋଗୁଁ ଏକ କଲ୍ କରାଯାଇପାରିବ ନାହିଁ। ଏକ ନୂତନ କଲ୍ କରିବା ପୂର୍ବରୁ ଗୋଟିଏ କଲ୍‌କୁ ବିଚ୍ଛିନ୍ନ କରନ୍ତୁ କିମ୍ବା ଉଭୟ କଲ୍‌କୁ ଯୋଡ଼ି ଏକ କନ୍ଫରେନସ୍ କଲ୍‌ରେ ପରିଣତ କରନ୍ତୁ।"</string>
-    <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> ବ୍ୟବହାର କରିବାକୁ, ମୋବାଇଲ୍ ଡାଟା ଚାଲୁଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ। ଆପଣ ଏହାକୁ ମୋବାଇଲ୍ ନେଟ୍‌ୱର୍କ ସେଟିଂସ୍‌ରେ ବଦଳାଇପାରିବେ।"</string>
+    <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> ବ୍ୟବହାର କରିବାକୁ, ମୋବାଇଲ ଡାଟା ଚାଲୁଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ। ଆପଣ ଏହାକୁ ମୋବାଇଲ ନେଟୱାର୍କ ସେଟିଂସରେ ପରିବର୍ତ୍ତନ କରିପାରିବେ।"</string>
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"<xliff:g id="SUPP_SERVICE">%s</xliff:g> ବ୍ୟବହାର କରିବାକୁ, ମୋବାଇଲ୍ ଡାଟା ଏବଂ ଡାଟା ରୋମିଂ ଚାଲୁ ଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ। ଆପଣ ଏହାକୁ ମୋବାଇଲ୍ ନେଟ୍‌ୱର୍କ ସେଟିଂସ୍‌ରେ ବଦଳାଇପାରିବେ।"</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ବ୍ୟବହାର କରିବାକୁ, ସିମ୍ <xliff:g id="SIM_NUMBER">%2$d</xliff:g>ରେ ମୋବାଇଲ୍ ଡାଟା ଚାଲୁ ଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ। ଆପଣ ଏହାକୁ ମୋବାଇଲ୍ ନେଟ୍‌ୱର୍କ ସେଟିଂସ୍‌ରେ ବଦଳାଇପାରିବେ।"</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ବ୍ୟବହାର କରିବାକୁ, ସିମ୍ <xliff:g id="SIM_NUMBER">%2$d</xliff:g>ରେ ମୋବାଇଲ୍ ଡାଟା ଏବଂ ଡାଟା ରୋମିଂ ଚାଲୁ ଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ। ଆପଣ ଏହାକୁ ମୋବାଇଲ୍ ନେଟ୍‌ୱର୍କ ସେଟିଂସ୍‌ରେ ବଦଳାଇପାରିବେ।"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 89d2279..5522dcc 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -104,7 +104,7 @@
     <string name="call_forwarding_settings_with_label" msgid="2345432813399564272">"Definições de encaminhamento de chamadas (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCF" msgid="3578719437928476078">"Encaminhamento de chamadas"</string>
     <string name="labelCFU" msgid="8870170873036279706">"Encaminhar sempre"</string>
-    <string name="messageCFU" msgid="1361806450979589744">"Utilizar sempre este número"</string>
+    <string name="messageCFU" msgid="1361806450979589744">"Usar sempre este número"</string>
     <string name="sum_cfu_enabled_indicator" msgid="9030139213402432776">"A reencaminhar todas as chamadas"</string>
     <string name="sum_cfu_enabled" msgid="5806923046528144526">"A encaminhar todas as chamadas para <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfu_enabled_no_number" msgid="7287752761743377930">"O número está indisponível"</string>
@@ -305,7 +305,7 @@
     <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">"Dados móveis"</string>
     <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Aceder aos dados através de rede móvel"</string>
-    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Pretende desativar os dados móveis?"</string>
+    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Desativar os dados móveis?"</string>
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"A seleção é necessária"</string>
     <string name="sim_change_data_title" msgid="9142726786345906606">"Pretende alterar o SIM de dados?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"Pretende utilizar o <xliff:g id="NEW_SIM">%1$s</xliff:g> em vez do <xliff:g id="OLD_SIM">%2$s</xliff:g> para os dados móveis?"</string>
@@ -638,12 +638,12 @@
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Ligação de dados desativada"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"Sem ligação de dados até à(s) <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
     <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="5425906903766466743">
-      <item quantity="one">O telemóvel fica no modo de Chamada de emergência durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Neste modo, não é possível utilizar aplicações com uma ligação de dados. Pretende sair agora?</item>
       <item quantity="other">O telemóvel fica no modo de Chamada de emergência durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Neste modo, não é possível utilizar aplicações com uma ligação de dados. Pretende sair agora?</item>
+      <item quantity="one">O telemóvel fica no modo de Chamada de emergência durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Neste modo, não é possível utilizar aplicações com uma ligação de dados. Pretende sair agora?</item>
     </plurals>
     <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="1152682528741457004">
-      <item quantity="one">A ação selecionada não está disponível no modo de Chamada de emergência. O telemóvel fica neste modo durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Pretende sair agora?</item>
       <item quantity="other">A ação selecionada não está disponível no modo de Chamada de emergência. O telemóvel fica neste modo durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Pretende sair agora?</item>
+      <item quantity="one">A ação selecionada não está disponível no modo de Chamada de emergência. O telemóvel fica neste modo durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Pretende sair agora?</item>
     </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"A ação selecionada não está disponível durante uma chamada de emergência."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"A sair do modo de chamada de retorno de emergência"</string>
@@ -653,8 +653,8 @@
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"O telemóvel está no modo de chamada de retorno de emergência."</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Até à(s) <xliff:g id="COMPLETETIME">%s</xliff:g>."</string>
     <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
-      <item quantity="one">O telemóvel ficará no modo de chamada de retorno de emergência durante <xliff:g id="COUNT_0">%s</xliff:g> minuto.\nPretende sair agora?</item>
       <item quantity="other">O telemóvel ficará no modo de chamada de retorno de emergência durante <xliff:g id="COUNT_1">%s</xliff:g> minutos.\nPretende sair agora?</item>
+      <item quantity="one">O telemóvel ficará no modo de chamada de retorno de emergência durante <xliff:g id="COUNT_0">%s</xliff:g> minuto.\nPretende sair agora?</item>
     </plurals>
     <string name="voicemail_provider" msgid="4158806657253745294">"Serviço"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configuração"</string>
@@ -901,8 +901,8 @@
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tipo de rede de dados:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Selecionar lista telefónica"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Definir tipo de rede preferido:"</string>
-    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Nome de anfitrião de ping (www.google.com) IPv4:"</string>
-    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Nome de anfitrião de ping (www.google.com) IPv6:"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Nome do anfitrião de ping (www.google.com) IPv4:"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Nome do anfitrião de ping (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="1329583721088428238">"Teste de Cliente HTTP:"</string>
     <string name="ping_test_label" msgid="448617502935719694">"Executar teste de ping"</string>
     <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index b1b1a2f..ff1b80d 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -595,7 +595,7 @@
     <string name="hac_mode_title" msgid="4127986689621125468">"Aparelhos auditivos"</string>
     <string name="hac_mode_summary" msgid="7774989500136009881">"Ativar compatibilidade com aparelhos auditivos"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"Chamada com mensagem de texto em tempo real (RTT)"</string>
-    <string name="rtt_mode_summary" msgid="8631541375609989562">"Permitir o envio de mensagens de texto em uma chamada de voz"</string>
+    <string name="rtt_mode_summary" msgid="8631541375609989562">"Permitir o envio de mensagens de texto em uma ligação"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"A RTT ajuda os autores das chamadas com deficiências como surdez, dificuldade de audição ou fala ou que precisam de outros recursos além de voz.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Saiba mais&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; — As chamadas RTT são salvas como transcrições de mensagem\n       &lt;br&gt; — A RTT não está disponível para videochamadas"</string>
     <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Observação: a RTT não está disponível em roaming"</string>
   <string-array name="tty_mode_entries">
@@ -664,7 +664,7 @@
     <string name="contactPhoto" msgid="7885089213135154834">"foto do contato"</string>
     <string name="goPrivate" msgid="4645108311382209551">"conversar em particular"</string>
     <string name="selectContact" msgid="1527612842599767382">"selecionar contato"</string>
-    <string name="not_voice_capable" msgid="2819996734252084253">"Chamada de voz não compatível"</string>
+    <string name="not_voice_capable" msgid="2819996734252084253">"Ligação não compatível"</string>
     <string name="description_dial_button" msgid="8614631902795087259">"discar"</string>
     <string name="description_dialpad_button" msgid="7395114120463883623">"Mostrar teclado"</string>
     <string name="pane_title_emergency_dialpad" msgid="3627372514638694401">"Teclado de emergência"</string>
@@ -825,7 +825,7 @@
     <string name="supp_service_held_call_released" msgid="2847835124639112410">"A chamada em espera foi desconectada."</string>
     <string name="callFailed_otasp_provisioning_in_process" msgid="3345666183602879326">"Não é possível ligar porque o dispositivo está sendo provisionado no momento,"</string>
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Não é possível ligar porque há outra chamada sendo realizada."</string>
-    <string name="callFailed_already_ringing" msgid="2376603543544289303">"Não é possível ligar porque há uma chamada recebida que não foi atendida. Atenda ou rejeite essa chamada antes de fazer outra."</string>
+    <string name="callFailed_already_ringing" msgid="2376603543544289303">"Não é possível ligar porque há uma ligação recebida que não foi atendida. Atenda ou rejeite essa chamada antes de fazer outra."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Não é possível ligar porque as chamadas foram desativadas pela propriedade \"ro.telephony.disable-call system\"."</string>
     <string name="callFailed_too_many_calls" msgid="5379426826618582180">"Não é possível ligar porque já há duas chamadas em andamento. Encerre uma das chamadas ou mescle-as em uma conferência antes de fazer outra."</string>
     <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Verifique se os dados móveis estão ativados para usar este serviço: <xliff:g id="SUPP_SERVICE">%s</xliff:g>. Você pode alterar essa opção nas configurações da rede móvel."</string>
@@ -892,7 +892,7 @@
     <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Dados recebidos:"</string>
     <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Serviço de voz:"</string>
     <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Potência do sinal:"</string>
-    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status da chamada de voz:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status da ligação:"</string>
     <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Dados enviados:"</string>
     <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mensagem em espera:"</string>
     <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Número de telefone:"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 4a6ee96..3e94f11 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -685,7 +685,7 @@
     <string name="enable_video_calling_dialog_close" msgid="4298929725917045270">"Закрыть"</string>
     <string name="sim_label_emergency_calls" msgid="9078241989421522310">"Экстренные вызовы"</string>
     <string name="sim_description_emergency_calls" msgid="5146872803938897296">"Только экстренные вызовы"</string>
-    <string name="sim_description_default" msgid="7474671114363724971">"SIM-карта, слот: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="sim_description_default" msgid="7474671114363724971">"SIM-карта <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Специальные возможности"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Вызов по Wi-Fi от"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi-звонок"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 8ea15ab..bcc80a5 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -631,7 +631,7 @@
     <string name="ota_spc_failure" msgid="904092035241370080">"DËSHTIME TË SHUMTA SPC"</string>
     <string name="ota_call_end" msgid="8657746378290737034">"Prapa"</string>
     <string name="ota_try_again" msgid="6914781945599998550">"Provo sërish"</string>
-    <string name="ota_next" msgid="2041016619313475914">"Përpara"</string>
+    <string name="ota_next" msgid="2041016619313475914">"Para"</string>
     <string name="ecm_exit_dialog" msgid="4200691880721429078">"EcmExitDialog"</string>
     <string name="phone_entered_ecm_text" msgid="8431238297843035842">"Hyri në modalitetin e \"Kthimit të telefonatës së urgjencës\""</string>
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Modaliteti i \"Kthimit të telefonatës së urgjencës\""</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index ecd1ff1..7b1b5b2 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -305,7 +305,7 @@
     <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">"Мобилни подаци"</string>
     <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Користи податке преко мобилне мреже"</string>
-    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Желите ли да искључите мобилне податке?"</string>
+    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Желите да искључите мобилне податке?"</string>
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"Потребно је да изаберете нешто"</string>
     <string name="sim_change_data_title" msgid="9142726786345906606">"Да променимо SIM за податке?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"Желите ли да за мобилне податке користите <xliff:g id="NEW_SIM">%1$s</xliff:g> уместо <xliff:g id="OLD_SIM">%2$s</xliff:g>?"</string>
@@ -870,7 +870,7 @@
     <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Позив је у току"</string>
     <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Веза је прекинута"</string>
     <string name="radioInfo_data_connecting" msgid="925092271092152472">"Повезује се"</string>
-    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Повезано је"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Повезано"</string>
     <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Суспендовано"</string>
     <string name="radioInfo_unknown" msgid="5401423738500672850">"Непознато"</string>
     <string name="radioInfo_display_packets" msgid="6794302192441084157">"пак."</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 1c232bf..7285442 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -134,12 +134,12 @@
     <string name="updating_title" msgid="6130548922615719689">"కాల్ సెట్టింగ్‌లు"</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="error_updating_title" msgid="2024290892676808965">"కాల్ సెట్టింగ్‌ల ఎర్రర్"</string>
     <string name="reading_settings" msgid="1605904432450871183">"సెట్టింగ్‌లను చదువుతోంది…"</string>
     <string name="updating_settings" msgid="3650396734816028808">"సెట్టింగ్‌లను అప్‌డేట్ చేస్తోంది…"</string>
     <string name="reverting_settings" msgid="7378668837291012205">"సెట్టింగ్‌లను తిరిగి మారుస్తోంది…"</string>
     <string name="response_error" msgid="3904481964024543330">"నెట్‌వర్క్ నుండి ఊహించని ప్రతిస్పందన."</string>
-    <string name="exception_error" msgid="330994460090467">"నెట్‌వర్క్ లేదా SIM కార్డు లోపం."</string>
+    <string name="exception_error" msgid="330994460090467">"నెట్‌వర్క్ లేదా SIM కార్డు ఎర్రర్."</string>
     <string name="stk_cc_ss_to_dial_error" msgid="5147693491690618704">"SS రిక్వెస్ట్‌ సాధారణ కాల్‌కు మార్చబడింది"</string>
     <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>
@@ -199,8 +199,8 @@
     <item msgid="4531933377509551889">"GSM/WCDMAకు ప్రాధాన్యత"</item>
     <item msgid="5120532750027435355">"GSM మాత్రమే"</item>
     <item msgid="8973311380798000102">"WCDMA మాత్రమే"</item>
-    <item msgid="4139961027147085705">"GSM/WCDMA స్వయంచాలకం"</item>
-    <item msgid="4024581977690585814">"CDMA/EvDo స్వయంచాలకం"</item>
+    <item msgid="4139961027147085705">"GSM/WCDMA ఆటోమేటిక్‌"</item>
+    <item msgid="4024581977690585814">"CDMA/EvDo ఆటోమేటిక్‌"</item>
     <item msgid="7199560024080522581">"EvDo లేని CDMA"</item>
     <item msgid="3160291725308400608">"EvDo మాత్రమే"</item>
     <item msgid="2319217472852426965">"CDMA/EvDo/GSM/WCDMA"</item>
@@ -408,9 +408,9 @@
     <string name="enable_disable_technology_news" msgid="2794845609698078400">"సాంకేతిక వార్తలు"</string>
     <string name="technology_news_enable" msgid="1908991199492598311">"సాంకేతిక వార్తలు ప్రారంభించబడ్డాయి"</string>
     <string name="technology_news_disable" msgid="8388582607149800889">"సాంకేతిక వార్తలు నిలిపివేయబడ్డాయి"</string>
-    <string name="enable_disable_multi_category" msgid="5958248155437940625">"బహుళ-వర్గాలు"</string>
-    <string name="multi_category_enable" msgid="4531915767817483960">"బహుళ-వర్గాలు ప్రారంభించబడ్డాయి"</string>
-    <string name="multi_category_disable" msgid="6325934413701238104">"బహుళ-వర్గాలు నిలిపివేయబడ్డాయి"</string>
+    <string name="enable_disable_multi_category" msgid="5958248155437940625">"బహుళ-కేటగిరీలు"</string>
+    <string name="multi_category_enable" msgid="4531915767817483960">"బహుళ-కేటగిరీలు ప్రారంభించబడ్డాయి"</string>
+    <string name="multi_category_disable" msgid="6325934413701238104">"బహుళ-కేటగిరీలు నిలిపివేయబడ్డాయి"</string>
     <string name="network_recommended" msgid="3444321100580250926">" (సిఫార్సు చేయడమైనది)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (సిఫార్సు చేయబడింది)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (సిఫార్సు చేయబడింది)"</string>
@@ -433,7 +433,7 @@
     <item msgid="2953825013895327785">"0"</item>
     <item msgid="7970797749269738435">"1"</item>
   </string-array>
-    <string name="cdma_activate_device" msgid="5914720276140097632">"పరికరాన్ని సక్రియం చేయండి"</string>
+    <string name="cdma_activate_device" msgid="5914720276140097632">"పరికరాన్ని యాక్టివేట్ చేయండి"</string>
     <string name="cdma_lte_data_service" msgid="359786441782404562">"డేటా సేవను సెటప్ చేయండి"</string>
     <string name="carrier_settings_title" msgid="6292869148169850220">"క్యారియర్ సెట్టింగ్‌లు"</string>
     <string name="fdn" msgid="2545904344666098749">"ఫిక్సెడ్ డయలింగ్ నంబర్‌లు"</string>
@@ -499,7 +499,7 @@
     <string name="disable_pin_ok" msgid="888505244389647754">"PIN తీసివేయబడింది"</string>
     <string name="pin_failed" msgid="4527347792881939652">"PIN చెల్లదు"</string>
     <string name="pin_changed" msgid="7291153750090452808">"PIN నవీకరించబడింది"</string>
-    <string name="puk_requested" msgid="2061337960609806851">"పాస్‌వర్డ్ చెల్లదు. PIN ఇప్పుడు బ్లాక్ చేయబడింది. PUK అభ్యర్థించబడింది."</string>
+    <string name="puk_requested" msgid="2061337960609806851">"పాస్‌వర్డ్ చెల్లదు. PIN ఇప్పుడు బ్లాక్ చేయబడింది. PUK రిక్వెస్ట్ చేయబడింది."</string>
     <string name="enter_pin2_text" msgid="7266379426804295979">"PIN2"</string>
     <string name="oldPin2Label" msgid="4648543187859997203">"పాత PIN2"</string>
     <string name="newPin2Label" msgid="1840905981784453939">"కొత్త PIN2"</string>
@@ -517,7 +517,7 @@
     <string name="pin2_attempts" msgid="5625178102026453023">\n"మీకు <xliff:g id="NUMBER">%d</xliff:g> ప్రయత్నాలు మిగిలి ఉన్నాయి."</string>
     <string name="puk2_locked" msgid="6497760825455461057">"PUK2 లాక్ చేయబడింది. అన్‌లాక్ చేయడానికి సర్వీస్ ప్రొవైడర్‌ను కాంటాక్ట్ చేయండి."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ఇప్పుడు బ్లాక్ అయ్యి లేదు"</string>
-    <string name="pin2_error_exception" msgid="8116103864600823641">"నెట్‌వర్క్ లేదా SIM కార్డ్ లోపం"</string>
+    <string name="pin2_error_exception" msgid="8116103864600823641">"నెట్‌వర్క్ లేదా SIM కార్డ్ ఎర్రర్"</string>
     <string name="doneButton" msgid="7371209609238460207">"పూర్తయింది"</string>
     <string name="voicemail_settings_number_label" msgid="1265118640154688162">"వాయిస్ మెయిల్ నంబర్"</string>
     <string name="card_title_dialing" msgid="8742182654254431781">"డయల్ చేస్తోంది"</string>
@@ -596,7 +596,7 @@
     <string name="hac_mode_summary" msgid="7774989500136009881">"వినికిడి సహాయక సాధనం అనుకూలతను ప్రారంభించండి"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"రియ‌ల్‌-టైమ్‌ టెక్స్ట్ (RTT) కాల్"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"వాయిస్ కాల్‌లో మెసేజ్‌లు పంపడానికి అనుమతించండి"</string>
-    <string name="rtt_mode_more_information" msgid="587500128658756318">"బధిరులు, వినికిడి సమస్యలు ఉన్న వారు, మాట్లాడటంలో సమస్యలు ఉన్న వారు లేదా కేవలం వాయిస్‌తో అర్థం చేసుకోలేని కాలర్‌లకు RTT సహాయపడుతుంది.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;మరింత తెలుసుకోండి&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT కాల్స్‌ సందేశ లిపి మార్పు వలె సేవ్ చేయబడతాయి\n       &lt;br&gt; - వీడియో కాల్స్‌ల కోసం RTT అందుబాటులో లేదు"</string>
+    <string name="rtt_mode_more_information" msgid="587500128658756318">"బధిరులు, వినికిడి సమస్యలు ఉన్న వారు, మాట్లాడటంలో సమస్యలు ఉన్న వారు లేదా కేవలం వాయిస్‌తో అర్థం చేసుకోలేని కాలర్‌లకు RTT సహాయపడుతుంది.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;మరింత తెలుసుకోండి&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT కాల్స్‌ సందేశ లిపి మార్పు లాగా సేవ్ చేయబడతాయి\n       &lt;br&gt; - వీడియో కాల్స్‌ల కోసం RTT అందుబాటులో లేదు"</string>
     <string name="no_rtt_when_roaming" msgid="5268008247378355389">"గమనిక: రోమింగ్‌లో ఉండగా RTTఅందుబాటులో ఉండదు"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY ఆఫ్‌లో ఉంది"</item>
@@ -612,13 +612,13 @@
   </string-array>
     <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_title_activate" msgid="4049645324841263423">"మీ ఫోన్‌ను యాక్టివేట్ చేయండి"</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దీనికి గరిష్టంగా 5 నిమిషాలు పట్టవచ్చు."</string>
     <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"సక్రియం చేయడాన్ని దాటవేయాలా?"</string>
     <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"మీరు సక్రియం చేయడాన్ని దాటవేస్తే, కాల్స్‌ చేయలేరు లేదా మొబైల్ డేటా నెట్‌వర్క్‌లకు కనెక్ట్ చేయలేరు (మీరు Wi-Fi నెట్‌వర్క్‌లకు కనెక్ట్ చేయగలిగినప్పటికీ). మీరు మీ ఫోన్‌ను సక్రియం చేసేవరకు, దాన్ని ప్రారంభించే ప్రతిసారీ సక్రియం చేయమని మిమ్మల్ని అడుగుతుంది."</string>
-    <string name="ota_skip_activation_dialog_skip_label" msgid="5908029466817825633">"దాటవేయి"</string>
+    <string name="ota_skip_activation_dialog_skip_label" msgid="5908029466817825633">"స్కిప్ చేయండి"</string>
     <string name="ota_activate" msgid="7939695753665438357">"యాక్టివేట్ చేయండి"</string>
     <string name="ota_title_activate_success" msgid="1272135024761004889">"ఫోన్ సక్రియం చేయబడింది."</string>
     <string name="ota_title_problem_with_activation" msgid="7019745985413368726">"సక్రియం చేయడంలో సమస్య"</string>
@@ -680,13 +680,13 @@
     <string name="sim_label_emergency_calls" msgid="9078241989421522310">"అత్యవసర కాల్స్‌"</string>
     <string name="sim_description_emergency_calls" msgid="5146872803938897296">"అత్యవసర కాలింగ్ మాత్రమే"</string>
     <string name="sim_description_default" msgid="7474671114363724971">"SIM కార్డ్, స్లాట్: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
-    <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"యాక్సెస్‌ సామర్థ్యం"</string>
+    <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"యాక్సెసిబిలిటీ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"వీరి నుండి Wi-Fi కాల్"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi కాల్"</string>
     <string name="emergency_action_launch_hint" msgid="2762016865340891314">"తెరవడానికి మళ్లీ నొక్కండి"</string>
-    <string name="message_decode_error" msgid="1061856591500290887">"మెసేజ్‌ను డీకోడ్ చేస్తున్నప్పుడు లోపం సంభవించింది."</string>
+    <string name="message_decode_error" msgid="1061856591500290887">"మెసేజ్‌ను డీకోడ్ చేస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM కార్డ్ మీ సేవను సక్రియం చేసింది మరియు మీ ఫోన్ రోమింగ్ సామర్థ్యాలను నవీకరించింది."</string>
-    <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"చాలా ఎక్కువ కాల్స్‌ సక్రియంగా ఉన్నాయి. దయచేసి మరొక కొత్త కాల్ చేసే ముందు ఇప్పటికే ఉన్న కాల్స్‌ను ముగించండి లేదా విలీనం చేయండి."</string>
+    <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"చాలా ఎక్కువ కాల్స్‌ యాక్టివ్‌గా ఉన్నాయి. దయచేసి మరొక కొత్త కాల్ చేసే ముందు ఇప్పటికే ఉన్న కాల్స్‌ను ముగించండి లేదా విలీనం చేయండి."</string>
     <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"కనెక్ట్ చేయడం సాధ్యపడలేదు, దయచేసి చెల్లుబాటు అయ్యే SIM కార్డ్‌ను చొప్పించండి."</string>
     <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Wi-Fi కనెక్షన్ పోయింది. కాల్ ముగిసింది."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"తక్కువ బ్యాటరీ కారణంగా మీ వీడియో కాల్ చేయడం సాధ్యపడదు."</string>
@@ -708,7 +708,7 @@
     <string name="mobile_data_status_roaming_turned_off_subtext" msgid="6840673347416227054">"డేటా రోమింగ్ ఆఫ్ చేయబడింది"</string>
     <string name="mobile_data_status_roaming_turned_on_subtext" msgid="5615757897768777865">"డేటా రోమింగ్ ఆన్ చేయబడింది"</string>
     <string name="mobile_data_status_roaming_without_plan_subtext" msgid="6536671968072284677">"ప్రస్తుతం రోమింగ్‌లో ఉంది, డేటా ప్లాన్ అవసరం"</string>
-    <string name="mobile_data_status_roaming_with_plan_subtext" msgid="2576177169108123095">"ప్రస్తుతం రోమింగ్‌లో ఉంది, డేటా ప్లాన్ సక్రియంగా ఉంది"</string>
+    <string name="mobile_data_status_roaming_with_plan_subtext" msgid="2576177169108123095">"ప్రస్తుతం రోమింగ్‌లో ఉంది, డేటా ప్లాన్ యాక్టివ్‌గా ఉంది"</string>
     <string name="mobile_data_status_no_plan_subtext" msgid="170331026419263657">"మొబైల్ డేటా ఏదీ మిగిలి లేదు"</string>
     <string name="mobile_data_activate_prepaid" msgid="4276738964416795596">"మొబైల్ డేటా ఏదీ మిగిలి లేదు"</string>
     <string name="mobile_data_activate_prepaid_summary" msgid="6846085278531605925">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ద్వారా మొబైల్ డేటాను జోడించండి"</string>
@@ -813,7 +813,7 @@
     <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>
+    <string name="supp_service_call_forwarding_active" msgid="7910162960395132464">"కాల్ ఫార్వర్డింగ్ యాక్టివ్‌గా ఉంది."</string>
     <string name="supp_service_additional_call_forwarded" msgid="8772753260008398632">"అదనపు కాల్ ఫార్వార్డ్ చేయబడింది."</string>
     <string name="supp_service_additional_ect_connected" msgid="8525934162945220237">"అభ్యంతరకరమైన కాల్ బదిలీ పూర్తయింది."</string>
     <string name="supp_service_additional_ect_connecting" msgid="7046240728781222753">"అభ్యంతరకరమైన కాల్ బదిలీ ప్రోగ్రెస్‌లో ఉంది."</string>
@@ -923,7 +923,7 @@
     <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"టాబ్లెట్ సమాచారం"</string>
     <string name="phone_info_label" product="default" msgid="1784175881556791433">"ఫోన్ సమాచారం"</string>
     <string name="carrier_provisioning" msgid="2668065041869578376">"క్యారియర్ కేటాయింపు సమాచారం"</string>
-    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"క్యారియర్ కేటాయింపు సక్రియం చేయండి"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"క్యారియర్ కేటాయింపు యాక్టివేట్ చేయండి"</string>
     <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"మీ బ్లూటూత్ సిగ్నల్ బలహీనంగా ఉంది. స్పీకర్‌ఫోన్‌కు స్విచ్ అవ్వడానికి ట్రై చేయండి."</string>
     <string name="call_quality_notification_name" msgid="3476828289553948830">"కాల్ క్వాలిటీ నోటిఫికేషన్"</string>
     <string name="notification_channel_sip_account" msgid="1261816025156179637">"తీసివేయబడిన SIP ఖాతాలు"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 92aa4d3..2edd5f3 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -52,7 +52,7 @@
     <string name="label_ndp" msgid="7617392683877410341">"Розбл. PIN-код мережі SIM"</string>
     <string name="label_phoneid" msgid="8775611434123577808">"Заблокована SIM-карта оператора"</string>
     <string name="sim_ndp_unlock_text" msgid="7737338355451978338">"Розблок."</string>
-    <string name="sim_ndp_dismiss_text" msgid="89667342248929777">"Відхилити"</string>
+    <string name="sim_ndp_dismiss_text" msgid="89667342248929777">"Закрити"</string>
     <string name="requesting_unlock" msgid="930512210309437741">"Запитув. розблок. мережі..."</string>
     <string name="unlock_failed" msgid="7103543844840661366">"Не здійсн. запит розблокування мережі"</string>
     <string name="unlock_success" msgid="32681089371067565">"Мережу успішно розблоковано."</string>
@@ -653,7 +653,7 @@
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Вихід із режиму екстреного зворотного виклику"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Так"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Ні"</string>
-    <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Відхилити"</string>
+    <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Закрити"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Телефон перебуває в режимі екстреного зворотного виклику"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"До <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
     <plurals name="alert_dialog_exit_ecm_without_data_restriction_hint" formatted="false" msgid="6477733043040328640">
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index c86c5ee..a702774 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -358,8 +358,8 @@
     <string name="list_language_summary" msgid="7921756070782277559">"Yangiliklar tilini tanlang"</string>
   <string-array name="list_language_entries">
     <item msgid="2347238508726934281">"Ingliz tili"</item>
-    <item msgid="5172468397620875174">"Fransuzcha"</item>
-    <item msgid="3978110664146015398">"Ispancha"</item>
+    <item msgid="5172468397620875174">"Fransuz"</item>
+    <item msgid="3978110664146015398">"Ispan"</item>
     <item msgid="2637764545851526369">"Yaponcha"</item>
     <item msgid="6103816221834932751">"Koreyscha"</item>
     <item msgid="3127367370005168399">"Xitoycha"</item>
@@ -867,7 +867,7 @@
     <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Chaqiruv"</string>
     <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Ulanmagan"</string>
     <string name="radioInfo_data_connecting" msgid="925092271092152472">"Ulanmoqda"</string>
-    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Ulandi"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Ulangan"</string>
     <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Bloklangan"</string>
     <string name="radioInfo_unknown" msgid="5401423738500672850">"Noma’lum"</string>
     <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 64a54cd..fe9238d 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -81,7 +81,7 @@
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"語音信箱 (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="7746778673131551185">"語音信箱:"</string>
     <string name="make_and_receive_calls" msgid="4868913166494621109">"撥打及接聽電話"</string>
-    <string name="smart_forwarding_settings_menu" msgid="8850429887958938540">"智慧轉寄"</string>
+    <string name="smart_forwarding_settings_menu" msgid="8850429887958938540">"智慧轉接"</string>
     <string name="smart_forwarding_settings_menu_summary" msgid="5096947726032885325">"如果某組電話號碼無法使用,系統會一律將來電轉接到其他號碼"</string>
     <string name="voicemail_notifications_preference_title" msgid="7829238858063382977">"通知"</string>
     <string name="cell_broadcast_settings" msgid="8135324242541809924">"緊急廣播"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index bcc1562..f14570a 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -357,13 +357,13 @@
     <string name="list_language_title" msgid="1850167908665485738">"Ulimi"</string>
     <string name="list_language_summary" msgid="7921756070782277559">"Khetha ulimi lwezindaba"</string>
   <string-array name="list_language_entries">
-    <item msgid="2347238508726934281">"i-English"</item>
+    <item msgid="2347238508726934281">"English"</item>
     <item msgid="5172468397620875174">"isi-French"</item>
     <item msgid="3978110664146015398">"isi-Spanish"</item>
     <item msgid="2637764545851526369">"isi-Japanese"</item>
-    <item msgid="6103816221834932751">"isi-Korean"</item>
-    <item msgid="3127367370005168399">"isi-Chinese"</item>
-    <item msgid="9130651361816196355">"isi-Hebrew"</item>
+    <item msgid="6103816221834932751">"Korean"</item>
+    <item msgid="3127367370005168399">"Chinese"</item>
+    <item msgid="9130651361816196355">"Hebrew"</item>
   </string-array>
   <string-array name="list_language_values">
     <item msgid="798673247233934667">"1"</item>
diff --git a/sip/res/values-bs/strings.xml b/sip/res/values-bs/strings.xml
index cc0f175..07bb5a7 100644
--- a/sip/res/values-bs/strings.xml
+++ b/sip/res/values-bs/strings.xml
@@ -58,7 +58,7 @@
     <string name="port_title" msgid="1703586046264385110">"Broj priključka"</string>
     <string name="transport_title" msgid="1661659138226029178">"Vrsta prijenosa"</string>
     <string name="send_keepalive_title" msgid="5319788151608946049">"Pošalji keep-alive poruku"</string>
-    <string name="advanced_settings" msgid="2704644977548662872">"Opcionalne postavke"</string>
+    <string name="advanced_settings" msgid="2704644977548662872">"Neobavezne postavke"</string>
     <string name="auth_username_title" msgid="9002505242616662698">"Korisničko ime za autentifikaciju"</string>
     <string name="auth_username_summary" msgid="6346313945275377230">"Korisničko ime upotrijebljeno za autentifikaciju"</string>
     <string name="default_preference_summary_username" msgid="8788114717555599222">"&lt;Nije postavljeno&gt;"</string>
diff --git a/sip/res/values-cs/strings.xml b/sip/res/values-cs/strings.xml
index 812b94c..652a94f 100644
--- a/sip/res/values-cs/strings.xml
+++ b/sip/res/values-cs/strings.xml
@@ -27,7 +27,7 @@
     <string name="sip_call_options_entry_2" msgid="7338504256051655013">"Pouze pro volání SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"Pro všechny hovory"</string>
     <string name="add_sip_account" msgid="5754758646745144384">"Přidat účet"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"Odebrat účet"</string>
+    <string name="remove_sip_account" msgid="8272617403399636513">"Odstranit účet"</string>
     <string name="sip_account_list" msgid="2596262496233721769">"Účty SIP"</string>
     <string name="saving_account" msgid="3390358043846687266">"Ukládání účtu…"</string>
     <string name="removing_account" msgid="1544132880414780408">"Odstraňování účtu…"</string>
diff --git a/sip/res/values-nl/strings.xml b/sip/res/values-nl/strings.xml
index fae1df4..1b321c3 100644
--- a/sip/res/values-nl/strings.xml
+++ b/sip/res/values-nl/strings.xml
@@ -66,7 +66,7 @@
     <string name="default_preference_summary_domain_address" msgid="443247296785732364">"&lt;Niet ingesteld&gt;"</string>
     <string name="display_name_summary" msgid="6749135030093260358">"&lt;Gelijk aan gebruikersnaam&gt;"</string>
     <string name="optional_summary" msgid="620379377865437488">"&lt;Optioneel&gt;"</string>
-    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Tik om alles weer te geven"</string>
+    <string name="advanced_settings_show" msgid="2318728080037568529">"▷ Tik om alles te tonen"</string>
     <string name="advanced_settings_hide" msgid="6200816937370652083">"▽ Tik om alles te verbergen"</string>
     <string name="all_empty_alert" msgid="6085603517610199098">"Geef details op voor nieuw SIP-account."</string>
     <string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> is verplicht en mag niet leeg worden gelaten."</string>
diff --git a/sip/res/values-te/strings.xml b/sip/res/values-te/strings.xml
index b821a60..e91fab8 100644
--- a/sip/res/values-te/strings.xml
+++ b/sip/res/values-te/strings.xml
@@ -27,7 +27,7 @@
     <string name="sip_call_options_entry_2" msgid="7338504256051655013">"SIP కాల్స్‌ల కోసం మాత్రమే"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="922329055414010991">"అన్ని కాల్స్‌ల కోసం"</string>
     <string name="add_sip_account" msgid="5754758646745144384">"ఖాతాను జోడించు"</string>
-    <string name="remove_sip_account" msgid="8272617403399636513">"ఖాతాను తీసివేయి"</string>
+    <string name="remove_sip_account" msgid="8272617403399636513">"ఖాతాను తీసివేయండి"</string>
     <string name="sip_account_list" msgid="2596262496233721769">"SIP ఖాతాలు"</string>
     <string name="saving_account" msgid="3390358043846687266">"ఖాతాను సేవ్ చేస్తోంది…"</string>
     <string name="removing_account" msgid="1544132880414780408">"ఖాతాను తీసివేస్తోంది…"</string>
diff --git a/src/com/android/phone/CallForwardEditPreference.java b/src/com/android/phone/CallForwardEditPreference.java
index bf296f9..45121f7 100644
--- a/src/com/android/phone/CallForwardEditPreference.java
+++ b/src/com/android/phone/CallForwardEditPreference.java
@@ -58,6 +58,7 @@
             CarrierXmlParser.SsEntry.SSAction.UNKNOWN;
     private int mAction;
     private HashMap<String, String> mCfInfo;
+    private long mDelayMillisAfterUssdSet = 1000;
 
     public CallForwardEditPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -488,8 +489,9 @@
                 mPhone.getCallForwardingOption(reason, mServiceClass,
                         obtainMessage(MESSAGE_GET_CF, msg.arg1, MESSAGE_SET_CF, ar.exception));
             } else {
-                mHandler.sendMessage(mHandler.obtainMessage(mHandler.MESSAGE_GET_CF_USSD,
-                        msg.arg1, MyHandler.MESSAGE_SET_CF, ar.exception));
+                mHandler.sendMessageDelayed(mHandler.obtainMessage(mHandler.MESSAGE_GET_CF_USSD,
+                        msg.arg1, MyHandler.MESSAGE_SET_CF, ar.exception),
+                        mDelayMillisAfterUssdSet);
             }
         }
 
diff --git a/src/com/android/phone/CallWaitingSwitchPreference.java b/src/com/android/phone/CallWaitingSwitchPreference.java
index 01dd3b2..609488c 100644
--- a/src/com/android/phone/CallWaitingSwitchPreference.java
+++ b/src/com/android/phone/CallWaitingSwitchPreference.java
@@ -6,28 +6,34 @@
 import android.content.Context;
 import android.os.Handler;
 import android.os.Message;
+import android.os.PersistableBundle;
 import android.preference.SwitchPreference;
+import android.telephony.CarrierConfigManager;
 import android.telephony.TelephonyManager;
 import android.util.AttributeSet;
 import android.util.Log;
 
 import com.android.internal.telephony.Phone;
 
-import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+import java.util.function.Consumer;
 
 public class CallWaitingSwitchPreference extends SwitchPreference {
     private static final String LOG_TAG = "CallWaitingSwitchPreference";
+    private static final int DELAY_MILLIS_FOR_USSD = 1000;
     private final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
 
     private final MyHandler mHandler = new MyHandler();
     private Phone mPhone;
     private TimeConsumingPreferenceListener mTcpListener;
-    private Executor mExecutor;
+    private ScheduledExecutorService mExecutor;
     private TelephonyManager mTelephonyManager;
     private boolean mIsDuringUpdateProcess = false;
     private int mUpdateStatus = TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR;
     private int mQueryStatus = TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR;
+    private boolean mUssdMode = false;
 
     public CallWaitingSwitchPreference(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
@@ -45,9 +51,14 @@
             TimeConsumingPreferenceListener listener, boolean skipReading, Phone phone) {
         mPhone = phone;
         mTcpListener = listener;
-        mExecutor = Executors.newSingleThreadExecutor();
+        mExecutor = Executors.newSingleThreadScheduledExecutor();
         mTelephonyManager = getContext().getSystemService(
                 TelephonyManager.class).createForSubscriptionId(phone.getSubId());
+        CarrierConfigManager configManager = getContext().getSystemService(
+                CarrierConfigManager.class);
+        PersistableBundle bundle = configManager.getConfigForSubId(phone.getSubId());
+        mUssdMode = (bundle != null) ? bundle.getBoolean(
+                CarrierConfigManager.KEY_USE_CALL_WAITING_USSD_BOOL, false) : false;
 
         if (!skipReading) {
             Log.d(LOG_TAG, "init getCallWaitingStatus");
@@ -67,7 +78,23 @@
     private void updateStatusCallBack(int result) {
         Log.d(LOG_TAG, "updateStatusCallBack: CW state " + result + ", and re get");
         mUpdateStatus = result;
-        mTelephonyManager.getCallWaitingStatus(mExecutor, this::queryStatusCallBack);
+        if (mUssdMode) {
+            Log.d(LOG_TAG, "updateStatusCallBack: USSD mode needs to wait 1s since Framework"
+                    + " has the limitation");
+            Consumer<Integer> resultListener = this::queryStatusCallBack;
+            try {
+                mExecutor.schedule(new Runnable() {
+                    @Override
+                    public void run() {
+                        mTelephonyManager.getCallWaitingStatus(mExecutor, resultListener);
+                    }
+                }, DELAY_MILLIS_FOR_USSD, TimeUnit.MILLISECONDS);
+            } catch (Exception e) {
+                Log.d(LOG_TAG, "Exception while waiting: " + e);
+            }
+        } else {
+            mTelephonyManager.getCallWaitingStatus(mExecutor, this::queryStatusCallBack);
+        }
     }
 
     @Override
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index a463243..45ca974 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -65,6 +65,7 @@
 import com.android.internal.telephony.TelephonyPermissions;
 import com.android.internal.telephony.util.ArrayUtils;
 import com.android.internal.util.IndentingPrintWriter;
+import com.android.telephony.Rlog;
 
 import java.io.File;
 import java.io.FileDescriptor;
@@ -1064,6 +1065,7 @@
         }
 
         String fileName;
+        String iccid = null;
         if (isNoSimConfig) {
             fileName = getFilenameForNoSimConfig(packageName);
         } else {
@@ -1073,7 +1075,7 @@
                 return null;
             }
 
-            final String iccid = getIccIdForPhoneId(phoneId);
+            iccid = getIccIdForPhoneId(phoneId);
             final int cid = getSpecificCarrierIdForPhoneId(phoneId);
             if (iccid == null) {
                 loge("Cannot restore config with null iccid.");
@@ -1102,7 +1104,15 @@
         } catch (FileNotFoundException e) {
             // Missing file is normal occurrence that might occur with a new sim or when restoring
             // an override file during boot and should not be treated as an error.
-            if (file != null) logd("File not found: " + file.getPath());
+            if (file != null) {
+                if (isNoSimConfig) {
+                    logd("File not found: " + file.getPath());
+                } else {
+                    String filePath = file.getPath();
+                    filePath = getFilePathForLogging(filePath, iccid);
+                    logd("File not found : " + filePath);
+                }
+            }
         } catch (IOException e) {
             loge(e.toString());
         }
@@ -1110,6 +1120,22 @@
         return restoredBundle;
     }
 
+    /**
+     * This method will mask most part of iccid in the filepath for logging on userbuild
+     */
+    private String getFilePathForLogging(String filePath, String iccid) {
+        // If loggable then return with actual file path
+        if (Rlog.isLoggable(LOG_TAG, Log.VERBOSE)) {
+            return filePath;
+        }
+        String path = filePath;
+        int length = (iccid != null) ? iccid.length() : 0;
+        if (length > 5 && filePath != null) {
+            path = filePath.replace(iccid.substring(5), "***************");
+        }
+        return path;
+    }
+
     private PersistableBundle restoreConfigFromXml(String packageName, @NonNull String extraString,
             int phoneId) {
         return restoreConfigFromXml(packageName, extraString, phoneId, false);
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index f740fe5..388038b 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -22,6 +22,7 @@
 import static com.android.internal.telephony.PhoneConstants.PHONE_TYPE_GSM;
 import static com.android.internal.telephony.PhoneConstants.PHONE_TYPE_IMS;
 import static com.android.internal.telephony.PhoneConstants.SUBSCRIPTION_KEY;
+import static com.android.internal.telephony.TelephonyStatsLog.RCS_CLIENT_PROVISIONING_STATS__EVENT__CLIENT_PARAMS_SENT;
 
 import android.Manifest;
 import android.Manifest.permission;
@@ -181,6 +182,7 @@
 import com.android.internal.telephony.ims.ImsResolver;
 import com.android.internal.telephony.imsphone.ImsPhone;
 import com.android.internal.telephony.imsphone.ImsPhoneCallTracker;
+import com.android.internal.telephony.metrics.RcsStats;
 import com.android.internal.telephony.metrics.TelephonyMetrics;
 import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
 import com.android.internal.telephony.uicc.IccIoResult;
@@ -2056,7 +2058,8 @@
                 case CMD_PREPARE_UNATTENDED_REBOOT:
                     request = (MainThreadRequest) msg.obj;
                     request.result =
-                            UiccController.getInstance().getPinStorage().prepareUnattendedReboot();
+                            UiccController.getInstance().getPinStorage()
+                                .prepareUnattendedReboot(request.workSource);
                     notifyRequester(request);
                     break;
 
@@ -5512,11 +5515,9 @@
      */
     public int setForbiddenPlmns(int subId, int appType, List<String> fplmns, String callingPackage,
             String callingFeatureId) {
-        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp, subId, callingPackage,
-                callingFeatureId, "setForbiddenPlmns")) {
-            if (DBG) logv("no permissions for setForbiddenplmns");
-            throw new IllegalStateException("No Permissions for setForbiddenPlmns");
-        }
+        TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
+                mApp, subId, "setForbiddenPlmns");
+
         if (appType != TelephonyManager.APPTYPE_USIM && appType != TelephonyManager.APPTYPE_SIM) {
             loge("setForbiddenPlmnList(): App Type must be USIM or SIM");
             throw new IllegalArgumentException("Invalid appType: App Type must be USIM or SIM");
@@ -6959,7 +6960,9 @@
                 for (int p = packages.size() - 1; p >= 0; p--) {
                     PackageInfo pkgInfo = packages.get(p);
                     if (pkgInfo != null && pkgInfo.packageName != null
-                            && card.getCarrierPrivilegeStatus(pkgInfo)
+                            && getCarrierPrivilegeStatusFromCarrierConfigRules(
+                                    card.getCarrierPrivilegeStatus(pkgInfo),
+                                    getPhone(phoneId), pkgInfo.packageName)
                             == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
                         privilegedPackages.add(pkgInfo.packageName);
                     }
@@ -8359,6 +8362,16 @@
             int result = (int) sendRequest(CMD_ENABLE_VONR, enabled, subId,
                     workSource);
             if (DBG) log("setVoNrEnabled result: " + result);
+
+            if (result == TelephonyManager.ENABLE_VONR_SUCCESS) {
+                if (DBG) {
+                    log("Set VoNR settings in siminfo db; subId=" + subId + ", value:" + enabled);
+                }
+                SubscriptionManager.setSubscriptionProperty(
+                        subId, SubscriptionManager.NR_ADVANCED_CALLING_ENABLED,
+                        (enabled ? "1" : "0"));
+            }
+
             return result;
         } finally {
             Binder.restoreCallingIdentity(identity);
@@ -10427,6 +10440,9 @@
             } else {
                 configBinder.setRcsClientConfiguration(rcc);
             }
+
+            RcsStats.getInstance().onRcsClientProvisioningStats(subId,
+                    RCS_CLIENT_PROVISIONING_STATS__EVENT__CLIENT_PARAMS_SENT);
         } catch (RemoteException e) {
             Rlog.e(LOG_TAG, "fail to setRcsClientConfiguration " + e.getMessage());
             throw new ServiceSpecificException(ImsException.CODE_ERROR_SERVICE_UNAVAILABLE,
@@ -10932,11 +10948,12 @@
     @Override
     @TelephonyManager.PrepareUnattendedRebootResult
     public int prepareForUnattendedReboot() {
+        WorkSource workSource = getWorkSource(Binder.getCallingUid());
         enforceRebootPermission();
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            return (int) sendRequest(CMD_PREPARE_UNATTENDED_REBOOT, null);
+            return (int) sendRequest(CMD_PREPARE_UNATTENDED_REBOOT, null, workSource);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
diff --git a/src/com/android/phone/RcsProvisioningMonitor.java b/src/com/android/phone/RcsProvisioningMonitor.java
index 6d2bd6f..e819afc 100644
--- a/src/com/android/phone/RcsProvisioningMonitor.java
+++ b/src/com/android/phone/RcsProvisioningMonitor.java
@@ -16,6 +16,10 @@
 
 package com.android.phone;
 
+import static com.android.internal.telephony.TelephonyStatsLog.RCS_ACS_PROVISIONING_STATS__RESPONSE_TYPE__PROVISIONING_XML;
+import static com.android.internal.telephony.TelephonyStatsLog.RCS_CLIENT_PROVISIONING_STATS__EVENT__DMA_CHANGED;
+import static com.android.internal.telephony.TelephonyStatsLog.RCS_CLIENT_PROVISIONING_STATS__EVENT__TRIGGER_RCS_RECONFIGURATION;
+
 import android.Manifest;
 import android.app.role.OnRoleHoldersChangedListener;
 import android.app.role.RoleManager;
@@ -47,6 +51,8 @@
 import com.android.ims.FeatureUpdates;
 import com.android.ims.RcsFeatureManager;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.metrics.RcsStats;
+import com.android.internal.telephony.metrics.RcsStats.RcsProvisioningCallback;
 import com.android.internal.telephony.util.HandlerExecutor;
 import com.android.internal.util.CollectionUtils;
 import com.android.telephony.Rlog;
@@ -100,6 +106,8 @@
     private final RoleManagerAdapter mRoleManager;
     private FeatureConnectorFactory<RcsFeatureManager> mFeatureFactory;
 
+    private RcsStats mRcsStats;
+
     private static RcsProvisioningMonitor sInstance;
 
     private final SubscriptionManager.OnSubscriptionsChangedListener mSubChangedListener =
@@ -227,6 +235,10 @@
             if (mSingleRegistrationCapability != singleRegistrationCapability) {
                 mSingleRegistrationCapability = singleRegistrationCapability;
                 notifyDma();
+
+                // update whether single registration supported.
+                mRcsStats.setEnableSingleRegistration(mSubId,
+                        mSingleRegistrationCapability == ProvisioningManager.STATUS_CAPABLE);
             }
         }
 
@@ -338,6 +350,9 @@
                     } else {
                         notifyRcsAutoConfigurationReceived();
                     }
+
+                    // check callback for metrics if not registered, register callback
+                    registerMetricsCallback();
                 } else {
                     // clear callbacks if rcs disconnected
                     clearCallbacks();
@@ -397,6 +412,18 @@
                 }
             }
         }
+
+        private void registerMetricsCallback() {
+            RcsProvisioningCallback rcsProvisioningCallback = mRcsStats.getRcsProvisioningCallback(
+                    mSubId, mSingleRegistrationCapability == ProvisioningManager.STATUS_CAPABLE);
+
+            // if not yet registered, register callback and set registered value
+            if (rcsProvisioningCallback != null && !rcsProvisioningCallback.getRegistered()) {
+                if (addRcsConfigCallback(rcsProvisioningCallback)) {
+                    rcsProvisioningCallback.setRegistered(true);
+                }
+            }
+        }
     }
 
     @VisibleForTesting
@@ -454,7 +481,7 @@
 
     @VisibleForTesting
     public RcsProvisioningMonitor(PhoneGlobals app, Looper looper, RoleManagerAdapter roleManager,
-            FeatureConnectorFactory<RcsFeatureManager> factory) {
+            FeatureConnectorFactory<RcsFeatureManager> factory, RcsStats rcsStats) {
         mPhone = app;
         mHandler = new MyHandler(looper);
         mCarrierConfigManager = mPhone.getSystemService(CarrierConfigManager.class);
@@ -465,6 +492,7 @@
         logv("DMA is " + mDmaPackageName);
         mDmaChangedListener = new DmaChangedListener();
         mFeatureFactory = factory;
+        mRcsStats = rcsStats;
         init();
     }
 
@@ -477,7 +505,8 @@
             HandlerThread handlerThread = new HandlerThread(TAG);
             handlerThread.start();
             sInstance = new RcsProvisioningMonitor(app, handlerThread.getLooper(),
-                    new RoleManagerAdapterImpl(app), RcsFeatureManager::getConnector);
+                    new RoleManagerAdapterImpl(app), RcsFeatureManager::getConnector,
+                    RcsStats.getInstance());
         }
         return sInstance;
     }
@@ -704,6 +733,10 @@
                     logv("acs not used, set cached config and notify.");
                     v.setConfig(cachedConfig);
                 }
+
+                // store RCS metrics - DMA changed event
+                mRcsStats.onRcsClientProvisioningStats(k,
+                        RCS_CLIENT_PROVISIONING_STATS__EVENT__DMA_CHANGED);
             });
         }
     }
@@ -803,6 +836,14 @@
         }
         info.setConfig(isCompressed ? RcsConfig.decompressGzip(config) : config);
         updateConfigForSub(subId, config, isCompressed);
+
+        // Supporting ACS means config data comes from ACS
+        // store RCS metrics - received provisioning event
+        if (isAcsUsed(subId)) {
+            mRcsStats.onRcsAcsProvisioningStats(subId, 200,
+                    RCS_ACS_PROVISIONING_STATS__RESPONSE_TYPE__PROVISIONING_XML,
+                    isRcsVolteSingleRegistrationEnabled(subId));
+        }
     }
 
     private void onReconfigRequest(int subId) {
@@ -814,6 +855,10 @@
             updateConfigForSub(subId, null, true);
             info.triggerRcsReconfiguration();
         }
+
+        // store RCS metrics - reconfig event
+        mRcsStats.onRcsClientProvisioningStats(subId,
+                RCS_CLIENT_PROVISIONING_STATS__EVENT__TRIGGER_RCS_RECONFIGURATION);
     }
 
     private void notifyDmaForSub(int subId, int capability) {
diff --git a/src/com/android/phone/ServiceStateProvider.java b/src/com/android/phone/ServiceStateProvider.java
index 56786f9..7df5b7c 100644
--- a/src/com/android/phone/ServiceStateProvider.java
+++ b/src/com/android/phone/ServiceStateProvider.java
@@ -413,29 +413,37 @@
                 ss = unredactedServiceState;
             } else {
                 availableColumns = ALL_COLUMNS;
-
-                final boolean hasLocationPermission = hasLocationPermission();
-                if (hasLocationPermission) {
-                    // No matter the targetSdkVersion, return unredacted ServiceState if caller does
-                    // have location permission.
-                    ss = unredactedServiceState;
-                } else {
-                    // The caller has targetSdkVersion S+ but no location permission. It explicitly
-                    // requires location protected columns. Throw SecurityException to fail loudly.
-                    if (targetingAtLeastS && projection != null) {
-                        for (String requiredColumn : projection) {
-                            if (LOCATION_PROTECTED_COLUMNS_SET.contains(requiredColumn)) {
-                                throw new SecurityException("Column " + requiredColumn
-                                        + "requires location permissions to access.");
-                            }
+                boolean implicitlyQueryLocation = projection == null;
+                boolean explicitlyQueryLocation = false;
+                if (projection != null) {
+                    for (String requiredColumn : projection) {
+                        if (LOCATION_PROTECTED_COLUMNS_SET.contains(requiredColumn)) {
+                            explicitlyQueryLocation = true;
+                            break;
                         }
                     }
+                }
 
-                    // In all other cases, return the redacted ServiceState.
-                    // The caller has no location permission but only requires columns without
-                    // location sensitive info or "all" columns, return result that scrub out all
-                    // sensitive info. In later case, we will not know which columns will be fetched
-                    // from the returned cursor until the result has been returned.
+                // Check location permission only when location sensitive info are queried
+                // (either explicitly or implicitly) to avoid caller get blamed with location
+                // permission when query non sensitive info.
+                if (implicitlyQueryLocation || explicitlyQueryLocation) {
+                    if (hasLocationPermission()) {
+                        ss = unredactedServiceState;
+                    } else {
+                        if (targetingAtLeastS) {
+                            // Throw SecurityException to fail loudly if caller is targetSDK S+
+                            throw new SecurityException(
+                                    "Querying location sensitive info requires location "
+                                            + "permissions");
+                        } else {
+                            // For backward compatibility, return redacted value for old SDK
+                            ss = getLocationRedactedServiceState(unredactedServiceState);
+                        }
+                    }
+                } else {
+                    // The caller is not interested in location sensitive info, return result
+                    // that scrub out all sensitive info. And no permission check is needed.
                     ss = getLocationRedactedServiceState(unredactedServiceState);
                 }
             }
diff --git a/src/com/android/services/telephony/ImsConference.java b/src/com/android/services/telephony/ImsConference.java
index 7f088f7..c62b4fa 100644
--- a/src/com/android/services/telephony/ImsConference.java
+++ b/src/com/android/services/telephony/ImsConference.java
@@ -534,6 +534,10 @@
                 (properties & Connection.PROPERTY_IS_ADHOC_CONFERENCE) != 0);
         Log.i(this, "applyHostProperties: confProp=%s", conferenceProperties);
 
+        conferenceProperties = changeBitmask(conferenceProperties,
+                Connection.PROPERTY_CROSS_SIM,
+                (properties & Connection.PROPERTY_CROSS_SIM) != 0);
+
         return conferenceProperties;
     }
 
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 4f6acc8..8c5fb66 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -498,7 +498,8 @@
 
         IntentFilter intentFilter = new IntentFilter(
                 TelecomManager.ACTION_TTY_PREFERRED_MODE_CHANGED);
-        registerReceiver(mTtyBroadcastReceiver, intentFilter);
+        registerReceiver(mTtyBroadcastReceiver, intentFilter,
+                android.Manifest.permission.MODIFY_PHONE_STATE, null);
     }
 
     @Override
diff --git a/src/com/android/services/telephony/rcs/DelegateStateTracker.java b/src/com/android/services/telephony/rcs/DelegateStateTracker.java
index 321c7ba..18aab88 100644
--- a/src/com/android/services/telephony/rcs/DelegateStateTracker.java
+++ b/src/com/android/services/telephony/rcs/DelegateStateTracker.java
@@ -24,9 +24,12 @@
 import android.telephony.ims.aidl.ISipDelegate;
 import android.telephony.ims.aidl.ISipDelegateConnectionStateCallback;
 import android.telephony.ims.stub.DelegateConnectionStateCallback;
+import android.util.ArraySet;
 import android.util.LocalLog;
 import android.util.Log;
 
+import com.android.internal.telephony.metrics.RcsStats;
+
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.List;
@@ -50,11 +53,15 @@
     private boolean mCreatedCalled = false;
     private int mRegistrationStateOverride = -1;
 
+    private Set<String> mDelegateSupportedTags;
+    private final RcsStats mRcsStats;
+
     public DelegateStateTracker(int subId, ISipDelegateConnectionStateCallback appStateCallback,
-            ISipDelegate localDelegateImpl) {
+            ISipDelegate localDelegateImpl, RcsStats rcsStats) {
         mSubId = subId;
         mAppStateCallback = appStateCallback;
         mLocalDelegateImpl = localDelegateImpl;
+        mRcsStats = rcsStats;
     }
 
     /**
@@ -63,10 +70,13 @@
      * Registration and state updates will be send via the
      * {@link SipDelegateBinderConnection.StateCallback} callback implemented by this class as they
      * arrive.
+     * @param supportedTags the tags supported by the SipTransportController and ImsService creating
+     *                      the SipDelegate. These tags will be used as a key for SipDelegate
+     *                      metrics.
      * @param deniedTags The tags denied by the SipTransportController and ImsService creating the
      *         SipDelegate. These tags will need to be notified back to the IMS application.
      */
-    public void sipDelegateConnected(Set<FeatureTagState> deniedTags) {
+    public void sipDelegateConnected(Set<String> supportedTags, Set<FeatureTagState> deniedTags) {
         logi("SipDelegate connected with denied tags:" + deniedTags);
         // From the IMS application perspective, we only call onCreated/onDestroyed once and
         // provide the local implementation of ISipDelegate, which doesn't change, even though
@@ -74,6 +84,8 @@
         if (!mCreatedCalled) {
             mCreatedCalled = true;
             notifySipDelegateCreated();
+            mDelegateSupportedTags = supportedTags;
+            mRcsStats.createSipDelegateStats(mSubId, mDelegateSupportedTags);
         }
         mRegistrationStateOverride = -1;
         mDelegateDeniedTags = new ArrayList<>(deniedTags);
@@ -84,8 +96,8 @@
      *
      * This will trigger an override of the IMS application's registration state. All feature tags
      * in the REGISTERED state will be overridden to move to the deregistering state specified until
-     * a new SipDelegate was successfully created and {@link #sipDelegateConnected(Set)} was called
-     * or it was destroyed and {@link #sipDelegateDestroyed(int)} was called.
+     * a new SipDelegate was successfully created and {@link #sipDelegateConnected(Set, Set)} was
+     * called or it was destroyed and {@link #sipDelegateDestroyed(int)} was called.
      * @param deregisteringReason The new deregistering reason that all feature tags in the
      *         registered state should now report.
      */
@@ -115,6 +127,7 @@
         mRegistrationStateOverride = -1;
         try {
             mAppStateCallback.onDestroyed(reason);
+            mRcsStats.onSipDelegateStats(mSubId, mDelegateSupportedTags, reason);
         } catch (RemoteException e) {
             logw("sipDelegateDestroyed: IMS application is dead: " + e);
         }
@@ -141,6 +154,11 @@
         logi("onRegistrationStateChanged: sending reg state " + registrationState);
         try {
             mAppStateCallback.onFeatureTagStatusChanged(registrationState, mDelegateDeniedTags);
+            Set<String> registeredFeatureTags = registrationState.getRegisteredFeatureTags();
+            mRcsStats.onSipTransportFeatureTagStats(mSubId,
+                    new ArraySet<FeatureTagState>(mDelegateDeniedTags),
+                    registrationState.getDeregisteredFeatureTags(),
+                    registeredFeatureTags);
         } catch (RemoteException e) {
             logw("onRegistrationStateChanged: IMS application is dead: " + e);
         }
diff --git a/src/com/android/services/telephony/rcs/SipDelegateController.java b/src/com/android/services/telephony/rcs/SipDelegateController.java
index 8cc70a4..c728141 100644
--- a/src/com/android/services/telephony/rcs/SipDelegateController.java
+++ b/src/com/android/services/telephony/rcs/SipDelegateController.java
@@ -34,6 +34,7 @@
 import android.util.Pair;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.metrics.RcsStats;
 import com.android.internal.util.IndentingPrintWriter;
 
 import java.io.PrintWriter;
@@ -102,7 +103,7 @@
         mMessageTransportWrapper = new MessageTransportWrapper(mSubId, executorService,
                 messageCallback);
         mDelegateStateTracker = new DelegateStateTracker(mSubId, stateCallback,
-                mMessageTransportWrapper.getDelegateConnection());
+                mMessageTransportWrapper.getDelegateConnection(), RcsStats.getInstance());
     }
 
     /**
@@ -191,7 +192,7 @@
                     .collect(Collectors.toSet()));
             mMessageTransportWrapper.openTransport(resultPair.first, allowedTags,
                     resultPair.second);
-            mDelegateStateTracker.sipDelegateConnected(resultPair.second);
+            mDelegateStateTracker.sipDelegateConnected(allowedTags, resultPair.second);
             return true;
         });
     }
diff --git a/src/com/android/services/telephony/rcs/SipSessionTracker.java b/src/com/android/services/telephony/rcs/SipSessionTracker.java
index 5ab482f..68e3065 100644
--- a/src/com/android/services/telephony/rcs/SipSessionTracker.java
+++ b/src/com/android/services/telephony/rcs/SipSessionTracker.java
@@ -24,6 +24,7 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.SipMessageParsingUtils;
+import com.android.internal.telephony.metrics.RcsStats;
 import com.android.internal.util.IndentingPrintWriter;
 
 import java.io.PrintWriter;
@@ -66,6 +67,14 @@
     // associated pending operation.
     private final ArrayMap<String, Runnable> mPendingAck = new ArrayMap<>();
 
+    private final RcsStats mRcsStats;
+    int mSubId;
+
+    public SipSessionTracker(int subId, RcsStats rcsStats) {
+        mSubId = subId;
+        mRcsStats = rcsStats;
+    }
+
     /**
      * Filter a SIP message to determine if it will result in a new SIP dialog. This will need to be
      * successfully acknowledged by the remote IMS stack using
@@ -73,10 +82,10 @@
      *
      * @param message The Incoming SIP message.
      */
-    public void filterSipMessage(SipMessage message) {
+    public void filterSipMessage(int direction, SipMessage message) {
         final Runnable r;
         if (startsEarlyDialog(message)) {
-            r = getCreateDialogRunnable(message);
+            r = getCreateDialogRunnable(direction, message);
         } else if (closesDialog(message)) {
             r = getCloseDialogRunnable(message);
         } else if (SipMessageParsingUtils.isSipResponse(message.getStartLine())) {
@@ -137,6 +146,8 @@
         if (dialogsToCleanup.isEmpty()) return;
         logi("Cleanup dialogs associated with call id: " + callId);
         for (SipDialog d : dialogsToCleanup) {
+            mRcsStats.onSipTransportSessionClosed(mSubId, callId, 0,
+                    d.getState() == d.STATE_CLOSED);
             d.close();
             logi("Dialog closed: " + d);
         }
@@ -197,6 +208,9 @@
      * Clears all tracked sessions.
      */
     public void clearAllSessions() {
+        for (SipDialog d : mTrackedDialogs) {
+            mRcsStats.onSipTransportSessionClosed(mSubId, d.getCallId(), 0, false);
+        }
         mTrackedDialogs.clear();
         mPendingAck.clear();
     }
@@ -262,7 +276,7 @@
         return SIP_CLOSE_DIALOG_REQUEST_METHOD.equalsIgnoreCase(startLineSegments[0]);
     }
 
-    private Runnable getCreateDialogRunnable(SipMessage m) {
+    private Runnable getCreateDialogRunnable(int direction, SipMessage m) {
         return () -> {
             List<SipDialog> duplicateDialogs = mTrackedDialogs.stream()
                     .filter(d -> d.getCallId().equals(m.getCallIdParameter()))
@@ -273,6 +287,10 @@
                 return;
             }
             SipDialog dialog = SipDialog.fromSipMessage(m);
+            String[] startLineSegments =
+                    SipMessageParsingUtils.splitStartLineAndVerify(m.getStartLine());
+            mRcsStats.earlySipTransportSession(startLineSegments[0], dialog.getCallId(),
+                    direction);
             logi("Starting new SipDialog: " + dialog);
             mTrackedDialogs.add(dialog);
         };
@@ -285,6 +303,7 @@
                     .collect(Collectors.toList());
             if (dialogsToClose.isEmpty()) return;
             logi("Closing dialogs associated with: " + m);
+            mRcsStats.onSipTransportSessionClosed(mSubId, m.getCallIdParameter(), 0, true);
             for (SipDialog d : dialogsToClose) {
                 d.close();
                 logi("Dialog closed: " + d);
@@ -344,11 +363,13 @@
         if (statusCode <= 100) return;
         // If 300+, then this dialog has received an error response and should move to closed state.
         if (statusCode >= 300) {
+            mRcsStats.onSipTransportSessionClosed(mSubId, m.getCallIdParameter(), statusCode, true);
             d.close();
             return;
         }
         if (toTag == null) logw("updateSipDialogState: No to tag for message: " + m);
         if (statusCode >= 200) {
+            mRcsStats.confirmedSipTransportSession(m.getCallIdParameter(), statusCode);
             d.confirm(toTag);
             return;
         }
diff --git a/src/com/android/services/telephony/rcs/TelephonyRcsService.java b/src/com/android/services/telephony/rcs/TelephonyRcsService.java
index 034382c..046910c 100644
--- a/src/com/android/services/telephony/rcs/TelephonyRcsService.java
+++ b/src/com/android/services/telephony/rcs/TelephonyRcsService.java
@@ -32,6 +32,7 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.PhoneConfigurationManager;
+import com.android.internal.telephony.metrics.RcsStats;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.phone.R;
 
@@ -163,6 +164,7 @@
         mFeatureControllers = new SparseArray<>(numSlots);
         mSlotToAssociatedSubIds = new SparseArray<>(numSlots);
         mRcsUceEnabled = sResourceProxy.getDeviceUceEnabled(mContext);
+        RcsStats.getInstance().registerUceCallback();
     }
 
     @VisibleForTesting
@@ -173,6 +175,7 @@
         mSlotToAssociatedSubIds = new SparseArray<>(numSlots);
         sResourceProxy = resourceProxy;
         mRcsUceEnabled = sResourceProxy.getDeviceUceEnabled(mContext);
+        RcsStats.getInstance().registerUceCallback();
     }
 
     /**
diff --git a/src/com/android/services/telephony/rcs/TransportSipMessageValidator.java b/src/com/android/services/telephony/rcs/TransportSipMessageValidator.java
index 777026c..3b1b26d 100644
--- a/src/com/android/services/telephony/rcs/TransportSipMessageValidator.java
+++ b/src/com/android/services/telephony/rcs/TransportSipMessageValidator.java
@@ -16,6 +16,9 @@
 
 package com.android.services.telephony.rcs;
 
+import static com.android.internal.telephony.TelephonyStatsLog.SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__INCOMING;
+import static com.android.internal.telephony.TelephonyStatsLog.SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING;
+
 import android.telephony.ims.DelegateRegistrationState;
 import android.telephony.ims.FeatureTagState;
 import android.telephony.ims.SipDelegateConfiguration;
@@ -26,6 +29,8 @@
 import android.util.Log;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.SipMessageParsingUtils;
+import com.android.internal.telephony.metrics.RcsStats;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.services.telephony.rcs.validator.IncomingTransportStateValidator;
 import com.android.services.telephony.rcs.validator.MalformedSipMessageValidator;
@@ -145,11 +150,13 @@
     private PendingTask mPendingClose;
     private PendingRegCleanupTask mPendingRegCleanup;
     private Consumer<Set<String>> mRegistrationAppliedConsumer;
+    private final RcsStats mRcsStats;
 
     public TransportSipMessageValidator(int subId, ScheduledExecutorService executor) {
         mSubId = subId;
         mExecutor = executor;
-        mSipSessionTracker = new SipSessionTracker();
+        mRcsStats = RcsStats.getInstance();
+        mSipSessionTracker = new SipSessionTracker(subId, mRcsStats);
         mOutgoingTransportStateValidator = new OutgoingTransportStateValidator(mSipSessionTracker);
         mIncomingTransportStateValidator = new IncomingTransportStateValidator();
         mOutgoingMessageValidator = new MalformedSipMessageValidator().andThen(
@@ -163,7 +170,7 @@
     public TransportSipMessageValidator(int subId, ScheduledExecutorService executor,
             SipSessionTracker sipSessionTracker,
             OutgoingTransportStateValidator outgoingStateValidator,
-            IncomingTransportStateValidator incomingStateValidator) {
+            IncomingTransportStateValidator incomingStateValidator, RcsStats rcsStats) {
         mSubId = subId;
         mExecutor = executor;
         mSipSessionTracker = sipSessionTracker;
@@ -171,6 +178,7 @@
         mIncomingTransportStateValidator = incomingStateValidator;
         mOutgoingMessageValidator = mOutgoingTransportStateValidator;
         mIncomingMessageValidator = mIncomingTransportStateValidator;
+        mRcsStats = rcsStats;
     }
 
     /**
@@ -365,7 +373,11 @@
         }
         ValidationResult result = mOutgoingMessageValidator.validate(message);
         logi("verifyOutgoingMessage: " + result + ", message=" + message);
-        if (result.isValidated) mSipSessionTracker.filterSipMessage(message);
+        if (result.isValidated) {
+            mSipSessionTracker.filterSipMessage(
+                    SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING, message);
+        }
+        updateForMetrics(SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING, message, result);
         return result;
     }
 
@@ -378,7 +390,11 @@
     public ValidationResult verifyIncomingMessage(SipMessage message) {
         ValidationResult result = mIncomingMessageValidator.validate(message);
         logi("verifyIncomingMessage: " + result + ", message=" + message);
-        if (result.isValidated) mSipSessionTracker.filterSipMessage(message);
+        if (result.isValidated) {
+            mSipSessionTracker.filterSipMessage(
+                    SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__INCOMING, message);
+        }
+        updateForMetrics(SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__INCOMING, message, result);
         return result;
     }
 
@@ -539,6 +555,28 @@
                 .collect(Collectors.toSet());
     }
 
+    private void updateForMetrics(int direction, SipMessage m, ValidationResult result) {
+        String[] startLineSegments = SipMessageParsingUtils
+                .splitStartLineAndVerify(m.getStartLine());
+        if (SipMessageParsingUtils.isSipRequest(m.getStartLine())) {
+            if (result.isValidated) {
+                // SipMessage add to list for Metrics stats
+                mRcsStats.onSipMessageRequest(m.getCallIdParameter(), startLineSegments[0],
+                        direction);
+            } else {
+                //Message sending fail and there is no response.
+                mRcsStats.invalidatedMessageResult(mSubId, startLineSegments[0], direction,
+                        result.restrictedReason);
+            }
+        } else if (SipMessageParsingUtils.isSipResponse(m.getStartLine())) {
+            int statusCode = Integer.parseInt(startLineSegments[1]);
+            mRcsStats.onSipMessageResponse(mSubId, m.getCallIdParameter(), statusCode,
+                    result.restrictedReason);
+        } else {
+            logw("Message is Restricted");
+        }
+    }
+
     private void logi(String log) {
         Log.i(SipTransportController.LOG_TAG, LOG_TAG + "[" + mSubId + "] " + log);
         mLocalLog.log("[I] " + log);
diff --git a/testapps/GbaTestApp/res/values-fa/strings.xml b/testapps/GbaTestApp/res/values-fa/strings.xml
index 92801e7..1f6558a 100644
--- a/testapps/GbaTestApp/res/values-fa/strings.xml
+++ b/testapps/GbaTestApp/res/values-fa/strings.xml
@@ -22,7 +22,7 @@
     <string name="request_org" msgid="8416693445448308975">"کد سازمان"</string>
     <string name="request_security_protocol" msgid="1444164827561010482">"‏شناسه پروتکل امنیتی UA"</string>
     <string name="request_tls_cipher_suite" msgid="6659854717595308404">"شناسه مجموعه رمزنگاری امنیت لایه انتقال"</string>
-    <string name="response_success" msgid="2469204471244527663">"‏احراز هویت «معماری خود راه‌اندازی فراگیر» (GBA) موفق بود؟"</string>
+    <string name="response_success" msgid="2469204471244527663">"‏اصالت‌سنجی «معماری خود راه‌اندازی فراگیر» (GBA) موفق بود؟"</string>
     <string name="response_fail_reason" msgid="3401426967253202496">"شناسه دلیل انجام نشدن"</string>
     <string name="response_key" msgid="8839847772051686309">"‏کلید «معماری خود راه‌اندازی فراگیر» (GBA)‏ (CK + IK)"</string>
     <string name="response_btid" msgid="2550216722679350756">"‏شناسه تبادل خود راه‌اندازی (B-TID)"</string>
diff --git a/testapps/GbaTestApp/res/values-te/strings.xml b/testapps/GbaTestApp/res/values-te/strings.xml
index 7434bca..72bd28b 100644
--- a/testapps/GbaTestApp/res/values-te/strings.xml
+++ b/testapps/GbaTestApp/res/values-te/strings.xml
@@ -9,7 +9,7 @@
     <string name="button_name_running" msgid="4557363091224858010">"రన్ అవుతోంది"</string>
     <string name="button_name_exit" msgid="8025683733431538975">"నిష్క్రమించు"</string>
     <string name="label_test_result" msgid="892984695972956196">"పరీక్ష ఫలితం"</string>
-    <string name="button_name_clear" msgid="436313515327318537">"రీసెట్ చేయి"</string>
+    <string name="button_name_clear" msgid="436313515327318537">"రీసెట్ చేయండి"</string>
     <string name="button_name_done" msgid="6030406534322497491">"పూర్తయింది"</string>
     <string name="title_activity_carrier_config" msgid="7807803900475957717">"CarrierConfigActivity"</string>
     <string name="title_activity_service_config" msgid="5394662739555577279">"ServiceConfigActivity"</string>
diff --git a/tests/src/com/android/phone/RcsProvisioningMonitorTest.java b/tests/src/com/android/phone/RcsProvisioningMonitorTest.java
index 8e5e073..8873402 100644
--- a/tests/src/com/android/phone/RcsProvisioningMonitorTest.java
+++ b/tests/src/com/android/phone/RcsProvisioningMonitorTest.java
@@ -16,6 +16,10 @@
 
 package com.android.phone;
 
+import static com.android.internal.telephony.TelephonyStatsLog.RCS_ACS_PROVISIONING_STATS__RESPONSE_TYPE__PROVISIONING_XML;
+import static com.android.internal.telephony.TelephonyStatsLog.RCS_CLIENT_PROVISIONING_STATS__EVENT__DMA_CHANGED;
+import static com.android.internal.telephony.TelephonyStatsLog.RCS_CLIENT_PROVISIONING_STATS__EVENT__TRIGGER_RCS_RECONFIGURATION;
+
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertNull;
@@ -64,6 +68,7 @@
 import com.android.ims.FeatureConnector;
 import com.android.ims.RcsFeatureManager;
 import com.android.internal.telephony.ITelephony;
+import com.android.internal.telephony.metrics.RcsStats;
 
 import org.junit.After;
 import org.junit.Before;
@@ -179,6 +184,10 @@
     private IRcsConfigCallback mCallback;
     @Mock
     private PackageManager mPackageManager;
+    @Mock
+    private RcsStats mRcsStats;
+    @Mock
+    private RcsStats.RcsProvisioningCallback mRcsProvisioningCallback;
 
     private Executor mExecutor = new Executor() {
         @Override
@@ -768,6 +777,66 @@
         assertNull(mRcsProvisioningMonitor.getImsFeatureValidationOverride(FAKE_SUB_ID_BASE));
     }
 
+    @Test
+    @SmallTest
+    public void testMetricsAcsNotUsed() throws Exception {
+        createMonitor(1);
+
+        // Not used ACS
+        mBundle.putBoolean(CarrierConfigManager.KEY_USE_ACS_FOR_RCS_BOOL, false);
+        broadcastCarrierConfigChange(FAKE_SUB_ID_BASE);
+        processAllMessages();
+        mRcsProvisioningMonitor.updateConfig(FAKE_SUB_ID_BASE, CONFIG_DEFAULT.getBytes(), false);
+        processAllMessages();
+        verify(mRcsStats, never()).onRcsAcsProvisioningStats(anyInt(), anyInt(),
+                anyInt(), anyBoolean());
+    }
+
+    @Test
+    @SmallTest
+    public void testMetricsAcsUsed() throws Exception {
+        when(mRcsStats.getRcsProvisioningCallback(anyInt(), anyBoolean()))
+                .thenReturn(mRcsProvisioningCallback);
+        createMonitor(1);
+
+        verify(mIImsConfig, times(1))
+                .notifyRcsAutoConfigurationReceived(any(), anyBoolean());
+        // verify RcsStats.getRcsProvisioningCallback() is called
+        verify(mRcsStats, times(1)).getRcsProvisioningCallback(
+                eq(FAKE_SUB_ID_BASE), anyBoolean());
+        // verify registered callback obj which comes from RcsStats.getRcsProvisioningCallback()
+        verify(mIImsConfig, times(1))
+                .addRcsConfigCallback(eq(mRcsProvisioningCallback));
+
+        // Config data received and ACS used
+        int errorCode = 200;
+        mBundle.putBoolean(CarrierConfigManager.KEY_USE_ACS_FOR_RCS_BOOL, true);
+        broadcastCarrierConfigChange(FAKE_SUB_ID_BASE);
+        processAllMessages();
+        mRcsProvisioningMonitor.updateConfig(FAKE_SUB_ID_BASE, CONFIG_DEFAULT.getBytes(), false);
+        processAllMessages();
+        verify(mRcsStats, times(1)).onRcsAcsProvisioningStats(eq(FAKE_SUB_ID_BASE), eq(errorCode),
+                eq(RCS_ACS_PROVISIONING_STATS__RESPONSE_TYPE__PROVISIONING_XML), anyBoolean());
+    }
+
+    @Test
+    @SmallTest
+    public void testMetricsClientProvisioningStats() throws Exception {
+        createMonitor(1);
+
+        // reconfig trigger
+        mRcsProvisioningMonitor.requestReconfig(FAKE_SUB_ID_BASE);
+        processAllMessages();
+        verify(mRcsStats, times(1)).onRcsClientProvisioningStats(eq(FAKE_SUB_ID_BASE),
+                eq(RCS_CLIENT_PROVISIONING_STATS__EVENT__TRIGGER_RCS_RECONFIGURATION));
+
+        // DMA changed
+        updateDefaultMessageApplication(DEFAULT_MESSAGING_APP2);
+        processAllMessages();
+        verify(mRcsStats, times(1)).onRcsClientProvisioningStats(eq(FAKE_SUB_ID_BASE),
+                eq(RCS_CLIENT_PROVISIONING_STATS__EVENT__DMA_CHANGED));
+    }
+
     private void createMonitor(int subCount) throws Exception {
         if (Looper.myLooper() == null) {
             Looper.prepare();
@@ -777,7 +846,7 @@
                 .thenReturn(mFeatureConnector);
         when(mFeatureManager.getConfig()).thenReturn(mIImsConfig);
         mRcsProvisioningMonitor = new RcsProvisioningMonitor(mPhone, mHandlerThread.getLooper(),
-                mRoleManager, mFeatureFactory);
+                mRoleManager, mFeatureFactory, mRcsStats);
         mHandler = mRcsProvisioningMonitor.getHandler();
         try {
             mLooper = new TestableLooper(mHandler.getLooper());
diff --git a/tests/src/com/android/phone/ServiceStateProviderTest.java b/tests/src/com/android/phone/ServiceStateProviderTest.java
index cde584f..4ace460 100644
--- a/tests/src/com/android/phone/ServiceStateProviderTest.java
+++ b/tests/src/com/android/phone/ServiceStateProviderTest.java
@@ -27,6 +27,8 @@
 import static android.provider.Telephony.ServiceStateTable.getUriForSubscriptionId;
 import static android.telephony.NetworkRegistrationInfo.REGISTRATION_STATE_HOME;
 
+import static com.android.phone.ServiceStateProvider.NETWORK_ID;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -38,6 +40,8 @@
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.Manifest;
@@ -288,11 +292,8 @@
         setCanReadPrivilegedPhoneState(true);
         setLocationPermissions(false);
 
-        // NETWORK_ID is a location-sensitive column
-        String[] projection = new String[]{"network_id"};
-
         assertThrows(SecurityException.class,
-                () -> verifyServiceStateWithLocationColumns(mTestServiceState, projection));
+                () -> verifyServiceStateWithLocationColumns(mTestServiceState));
     }
 
     /**
@@ -324,9 +325,22 @@
                 true /*hasPermission*/);
     }
 
-    private void verifyServiceStateWithLocationColumns(ServiceState ss, String[] projection) {
-        try (Cursor cursor = mContentResolver.query(ServiceStateTable.CONTENT_URI, projection, null,
-                null)) {
+    /**
+     * Verify that when caller with targetSDK S+ has location permission and try to query
+     * location non-sensitive info, it should not get blamed.
+     */
+    @Test
+    public void testQuery_noLocationBlamed_whenQueryNonLocationInfo_withPermission() {
+        setTargetSdkVersion(Build.VERSION_CODES.S);
+        setLocationPermissions(true);
+
+        verifyServiceStateWithPublicColumns(mTestServiceState, null /*projection*/);
+        verify(mAppOpsManager, never()).noteOpNoThrow(any(), anyInt(), any(), any(), any());
+    }
+
+    private void verifyServiceStateWithLocationColumns(ServiceState ss) {
+        try (Cursor cursor = mContentResolver.query(ServiceStateTable.CONTENT_URI,
+                new String[]{NETWORK_ID}, null, null)) {
             assertNotNull(cursor);
         }
     }
diff --git a/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java b/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
index 8236f44..25b5339 100644
--- a/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
@@ -37,6 +37,7 @@
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.TelephonyTestBase;
+import com.android.internal.telephony.metrics.RcsStats;
 
 import org.junit.After;
 import org.junit.Before;
@@ -56,6 +57,7 @@
 
     @Mock private ISipDelegate mSipDelegate;
     @Mock private ISipDelegateConnectionStateCallback mAppCallback;
+    @Mock private RcsStats mRcsStats;
 
     @Before
     public void setUp() throws Exception {
@@ -76,12 +78,14 @@
     @Test
     public void testDelegateCreated() throws Exception {
         DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID, mAppCallback,
-                mSipDelegate);
+                mSipDelegate, mRcsStats);
         Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
-        stateTracker.sipDelegateConnected(deniedTags);
+        Set<String> supportedTags = getSupportedTags();
+        stateTracker.sipDelegateConnected(supportedTags, deniedTags);
         // Calling connected multiple times should not generate multiple onCreated events.
-        stateTracker.sipDelegateConnected(deniedTags);
+        stateTracker.sipDelegateConnected(supportedTags, deniedTags);
         verify(mAppCallback).onCreated(mSipDelegate);
+        verify(mRcsStats).createSipDelegateStats(TEST_SUB_ID, supportedTags);
 
         // Ensure status updates are sent to app as expected.
         DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
@@ -97,8 +101,10 @@
         stateTracker.onConfigurationChanged(c);
         verify(mAppCallback).onFeatureTagStatusChanged(eq(regState),
                 eq(new ArrayList<>(deniedTags)));
+        verify(mRcsStats).onSipTransportFeatureTagStats(TEST_SUB_ID, deniedTags,
+                regState.getDeregisteredFeatureTags(),
+                regState.getRegisteredFeatureTags());
         verify(mAppCallback).onConfigurationChanged(c);
-
         verify(mAppCallback, never()).onDestroyed(anyInt());
     }
 
@@ -109,14 +115,18 @@
     @Test
     public void testDelegateDestroyed() throws Exception {
         DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID, mAppCallback,
-                mSipDelegate);
+                mSipDelegate, mRcsStats);
         Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
-        stateTracker.sipDelegateConnected(deniedTags);
+        Set<String> supportedTags = getSupportedTags();
+        stateTracker.sipDelegateConnected(supportedTags, deniedTags);
+        verify(mRcsStats).createSipDelegateStats(eq(TEST_SUB_ID), eq(supportedTags));
 
         stateTracker.sipDelegateDestroyed(
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
         verify(mAppCallback).onDestroyed(
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
+        verify(mRcsStats).onSipDelegateStats(eq(TEST_SUB_ID), eq(supportedTags),
+                eq(SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP));
     }
 
     /**
@@ -130,9 +140,10 @@
     @Test
     public void testDelegateChangingRegisteredTagsOverride() throws Exception {
         DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID, mAppCallback,
-                mSipDelegate);
+                mSipDelegate, mRcsStats);
         Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
-        stateTracker.sipDelegateConnected(deniedTags);
+        Set<String> supportedTags = getSupportedTags();
+        stateTracker.sipDelegateConnected(supportedTags, deniedTags);
         // SipDelegate created
         verify(mAppCallback).onCreated(mSipDelegate);
         DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
@@ -158,7 +169,7 @@
                         DelegateRegistrationState.DEREGISTERED_REASON_NOT_PROVISIONED)
                 .build();
         // new underlying SipDelegate created
-        stateTracker.sipDelegateConnected(deniedTags);
+        stateTracker.sipDelegateConnected(supportedTags, deniedTags);
         stateTracker.onRegistrationStateChanged(regState);
 
         // Verify registration state through the process:
@@ -187,9 +198,10 @@
     @Test
     public void testDelegateChangingDeniedTagsChanged() throws Exception {
         DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID, mAppCallback,
-                mSipDelegate);
+                mSipDelegate, mRcsStats);
         Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
-        stateTracker.sipDelegateConnected(deniedTags);
+        Set<String> supportedTags = getSupportedTags();
+        stateTracker.sipDelegateConnected(supportedTags, deniedTags);
         // SipDelegate created
         verify(mAppCallback).onCreated(mSipDelegate);
         DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
@@ -220,7 +232,7 @@
         // new underlying SipDelegate created, but SipDelegate denied one to one chat
         deniedTags.add(new FeatureTagState(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG,
                 SipDelegateManager.DENIED_REASON_NOT_ALLOWED));
-        stateTracker.sipDelegateConnected(deniedTags);
+        stateTracker.sipDelegateConnected(supportedTags, deniedTags);
         DelegateRegistrationState fullyDeniedRegState = new DelegateRegistrationState.Builder()
                 .build();
         // In this special case, it will be the SipDelegateConnectionBase that will trigger
@@ -244,9 +256,10 @@
     @Test
     public void testDelegateChangingDeniedTagsChangingToDestroy() throws Exception {
         DelegateStateTracker stateTracker = new DelegateStateTracker(TEST_SUB_ID, mAppCallback,
-                mSipDelegate);
+                mSipDelegate, mRcsStats);
         Set<FeatureTagState> deniedTags = getMmTelDeniedTag();
-        stateTracker.sipDelegateConnected(deniedTags);
+        Set<String> supportedTags = getSupportedTags();
+        stateTracker.sipDelegateConnected(supportedTags, deniedTags);
         // SipDelegate created
         verify(mAppCallback).onCreated(mSipDelegate);
         DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
@@ -296,4 +309,11 @@
                 SipDelegateManager.DENIED_REASON_NOT_ALLOWED));
         return deniedTags;
     }
+
+    private Set<String> getSupportedTags() {
+        Set<String> supportedTags = new ArraySet<>();
+        supportedTags.add(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG);
+        supportedTags.add(ImsSignallingUtils.GROUP_CHAT_TAG);
+        return supportedTags;
+    }
 }
diff --git a/tests/src/com/android/services/telephony/rcs/SipDelegateControllerTest.java b/tests/src/com/android/services/telephony/rcs/SipDelegateControllerTest.java
index 5b0e7c5..78f6894 100644
--- a/tests/src/com/android/services/telephony/rcs/SipDelegateControllerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/SipDelegateControllerTest.java
@@ -107,7 +107,8 @@
         assertTrue(future.get());
         verify(mMockMessageTracker).openTransport(mMockSipDelegate, request.getFeatureTags(),
                 Collections.emptySet());
-        verify(mMockDelegateStateTracker).sipDelegateConnected(Collections.emptySet());
+        verify(mMockDelegateStateTracker).sipDelegateConnected(request.getFeatureTags(),
+                Collections.emptySet());
     }
 
     @SmallTest
@@ -138,7 +139,7 @@
         allowedTags.removeAll(deniedTags.stream().map(FeatureTagState::getFeatureTag)
                 .collect(Collectors.toSet()));
         verify(mMockMessageTracker).openTransport(mMockSipDelegate, allowedTags, deniedTags);
-        verify(mMockDelegateStateTracker).sipDelegateConnected(deniedTags);
+        verify(mMockDelegateStateTracker).sipDelegateConnected(allowedTags, deniedTags);
     }
 
     @SmallTest
@@ -249,7 +250,9 @@
                 Collections.emptySet());
         verify(mMockMessageTracker).openTransport(mMockSipDelegate, newFts,
                 Collections.emptySet());
-        verify(mMockDelegateStateTracker, times(2)).sipDelegateConnected(Collections.emptySet());
+        verify(mMockDelegateStateTracker).sipDelegateConnected(
+                request.getFeatureTags(), Collections.emptySet());
+        verify(mMockDelegateStateTracker).sipDelegateConnected(newFts, Collections.emptySet());
     }
 
     private void createSipDelegate(DelegateRequest request, SipDelegateController controller)
diff --git a/tests/src/com/android/services/telephony/rcs/SipSessionTrackerTest.java b/tests/src/com/android/services/telephony/rcs/SipSessionTrackerTest.java
index 823a8be..37abb83 100644
--- a/tests/src/com/android/services/telephony/rcs/SipSessionTrackerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/SipSessionTrackerTest.java
@@ -16,19 +16,28 @@
 
 package com.android.services.telephony.rcs;
 
+import static com.android.internal.telephony.TelephonyStatsLog.SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING;
+
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertNotNull;
 import static junit.framework.Assert.assertTrue;
 
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.verify;
+
 import android.net.Uri;
 import android.telephony.ims.SipMessage;
 import android.util.Base64;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.internal.telephony.metrics.RcsStats;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
@@ -90,11 +99,104 @@
     // Keep track of the string entry so we can generate unique strings.
     private int mStringEntryCounter = 0;
     private SipSessionTracker mTrackerUT;
+    private static final int TEST_SUB_ID = 1;
+    private static final String TEST_INVITE_SIP_METHOD = "INVITE";
+    private static final int TEST_SIP_RESPONSE_CODE = 200;
+    private static final int TEST_SIP_CLOSE_RESPONSE_CODE = 0;
+    @Mock
+    private RcsStats mRcsStats;
 
     @Before
     public void setUp() {
         mStringEntryCounter = 0;
-        mTrackerUT = new SipSessionTracker();
+        MockitoAnnotations.initMocks(this);
+        mTrackerUT = new SipSessionTracker(TEST_SUB_ID, mRcsStats);
+    }
+
+    @Test
+    public void testMetricsEndedGracefullyBye() {
+        DialogAttributes attr = new DialogAttributes();
+        // INVITE
+        SipMessage inviteRequest = generateSipRequest(SipMessageUtils.INVITE_SIP_METHOD, attr);
+        filterMessage(inviteRequest, attr);
+        assertTrue(mTrackerUT.getConfirmedDialogs().isEmpty());
+        verifyContainsCallIds(mTrackerUT.getEarlyDialogs(), attr);
+
+        // confirmed dialog
+        attr.setToTag();
+        SipMessage inviteConfirm = generateSipResponse("200", "OK", attr);
+        filterMessage(inviteConfirm, attr);
+        assertTrue(mTrackerUT.getEarlyDialogs().isEmpty());
+        verifyContainsCallIds(mTrackerUT.getConfirmedDialogs(), attr);
+
+        // Gracefully Ended
+        SipMessage inviteClose = generateSipRequest(SipMessageUtils.BYE_SIP_METHOD, attr);
+        filterMessage(inviteClose, attr);
+
+        assertTrue(mTrackerUT.getEarlyDialogs().isEmpty());
+        assertTrue(mTrackerUT.getConfirmedDialogs().isEmpty());
+        verifyContainsCallIds(mTrackerUT.getClosedDialogs(), attr);
+
+        // verify Metrics information
+        verify(mRcsStats).onSipTransportSessionClosed(eq(TEST_SUB_ID), eq(attr.callId),
+                eq(TEST_SIP_CLOSE_RESPONSE_CODE), eq(true));
+    }
+
+    @Test
+    public void testMetricsCloseCleanupSession() {
+        //mTrackerUT.setRcsStats(mRcsStats);
+        DialogAttributes attr = new DialogAttributes();
+        // INVITE A -> B
+        SipMessage inviteRequest = generateSipRequest(SipMessageUtils.INVITE_SIP_METHOD, attr);
+        filterMessage(inviteRequest, attr);
+        assertTrue(mTrackerUT.getConfirmedDialogs().isEmpty());
+        verifyContainsCallIds(mTrackerUT.getEarlyDialogs(), attr);
+
+        // confirmed dialog
+        attr.setToTag();
+        SipMessage inviteConfirm = generateSipResponse("200", "OK", attr);
+        filterMessage(inviteConfirm, attr);
+        assertTrue(mTrackerUT.getEarlyDialogs().isEmpty());
+        verifyContainsCallIds(mTrackerUT.getConfirmedDialogs(), attr);
+
+        //forcefully close session
+        mTrackerUT.cleanupSession(attr.callId);
+        assertTrue(mTrackerUT.getEarlyDialogs().isEmpty());
+        assertTrue(mTrackerUT.getConfirmedDialogs().isEmpty());
+        assertTrue(mTrackerUT.getClosedDialogs().isEmpty());
+
+        // verify Metrics information
+        verify(mRcsStats).onSipTransportSessionClosed(eq(TEST_SUB_ID), eq(attr.callId),
+                eq(TEST_SIP_CLOSE_RESPONSE_CODE), eq(false));
+    }
+
+    @Test
+    public void testMetricsCloseClearAllSessions() {
+        //mTrackerUT.setRcsStats(mRcsStats);
+        DialogAttributes attr = new DialogAttributes();
+
+        // INVITE
+        SipMessage inviteRequest = generateSipRequest(SipMessageUtils.INVITE_SIP_METHOD, attr);
+        filterMessage(inviteRequest, attr);
+        assertTrue(mTrackerUT.getConfirmedDialogs().isEmpty());
+        verifyContainsCallIds(mTrackerUT.getEarlyDialogs(), attr);
+
+        // confirmed dialog
+        attr.setToTag();
+        SipMessage inviteConfirm = generateSipResponse("200", "OK", attr);
+        filterMessage(inviteConfirm, attr);
+        assertTrue(mTrackerUT.getEarlyDialogs().isEmpty());
+        verifyContainsCallIds(mTrackerUT.getConfirmedDialogs(), attr);
+
+        //forcefully close session
+        mTrackerUT.clearAllSessions();
+        assertTrue(mTrackerUT.getEarlyDialogs().isEmpty());
+        assertTrue(mTrackerUT.getConfirmedDialogs().isEmpty());
+        assertTrue(mTrackerUT.getClosedDialogs().isEmpty());
+
+        // verify Metrics information
+        verify(mRcsStats).onSipTransportSessionClosed(eq(TEST_SUB_ID), eq(attr.callId),
+                eq(TEST_SIP_CLOSE_RESPONSE_CODE), eq(false));
     }
 
     @Test
@@ -291,7 +393,8 @@
     public void testAcknowledgeMessageFailed() {
         DialogAttributes attr = new DialogAttributes();
         SipMessage inviteRequest = generateSipRequest(SipMessageUtils.INVITE_SIP_METHOD, attr);
-        mTrackerUT.filterSipMessage(inviteRequest);
+        mTrackerUT.filterSipMessage(
+                SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING, inviteRequest);
         // Do not acknowledge the request and ensure that the operation has not been applied yet.
         assertTrue(mTrackerUT.getConfirmedDialogs().isEmpty());
         assertTrue(mTrackerUT.getEarlyDialogs().isEmpty());
@@ -310,8 +413,10 @@
         // We unexpectedly received two filter requests for the same branchId without
         // acknowledgePendingMessage being called in between. Ensure that when it is called, it
         // applies both operations.
-        mTrackerUT.filterSipMessage(inviteRequest);
-        mTrackerUT.filterSipMessage(inviteConfirm);
+        mTrackerUT.filterSipMessage(
+                SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING, inviteRequest);
+        mTrackerUT.filterSipMessage(
+                SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING, inviteConfirm);
         assertTrue(mTrackerUT.getEarlyDialogs().isEmpty());
         assertTrue(mTrackerUT.getConfirmedDialogs().isEmpty());
         // we should skip right to confirmed as both operations run back-to-back
@@ -321,7 +426,8 @@
     }
 
     private void filterMessage(SipMessage m, DialogAttributes attr) {
-        mTrackerUT.filterSipMessage(m);
+        mTrackerUT.filterSipMessage(
+                SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING, m);
         mTrackerUT.acknowledgePendingMessage(attr.branchId);
     }
     private void verifyContainsCallIds(Set<SipDialog> callIdSet, DialogAttributes... attrs) {
diff --git a/tests/src/com/android/services/telephony/rcs/TransportSipMessageValidatorTest.java b/tests/src/com/android/services/telephony/rcs/TransportSipMessageValidatorTest.java
index 4d222e3..0fe897f 100644
--- a/tests/src/com/android/services/telephony/rcs/TransportSipMessageValidatorTest.java
+++ b/tests/src/com/android/services/telephony/rcs/TransportSipMessageValidatorTest.java
@@ -16,6 +16,9 @@
 
 package com.android.services.telephony.rcs;
 
+import static com.android.internal.telephony.TelephonyStatsLog.SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__INCOMING;
+import static com.android.internal.telephony.TelephonyStatsLog.SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING;
+
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertTrue;
@@ -23,6 +26,7 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
@@ -37,6 +41,7 @@
 
 import com.android.TelephonyTestBase;
 import com.android.TestExecutorService;
+import com.android.internal.telephony.metrics.RcsStats;
 import com.android.services.telephony.rcs.validator.IncomingTransportStateValidator;
 import com.android.services.telephony.rcs.validator.OutgoingTransportStateValidator;
 import com.android.services.telephony.rcs.validator.ValidationResult;
@@ -76,6 +81,8 @@
     private IncomingTransportStateValidator mIncomingStateValidator;
     @Mock
     private OutgoingTransportStateValidator mOutgoingStateValidator;
+    @Mock
+    private RcsStats mRcsStats;
 
     @Before
     public void setUp() throws Exception {
@@ -117,12 +124,50 @@
     }
 
     @Test
+    public void testMetricsResponse() {
+        String testSipInviteMethod = "INVITE";
+        String testSipMessageMethod = "MESSAGE";
+        int testSipResponseCode = 200;
+        int testMessageError = 0;
+
+        TestExecutorService executor = new TestExecutorService();
+        TransportSipMessageValidator tracker = openTransport(executor);
+        // Since the incoming/outgoing messages were verified, there should have been two calls
+        // to filter the message.
+        verify(mSipSessionTracker).filterSipMessage(
+                SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING, TEST_MESSAGE);
+        verify(mSipSessionTracker).filterSipMessage(
+                SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__INCOMING, TEST_MESSAGE);
+
+        assertTrue(tracker.verifyOutgoingMessage(generateSipRequest("INVITE",
+                "testId1"), TEST_CONFIG_VERSION).isValidated);
+        verify(mRcsStats).onSipMessageRequest(eq("testId1"),
+                eq(testSipInviteMethod),
+                eq(SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING));
+
+        assertTrue(tracker.verifyOutgoingMessage(generateSipRequest("MESSAGE",
+                "testId2"), TEST_CONFIG_VERSION).isValidated);
+        verify(mRcsStats).onSipMessageRequest(eq("testId2"),
+                eq(testSipMessageMethod),
+                eq(SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING));
+
+        assertTrue(tracker.verifyIncomingMessage(
+                 generateSipResponse("200", "OK", "testId2"))
+                 .isValidated);
+        verify(mRcsStats).onSipMessageResponse(eq(TEST_SUB_ID), eq("testId2"),
+                eq(testSipResponseCode), eq(testMessageError));
+    }
+
+    @Test
     public void testSessionTrackerFiltering() {
         TestExecutorService executor = new TestExecutorService();
         TransportSipMessageValidator tracker = openTransport(executor);
         // Since the incoming/outgoing messages were verified, there should have been two calls
         // to filter the message.
-        verify(mSipSessionTracker, times(2)).filterSipMessage(TEST_MESSAGE);
+        verify(mSipSessionTracker).filterSipMessage(
+                SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING, TEST_MESSAGE);
+        verify(mSipSessionTracker).filterSipMessage(
+                SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__INCOMING, TEST_MESSAGE);
         // ensure pass through methods are working
         tracker.acknowledgePendingMessage("abc");
         verify(mSipSessionTracker).acknowledgePendingMessage("abc");
@@ -140,7 +185,10 @@
         assertFalse(tracker.verifyOutgoingMessage(TEST_MESSAGE, TEST_CONFIG_VERSION).isValidated);
         // The number of times the filter method was called should still only be two after these
         // messages were not validated.
-        verify(mSipSessionTracker, times(2)).filterSipMessage(TEST_MESSAGE);
+        verify(mSipSessionTracker).filterSipMessage(
+                SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__OUTGOING, TEST_MESSAGE);
+        verify(mSipSessionTracker).filterSipMessage(
+                SIP_TRANSPORT_SESSION__SIP_MESSAGE_DIRECTION__INCOMING, TEST_MESSAGE);
     }
 
 
@@ -482,6 +530,27 @@
         doReturn(ValidationResult.SUCCESS).when(mIncomingStateValidator).validate(any());
         doReturn(mIncomingStateValidator).when(mIncomingStateValidator).andThen(any());
         return new TransportSipMessageValidator(TEST_SUB_ID, executor, mSipSessionTracker,
-                mOutgoingStateValidator, mIncomingStateValidator);
+                mOutgoingStateValidator, mIncomingStateValidator, mRcsStats);
+    }
+
+    private SipMessage generateSipResponse(String statusCode, String statusString, String callId) {
+        String fromHeader = "Alice <sip:alice@atlanta.com>;tag=1928301774";
+        String toHeader = "Bob <sip:bob@biloxi.com>";
+        String branchId = "AAAA";
+        String fromTag = "tag=1928301774";
+        String toTag = "";
+        return SipMessageUtils.generateSipResponse(statusCode, statusString, fromHeader,
+            toHeader, branchId, callId, fromTag, toTag);
+    }
+
+    private SipMessage generateSipRequest(String requestMethod, String callId) {
+        String fromHeader = "Alice <sip:alice@atlanta.com>;tag=1928301774";
+        String toHeader = "Bob <sip:bob@biloxi.com>";
+        String branchId = "AAAA";
+        String fromTag = "tag=1928301774";
+        String toTag = "";
+        String toUri = "sip:bob@biloxi.com";
+        return SipMessageUtils.generateSipRequest(requestMethod, fromHeader, toHeader,
+                toUri, branchId, callId, fromTag, toTag);
     }
 }